这个图片的信息主要是:
A:像素时钟是非连续的,行消隐和帧消隐时是没有时钟的。像素时钟的频率是线速率/8,由位时钟转化成字节时钟。
B:同步码后面会放大细节,仔细分析每一个字节信息。上图的一个扫描行有3个同步码,图像有效数据开始前有2个,图像有效数据结束后有1个。
C:信号dl0_rxvalidhs变高时,图像数据才是有效的。
接下来研究一下这三个同步码。下面是第一个同步码的信息,
同步码共计4个字节,上图分别是:02 19 02 20。用户可以对照MIPI协议来解读。
第1个字节02,代表行开始。(Line Start Code)
第2、3字节0219,代表行号(第一行数据的话是0001,依次是0002,0003,最后一行数据是03F9)。
第4个字节20,代表ECC。
下面是第2个同步码,
第2个同步码后,信号dl0_rxvalidhs变高,所以红框后面的数据均为图像有效数据。第1个字节为2a,代表图像数据的格式是RAW8的。第2、3字节0x0280,代表一行是640个像素点。第4个字节为ECC。这4个字节即为32位的PACKET HEADER,其后才是图像数据。
下面是第3个同步码,
第1个字节03,代表一行数据结束。(Line End Code)
第2、3字节代表行号,这里是0001。
第4字节是ECC。
通过以上三个同步码,一个扫描行的信息就很完整了。以下再抓取一帧相关的帧头,帧尾信息。帧头如下:
帧开始的是单独的一个短包,如上图最左侧的红线位置。最右侧的是第一行数据。放大帧开始的短包,如上图中间的红色椭圆,第1个字节00,代表帧开始(Frame Start Code)。00后面的16位数据e3a4是帧计数值,这个数据是循环的。第4字节是CRC值。
帧结束的波形如下:
帧结束也是单独的一个短包,如上图最右侧的红线位置,放大帧结束的短包,如上图的红色椭圆形位置,第1个字节01,代表帧结束。(Frame End Code)
作者: 良子usb, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3903348.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论