CN101661454B - 一种可动态重构的高速串行总线系统及控制方法 - Google Patents
一种可动态重构的高速串行总线系统及控制方法 Download PDFInfo
- Publication number
- CN101661454B CN101661454B CN2009101804803A CN200910180480A CN101661454B CN 101661454 B CN101661454 B CN 101661454B CN 2009101804803 A CN2009101804803 A CN 2009101804803A CN 200910180480 A CN200910180480 A CN 200910180480A CN 101661454 B CN101661454 B CN 101661454B
- Authority
- CN
- China
- Prior art keywords
- node
- bus
- module
- main controlled
- data
- 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
Images
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
基于线路动态检测重构的高速串行总线结构及其实现方法,该总线包括多条通信线路,该总线连接的节点设备包括一个或多个主控节点和多个从节点,只有主控节点能够启动总线通信过程;所述节点设备都与通信线路的全部或部分物理连接;所述主控节点与各从节点采用半双工的串行总线拓扑结构实现物理连接;所述主控节点和从节点各自至少包含线路检测模块和数据动态重构模块;主控节点线路检测模块与从节点线路检测模块能根据二者之间传输的信息字实时检测主从节点之间的连接状况;所述的主控节点和从节点中的数据动态重构模块根据所确认的总线连接状况确定数据帧在总线上的分配方法。
Description
技术领域
本发明涉及一种计算机总线结构与方法,尤其涉及一种可动态重构的高速串行总线结构和方法。
背景技术
目前,公知的计算机总线结构可分为两大类,一种是并行总线结构,另一种是串行总线结构。
常用并行总线结构如PCI(CPCI)、VXI、VME、EISA、MULTIBUS等,可划分为控制信号、数据信号和地址信号三个组成部分,具有寻址方便、多空间划分、扩展能力强等优点,通过并行方式,可在一个访问周期中并行传送多个数据字节,从而利用较低的信号频率实现高速数据传送。当需要更高的数据传送速率时,通过扩展数据并行度和提升信号传输频率两种手段来达到目的。
常用的串行总线如PCI Express、SpaceWire、RapidIO、HyperTransport、InfiniBand均采用很高的数据传输速率,在通用计算机中替代传统并行总线进行数据传送,达到节省互连信号,提高通信性能的目的,并且都能够根据系统要求通过扩展信号连接数量提升数据通信速率。上述基于串行通信方式的各种高速总线均采用LVDS信号传送方式,只能支持点对点的直接通信(通信线路均为单工通道),如果需要在多个部件(设备)之间进行通信,须通过路由器进行转接。
针对冗余容错高可靠性计算机应用来说,上述总线结构具有不足之处,主要体现在:
1)线路连通性不能容错。并行总线中任何一条通信线路出现故障,系统总线无法正常工作;高速串行总线采用点对点的直接通信,收发均为单向通道,任意一条出现问题,通信链路断开。
2)总线通信不能动态重构,即在系统运行过程中不能根据线路连接状况实时配置链路。并行总线在上电配置后,链路信号配置变为固定配置,不支持新节点的接入,节点线路有问题时节点失效;串行总线对链路信号的可变配置均为静态配置,设备制造完成(或开始运行)后,链路信号配置变为固定配置,不能支持对链路信号故障的容错,没有解决传统并行总线存储的单点故障失效问题。
3)通用总线不满足冗余容错计算机小型化的应用需求。通用并行总线连接线路多,总线上包含多路数据线与地址线,难以小型化;通用低速串行总线支持多通信节点,但速度较低,不适用于冗余容错计算机内部通信;通用高速串行总线不支持多通信节点,扩展需增加路由设备,提高了系统复杂度,难以满足系统小型化需求。
发明内容
针对现有技术存在的缺点,本发明的目的在于提供一种基于线路动态检测重构的高速串行总线结构,本发明的另一目的在于提供所述基于线路动态检测重构的高速串行总线的实现方法,从而在提高总线通信性能、减小总线尺寸的同时,可以提高计算机总线系统可靠性。
为实现上述目的,本发明提供一种基于线路动态检测重构的高速串行总线结构,其特征在于:
该总线包括多条通信线路,该总线连接的节点设备包括一个或多个主控节点和多个从节点,只有主控节点能够启动总线通信过程所述节点设备都与通信线路的全部或部分物理连接;所述主控节点与各从节点采用半双工的串行总线拓扑结构实现物理连接;
所述主控节点至少包含主控节点线路检测模块和数据动态重构模块;所述从节点至少包含从节点线路检测模块和数据动态重构模块;所述主控节点线路检测模块与从节点线路检测模块能根据二者之间传输的信息字实时检测主从节点之间的连接状况;所述的主控节点和从节点中的数据动态重构模块根据实时检测所确认的总线连接状况确定数据帧在总线上的分配方法,从而实现主从节点传输线路的动态重构。
本发明还提供了一种基于线路动态检测重构的高速串行总线结构的实现方法,其特征在于包括以下步骤:
采用串行总线拓扑结构连接一个或多个主控节点和多个从节点,该总线包括多条通信线路,所述节点主控和从节点都与所述通信线路的全部或部分物理连接,所述总线方向可控;
主控节点作为CPU外设与之相连,从节点与外设建立通信链路;
在上述的主控节点中构建四个功能模块:CPU交互模块、数据动态重构模块、主控节点总线交互模块和数据流控制模块,其中该数据流控制模块包含线路检测模块;
在上述的从节点中构建四个功能模块:外设交互模块、数据动态重构模块、从节点总线交互模块和数据流控制模块,其中该数据流控制模块包含线路检测模块;
通过主控节点中的线路检测模块与从节点中的线路检测模块之间的交互实现总线线路检测功能,该交互的过程为:主控节点向从节点发送节点检测信号,然后从节点反馈检测响应信号,最后主控节点向从节点发送节点信息信号;
所述数据动态重构模块根据主控节点与待通信从节点之间的线路检测结果,将数据以字节或位为单位顺序排放在各条有效通信线路上,而跳过无效通信线路,实现数据动态重构。
根据本发明的总线结构和实现方法,使得总线系统在传输过程中,部分线路发生问题时,系统无需重新启动仍然能正常工作,提高了系统的可靠性。同时这种结构和实现方法相对于多线冗余的总线结构,能够最大限度的利用现有的传输线路,提高了系统的运行效率。
通过以下结合附图以及举例方式对本发明的实施方式进行详细描述后,本发明的其他特征、特点和优点将会更加明显。
附图说明
图1-是按照本发明的总线系统在计算机系统中的位置;
图2-是本发明总线系统的网络拓扑结构图;
图3-是图1中主控节点的功能模块图;
图4-是图1中从节点的功能模块图;
图5-是图3中主控节点的一次读写数据的流程图;
图6-是图4中从节点的一次读写数据的流程图;
图7-是图1中主控节点与从节点进行节点检测的交互流程图;
图8-是图7中主控节点与从节点进行节点检测的帧结构示意图;
图9-是图1中各节点进行数据重构的数据组织结构图。
具体实施方式
下面结合附图详细描述本发明的具体实施方式。
图1是按照本发明的总线系统在计算机系统中的位置。总线系统S103建立了计算机核心CPU模块S101与多种外设S102的通信链路。其中的总线系统S103由三部分组成:主控节点S104、从节点S105和公共传输线路S106。计算机核心CPU模块S101与总线系统S103中的主控节点S104连接;而各外设S102与各从节点S105相连。
图2是按照本发明的实施方式的网络拓扑结构。本发明的实施方式采用总线型拓扑方式连接各个节点,即总线由m条总线线路S202与两个总线终端S201构成,而主控节点S104与各从节点S105都通过m条支路分别连接到总线线路S202上。每条总线均为半双工可控线路。
图3是主控节点功能模块图。主控节点S104包含四个功能模块:CPU交互模块S301、数据重构模块S302、主控节点总线交互模块S303和数据流控制模块S304。CPU交互模块S301负责与计算机核心CPU模块S101进行通信;数据重构模块S302主要完成:数据的包装/解包,错误检测/标定,数据动态重构等事务;主控节点总线交互模块S303负责与总线线路S106进行通信,主要完成:位定时、同步等事务;数据流控制模块S304主要完成:确定待通信从节点地址,线路检测信号分析,中断请求及中断处理等事务。
图4是从节点功能模块图。从节点105包含四个功能模块:外设交互模块S401、数据重构模块S402、从节点总线交互模块S403和数据流控制模块S404。外设交互模块S401负责与外设S102进行通信;数据重构模块S402主要完成:数据的包装/解包,错误检测/标定,数据动态重构等事务;从节点总线交互模块S403负责与总线线路S106进行通信,主要完成:位定时、同步等事务;数据流控制模块S404主要完成:外设地址映射管理,线路检测信号分析,外设通信请求管理等事务。
图5是主控节点完成一次读写的程序流程图。当主控节点开始运行后S501,实时判断是否有读写请求S502,若无请求则返回步骤S501,否则进入节点线路检测流程S503。步骤S503是一个交互流程,须与从节点交互,在此步骤中须定时器标记通信时间;总线线路中有正常线路,则通信时间输出值为响应时间;总线线路中一个正常线路都没有,从节点不响应,则此通信时间为系统规定的响应时间阈值。得到通信时间后,进入步骤S504,判断通信时间是否超时,若超时则直接进入步骤S512,告知CPU通信失败,否则进入步骤S505判断主控节点的读写方向。根据步骤S505的结果进入步骤S506或者步骤S507。主控节点读取数据时,先发送读取指令S506,再接收数据S508,然后将数据根据线路状况进行数据重组S510,所得到的数据发送给CPUS512。主控节点写入数据时,先将数据根据线路状况进行数据重构S507,再发送写入指令S509,然后发送数据S510,完成后告知CPU。与CPU交互S512完成后,返回程序开始S501。
图6是从节点完成一次读写的程序流程图。当从节点开始运行后S601,实时接收主控节点发送的指令S602,然后判断接收到的指令类型S603,若接收到的指令是发送给别的节点的信息,则返回步骤S602继续接收主控节点指令,否则进入节点检测流程S604。步骤S604是一个交互流程,须与主控节点交互,在此步骤中须定时器标记通信时间,此时间参数的获取与主控节点类似。得到通信时间后,进入步骤S605,判断通信时间是否超时,若超时则返回步骤S602,否则进入步骤S606接收主控节点发送的读写指令,然后判断是数据读流程还是写流程S607。根据步骤S607的指令进入步骤S608或者步骤S609。当主控节点需读取数据时,先与外设交互S608,再将数据根据线路状况进行数据重构S610,然后将重构所得到的数据发送给主控节点。当主控节点需向从节点写入数据时,先接收总线线路上传输的数据S609,再将数据根据线路状况进行数据重构S611,然后将重组后的数据发送给外设S613。读写完成后,返回指令接收步骤S602。
上述图5中主控节点的节点检测流程S503与图6中从节点的节点检测流程S604是一个交互流程,图7是此交互过程的实施流程图。当主控节点开始检测流程S701后,首先向从节点发送节点检测帧S703;而从节点开始运行S702后,一直处于接收指令帧S704状态,因而当从节点收到节点检测帧时,需判断是否为发给本节点的指令S706(因为,主控节点发送的指令所有从节点都能收到),若不是则返回步骤S704重新接收指令,若是则进入步骤S708,即根据每条总线是否能正确接收节点检测帧来判断从节点接收线路的好坏,进而进入步骤S710发送检测响应帧。对于主控节点来说,在步骤S703发送节点检测帧后,其可能的结果有两个:能接收到从节点在步骤S710发送的检测响应帧,不能收到此检测响应帧,需对两种状况分别进行处理。因此主控节点在步骤S703之后进入步骤S705进行响应时间的标记。步骤S705下一步骤取决于主控节点是否能接收到检测响应帧,若长时间未正确收到检测响应帧则跳入步骤S707,进而结束检测流程S714;若能正确收到检测响应帧则进入步骤S709接收检测响应帧,进而进入步骤S711,即根据每条总线是否能正确接收检测响应帧来判断主控节点接收线路的好坏。根据步骤S711得到的结论即可确认主控节点与待通信从节点之间的双向链路有哪些没有问题,据此向待通信从节点发送节点信息帧S712。步骤S712完成后,主控节点结束节点检测流程S714。而从节点在步骤S710发送检测响应帧后,进入步骤S713接收节点信息帧,完成后从节点结束节点检测流程S715。
图8是上图7中所采用的三种节点检测命令帧的帧格式示意图。上述的三种命令帧为:节点检测帧、检测响应帧、节点信息帧。其帧格式S801高位到地位排列的顺序为:从节点的地址编码S802,线路序号编码S803,线路状态信息S804。例如,对于图7中涉及到的针对一个节点的线路检测,其三种帧的从节点地址编码S802完全相同,线路序号编码S803根据传输信号总线线路序号的不同而不同,而线路状态信息S804根据图7流程中的判断不同而有所不同。
图9是数据重构后的数据组织示意图。图中假设某次通信过程中,主控节点与待通信节点之间的总线共有m条,其中第j(j<m)条经过上述节点检测流程后确认无法使用。图中还假设待通信的数据按字节排列,序号由1至n(n>2m)。则数据字节沿着线路序号增长方向排列,第j条总线上不排数据,第j+1条数据线上数据字节序号与第j-1条总线上数据字节序号相连。当线路排满时,字节再从第一条总线进行排列,跳过无效总线,以此类推,直至第n个字节。
在不脱离本发明精神的范围内,本发明可以具有多种变形,例如每个节点也可以根据通信速率及容错要求只与其中部分总线(不少于2个)信号连接。这些变形也包含在本发明所要求保护的范围之内。
Claims (4)
1.一种基于线路动态检测重构的高速串行总线结构,其特征在于:
该总线包括多条通信线路,该总线连接的节点设备包括一个或多个主控节点和多个从节点,只有主控节点能够启动总线通信过程;所述节点设备都与所述通信线路的全部或部分物理连接;所述主控节点与各从节点采用半双工的串行总线拓扑结构实现物理连接;
所述主控节点至少包含主控节点线路检测模块和数据动态重构模块;所述从节点至少包含从节点线路检测模块和数据动态重构模块;所述主控节点线路检测模块与从节点线路检测模块能根据二者之间传输的信息字实时检测主从节点之间的连接状况;所述的主控节点和从节点中的数据动态重构模块根据实时检测所确认的总线连接状况确定数据帧在总线上的分配方法,保证数据不会从故障线路上传送,从而实现主从节点传输线路的动态重构。
2.根据权利要求1所述的总线结构,其特征在于:所述数据帧在总线上的分配方法为:将数据以字节或位为单位顺序排放在各条有效通信线路上,而跳过无效通信线路,以实现数据动态重构。
3.一种基于线路动态检测重构的高速串行总线结构的实现方法,其特征在于包括以下步骤:
采用串行总线拓扑结构连接一个或多个主控节点和多个从节点,该总线包括多条通信线路,所述主控节点和从节点都与所述通信线路的全部或部分物理连接,所述总线方向可控;
主控节点作为CPU外设与CPU相连,从节点与外设建立通信链路;
在上述的主控节点中构建四个功能模块:CPU交互模块、数据动态重构模块、主控节点总线交互模块和数据流控制模块,其中该数据流控制模块包含线路检测模块;
在上述的从节点中构建四个功能模块:外设交互模块、数据动态重构模块、从节点总线交互模块和数据流控制模块,其中该数据流控制模块包含线路检测模块;
通过主控节点中的线路检测模块与从节点中的线路检测模块之间的交互实现总线线路检测功能;
所述数据动态重构模块根据主控节点与待通信从节点之间的线路检测结果,将数据以字节或位为单位顺序排放在各条有效通信线路上,而跳过无效通信线路,实现数据动态重构。
4.根据权利要求3所述的方法,其特征在于:实现总线线路检测功能的所述交互的过程为:主控节点向从节点发送节点检测信号,然后从节点反馈检测响应信号,最后主控节点向从节点发送节点信息信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101804803A CN101661454B (zh) | 2009-10-16 | 2009-10-16 | 一种可动态重构的高速串行总线系统及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101804803A CN101661454B (zh) | 2009-10-16 | 2009-10-16 | 一种可动态重构的高速串行总线系统及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661454A CN101661454A (zh) | 2010-03-03 |
CN101661454B true CN101661454B (zh) | 2011-01-05 |
Family
ID=41789489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101804803A Active CN101661454B (zh) | 2009-10-16 | 2009-10-16 | 一种可动态重构的高速串行总线系统及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101661454B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594484A (zh) * | 2011-01-05 | 2012-07-18 | 中兴通讯股份有限公司 | 一种高速串行传输链路异常检测重组的方法及装置 |
CN102647303B (zh) * | 2012-04-28 | 2015-08-26 | 浪潮电子信息产业股份有限公司 | 一种数据传输链路动态自愈机制的设计方法 |
CN103412835B (zh) * | 2013-05-06 | 2015-12-23 | 北京江南天安科技有限公司 | 一种群同步串行总线方法及系统 |
CN103427846B (zh) * | 2013-07-16 | 2016-04-27 | 首都师范大学 | 动态可重构高速串行总线中错误控制方法 |
CN103412845B (zh) * | 2013-07-31 | 2016-01-20 | 中国电子科技集团公司第四十一研究所 | 一种串行总线系统 |
CN103490959B (zh) * | 2013-10-10 | 2016-12-07 | 北京航天发射技术研究所 | 一种双冗余can总线故障检测方法 |
CN103577377A (zh) * | 2013-11-04 | 2014-02-12 | 天津市英贝特航天科技有限公司 | 一种多主机间高速交互控制的方法和系统 |
CN104135412B (zh) * | 2014-07-28 | 2017-07-28 | 北京航天自动控制研究所 | 一种面向多点互联应用的串行总线冗余通信方法 |
CN104866399B (zh) * | 2015-04-03 | 2019-07-09 | 张家祺 | Um-bus总线通道故障检测控制器及检测方法 |
CN107291645B (zh) * | 2016-04-01 | 2020-05-01 | 昆达电脑科技(昆山)有限公司 | 双控制器的数据传输方法 |
CN106789620B (zh) * | 2016-11-29 | 2020-01-14 | 北京时代民芯科技有限公司 | 一种SpaceWire通信网路故障恢复方法和系统 |
CN110765046A (zh) * | 2019-11-07 | 2020-02-07 | 首都师范大学 | 一种动态可重构高速串行总线的dma传输装置与方法 |
CN111400241B (zh) * | 2019-11-14 | 2024-04-05 | 杭州海康威视系统技术有限公司 | 数据重构方法和装置 |
-
2009
- 2009-10-16 CN CN2009101804803A patent/CN101661454B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101661454A (zh) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101661454B (zh) | 一种可动态重构的高速串行总线系统及控制方法 | |
US7917675B2 (en) | Method and apparatus for interconnecting modules | |
CN103139060B (zh) | 基于双dsp的高容错性can总线数字网关 | |
CN105721546A (zh) | 一种基于工业物联通讯的多数据集成服务平台 | |
CN104054265A (zh) | 容错功率半导体开关设备控制系统 | |
CN103188157A (zh) | 一种路由器设备 | |
CN103729333A (zh) | 多路时隙共享的背板总线结构及其实现方法 | |
CN201335955Y (zh) | 一种基于CANopen协议的CAN总线智能电动装置 | |
CN104408014A (zh) | 一种计算系统之间处理单元互连的系统及方法 | |
CN106789511A (zh) | 基于fpga的列车用can通信转换控制方法及转换模块 | |
CN104866399A (zh) | Um-bus总线通道故障检测控制器及检测方法 | |
KR101179431B1 (ko) | 이더캣 네트워크 시스템 및 이의 운용 방법 | |
CN105306352A (zh) | 一种工业现场总线协议网关装置 | |
CN103441878A (zh) | Vcf网络中pe设备的归属处理方法及设备 | |
CN110798479A (zh) | 动态可重构高速串行总线与以太网的互操作装置与方法 | |
CN101304296B (zh) | 网络装置及其传输方法 | |
CN102487332A (zh) | 故障处理方法、装置和系统 | |
CN110456705B (zh) | 可动态扩展接口的网络控制装置、楼宇自控系统 | |
CN102407868A (zh) | 适用于轨道交通现代监控系统通讯规约的热备双连接方法 | |
CN113885461B (zh) | 一种串并转换模块、设备、方法、装置和工业控制系统 | |
CN102521196A (zh) | Modbus数据采集器 | |
CN102843265B (zh) | 一种通讯规约的不复位无微扰的热备双连接方法 | |
CN115776421A (zh) | 一种高速网络总线的电磁隔离电路及方法 | |
CN214384911U (zh) | 列车网络通信装置及系统 | |
CN108011791A (zh) | 一种机载双余度can通信系统构型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |