OV7670 的SCCB (I2C)波形记录
前两天,客户的YACD511SBDBC与我们的芯片无法通信,根据分析是,hold time 的问题,顺便测了几个好使的OV7670的SCCB(其实就是I2C) 读写的波形(数字模式),反正也不能浪费了,在此以记之,供以后参考。
1. 几个基本概念
A) 在数据传输阶段,SDA的变化只能在SCK为低电平的时候,如果在SCK高电平的时候有SDA的变化,则可能表示的是I2C的Start或者Stop
B) Start:当SCK为高时,SDA从高跳变到低表示I2C总线的Start
C) Stop:当SCK为高时,SDA从低跳变到高表示总线的Stop
D)ACK:每次传输8个bit以后,接收方都会有一个回应,如果为低表示ACK,表示OK,如果为高表示NACK,但不表示就有问题,比如Master接收Slave的数据的过程中不想接收了,就可以发送NACK
E) 地址 Address:在寻址段,在7位格式的地址中,发送的8位数据前七位为地址,如下图中的0x42, 最后一位表示此次发起的是读还是写,读为高电平,写为低电平。
F) 子地址 SubAddress:这个东东在I2C的规范里面其实是没有的,不过很多厂家都喜欢整这个,其实就是地址段后面的一个或者两个自己的数据(一般使用写入R/W=0)。比如俺们以前的BB没有这个概率,现在新的BB有了这个概念,还支持8位和16位。
1. 一个写时序
下面是一个写的地址段,加两个数据段的波形,先发送芯片ID,0x42和R/W=0, 然后发送两个写入的数据:0x32,0xb6。
1. 一个写加一个读
先写一个地址段,0x42,然后写入(RW=0)subaddress 0x0B。然后重新启动一次传输,发送地址段,0x42, 读取之前写入的subaddress里面的值,读出的值为0x76,因为Master此时为receiver,要终止传输了,所以Master给Salve的回应为NACK。也就是SCCB规范里面的一个2-phase write加一个2-phase read.
4.最后来一个总线上没有设备的波形,上拉很弱
OV7670 的SCCB (I2C)波形记录相关推荐
- 使用CAN总线数据与波形记录分析仪查找和解决波形台阶和信号幅值低的问题
文章目录 一.打开工程 二. 质量度分析 三. 问题分析 1.眼图分析:幅值低.边沿台阶 2.波形分析:幅值低.边沿台阶 四.解决"台阶"解决 1.边沿台阶的源头 2.消除边沿台阶 ...
- 通讯波形记录——I2S、I2C、Uart、SPI
SPI波形 设置: UART I2S 扩展: I2S有3个主要信号: 1. SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲.SCLK的频率=2×采样频率 ...
- I2C | 如何读 I2C 波形?
分析I2C时序波形时需要注意如下几点: I2C 发出字节的bit顺序是从高位-->低位. 注意,这里有个很容易想当然犯错误的地方 – 有些人错误的看波形的方式是"先发出的波形被后发出的 ...
- linux下的I2C驱动记录(RK)
现在做的是RK平台的I2C驱动,不是说linux每个外设对应一个设备文件吗?可是找了一下一直没找到,今天特别搞了一下.I2C设备是注册为platform平台驱动的. 下面是我用adb命令查看的 lin ...
- 步进电机控制相关波形记录
电流波形 电压(PWM占空比)波形 电流强拉时电流波形:
- SCCB(I2C)时序
SCCB协议 SCCB(OmniVision serial camera control bus),即串行摄像机控制总线.OmniVision 公司已经定义和 采纳的SCCB总线是一种三线结构的串行总 ...
- mt6762/mt6765平台i2c驱动能力修改与波形优化
mt6762在连接一些外设时,i2c在低电平会拉不低的情况,最低电平在0.4V左右.这时需要去掉外设的上拉电阻或调整硬件i2c的驱动电流. 修改文件路径: vendor/mediatek/propri ...
- 小梅哥AC620学习记录—UART_EEPROM_part2
串口传输数据到EEPROM 解决第二步中命令解析部分的仿真后,开始搭建系统整体并进行仿真,RTL电路结构如下 rtl结构,包含I2C模块,UART发送和接收模块,命令解析模块 仿真波形记录 model ...
- 树莓派python gpio 模仿iic_GPIO实现I2C协议模拟(1)
最近需要用GPIO模拟I2C协议,如果是在Linux下面比较简单,但在Windows下面,是否有没Linux那么简单了. 索性自己对I2C协议还有一些了解,翻了SPEC并结合示波器量出的实际信号分析, ...
最新文章
- 自学python推荐书籍2019-2019最强Python书单!
- java线程睡眠一分钟_Java中的TimerTimerTask和线程睡眠
- 页面左边导航固定,右边自适应宽度
- ES6(三)——Set、WeakSet、Map、WeakMap
- 95-080-040-源码-启动-start-cluster.sh
- 获取指定路径,扫描路径下指定类(仿Spring)
- 计算机科学导论3000,计算机网络导论论文_大一计算机科学导论论文_计算机导论论文3000字...
- 删库遭 GitHub 封号,开发者欲夺回发行权:“我只是犯了个编程错误”
- Firefox中文版与英文版转换
- JDK8 Windows系统中Java HotSpot虚拟机配置参数
- 我的世界手机版服务器显示即将推出,我的世界1.11-pre1发布 正式版本官方即将推出...
- 游戏模型制作的注意事项 项目模型规范总结
- 【暴强】200种好口碑便宜护肤品 - 健康程序员,至尚生活!
- m-TRP transmission for URLLC(draft)
- 【Educoder作业】※ 数值信息——除二取余
- 仓储物流行业英文术语、缩略词
- 【渝粤教育】电大中专新媒体营销实务_1作业 题库
- 数据挖掘与机器学习:顺序与选择结构
- 快速看懂SaaS、CRM、OA、ERP、HR、进销存系统
- ant-modal的弹窗拉伸