一种基于CSI-2协议的MIPI接口接收端协议层实现方法

未命名 07-12 阅读:88 评论:0

一种基于csi-2协议的mipi接口接收端协议层实现方法
技术领域
1.本发明属于数据传输领域,涉及一种基于csi-2协议的mipi接口接收端协议层实现方法。


背景技术:

2.mipi(mobileindustryprocessorinterface)是一种高速差分串行传输接口,广泛应用于手机摄像头、液晶显示器、射频/基带接口中,它能够使数据传输更加快速与稳定。根据mipi协议规定协议内部所有模块间都是以byte为单位进行传输的,而实际情况协议层输入与输出的原始图像数据位宽大多不是byte的数据位宽。根据mipi协议层的规定,需要将这些以byte为单位串行传输的数据流转化为raw格式的数据位宽。本发明主要针对mipicsi-2接口接收端,将从物理层phy传输来的数据进行并行传输,在底层协议层为各个通道的数据进行数据包识别,确定ecc与checksum位置,确定有效数据个数,最后在组包模块将这些以byte为单位的数据在fifo中进行读写,并传送给移位寄存器进行数据的重组编码为raw格式原始数据输出。
3.传统的方法如图1和图2所示,将发送端根据不同通道数分发来的数据通过更快的时钟频率进行通道合并生成串行数据,读出串行数据流发送给底层协议层模块进行解包及纠错处理后提取出其中有效的以byte为单位的数据发送给接收端的组包模块,通过fifo进行数据的读写及重组操作,最后读出raw格式的数据。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种基于csi-2协议的mipi接口接收端协议层实现方法。
5.为达到上述目的,本发明提供如下技术方案:
6.一种基于csi-2协议的mipi接口接收端协议层实现方法,该方法包括以下步骤:
7.步骤一:发送端根据不同通道数发送的数据在进入接收端后不再进行通道合并,而是根据不同的通道各自进入不同的fifo中;
8.步骤二:在写入一定数据后,接收端底层协议层并行读出各个fifo的数据,其中读写时钟相等;
9.步骤三:底层协议层对并行进入的数据同时进行处理,对其中ecc和crc数据进行校验,校验无误对数据进行解包,并行输出其中有效数据发送给组包模块;
10.步骤四:将底层协议层传输来的有效数据在组包模块进行合并后进行跨时钟域处理并在数据编码模块进行重组编码,输出raw格式数据传输给应用层。
11.通过上述mipi csi-2接口接收端协议层数字电路实现方法,将传统的串行传输采用并行结构,其中wr_clk与rd_clk相等,不需要像传统mipi一样通过倍频的时钟进行通道合并,大大降低设计难度和工艺要求,易于实现,可以提高mipi的传输速度。
12.在协议层接收端采用并行结构虽然能提高处理速度,但对ecc和checksum定位和
校验产生了困难。定义发送端与接收端之间使用的通道总数为num,v_la为当前数据包中的通道标记值,cnt为长包扣除包头、包尾后的字节数。
13.在底层协议层首先根据lan0通道开始序列sot后的第一个byte数据识别当前数据包的类型;若识别到当前数据包为长包,当num=1时,ecc位于所在通道随后的第三个时钟传输的byte数据,checksum确定为该通道随后的第(cnt+3)与(cnt+4)个时钟传输的byte数据;当num=2时,ecc位于v_la=1通道随后的第一个时钟传输的byte数据,checksum确定为v_la=1通道随后的第(cnt/num+1)与(cnt/num+2)个时钟传输的byte数据;当num=3时,ecc位于所在通道随后的第一个时钟传输的byte数据,checksum确定为v_la=2通道随后的第((cnt+1)/num)与((cnt+1)/num)+1个时钟传输的byte数据;当num=4时,ecc位于v_la=3通道传输的数据,checksum确定为v_la=3通道随后的第(cnt/num)与(cnt/num)+1个时钟传输的byte数据。若关于checksum定位的计算,存在余数y,则位于v_la=y-1通道,在整除的基础上的随后两个时钟传输的byte数据确定为checksum的值。
14.若识别到当前数据包为短包,则num=1,ecc位于所在通道随后的第三个时钟传输的byte数据;num=2,ecc位于v_la=1通道随后的第一个时钟传输的byte数据;num=3,ecc位于所在通道随后的第一个时钟传输的byte数据;num=4,ecc位于v_la=3通道传输的数据。
15.若ecc与checksum检验无误,在底层协议层将并行传输的长包数据根据交叉传输的方式将sot后面四个字节的包头数据,eot前面两个字节的包尾数据剔除得到剩下的有效负载数据发送给组包模块,组包模块将接收来的数据进行进一步处理。
16.针对raw6格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每三个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
17.针对raw7格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每七个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
18.针对raw8格式数据,通过fifo连续进行写操作,移位寄存器从fifo读出数据时进行数据重组运算;
19.针对raw10格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每五个周期按照顺序进行连续读数据并且延时三个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
20.针对raw12格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为24bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加三;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
21.针对raw14格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每七个周期按照顺序进行连续读数据并且延
时一个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
22.针对raw16格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为32bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加四;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算。
23.如图4所示,在写入rawx数据时rd_clk与wr_clk分别为fifo的读写时钟,频率关系比为x:8,其中,写地址wr_addr是随时钟进行连续变化的,而读地址rd_addr受使能rd_lock影响,在输出raw6数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw7数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw10数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出四个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw12数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw14数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw16数据时,当rd_lock为高电平时,则读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。
24.本发明的有益效果在于:
25.本发明改善了传统设计方法对数字后端的不良影响,将发送端多通道传输数据给接收端时,接收端不进行通道合并,而是将多个通道的数据进行单独处理,并将跨时钟域处理方法与数据拆分重组进行分开操作,最大限度地提高mipi处理速度,减少资源损耗,且有效防止后端布线出现拥塞的问题及提升了时钟树质量。
26.本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
27.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
28.图1为传统四通道mipi协议层数据传输示意图;
29.图2为四通道mipi的协议层的byte数据串行传输示意图;
30.图3为本发明四通道mipi协议层数据传输示意图;
31.图4为raw6、7、8、10、12、14和16数据输出时序图。
具体实施方式
32.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
33.其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
34.本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
35.图3为本发明四通道mipi协议层数据传输示意图。本发明实施例主要针对mipi csi-2接口接收端协议层数字电路,将从发送端根据不同通道数发送的数据进行并行传输,最后采用一种新的数据编码与读出结构将这些以byte为单位的数据转化为raw格式原始数据进行输出。
36.步骤一:发送端根据不同通道数发送的数据在进入接收端后不再进行通道合并,而是根据不同的通道各自进入不同的fifo中;
37.步骤二:在写入一定数据后,接收端底层协议层并行读出各个fifo的数据,其中读写时钟相等;
38.步骤三:底层协议层对并行进入的数据同时进行处理,对其中ecc和crc数据进行校验,校验无误对数据进行解包,并行输出其中有效数据发送给组包模块;
39.步骤四:将底层协议层传输来的有效数据在组包模块进行合并后进行跨时钟域处理并在数据编码模块进行重组编码,输出raw格式数据传输给应用层。
40.通过上述mipi csi-2接口接收端协议层数字电路实现方法,在将传统的串行传输采用并行结构,其中wr_clk与rd_clk相等,不需要像传统mipi一样进行通过倍频的wr_clk进行通道合并,大大降低设计难度和工艺要求,易于实现,可以提高mipi的传输速度。
41.在协议层接收端采用并行结构虽然能提高处理速度,但对ecc和checksum定位和校验产生了困难。定义发送端与接收端之间使用的通道总数为num,v_la为当前数据包中的通道标记值,cnt为长包扣除包头、包尾后的字节数。
42.在底层协议层首先根据lan0通道开始序列sot后的byte数据识别当前数据包的类型;若识别到当前数据包为长包,则num=1,ecc位于所在通道随后的第三个时钟传输的byte数据,checksum确定为该通道随后的第(cnt+3)与(cnt+4)个时钟传输的byte数据;num=2,ecc位于v_la=1通道随后的第一个时钟传输的byte数据,checksum确定为v_la=1通
道随后的第(cnt/num+1)与(cnt/num+2)个时钟传输的byte数据;num=3,ecc位于所在通道随后的第一个时钟传输的byte数据,checksum确定为v_la=2通道随后的第((cnt+1)/num)与((cnt+1)/num)+1个时钟传输的byte数据;num=4,ecc位于v_la=3通道传输的数据,checksum确定为v_la=3通道随后的第(cnt/num)与(cnt/num)+1个时钟传输的byte数据。若关于checksum定位的计算,存在余数y,则位于v_la=y-1通道,在整除的基础上的随后两个时钟传输的byte数据确定为checksum的值。
43.若识别到当前数据包为短包,则num=1,ecc位于所在通道随后的第三个时钟传输的byte数据;num=2,ecc位于v_la=1通道随后的第一个时钟传输的byte数据;num=3,ecc位于所在通道随后的第一个时钟传输的byte数据;num=4,ecc位于v_la=3通道传输的数据。
44.若ecc与checksum检验无误,在底层协议层将并行传输的长包数据根据交叉传输的方式将sot后面四个字节的包头数据,eot前面两个字节的包尾数据剔除得到剩下的有效负载数据发送给组包模块,组包模块将接收来的数据进行进一步处理。
45.针对raw6格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每三个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
46.针对raw7格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每七个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
47.针对raw8格式数据,通过fifo连续进行写操作,移位寄存器从fifo读出数据时进行数据重组运算;
48.针对raw10格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每五个周期按照顺序进行连续读数据并且延时三个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
49.针对raw12格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为24bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加三;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
50.针对raw14格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每七个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;
51.针对raw16格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为32bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加四;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算。
52.如图4所示,在写入rawx数据时rd_clk与wr_clk分别为fifo的读写时钟,频率关系比为x:8,其中,写地址wr_addr是随时钟进行连续变化的,而读地址rd_addr受使能rd_lock影响,在输出raw6数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw7数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw10数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出四个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw12数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw14数据时,当rd_lock为高电平时,读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。在输出raw16数据时,当rd_lock为高电平时,则读地址rd_addr停止一次累加,使fifo输出两个相同的数据;其中,lock_a与lock_b两个移位寄存器采用乒乓操作输出数据data_out,如此重复进行下去。
53.最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

技术特征:
1.一种基于csi-2(cameraserialinterface2)协议的mipi(mobileindustryprocessor interface)接口接收端协议层实现方法,其特征在于:该方法包括以下步骤:步骤一:发送端根据不同通道数发送的数据在进入接收端后不再进行通道合并,而是根据不同的通道各自进入不同的fifo(firstinfirstout)中;步骤二:在写入一定数据后,接收端底层协议层并行读出各个fifo的数据,其中读写时钟相等;步骤三:底层协议层对并行进入的数据同时进行处理,对其中ecc和crc数据进行校验,校验无误对数据进行解包,并行输出其中有效数据发送给组包模块;步骤四:将底层协议层传输来的有效数据在组包模块进行合并后进行跨时钟域处理并在数据编码模块进行重组编码,输出raw格式数据传输给应用层。2.根据权利要求1的一种基于csi-2协议的mipi接口接收端协议层实现方法,其特征在于:所述mipicsi-2接口接收端协议层中,在组包模块前的流程都是并行操作,而在组包模块时会进行并转串,将以字节为单位的数据转换为raw格式数据输出给应用层。3.根据权利要求1的一种基于csi-2协议的mipi接口接收端协议层实现方法,其特征在于:所述mipicsi-2接口接收端协议层中,底层协议层接收传递来的并行数据,根据lan0通道中传输开始序列sot后第一个字节数据,即数据标识位,判断出该数据包为长包还是短包,若为长包,根据数据标识位判断出raw格式数据类型,根据通道数num不同,按照以字节为单位交叉传输的顺序,根据数据标识位交叉传输后两位的数据判断出有效数据个数,确定ecc与checksum位置进行校验;若为短包,根据数据标识位判断为短包开始或者短包结束信号;根据传输结束序列eot结束一个包操作,直到出现下一个sot信号,进行下一个包操作。4.根据权利要求1的一种基于csi-2协议的mipi接口接收端协议层实现方法,其特征在于:所述mipicsi-2接口接收端协议层中,针对raw6格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每三个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;针对raw7格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为8bit,读操作每七个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加一;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;针对raw8格式数据,通过fifo连续进行写操作,移位寄存器从fifo读出数据时进行数据重组运算;针对raw10格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每五个周期按照顺序进行连续读数据并且延时三个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;针对raw12格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为24bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加三;移位寄存器从fifo读出数据后,在延
时周期进行数据重组运算;针对raw14格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为16bit,读操作每七个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加二;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算;针对raw16格式数据,在写入fifo一定数据后,读使能开始发生作用,fifo写入数据位宽为8bit,读出数据位宽为32bit,读操作每一个周期按照顺序进行连续读数据并且延时一个周期,读地址每次除延迟周期外的读操作地址加四;移位寄存器从fifo读出数据后,在延时周期进行数据重组运算。

技术总结
本发明涉及一种基于CSI-2协议的MIPI接口接收端协议层实现方法,属于数据传输领域。本发明中,接收端组包模块在进行拆分重组运算时,不在FIFO中进行数据的重新排列,而是通过FIFO进行跨时钟域处理,通过延迟的读时钟周期在移位寄存器中进行数据拆分重组,在FIFO中写入底层协议层传出以字节为单位的数据;通过FIFO读取出N个字节数据;通过延迟的读时钟周期在移位寄存器中对N个字节数据进行重组编码运算,通过乒乓操作输出RAW格式数据。将发送端多通道传输数据给接收端时,接收端不进行通道合并,而是将多个通道的数据进行单独处理,降低了设计难度和工艺要求。低了设计难度和工艺要求。低了设计难度和工艺要求。


技术研发人员:张红升 费林坤 付源 彭腾 刘红江
受保护的技术使用者:重庆邮电大学
技术研发日:2022.11.21
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐