CN108234267B - 一种基于m-lvds实时多主高速总线的通信系统 - Google Patents
一种基于m-lvds实时多主高速总线的通信系统 Download PDFInfo
- Publication number
- CN108234267B CN108234267B CN201810129829.XA CN201810129829A CN108234267B CN 108234267 B CN108234267 B CN 108234267B CN 201810129829 A CN201810129829 A CN 201810129829A CN 108234267 B CN108234267 B CN 108234267B
- Authority
- CN
- China
- Prior art keywords
- bus
- lvds
- mlvds
- data
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 20
- 238000011084 recovery Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 6
- 230000006855 networking Effects 0.000 abstract 1
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000000396 iron Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于M‑LVDS实时多主高速总线的通信系统,该通信系统包括:系统A、系统B和M‑LVDS总线,所述的系统A和系统B分别包括若干个节点,在所述的系统A或系统B内部的节点之间通过背板和PCB走线互连;在所述的系统A和系统B之间的节点间通过M‑LVDS总线互连。现有技术相比,本发明具有高速、实时、隔离、灵活组网等优点。
Description
技术领域
本发明涉及于总线通信领域,尤其是涉及一种基于M-LVDS实时多主高速总线的通信系统。
背景技术
在安全系统设计中,总线通信需要满足几大基本要求:不同节点间电气隔离、不同节点间高速通信、不同节点间实时通信、不同节点间故障容忍与故障隔离。
在业内存在多种总线机制,但是都不能完全满足这几个要求,例如
1、高速的并行总线能够满足实时性要求,但无法满足不同节点间的隔离要求;
2、网络通信能够满足隔离要求,但是不能满足实时性要求;
3、CAN总线满足隔离和实时性的要求,但是又无法实现高速通信。
经过检索,中国专利公开号为CN107317734A公开了一种基于SOC技术的集成CN总线节点芯片结构,该节点芯片,由总控制器、CAN总线协议控制器单元、收发电路单元构成,总控制器用于实现对CAN总线协议控制器的寄存器配置并且完成数据的读出与写入;CAN总线协议控制器单元用于实现CAN总线数据链路层内容,包括数据成帧、错误检测和验收滤波;CAN收发电路单元实现CAN总线物理层内容,完成物理总线电平与逻辑电平的转换,该发明简化CAN总线通信系统的节点设计,减小CAN总线通信系统设计人员的设计与调试难度,提高系统的稳定性与可靠性。但该发明针对的是CAN总线通信,由于自身局限性,无法实现高速通信。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于M-LVDS实时多主高速总线的通信系统。
本发明的目的可以通过以下技术方案来实现:
一种基于M-LVDS实时多主高速总线的通信系统,该通信系统包括:系统A、系统B和M-LVDS总线,所述的系统A和系统B分别包括若干个节点,在所述的系统A或系统B内部的节点之间通过背板和PCB走线互连;在所述的系统A和系统B之间的节点间通过M-LVDS总线互连。
优选地,所述的M-LVDS总线为双绞线电缆。
优选地,在所述的M-LVDS总线上当有多个节点同时有驱动请求时,进行总线仲裁:当一个新的节点加入到M-LVDS总线上时,该节点不能驱动M-LVDS总线,只能接收M-LVDS总线上的信号;当M-LVDS总线处于空闲状态时,所述的节点才仲裁M-LVDS总线使用权;所述的节点获得M-LVDS总线仲裁使用权之后发送数据。
优选地,所述的M-LVDS总线仲裁的规则是:所述的节点发送数据0,但接收到的数据是1,表明M-LVDS总线上有其它节点同时在驱动M-LVDS总线,且优先级高于自己,该节点中止当前的发送操作。
优选地,所述的系统A和系统B的每个节点均包括一个独立的嵌入式板卡,所述的板卡内部包括处理器、存储器和M-LVDS总线控制器。
优选地,所述的M-LVDS总线控制器为FPGA。
优选地,所述的FPGA包括:mlvds_regs寄存器子模块、mlvds_tx_queue发送队列子模块、mlvds_transmitter发送子模块、mlvds_sample接收采样子模块、mlvds_rx_queue接收队列子模块和mlvds_link_monitor链路状态监测子模块;
所述的mlvds_regs寄存器子模块上设有与CPU的接口,所述的mlvds_regs寄存器子模块分别连接mlvds_tx_queue发送队列子模块和mlvds_rx_queue接收队列子模块;
所述的mlvds_tx_queue发送队列子模块内部设有数据FIFO缓存区,所述的mlvds_tx_queue发送队列子模块连接mlvds_transmitter发送子模块;
所述的mlvds_transmitter发送子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块;
所述的mlvds_sample接收采样子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块,所述的mlvds_sample接收采样子模块包括相位依次相差90°的4个时钟,所述的4个时钟同时对M-LVDS总线上的数据进行采样;
所述的mlvds_rx_queue接收队列子模块分别连接mlvds_sample接收采样子模块和mlvds_regs寄存器子模块,所述的mlvds_rx_queue接收队列子模块接收MLVDS总线上的数据帧,并对接收到的数据帧进行过滤检查,判断是否符合本地节点的接收过滤规则,同时会将接收过程中的错误状态信息反馈给CPU;
所述的mlvds_link_monitor链路状态监测子模块监测链路的当前状态,包括所述的M-LVDS总线是否已经连接上和M-LVDS总线是否处于空闲状态。
优选地,所述的mlvds_link_monitor链路状态监测子模块包括以下监测状态:
(1)NODE_POWER_ON状态:结点刚上电复位后的状态,以及软复位以后的状态,如果允许节点接收,即bus_rx_en=1,则开始检测输入的总线信号,进入LOOK_FOR_IDLE状态;
(2)LOOK_FOR_IDLE状态:在该状态,主要是判断总线是否处于空闲状态,通过两点来判断:一是在3072周期内,总线是否一直为0,即没有任何节点使用总线,此时节点将进入到BUS_IDLE状态;另一点是总线上有活动,则等到活动结束,即进入帧间隔期间,此时总线可找到总线上的空闲状态;如果在3072周期内,总线一直为高,此时总线可能有故障,将进入BUS_ERROR状态;如果在3072周期内,cdr_rec_bit_valid=1,表示总线上有活动,即时钟数据恢复单元再监测到同步码之后,会将cdr_rec_bit_valid置为1,此时进入WAIT_CDR_INVALID状态;
(3)BUS_IDLE状态:在找到总线上的空闲状态之后,如果检测到仲裁码,即总线值变成1,且持续6个周期,则进入BUS_WAIT_ARBIT状态;
(4)BUS_WAIT_ARBIT状态:在该状态,等待仲裁码传输完成,仲裁码传输总共需160个周期,考虑进该状态之前,已经消耗了6个周期,故等待155个周期后,检查cdr_rec_bit_valid信号,如果cdr_rec_bit_valid=1,仲裁码传输完成,且检测到同步码,时钟数据恢复电路已锁定恢复时钟,总线正在传输数据,此时进入WAIT_CDR_INVALID状态,如果cdr_rec_bit_valid=0,表示时钟数据恢复电路还没有锁定恢复时钟,此时进入WAIT_CDR_VALID状态;
(5)WAIT_CDR_VALID状态:正常情况下,在仲裁码之后是同步码,如果在32个周期内没有检测到同步码,则总线可能错误,此时进入BUS_ERROR状态;如果在32周期内,cdr_rec_bit_valid=1,表示链路工作正常,此时进入WAIT_CDR_INVALID状态;
优选地,所述的M-LVDS总线上的节点发送数据的流程包括以下步骤:
步骤1,当节点有数据帧要发送时,首先从发送FIFO读取一帧数据;
步骤2,数据帧先进入发送缓冲区,使发送缓冲区不为空;
步骤3,当发送缓冲区不为空时,会触发一个数据发送请求;
步骤4,当节点检测到有数据发送请求后,该节点就参与M-LVDS总线仲裁,在进行M-LVDS总线仲裁时,节点会根据数据帧的优先级向M-LVDS总线发送一个16位的仲裁码,其中仲裁码16’HFFFF的优先级最高,仲裁码16’H0000的优先级最低,当M-LVDS总线上其他节点发送的仲裁码小于该数据帧的仲裁码时,该节点仲裁通过,转到步骤5,否则,转到步骤步骤3;
步骤5,根据CRC生成多项式:G(x)=x16+x15+x2+1,计算得到数据帧的CRC校验值,将该CRC校验值附在数据帧的后面一起进行并串转换;
步骤6,将并串转换后的数据发送到M-LVDS总线上。
优选地,所述的M-LVDS总线上的节点接收数据的流程包括以下步骤:
步骤1,M-LVDS总线控制器用4个相位依次相差90°的时钟同时对总线上的数据进行串行采样,从而保证至少有一个时钟能够采样到正确的数据;
步骤2,将采样到的数据进行串并转换,然后进行帧解析,提取出帧长,帧类型的字段;
步骤3,预先设定的帧长范围是0~256字节,当收到的数据帧的长度不超过这个范围时,转入步骤4,当收到的数据帧的长度超过这个范围时则认为数据帧不合法,并丢弃;
步骤4,根据CRC生成多项式:G(x)=x16+x15+x2+1,对收到的数据帧及其附带的CRC值一起进行CRC计算,计算值为0则说明数据接收正确,转入步骤5,否则说明数据接收错误,将数据帧丢弃;
步骤5,判断节点的接收FIFO是否还有空间存放接收到的数据帧,如果有,转入步骤6,否则将数据帧丢弃,并产生错误报警;
步骤6,将数据帧放入接收FIFO中,供CPU读取。
与现有技术相比,本发明具有以下优点:
1、灵活性:M-LVDS总线不需要改变任何节点的相关软件或硬件,就可以在总线上直接添加新的节点,即支持节点的动态加入或退出;
2、报文路由:网络上所有节点可以通过某种方式对报文进行识别,确定是否应对该数据做出反应,即报文需携带标识信息,接收节点通过标识信息决定是否对报文做出反应。
3、M-LVDS总线传输速率可通过软件进行配置,数据传输速率可以分为3个档:10Mbps、50Mbps、100Mbps。
4、M-LVDS总线的每一个节点均能进行错误检测,保证了数据的安全发送。
5、总线帧的发送采用双网的方式,双网的物理和功能都保持独立,各自采用重发机制,以保证数据有效性。
6、M-LVDS节点能够把永久故障和短暂扰动区分开来。永久故障节点会被关闭,并且不会影响其他节点的正常工作。
附图说明
图1为本发明的通信结构拓扑结构示意图;
图2为本发明的M-LVDS总线控制器结构示意图;
图3为本发明的mlvds_link_monitor链路状态监测子模块的监测状态图;
图4为本发明的节点发送数据流程图;
图5为本发明的节点接收数据流程图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,一种基于M-LVDS实时多主高速总线的通信系统,该通信系统包括:系统A、系统B和M-LVDS总线,所述的M-LVDS总线为双绞线电缆,所述的系统A和系统B分别包括若干个节点,在所述的系统A或系统B内部的节点之间通过背板和PCB走线互连;在所述的系统A和系统B之间的节点之间通过双绞线电缆互连。
在所述的M-LVDS总线上当有多个节点同时有驱动请求时,必须要进行总线仲裁:当一个新的节点加入到M-LVDS总线上时,该节点不能驱动M-LVDS总线,只能接收M-LVDS总线上的信号;当M-LVDS总线处于空闲状态时,所述的节点才可以仲裁M-LVDS总线使用权;所述的节点获得M-LVDS总线仲裁使用权之后发送数据。
所述的M-LVDS总线仲裁的规则是:所述的节点发送数据0,但接收到的数据是1,说明M-LVDS总线上有其它节点同时在驱动M-LVDS总线,且优先级高于自己,该节点中止当前的发送操作。
所述的系统A和系统B的每个节点都是一个独立的嵌入式板卡,所述的板卡内部包括处理器、存储器和M-LVDS总线控制器,所述的M-LVDS总线控制器为FPGA。
如图2所示,所述的FPGA包括:mlvds_regs寄存器子模块、mlvds_tx_queue发送队列子模块、mlvds_transmitter发送子模块、mlvds_sample接收采样子模块、mlvds_rx_queue接收队列子模块和mlvds_link_monitor链路状态监测子模块。
所述的mlvds_regs寄存器子模块上设有与CPU的接口,所述的mlvds_regs寄存器子模块分别连接mlvds_tx_queue发送队列子模块和mlvds_rx_queue接收队列子模块,所述的mlvds_regs寄存器子模块维护M-LVDS总线控制器中的可编程寄存器,包括:控制寄存器、状态寄存器、中断寄存器。
所述的mlvds_tx_queue发送队列子模块内部设有数据FIFO缓存区,所述的mlvds_tx_queue发送队列子模块连接mlvds_transmitter发送子模块,当一个完整帧写入到数据FIFO时,将向mlvds_transmitter请求发送数据。
所述的mlvds_transmitter发送子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块,该模块负责仲裁M-LVDS总线的使用权,节点在发送数据之前,必须先通过总线仲裁获得总线使用权。只有获得总线使用权后,才能将本节点的数据帧发送到总线上。
所述的mlvds_sample接收采样子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块,所述的mlvds_sample接收采样子模块包括相位依次相差90°的4个时钟,所述的4个时钟同时对M-LVDS总线上的数据进行采样,从而确保其中至少有1个时钟采样到了正确的数据帧。
所述的mlvds_rx_queue接收队列子模块分别连接mlvds_sample接收采样子模块和mlvds_regs寄存器子模块,所述的mlvds_rx_queue接收队列子模块接收MLVDS总线上的数据帧,并对接收到的数据帧进行过滤检查,判断是否符合本地节点的接收过滤规则,同时会将接收过程中的错误状态信息反馈给CPU。
所述的mlvds_link_monitor链路状态监测子模块监测链路的当前状态,包括所述的M-LVDS总线是否已经连接上和M-LVDS总线是否处于空闲状态。
如图3所示,所述的mlvds_link_monitor链路状态监测子模块包括以下监测状态:
(1).NODE_POWER_ON状态:结点刚上电复位后的状态,以及软复位以后的状态。如果允许节点接收,即bus_rx_en=1,则开始检测输入的总线信号,进入LOOK_FOR_IDLE状态。
(2).LOOK_FOR_IDLE状态:在该状态,主要是判断总线是否处于空闲状态,主要是通过2点来判断:一是在3072周期内,总线是否一直为0,即没有任何节点使用总线,此时节点将进入到BUS_IDLE状态。另一点是总线上有活动,则等到活动结束,即进入帧间隔期间,此时总线可找到总线上的空闲状态。如果在3072周期内,总线一直为高,此时总线可能有故障,将进入BUS_ERROR状态。如果在3072周期内,cdr_rec_bit_valid=1,表示总线上有活动(时钟数据恢复单元再监测到同步码之后,会将cdr_rec_bit_valid置为1),此时进入WAIT_CDR_INVALID状态。
(3).BUS_IDLE状态:在找到总线上的空闲状态之后,如果检测到仲裁码(总线值变成1,且持续6个周期),则进入BUS_WAIT_ARBIT状态。
(4).BUS_WAIT_ARBIT状态:在该状态,等待仲裁码传输完成。仲裁码传输总共需160个周期,考虑进该状态之前,已经消耗了6个周期,故等待155个周期后,检查cdr_rec_bit_valid信号。如果cdr_rec_bit_valid=1,仲裁码传输完成,且检测到同步码,时钟数据恢复电路已锁定恢复时钟,总线正在传输数据,此时进入WAIT_CDR_INVALID状态。如果cdr_rec_bit_valid=0,表示时钟数据恢复电路还没有锁定恢复时钟,此时进入WAIT_CDR_VALID状态。
(5).WAIT_CDR_VALID状态:正常情况下,在仲裁码之后是同步码,如果在32个周期内没有检测到同步码,则总线可能错误,此时进入BUS_ERROR状态。如果在32周期内,cdr_rec_bit_valid=1,表示链路工作正常,此时进入WAIT_CDR_INVALID状态。
如图4所示,以发送数据帧0x1A2B3C4D为例,M-LVDS总线上节点发送数据的流程包括以下步骤:
步骤1,当节点有数据帧要发送时,首先从发送FIFO读取一帧数据,假设这帧数据为8个字节,值为:0x1A2B3C4D;
步骤2,数据帧0x1A2B3C4D先进入发送缓冲区,使发送缓冲区不为空;
步骤3,当发送缓冲区不为空时,会触发一个数据发送请求;
步骤4,当节点检测到有数据发送请求后,该节点就会参与M-LVDS总线仲裁,在进行M-LVDS总线仲裁时,节点会根据数据帧0x1A2B3C4D的优先级向M-LVDS总线发送一个16位的仲裁码,仲裁码16’HFFFF的优先级最高,仲裁码16’H0000的优先级最低,假设数据帧0x1A2B3C4D的仲裁码为16’HFFEE,当M-LVDS总线上其他节点发送的仲裁码小于16’HFFEE时,则该节点仲裁通过;
步骤5,根据CRC生成多项式:G(x)=x16+x15+x2+1,计算得到数据帧0x1A2B3C4D的CRC校验值为0x7BD2,将该CRC校验值附在数据帧0x1A2B3C4D的后面一起进行并串转换;
步骤6,将并串转换后的数据发送到M-LVDS总线上。
如图5所示,以接收数据帧0x1A2B3C4D为例,M-LVDS总线上的节点接收数据的流程包括以下步骤:
步骤1,M-LVDS总线控制器用4个相位依次相差90°的时钟同时对总线上的数据进行串行采样,从而保证至少有一个时钟能够采样到正确的数据;
步骤2,将采样到的数据进行串并转换,然后进行帧解析,提取出帧长,帧类型等字段;
步骤3,预先设定的帧长范围是0~256字节,当收到的数据帧的长度超过这个范围时则认为数据帧不合法,并丢弃
步骤4,根据CRC生成多项式:G(x)=x16+x15+x2+1(该多项式与发送流程中的生成多项式是相同的),对收到的数据帧0x1A2B3C4D及其附带的CRC值0x7BD2一起进行CRC计算,计算值为0则说明数据接收正确,否则说明数据接收错误,将数据帧丢弃;
步骤5,判断节点的接收FIFO是否还有空间存放接收到的数据帧0x1A2B3C4D,如果没有足够的空间则会将数据帧0x1A2B3C4D丢弃,并产生错误报警;
步骤6,将数据帧0x1A2B3C4D放入接收FIFO中,供CPU读取。
本发明已经被应用于安全计算机平台CVC-200的开发,根据应用环境的不同,CVC-200分为两种配置,分别为CVC-200C和CVC-200T。CVC-200C是车载型,基于CVC-200C平台可以形成iCC、CTCS-KA等地铁和国铁的车载产品。CVC-200T是轨旁型,基于CVC-200T平台可以形成联锁、列控、ZC、LC、RBC、TSRS、CCS等轨旁产品。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,该通信系统包括:系统A、系统B和M-LVDS总线,所述的系统A和系统B分别包括若干个节点,在所述的系统A或系统B内部的节点之间通过背板和PCB走线互连;在所述的系统A和系统B之间的节点间通过M-LVDS总线互连;
所述的系统A和系统B的每个节点均包括一个独立的嵌入式板卡,所述的板卡内部包括处理器、存储器和M-LVDS总线控制器;
所述M-LVDS总线控制器中的mlvds_link_monitor链路状态监测子模块包括以下监测状态:
(1)NODE_POWER_ON状态:结点刚上电复位后的状态,以及软复位以后的状态,如果允许节点接收,即bus_rx_en=1,则开始检测输入的总线信号,进入LOOK_FOR_IDLE状态;
(2)LOOK_FOR_IDLE状态:在该状态,主要是判断总线是否处于空闲状态,通过两点来判断:一是在3072周期内,总线是否一直为0,即没有任何节点使用总线,此时节点将进入到BUS_IDLE状态;另一点是总线上有活动,则等到活动结束,即进入帧间隔期间,此时总线可找到总线上的空闲状态;如果在3072周期内,总线一直为高,此时总线可能有故障,将进入BUS_ERROR状态;如果在3072周期内,cdr_rec_bit_valid=1,表示总线上有活动,即时钟数据恢复单元再监测到同步码之后,会将cdr_rec_bit_valid置为1,此时进入WAIT_CDR_INVALID状态;
(3)BUS_IDLE状态:在找到总线上的空闲状态之后,如果检测到仲裁码,即总线值变成1,且持续6个周期,则进入BUS_WAIT_ARBIT状态;
(4)BUS_WAIT_ARBIT状态:在该状态,等待仲裁码传输完成,仲裁码传输总共需160个周期,考虑进该状态之前,已经消耗了6个周期,故等待155个周期后,检查cdr_rec_bit_valid信号,如果cdr_rec_bit_valid=1,仲裁码传输完成,且检测到同步码,时钟数据恢复电路已锁定恢复时钟,总线正在传输数据,此时进入WAIT_CDR_INVALID状态,如果cdr_rec_bit_valid=0,表示时钟数据恢复电路还没有锁定恢复时钟,此时进入WAIT_CDR_VALID状态;
(5)WAIT_CDR_VALID状态:正常情况下,在仲裁码之后是同步码,如果在32个周期内没有检测到同步码,则总线可能错误,此时进入BUS_ERROR状态;如果在32周期内,cdr_rec_bit_valid=1,表示链路工作正常,此时进入WAIT_CDR_INVALID状态。
2.根据权利要求1所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的M-LVDS总线为双绞线电缆。
3.根据权利要求1所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,在所述的M-LVDS总线上当有多个节点同时有驱动请求时,进行总线仲裁:当一个新的节点加入到M-LVDS总线上时,该节点不能驱动M-LVDS总线,只能接收M-LVDS总线上的信号;当M-LVDS总线处于空闲状态时,所述的节点才仲裁M-LVDS总线使用权;所述的节点获得M-LVDS总线仲裁使用权之后发送数据。
4.根据权利要求3所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的M-LVDS总线仲裁的规则是:所述的节点发送数据0,但接收到的数据是1,表明M-LVDS总线上有其它节点同时在驱动M-LVDS总线,且优先级高于自己,该节点中止当前的发送操作。
5.根据权利要求1所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的M-LVDS总线控制器为FPGA。
6.根据权利要求5所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的FPGA包括:mlvds_regs寄存器子模块、mlvds_tx_queue发送队列子模块、mlvds_transmitter发送子模块、mlvds_sample接收采样子模块、mlvds_rx_queue接收队列子模块和mlvds_link_monitor链路状态监测子模块;
所述的mlvds_regs寄存器子模块上设有与CPU的接口,所述的mlvds_regs寄存器子模块分别连接mlvds_tx_queue发送队列子模块和mlvds_rx_queue接收队列子模块;
所述的mlvds_tx_queue发送队列子模块内部设有数据FIFO缓存区,所述的mlvds_tx_queue发送队列子模块连接mlvds_transmitter发送子模块;
所述的mlvds_transmitter发送子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块;
所述的mlvds_sample接收采样子模块分别连接M-LVDS总线和mlvds_link_monitor链路状态监测子模块,所述的mlvds_sample接收采样子模块包括相位依次相差90°的4个时钟,所述的4个时钟同时对M-LVDS总线上的数据进行采样;
所述的mlvds_rx_queue接收队列子模块分别连接mlvds_sample接收采样子模块和mlvds_regs寄存器子模块,所述的mlvds_rx_queue接收队列子模块接收MLVDS总线上的数据帧,并对接收到的数据帧进行过滤检查,判断是否符合本地节点的接收过滤规则,同时会将接收过程中的错误状态信息反馈给CPU;
所述的mlvds_link_monitor链路状态监测子模块监测链路的当前状态,包括所述的M-LVDS总线是否已经连接上和M-LVDS总线是否处于空闲状态。
7.根据权利要求5所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的M-LVDS总线上的节点发送数据的流程包括以下步骤:
步骤1,当节点有数据帧要发送时,首先从发送FIFO读取一帧数据;
步骤2,数据帧先进入发送缓冲区,使发送缓冲区不为空;
步骤3,当发送缓冲区不为空时,会触发一个数据发送请求;
步骤4,当节点检测到有数据发送请求后,该节点就参与M-LVDS总线仲裁,在进行M-LVDS总线仲裁时,节点会根据数据帧的优先级向M-LVDS总线发送一个16位的仲裁码,其中仲裁码16’HFFFF的优先级最高,仲裁码16’H0000的优先级最低,当M-LVDS总线上其他节点发送的仲裁码小于该数据帧的仲裁码时,该节点仲裁通过,转到步骤5,否则,转到步骤步骤3;
步骤5,根据CRC生成多项式:G(x)=x16+x15+x2+1,计算得到数据帧的CRC校验值,将该CRC校验值附在数据帧的后面一起进行并串转换;
步骤6,将并串转换后的数据发送到M-LVDS总线上。
8.根据权利要求5所述的一种基于M-LVDS实时多主高速总线的通信系统,其特征在于,所述的M-LVDS总线上的节点接收数据的流程包括以下步骤:
步骤1,M-LVDS总线控制器用4个相位依次相差90°的时钟同时对总线上的数据进行串行采样,从而保证至少有一个时钟能够采样到正确的数据;
步骤2,将采样到的数据进行串并转换,然后进行帧解析,提取出帧长,帧类型的字段;
步骤3,预先设定的帧长范围是0~256字节,当收到的数据帧的长度不超过这个范围时,转入步骤4,当收到的数据帧的长度超过这个范围时则认为数据帧不合法,并丢弃;
步骤4,根据CRC生成多项式:G(x)=x16+x15+x2+1,对收到的数据帧及其附带的CRC值一起进行CRC计算,计算值为0则说明数据接收正确,转入步骤5,否则说明数据接收错误,将数据帧丢弃;
步骤5,判断节点的接收FIFO是否还有空间存放接收到的数据帧,如果有,转入步骤6,否则将数据帧丢弃,并产生错误报警;
步骤6,将数据帧放入接收FIFO中,供CPU读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129829.XA CN108234267B (zh) | 2018-02-08 | 2018-02-08 | 一种基于m-lvds实时多主高速总线的通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129829.XA CN108234267B (zh) | 2018-02-08 | 2018-02-08 | 一种基于m-lvds实时多主高速总线的通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234267A CN108234267A (zh) | 2018-06-29 |
CN108234267B true CN108234267B (zh) | 2023-11-07 |
Family
ID=62669578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810129829.XA Active CN108234267B (zh) | 2018-02-08 | 2018-02-08 | 一种基于m-lvds实时多主高速总线的通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108234267B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109342929A (zh) * | 2018-11-12 | 2019-02-15 | 卡斯柯信号有限公司 | 一种cvc-200t硬件智能测试系统及方法 |
CN109547314A (zh) * | 2018-12-12 | 2019-03-29 | 卡斯柯信号有限公司 | 一种基于长线级联的m-lvds总线系统及方法 |
CN110471872B (zh) * | 2019-07-12 | 2024-04-30 | 卡斯柯信号有限公司 | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 |
CN111464466A (zh) * | 2020-04-13 | 2020-07-28 | 中国人民解放军国防科技大学 | 一种多总线网络通信架构 |
CN111314194A (zh) * | 2020-04-15 | 2020-06-19 | 联合华芯电子有限公司 | 一种基于多电平逻辑运算的数据传输系统和方法 |
CN112463693A (zh) * | 2020-12-09 | 2021-03-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于m-lvds总线的多板卡通信系统及方法 |
CN116094867B (zh) * | 2023-04-10 | 2023-06-16 | 湖南鲸瓴智联信息技术有限公司 | 基于mlvds总线的时间敏感网络控制协议设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131586A (zh) * | 2007-09-30 | 2008-02-27 | 哈尔滨工业大学 | 机械臂系统中的m-lvds高速串行通信装置及其通信控制方法 |
CN204598359U (zh) * | 2015-01-12 | 2015-08-26 | 贵州省计量测试院 | 一种用于可见光通信的多灯具联网驱动电路 |
CN105320632A (zh) * | 2015-09-23 | 2016-02-10 | 南京磐能电力科技股份有限公司 | 一种自主仲裁的高速差分总线实现方法 |
CN105573239A (zh) * | 2016-01-11 | 2016-05-11 | 南京南瑞集团公司 | 一种高速背板总线通讯控制装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447493B2 (en) * | 2016-07-26 | 2019-10-15 | Honeywell International Inc. | MAC and physical layer techniques for enabling communications on shared physical medium with multi-drop capability |
-
2018
- 2018-02-08 CN CN201810129829.XA patent/CN108234267B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131586A (zh) * | 2007-09-30 | 2008-02-27 | 哈尔滨工业大学 | 机械臂系统中的m-lvds高速串行通信装置及其通信控制方法 |
CN204598359U (zh) * | 2015-01-12 | 2015-08-26 | 贵州省计量测试院 | 一种用于可见光通信的多灯具联网驱动电路 |
CN105320632A (zh) * | 2015-09-23 | 2016-02-10 | 南京磐能电力科技股份有限公司 | 一种自主仲裁的高速差分总线实现方法 |
CN105573239A (zh) * | 2016-01-11 | 2016-05-11 | 南京南瑞集团公司 | 一种高速背板总线通讯控制装置及方法 |
Non-Patent Citations (4)
Title |
---|
DTR/PLT-00029.Technical Report PowerLine Telecommunications (PLT) * |
MIMO PLT ; Part 2: Measurement Methods and Statistical Results of MIMO PLT EMI.ETSI TR 101 562-2.2011,(V1.1.1),全文. * |
地面测试系统的环网总线技术的研究;杜孙稳;中国优秀硕士学位论文全文数据库;正文第8页第1行-第51页第5行,图3.1-3.2 * |
网络式仪器总线的研究;金小军;中国优秀硕士学位论文全文数据库;正文第65页第13行-第68页第1行,第77页第1行-第88页第5行,图5-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN108234267A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234267B (zh) | 一种基于m-lvds实时多主高速总线的通信系统 | |
CN110471872B (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
US10191795B2 (en) | Method and system for timeout monitoring | |
CN101399654B (zh) | 一种串行通信方法和装置 | |
CN106776436B (zh) | 一种适用于多点互联的高速串行总线的通信方法 | |
US5442750A (en) | System for transmitting data between systems using selected subsets of plural interconnecting bus lines and including selection of a compatible transmission speed | |
US5299193A (en) | Signal interface for coupling a network front end circuit to a network adapter circuit | |
US10452504B2 (en) | Controller area network (CAN) device and method for emulating classic CAN error management | |
US7821919B2 (en) | Data processing apparatus and data processing method | |
US8290103B2 (en) | Method for transmitting parallelization signals of uninterruptible power supplies | |
JPS63296540A (ja) | 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器 | |
US20080313375A1 (en) | Bus Station and System and Method of Maintaining Synchronizing of a Bus Station | |
EP2985955B1 (en) | Controller area network (can) device and method for emulating classic can error management | |
US7770095B2 (en) | Request processing between failure windows | |
EP0597013A4 (en) | Apparatus and method for frame switching. | |
CN210155653U (zh) | 基于zynq芯片实现m-lvds总线数据交互装置 | |
CN115065575A (zh) | 基于can总线控制器的数据传输系统及电子设备 | |
US7366964B2 (en) | Method, system, and apparatus for loopback entry and exit | |
JP2011151769A (ja) | データ通信システム及びデータ通信方法 | |
CN107659413B (zh) | 小型通信设备 | |
EP4047485B1 (en) | Lin master testing device | |
JP2001236303A (ja) | ユニバーサル・シリアル・バス制御回路 | |
KR930006894B1 (ko) | 전자 교환기의 신호단말그룹 정합회로 | |
JP2874983B2 (ja) | 通信装置 | |
JP2002064584A (ja) | Hdlc送受信装置、及び、hdlc受信装置、及び、hdlc送信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1254100 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |