掌桥专利:专业的专利平台
掌桥专利
首页

基于LVDS通道的信息交互系统、方法及介质

文献发布时间:2023-06-19 09:27:35


基于LVDS通道的信息交互系统、方法及介质

技术领域

本发明涉及航空航天信息技术领域,具体地,涉及一种基于LVDS通道的信息交互系统、方法及介质。

背景技术

在航空航天领域中,对产品的可靠性具有较高的要求,目前采用较多的方法是进行系统三冗余设计,通过各模块运行相同的任务,并将其计算结果进行信息交互、比较、表决,来达到对故障的检测和剔除,从而实现高可靠的计算处理。三模冗余表决的基础是将各模块计算结果进行可靠有效快速的信息交互,因此信息交互技术在冗余系统中十分关键。信息交互的快速可靠在冗余系统中越来越受到关注和研究。在目前三冗余系统中,通常使用双口RAM来实现数据信息的交互每个CPU都有1块双口RAM,双口RAM的两侧分别对应两个CPU接口,如图1所示。由图可见这种方法由于是CPU直接访问双口RAM,导致模块间存在较多的控制信号直接连接,比如数据线、地址线以及读写控制线等,从而增加连接器的信号点数以及印制板布线的复杂度。本文提出了一种基于LVDS技术的,适用于在航天、航空实时快速可靠的三冗余种信息交互技术的设计和实现方法。

专利文献CN106776436A(申请号:201710019489.0)公开了一种适用于多点互联的高速串行总线结构及其通信方法,涉及通信设备的信息交互领域。该总线结构的主站单板与各从站单板之间具有一条时钟传输通道和一条数据传输通道,时钟传输通道和数据传输通道均由M-LVDS总线实现。其中,主站单板利用时钟传输通道提供总线时钟,供各站点单板收发数据;同时负责维护总线,当总线空闲时,授予各从站单板发送权限,让各从站单板发送数据。从站单板用于:在获得发送权限后,通过比较各从站单板地址的高低,区分不同的优先级来竞争总线使用权,进行数据的发送。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种基于LVDS通道的信息交互系统、方法及介质。

根据本发明提供的基于LVDS通道的信息交互系统,包括:CPU模块、发送模块和接收模块;

在每个CPU模块中,均配置1个发送模块和2个接收模块;

所述发送模块同时向另两个CPU模块发送交互信息,两个接收模块分别接收这两个CPU模块发送的信息;

发送模块和接收模块的逻辑设计均在现场可编程逻辑门阵列FPGA中实现。

优选的,发送模块发送信息包括:

模块M1:数字信号处理DSP将要发送的数据写入发送双口随机存取存储器RAM相应地址中;

模块M2:DSP向发送控制FIFO中写入要发送数据处于双口RAM中的首地址以及发送数据的总长度的信息;

模块M3:当收发控制模块检测到发送控制FIFO非空且发送模块空闲时,则读取发送控制FIFO中数值;

模块M4:发送模块根据发送控制FIFO数值中的首地址以及发送数据总长度的信息从发送双口RAM中相应首地址开始读取相应长度的数据存入缓存FIFO中。

优选的,发送模块根据帧格式将起始位、控制寄存器信息、有效数据、校验位,依次串行发送。

优选的,所述接收模块一直处于检测起始位状态中,若检测到起始位,则开始进入接收状态机中;

接收模块依次接收起始位、控制寄存器信息,并根据控制寄存器信息接收有效数据以及校验位;

当控制寄存器信息、有效数据、校验位均校验合格时,则将有效数据从接收FIFO中读出并根据控制寄存器信息中的地址、数据长度写入到接收双口RAM中;若校验不合格,则舍弃该拍数据,从接收FIFO中读出但不写入接收双口RAM中。

优选的,在接收有效数据时,每检测到16位,则将此字节写入接收FIFO中,直至有效数据接收完毕。

根据本发明提供的基于LVDS通道的信息交互方法,发送信息包括:

步骤S1:将要发送的数据写入发送双口随机存取存储器RAM相应地址中;

步骤S2:向发送控制FIFO中写入要发送数据处于双口RAM中的首地址以及发送数据的总长度的信息;

步骤S3:当收发控制模块检测到发送控制FIFO非空且发送模块空闲时,则读取发送控制FIFO中数值;

步骤S4:根据发送控制FIFO数值中的首地址以及发送数据总长度的信息从发送双口RAM中相应首地址开始读取相应长度的数据存入缓存FIFO中。

优选的,根据帧格式将起始位、控制寄存器信息、有效数据、校验位,依次串行发送。

优选的,在接收信息阶段,一直处于检测起始位状态中,若检测到起始位,则进入接收状态;

依次接收起始位、控制寄存器信息,并根据控制寄存器信息接收有效数据以及校验位;

当控制寄存器信息、有效数据、校验位均校验合格时,则将有效数据从接收FIFO中读出并根据控制寄存器信息中的地址、数据长度写入到接收双口RAM中;若校验不合格,则舍弃该拍数据,从接收FIFO中读出但不写入接收双口RAM中。

优选的,在接收有效数据时,每检测到16位,则将此字节写入接收FIFO中,直至有效数据接收完毕。

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的方法的步骤。

与现有技术相比,本发明具有如下的有益效果:

1、本发明解决了传统冗余系统中直接通过双口RAM进行信息交互,信号线多而复杂,布局布线繁琐的问题,提供了一种基于LVDS通道,仅需一对差分线,在FPGA中软件实现,适用于在航天、航空三冗余系统中实现信息实时快速可靠交互的方法;

2、本发明由以往的多控制信号的双口RAM并行传输交互变更为仅使用一对差分线的串行传输交互技术,在解决了传输系统复杂性的同时又增加了系统的可靠性以及传输速度;

3、本发明可以大大减少冗余系统中信息交互布局布线的复杂度,为冗余系统中其它产品中的信息交互提供了全新的思路和方法;

4、本发明仅需几对差分线,在FPGA中通过编程即可方便完成高可靠高速度的信息交互,设计方法简单快速可靠,在保证了交互数据正确性的同时,具备较高的可靠性和速度,为三冗余系统中信息交互技术提供了一种全新的设计思路和设计方法。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为三冗余系统中双口RAM交互方式框图;

图2为三冗余系统原理框图;

图3为单CPU模块中设计原理框图;

图4为LVDS发送模块流程框图及状态机;

图5为LVDS接收模块状态机以及流程框图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

实施例:

本发明仅需一对差分线,而且传输快速可靠。在每块CPU模块中,均配置1个发送模块和2个接收模块。发送模块同时向另外两块CPU发送交互信息,两个接收模块分别接收另外2个CPU模块发送的信息。发送模块以及接收模块的逻辑设计均在FPGA中实现。

发送模块:

(1)DSP将要发送的数据写入发送双口RAM相应地址中;

(2)DSP向发送控制FIFO中写入要发送数据处于双口RAM中的首地址以及发送数据的总长度;

(3)当收发控制模块检测到发送控制FIFO非空且发送模块空闲时,则读取发送控制FIFO中数值;

(4)发送模块根据发送控制FIFO数值中首地址以及发送数据总长度的信息从发送双口RAM中相应首地址开始读取相应长度的数据存入缓存FIFO中;

(5)发送模块根据帧格式将起始位、控制寄存器值、有效数据、校验位组帧,依次串行发送。

接收模块:

(1)接收模块一直处于检测起始位状态中,若检测到起始位则开始进入接收状态机中;

(2)接收模块依次接收起始位、控制寄存器信息,并根据控制寄存器信息接收有效数据值以及校验位。在接收有效数据时,每检测到16位,则将此字节写入接收FIFO中,直至有效数据接收完毕;

(3)当控制寄存器信息、有效数据、校验位均校验合格时则将有效数据从接收FIFO中读出并根据控制寄存器信息中的地址、数据长度写入到接收双口RAM中;若校验不合格则舍弃该拍数据,从接收FIFO中读出但不写入接收双口RAM中。

LVDS收发帧格式约定如表1所示:

表1 LVDS收发帧格式

图2中有3个CPU模块,每个CPU模块中有1个发送模块和2个接收模块。

图3为单CPU模块设计原理框图,该框图所示各项功能均在FPGA中实现。框图中发送模块由一个FPGA例化的发送双口RAM,一个发送控制FIFO,一个发送数据缓存FIFO以及发送接口组成;接收模块由一个FPGA例化的接收双口RAM,一个接收数据缓存FIFO以及接收接口组成。

本发明整体框图如图2所示,某运载火箭控制单机为三冗余架构,三块CPU需对输入输出的消息进行交互表决,本发明通过LVDS作为物理通道,在FPGA中通过逻辑语言设计完成数据信息的交互。如图3所示为单CPU模块中,FPGA中实现信息收发的详细框图。

一、LVDS发送模块主要完成以下3方面工作:

A.从发送控制FIFO中读取发送控制信息;

B.根据发送控制信息(首地址、数据长度),从发送双口RAM中读取需要发送的有效数据写入发送FIFO中;

C.通过状态机,将起始位、控制信息、有效数据及校验位组帧由LVDS接口发送。

LVDS发送状态机有以下5种状态:

(1)ST_IDLE:空闲状态,在此状态下一直检测是否需要开始发送新数据,若有新数据需要发送,则进入ST_SEND_START发送起始位状态,否则一直处于空闲状态;

(2)ST_SEND_START:发送起始位状态,在此状态下,将发送起始位,并计算奇校验位,为发送校验位作准备。当6位起始位发送完毕后,状态则进入ST_SEND_CCR_REG发送控制寄存器状态;

(3)ST_SEND_CCR_REG:发送控制寄存器状态,在此状态下,串行发送16位控制寄存器数据。当完成控制寄存器数据发送后,进入ST_SEND_DATA发送有效数据状态;

(4)ST_SEND_DATA:发送有效数据状态,在此状态下,串行发送有效数据位。当完成有效数据位发送后则进入下一个状态ST_SEND_PAR发送校验位状态;

(5)ST_SEND_PAR:发送校验位状态,在此状态下,发送校验位,并将发送忙置为0,完成发送后则进入空闲状态;

具体发送模块流程及状态机状态转换如图4所示。

根据上述状态机,LVDS发送模块可快速有效可靠的将本CPU模块的数据串行传输至另外两块CPU模块中,只要发送FIFO不为空,则发送模块将有条不紊连续不断的进行数据的发送。

二、LVDS接收模块主要完成以下两方面工作:

A.根据状态机接收起始位、控制寄存器信息、有效数据位以及校验位,并将接收数据进行校验;

B.根据校验信息,若校验合格则将接收有效数据写入接收双口RAM中;若校验不合格则将接收数据舍弃。

LVDS接收状态机有以下7种状态:

(1)SR_IDLE:空闲状态,在此状态下一直检测起始位的到来,若检测到数据线上有低电平下降沿,则进入下一个状态SR_REC_START接收起始位状态;否则一直处于检测空闲状态,检测起始位的状态中;

(2)SR_REC_START:接收起始位状态,在此状态下,若起始位负脉冲未能保持足够宽度,则重回空闲状态;若起始位负脉冲宽度满足要求,则进入数据接收准备状态;

(3)SR_REC_PREPARE:数据接收准备状态,在此状态下,完成6位起始位的接收,并将状态转入SR_REC_CCR_REG接收控制寄存器信息状态中;

(4)SR_REC_CCR_REG:接收控制寄存器信息状态,在此状态下,进行控制寄存器信息的接收,若接收完成则状态转入SR_REC_DATA接收有效数据位状态中;

(5)SR_REC_DATA:接收有效数据位状态,在此状态下,进行有效数据位的接收,同时对接收的数据位进行校验,每完成16位数据接收则将此16位数据打包写入接收FIFO中。根据上一状态中获取的控制寄存器信息得到有效数据存储首地址和数据长度;数据接收完成后则将状态转入SR_REC_PAR接收校验位状态;

(6)SR_REC_PAR:接收校验位状态,在此状态下,完成校验位的接收,并对控制寄存器信息进行校验,将状态转入SR_REC_STOP接收停止状态;

(7)SR_REC_STOP:接收停止状态,此状态持续8个时钟周期。在第7个时钟周期将接收FIFO读信号置高,同时获取接收双口RAM写入数据的首地址;在第8个时钟周期,若校验位合格则将接收双口RAM的片选和写信号置高,否则接收双口RAM的片选和写信号保持无效状态,并将接收错误寄存器加1。

在校验位合格的情况下,持续将数据从接收FIFO中读出,并根据控制寄存器信息写入接收双口RAM中,当全部有效数据写入完毕后将接收FIFO以及接收双口RAM的相关控制信号置为无效。

具体状态机状态转换以及写入流程如图5所示。

根据上述状态机,LVDS接收模块将会快速有效可靠的接收其它CPU模块发送过来的数据,并且将接收到的数据经过校验后,在保证数据有效正确的前提下将数据写入接收双口RAM中,供本模块DSP进行读取,进而实现三冗余模块的数据表决。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 基于LVDS通道的信息交互系统、方法及介质
  • 一种基于FPGA的多通道高速串行LVDS数据整序方法及电路
技术分类

06120112175114