一种FPD‑LINK低电压差分信号视频传输中的双向控制方法与流程

文档序号:12829541阅读:298来源:国知局
一种FPD‑LINK低电压差分信号视频传输中的双向控制方法与流程

本发明涉及视频传输控制技术领域,特别是涉及一种fpd-link低电压差分信号视频传输中的双向控制方法。



背景技术:

在视频传输应用里,视频采集信号与信号处理芯片采用串行传输,需要采集和信号处理之间不光传输rgb和vsnyc、hsync信号,同时需要相互之间传输低速的控制信号。如果再额外增加一条传输线,会增加产品的重量。为了节省线缆,在高速接收器端增加低速信号发生器,在高速发送端增加低速信号接收器,高速和低速信号叠加在同一个线缆上完成双向通信功能,如图1所示。

常见的高速串行有效负载的参考解释就像28位串行帧。28位串行帧的组成为:24位、2位嵌入式时钟信息和2位用于链接的串行控制位。因此,对于每24位的数据,实际发送的是28位串行位,这就是基本链接的效率24/28(86%)。24位数据被修改为平衡的、随机的和加扰的数据,这样做是为了支持链接上的交流耦合,并在传送相对静态的数据时,有助于减少isi(码间干扰)的影响。这两个时钟位是固定的,一位高(c1)一位低(c0)。两个串行控制位,通常被标注为dca(a)和dcb(b),给des提供信息以恢复数据、链接状态和模式。低速串行速率大概在2-4mhz,相对较低,以供能跟高速串行信号实现有效分离。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种fpd-link低电压差分信号视频传输中的双向控制方法,能够基于外部mcu输入的i2c信号实现对前级设备、后级设备和远端设备的控制。

本发明的目的是通过以下技术方案来实现的:一种fpd-link低电压差分信号视频传输中的双向控制方法,其特征在于,包括正向控制和逆向控制;

所述正向控制包括:

des设备接收并解析来自mcu的第一i2c控制信号,然后判断第一i2c控制信号的作用对象:

若第一i2c控制信号的作用对象为des设备,则des设备根据第一i2c控制信号进行自身i2c配置;

若第一i2c控制信号的作用对象为ser设备或远端设备,则des设备生成第一i2c信息,并将该第一i2c信息编码混频到第一lvds信号,然后将第一lvds信号传输到ser设备;

ser设备接收并解析来自des设备的第一lvds信号,得到第一i2c信息,然后判断第一i2c信息的作用对象:

若第一i2c信息的作用对象为ser设备,则ser设备根据第一i2c信息配置自身的内部寄存器;

若第一i2c信息的作用对象为远端设备,则ser设备生成第一i2c指令对远端设备进行i2c配置;

所述逆向控制包括:

ser设备接收并解析来自mcu的第二i2c控制信号,然后判断第二i2c控制信号的作用对象:

若第二i2c控制信号的作用对象为ser设备,则sers设备根据第二i2c控制信号进行自身i2c配置;

若第二i2c控制信号的作用对象为des设备或远端设备,则ser设备生成第二i2c信息,并将该第二i2c信息编码混频到第二lvds信号,然后将第二lvds信号传输到des设备;

des设备接收并解析来自ser设备的第二lvds信号,得到第二i2c信息,然后判断第二i2c信息的作用对象:

若第二i2c信息的作用对象为des设备,则des设备根据第二i2c信息配置自身的内部寄存器;

若第二i2c信息的作用对象为远端设备,则des设备生成第二i2c指令对远端设备进行i2c配置。

优选的,所述des设备包括:

第一控制模块,根据第一i2c信号或第二i2c信息执行相应操作;

高速接收器,接收所述第二lvds信号;

低速驱动器,发出所述第一lvds信号;

第一解码器,对所述第二lvds信号进行解码;

第一编码器,将第一控制模块发送给ser设备的信息编码混频到第一lvds信号;

第一slave模块,用于对接收到的数据进行读操作;

第一master模块,用于对接收到的数据进行写操作。

优选的,所述第一控制模块在上电后由空闲状态进入先导状态,并发送低速先导码,然后进入临时先导状态并发送预设长度的先导码,然后进入初始化状态并将des设备的设定状态信息发送给ser设备,然后进入等待指令状态;

在等待指令状态中,若获得des设备状态信息改变的信息时,将des设备的设定状态信息发送给ser设备,并等待ser设备的回应信号,若在预设时间内接收到该回应信号则进入等待指令状态,否则再次将des设备的设定状态信息发送给ser设备;

在等待指令状态中,若des设备接收到需对后级设备或远端设备i2c操作时,将操作指令发送给第一解码器并等待第一解码器的确认信息,若在预设时间内接收到第一解码器的确认信息则进入等待指令状态,否则再次向第一解码器发送操作指令;

在等待指令状态中,若des设备接收到ser设备要对des设备或远端设备i2c操作时,进入申请读操作状态,若第一slave模块在预设时间内响应则将i2c信息发送给第一slave模块读操作,并在i2c信息发送完成后进入等待指令状态;若第一slave模块在预设时间内未响应则进入等待指令状态。

优选的,所述第一slave模块对所述第一i2c信号进行读操作时:若第一i2c信号为对远端设备进行i2c配置时,则des设备将i2c信号传输给ser设备;若第一i2c信号为des设备进行自身配置或者对ser设备进行i2c配置时,则des设备将数据按照start+设备地址+ack+子地址+ack+数据+ack+stop格式进行写操作。

优选的,所述第一master模块与远端设备进行通信时,第二i2c指令的写过程为start+发送写slave芯片地址+ack+发送slave子地址+ack+数据+ack+stop;读过程为start+发送写slave芯片地址+ack+发送slave子地址+ack发送读slave芯片地址+ack+数取的数据+ack+stop。

优选的,所述第一编码模块上电后先发先导码,在ser设备识别到先导码后ser设备再通过高速通道通知des设备已经识别到先导码,然后des设备开始发正常数据格式的曼切斯特编码。

优选的,所述第一解码模块解码数据的状态机为:复位后为空闲状态,复位后检测到四个高电平进入同步码状态,在同步码状态下检测到多个低电平,然后进入恢复码状态,在检测到校验位出错时停止解码数据并进入空闲状态;并在接收到数据请求响应时输出第一种数据,否则输出第二种数据。

优选的,所述ser设备包括:

第二控制模块,根据第二i2c信号或第一i2c信息执行相应操作;

低速接收器,接收所述第一lvds信号;

高速驱动器,发出所述第二lvds信号;

第二解码器,对所述第一lvds信号进行解码;

第二编码器,将第二控制模块发送给des设备的信息编码混频到第二lvds信号;

第二slave模块,用于对接收到的数据进行读操作;

第二master模块,用于对接收到的数据进行写操作。

优选的,所述第二控制模块在上电后由空闲状态进入等待指令状态;

在等待指令状态中,若des设备接收到需对后级设备或远端设备i2c操作时,进入申请读操作状态,若第二slave模块在预设时间内响应则将数据发送给第二slave模块读操作,并在数据发送完成后进入等待指令状态;若第二slave模块在预设时间内未响应则进入等待指令状态;

在等待指令状态中,若des设备接收到ser设备要对des设备或远端设备i2c操作时,将操作指令发送给第二解码器并等待第二解码器的确认信息,若在预设时间内接收到第二解码器的确认信息则进入等待指令状态,否则再次向第二解码器发送操作指令。

本发明的有益效果是:本发明采用通过lvds高低混频特点传输,接收外部mcu的i2c信息后进行编码后以高速或低速通道传递给后级器件,后级器件经高低分频后接收相关的i2c编码信息进行解码,获得相关的i2c操作,并即时把响应信息进行编码后经高速或低速通道传递给前级器件,应外部mcu需求后级器件可以与远端器件进行i2c通讯,前级器件接收经高低分频后接收相关的i2c响应编码信息进行解码,获得相关的响应信息后与外部的mcu进行响应,以完成整个双向i2c操作的流程。因而实现了基于外部mcu输入的i2c信号实现对三级设备(前级设备、后级设备和远端设备)的控制。

附图说明

图1为高速和低速信号叠加在同一个线缆上完成双向通信的示意图;;

图2为本发明中正向控制的一个实施例的流程示意图;

图3为本发明中des设备的一个实施例的示意图;

图4为本发明中第一控制模块的状态机过程示意图;

图5为本发明中ser设备的一个实施例的示意图;

图6为本发明中逆向控制的一个实施例的流程示意图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

本申请所述的lvds(low-voltagedifferentialsignaling),即为低电压差分信号。

如图2所示,一种fpd-link低电压差分信号视频传输中的双向控制方法,包括正向控制和逆向控制。

所述正向控制包括:

s01.des设备(lvds解码器)接收并解析来自mcu的第一i2c控制信号,然后判断第一i2c控制信号的作用对象:

若第一i2c控制信号的作用对象为des设备,则des设备根据第一i2c控制信号进行自身i2c配置。

若第一i2c控制信号的作用对象为ser设备(lvds编码器)或远端设备,则des设备生成第一i2c信息,并将该第一i2c信息编码混频到第一lvds信号,然后将第一lvds信号传输到ser设备。

如图3所示,所述des设备包括第一控制模块、高速接收器、低速驱动器、第一解码器、第一编码器、第一slave模块和第一master模块。其中,第一控制模块根据第一i2c信号或第二i2c信息执行相应操作;高速接收器接收所述第二lvds信号;低速驱动器发出所述第一lvds信号;第一解码器对所述第二lvds信号进行解码;第一编码器将第一控制模块发送给ser设备的信息编码混频到第一lvds信号;第一slave模块用于对接收到的数据进行读操作;第一master模块用于对接收到的数据进行写操作。

如图3所示,所述第一控制模块的状态机过程为:在上电后由空闲状态(idle)进入先导状态(preamble),并发送低速先导码,然后进入临时先导状态(preamble-tmp)并发送预设长度的先导码,然后进入初始化状态(native-ini)并将des设备的设定状态信息发送给ser设备,然后进入等待指令状态(cmd-free)。在等待指令状态中,若获得des设备状态信息改变的信息时进入自身配置状态(nvtive-config),将des设备的设定状态信息发送给ser设备,并进入等待自身响应状态(wait_native_ack),等待自身响应状态下等待ser设备的回应信号,若在预设时间内接收到该回应信号则进入等待指令状态,否则再次将des设备的设定状态信息发送给ser设备。在等待指令状态中,若获得des_request解码器请求操作(表示des设备接收到需对后级设备或远端设备i2c操作)时进入指令申请状态(cmd_request),将操作指令发送给第一解码器,并进入等待响应状态(wait_ack),在等待响应状态下等待第一解码器的确认信息,若在预设时间内接收到第一解码器的确认信息则进入等待指令状态,否则再次向第一解码器发送操作指令。在等待指令状态中,若获得ser_request编码器请求操作(表示des设备接收到ser设备要对des设备或远端设备i2c操作)时,进入申请读操作状态(request_slave),在申请读操作状态下,若第一slave模块在预设时间内响应则进入数据资料响应状态(data_ack_gen),数据资料响应状态下将i2c信息(i2c地址,i2c数据或i2c响应信息)发送给第一slave模块读操作,并在i2c信息发送完成后进入等待指令状态;若第一slave模块在预设时间内未响应则进入等待指令状态。

所述第一slave模块对所述第一i2c信号进行读操作时:若第一i2c信号为对远端设备进行i2c配置时,远端设备有各种风格(子地址有8,16,32或更多,数据也有8,16,32或更多),所以这里读写过程则是把子地址和数据则当成一个整体,des设备将i2c信号传输给ser设备,ser设备则是把它翻译出来送给远端设备,这样就可以做到无缝传递给远端设备,进行对远端设备的操作。若第一i2c信号为des设备进行自身配置或者对ser设备进行i2c配置时,则des设备将数据按照start+设备地址(8位)+ack+子地址(8位)+ack+数据(8位)+ack+stop格式进行写操作。

所述第一master模块与远端设备进行通信时,第二i2c指令的写过程为start+发送写slave芯片地址(8位)+ack+发送slave子地址(8位)+ack+数据(8位)+ack+stop;读过程为start+发送写slave芯片地址(8位)+ack+发送slave子地址(8位)+ack发送读slave芯片地址(8位)+ack+数取的数据(8位)+ack+stop。8位子地址+8位数据的写过程状态机:0→1→2→3→4→5→7→8→9→10→11→12→7→8→9→10→11→12→7→17→0;读过程:0→1→2→3→4→5→7→8→9→10→11→12→7→1→2→3→4→5→7→13→14→15→16→7→17→0。如果是其他格式的子地址和数据写过程时则只需那个7→8→9→10→11→12→7过程多几个循环就行,这里子地址和数据没有区别,都被当成数据,按照顺序发送就行。其他格式的读过程也是一样。

所述第一编码模块设计低速通道串行码的编码规则,上电后先发先导码,就是全0的曼彻斯特编码,在ser设备识别到先导码后ser设备再通过高速通道通知des设备已经识别到先导码,然后des设备开始发正常数据格式的曼切斯特编码。正常数据格式为30位:4’b1010+14位数据+5位gpio+4位crc码+3’b101。14位数据由命令类别+命令+数据构成,就可以进行i2c相关信息的传递,以完成双向i2c操作功能。第二解码器相关的解码以此规则来解码,获得相关i2c信息。

所述第一解码模块是对ser产生的串行数据进行解码,解码数据的状态机为:复位后为空闲状态,复位后检测到四个高电平进入同步码状态,在同步码状态下检测到多个低电平,然后进入恢复码状态,在检测到校验位出错时停止解码数据并进入空闲状态;并在接收到数据请求响应时输出第一种数据,否则输出第二种数据。第二编码器相关的编码以此规则来编码,把相关i2c信息编码在这串行数据上。

s02.ser设备接收并解析来自des设备的第一lvds信号,得到第一i2c信息,然后判断第一i2c信息的作用对象:

若第一i2c信息的作用对象为ser设备,则ser设备根据第一i2c信息配置自身的内部寄存器。

若第一i2c信息的作用对象为远端设备,则ser设备生成第一i2c指令对远端设备进行i2c配置。

如图5所示,所述ser设备包括第二控制模块、低速接收器、高速驱动器、第二解码器、第二编码器、第二slave模块和第二master模块。其中,第二控制模块根据第二i2c信号或第一i2c信息执行相应操作;低速接收器接收所述第一lvds信号;高速驱动器发出所述第二lvds信号;第二解码器对所述第一lvds信号进行解码;第二编码器将第二控制模块发送给des设备的信息编码混频到第二lvds信号;第二slave模块用于对接收到的数据进行读操作;第二master模块用于对接收到的数据进行写操作。

所述第二控制模块在上电后由空闲状态进入等待指令状态。在等待指令状态中,若获得des_request解码器请求操作时,进入申请读操作状态,若第二slave模块在预设时间内响应则将数据发送给第二slave模块读操作,并在数据发送完成后进入等待指令状态;若第二slave模块在预设时间内未响应则进入等待指令状态。在等待指令状态中,若获得ser_request编码器请求操作时,将操作指令发送给第二解码器并等待第二解码器的确认信息,若在预设时间内接收到第二解码器的确认信息则进入等待指令状态,否则再次向第二解码器发送操作指令。

所述第二slave模块对所述第二i2c信号进行读操作时:若第二i2c信号为对远端设备进行i2c配置时,远端设备有各种风格(子地址有8,16,32或更多,数据也有8,16,32或更多),所以这里读写过程则是把子地址和数据则当成一个整体,ser设备将i2c信号传输给des设备,des设备则是把它翻译出来送给远端设备,这样就可以做到无缝传递给远端设备,进行对远端设备的操作。若第二i2c信号为ser设备进行自身配置或者对des设备进行i2c配置时,则ser设备将数据按照start+设备地址(8位)+ack+子地址(8位)+ack+数据(8位)+ack+stop格式进行写操作。

所述第二master模块与远端设备进行通信时,第一i2c指令的写过程为start+发送写slave芯片地址(8位)+ack+发送slave子地址(8位)+ack+数据(8位)+ack+stop;读过程为start+发送写slave芯片地址(8位)+ack+发送slave子地址(8位)+ack发送读slave芯片地址(8位)+ack+数取的数据(8位)+ack+stop。8位子地址+8位数据的写过程状态机:0→1→2→3→4→5→7→8→9→10→11→12→7→8→9→10→11→12→7→17→0;读过程:0→1→2→3→4→5→7→8→9→10→11→12→7→1→2→3→4→5→7→13→14→15→16→7→17→0。如果是其他格式的子地址和数据写过程时则只需那个7→8→9→10→11→12→7过程多几个循环就行,这里子地址和数据没有区别,都被当成数据,按照顺序发送就行;其他格式的读过程也是一样。

如图6所示,所述逆向控制包括:

s11.ser设备接收并解析来自mcu的第二i2c控制信号,然后判断第二i2c控制信号的作用对象:

若第二i2c控制信号的作用对象为ser设备,则sers设备根据第二i2c控制信号进行自身i2c配置;

若第第二i2c控制信号的作用对象为des设备或远端设备,则ser设备生成第二i2c信息,并将该第二i2c信息编码混频到第二lvds信号,然后将第二lvds信号传输到des设备。

s12.des设备接收并解析来自ser设备的第二lvds信号,得到第二i2c信息,然后判断第二i2c信息的作用对象;

若第二i2c信息的作用对象为des设备,则des设备根据第二i2c信息配置自身的内部寄存器;

若第二i2c信息的作用对象为远端设备,则des设备生成第二i2c指令对远端设备进行i2c配置。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1