SCCB接口时序的实现
SCCB接口时序与IIC协议基本一致,是其简化版本,且SCCB协议兼容IIC协议。
基本时序介绍
最常用的时序是3线控制数据传输的方式,基本时序图如下。
具体的控制信号,则是先发送起始信号,再发送数据,最后发送停止信号。
其中,3相数据传输又是最常用的方式。
起始信号为scl有效时,sda拉低。
停止信号为scl有效时,sda拉高。
正确的有效数据是scl为高电平时,sda保持不变,从而正确地读取数据,正好在时钟的上升沿读取有效数据。
3相数据发送,即先发送器件地址,再发送子地址,最后发送需要写入的数据。
时序分析
根据上面的时序图,主要分为两部分来介绍整个时序实现的过程。
控制标志位产生
主要产生4个标志位,用于控制下面主体时序的是生成。
scl的上升沿scl_pos_flag、下降沿scl_neg_flag以及sda的上升沿sda_pos_flag和下降沿sda_neg_flag四个控制信号,在主体的时序实现上起到很重要的作用。
主体时序分析
有个上图实现的4个控制信号,就可以很方便输出起始信号、停止信号以及数据信号。如下图所示。
起始信号是在w_start_flag==1的范围内实现的,停止信号是在w_stop_flag==1的范围内实现的。数据信号是在phase_flag==1的范围内实现的。
时序测试
编写完成后,将其放入modelsim中进行测试。
波形如上图所示,起始和停止信号在上图中已标出。
然后,使用ila抓取时序,查看波形信号。
下图中是w_end_flag的信号。

本文详细介绍了SCCB接口的3线控制时序,包括起始、停止信号的发送,以及3相数据传输过程。重点讲解了OV5640摄像头的初始化步骤、寄存器配置和时钟同步。通过实例代码演示了如何利用AXI-Lite接口控制寄存器,以及ILA测试确保信号正确性。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



