专利名称:采用同步模式切换及帧优先级自动调整的总线装置及方法
技术领域:
本发明涉及通信领域,尤其涉及一种用于微小型仪器设备内部模块间多主高速通信的仪器总线。
背景技术:
近几十年来,我国在航天航空领域取得了突飞猛进的进展,弹、箭、卫星等载体中的电子设备不断增加,然而对载体体积小型化的要求也越来越苛刻。减小载体结构和重量、提高系统可靠性,并使载体中电子设备间有效综合,有效的解决方案就是采用数据总线结构。然而,目前应用广泛的标准仪器总线硬件接口和协议都较为复杂,不适宜直接应用到小型化仪器系统作为内部设备的通讯桥梁。且大部分仪器总线采用主从式通信方式,即需要一个主节点来协调内部节点间的通信,降低了设备间的通信效率。CAN总线是目前存在的比较适用于小型仪器设备内部模块间通信的总线,仅包含一对差分信号线,支持多主通讯,即每个节点都可以主动向其他节点发送数据,而不需要一个专门的节点来协调,通讯效率较高。但由于CAN总线采用异步通信方式,其通讯速率受到限制,波特率仅为IMbps左右,且CAN总线的数据帧每次最多可传输8个字节的有效数据,无法满足多设备间的大数据量高速通信的设计要求。
发明内容
本发明的目的在于针对现有的总线装置难以同时满足小型化多设备仪器系统的通讯速率高及结构简单的难题,提供了一种采用同步模式切换及帧优先级自动调整的总线装置及方法。为了实现上述目的,本发明提供了一种采用同步模式切换及帧优先级自动调整的总线装置:它包括一个中央时钟管理节点与若干个通讯节点,所述中央时钟管理节点与所有通讯节点均通过仪器总线连接,形成总线型拓扑结构网络;所述仪器总线包括一对差分时钟信号线与多对差分数据信号线;所述中央时钟管理节点包括中央时钟管理节点总线收发器与中央时钟管理节点FPGA (FPGA,Field Programmable Gate Array,现场可编程门阵列),所述中央时钟管理节点FPGA通过中央时钟管理节点总线收发器与所述仪器总线相连。所述中央时钟管理节点FPGA包括中央时钟管理节点总线接口模块以及中央时钟管理器,所述中央时钟管理器通过中央时钟管理节点总线接口模块与所述中央时钟管理节点总线收发器相连。所述通讯节点包括通讯节点总线收发器、通讯节点FPGA以及数字信号处理器(Digital Signal Processing, DSP),所述通讯节点FPGA通过所述通讯节点总线收发器与所述仪器总线相连,所述数字信号处理器与所述通讯节点FPGA相连。所述通讯节点FPGA包括通讯节点总线接口模块、节点总线管理器以及EMIF接口模块,所述节点总线管理器通过通讯节点总线接口模块与所述通讯节点总线收发器相连,所述节点总线管理器通过EMIF接口模块与所述数字信号处理器相连。所述中央时钟管理器包括中央时钟产生单元与同步模式切换管理器;所述中央时钟产生单元与同步模式切换管理器相连,并分别与所述中央时钟管理节点总线接口模块相连。所述节点总线管理器包括发送控制单元、同步模式切换管理器、接收控制单元、发送数据缓存单元及接收数据缓存单元;所述发送控制单元、所述同步模式切换管理器及所述接收控制单元均与所述通讯节点总线接口模块相连,所述同步模式切换管理器与所述发送控制单元及所述接收控制单元相连,发送控制单元与所述接收控制单元相连;所述发送控制单元、所述接收控制单元、所述发送数据缓存单元及所述接收数据缓存单元均与所述所述EMIF接口模块相连;所述发送控制单元与所述发送数据缓存单元相连;所述接收控制单元与所述接收数据缓存单元相连。本发明还提供了一种采用同步模式切换及帧优先级自动调整的总线装置的数据通讯方法:所述总线装置的通讯帧包括仲裁帧与数据帧,通讯模式包括中央时钟模式与源时钟模式两种同步模式,首先在中央时钟模式下用同步串行通信方式传输仲裁帧进行总线仲裁,然后自动切换到源时钟模式,用同步并行通信方式传输数据帧进行高速数据传输。所述中央时钟模式下,所述仪器总线的时钟信号线由所述中央时钟管理节点的中央时钟产生单元驱动,所述仪器总线的数据信号线由参与仲裁的通讯节点驱动,所述总线装置的收发通讯节点采用公共的时钟源进行仲裁数据位的发送与接收,所述仪器总线的时钟信号线上传输的时钟信号为低频时钟。所述源时钟模式下,所述仪器总线的时钟信号线与数据信号线均由获得仲裁权的通讯节点驱动,所述仪器总线的时钟信号线上传输的时钟为高频时钟。所述仲裁帧进一步包括:
所述仲裁帧格式按照数据位串行发送顺序依次为帧起始位、后置优先级调整域、前置优先级调整域、帧标识域、发送节点地址、接收节点地址及帧应答位;
所述帧起始位与所述帧应答位的值由所述节点总线管理器决定,其中帧应答位由接收节点的节点总线管理器发送;
所述后置优先级调整域、所述前置优先级调整域、所述帧标识域、所述发送节点地址、所述接收节点地址构成通讯帧优先级ID,所述后置优先级调整域的最高位为所述通讯帧优先级ID的最高位,所述接收节点地址的最低位为所述通讯帧优先级ID的最低位,所述通讯帧优先级ID的初始值由所述数字信号处理器通过EMIF接口模块写入;
所述帧起始位为一位“显性”位,用于所述总线装置中的通讯节点发送总线仲裁请求;所述后置优先级调整域包含多个数据位,用于动态降低本通讯帧的帧优先级ID ;所述前置优先级调整域包含多个数据位,用于动态提高本通讯帧的帧优先级ID ;所述帧标识域包含多个数据位,用于标识本通讯帧的数据类型;所述发送节点地址包含多个数据位,用于指示本通讯帧发送节点的物理地址;所述接收节点地址包含多个数据位,用于指示本通讯帧接收节点的物理地址;所述帧应答位包含一个数据位,用于接收节点向发送节点发送应答结果,该位为“显性”位表示应答成功,否则表示应答失败。所述数据帧进一步包括:
所述数据帧格式按照发送先后顺序依次为数据帧起始域、数据域、校验域、数据帧结束域;所述数据帧起始域包含N个特定字符的数据,表示数据域的起始,由所述节点总线管理器决定;所述数据域为正式的帧数据,最小单位由所述仪器总线的数据信号线的宽度决定,如数据线宽为8位,则帧数据传输的最小单位为I字节,由所述数字信号处理器决定;所述校验域包含2个字节,为所述数据域CRC校验计算结果,由所述节点总线管理器决定;所述数据帧结束域包含N个特定字符的数据,表示数据域的结束,由所述节点总线管理器决定。所述在中央时钟模式下用同步串行通信方式进行总线仲裁,具体为:采用仲裁帧逐位竞争的方式进行总线仲裁权争夺,仲裁帧中包含优先级调整域,所述节点总线管理器通过改变所述仲裁帧的优先级调整域的值实现通讯帧的优先级自动调整:所述中央时钟管理节点同步模式切换管理器检测到所述仪器总线的时钟信号线连续4个中央时钟周期保持“隐”性电平,则认为所述仪器总线处于空闲阶段SI,并控制所述中央时钟产生单元向所述仪器总线的时钟信号线输出低频中央时钟,所述总线装置由空闲状态切换到中央时钟模式,并进入仲裁准备阶段S2;
所述通讯节点的数字信号处理器首先通过EMIF接口模块将需要发往其它通讯节点的数据帧中的数据域内容写入到所述节点总线管理器的发送数据缓存单元,然后通过EMIF接口模块写入通讯帧优先级ID以及向所述发送控制单元发送启动命令;
所述通讯节点的发送控制单元根据所述同步模式切换管理器输出的标志信号判断所述总线装置是否处于所述仲裁准备阶段S2 ;
若所述发送控制单元检测到所述总线装置处于所述仲裁准备阶段S2,则所述发送控制单元在所述仪器总线中央时钟信号的下降沿向所述仪器总线的数据信号线上发送仲裁帧的帧起始位,该阶段称为仲裁请求阶段S3 ;
仲裁请求阶段S3为一个中央时钟周期,此后所述总线装置进入总线仲裁阶段S4 ;在所述总线仲裁阶段S4,所述发送控制单元在中央时钟的下降沿逐位发送本通讯节点的仲裁帧数据位并进行仲裁判断,所述接收控制单元逐位接收所述仪器总线的数据信号线上的仲裁帧数据位,根据将接收到的仲裁帧与本通讯节点的接收滤波器比较判断是否要接收本通讯帧的数据帧内容;
总线仲裁阶段S4持续M+1个中央时钟周期,M为通讯帧中仲裁帧51所包含的数据位数,在总线仲裁阶段的最后一个中央时钟周期内进行通讯帧优先级自动调整。所述总线装置的仲裁方法,具体为:
所述总线装置的总线收发器采用可实现多点连接的MLVDS驱动/接收器,利用其电气特性实现所述总线装置中所有节点总线管理器发送数据位逻辑“或”的功能;
所述逻辑“或”具体表现为:所述仪器总线上的电平状态为所有通讯节点总线管理器发送端相“或”的结果,即所述总线装置中只要存在一个或多个通讯节点的节点总线管理器输出高电平,所述仪器总线就表现为高电平,只有当所述总线装置的所有通讯节点的节点总线管理器均输出低电平时,所述仪器总线才表现为低电平;
所述总线装置采用“线与”的仲裁逻辑,高电平称为“显”性电平,低电平称为“隐”性电平,即数据位“I”的优先级高于“0”,故所述通讯帧优先级ID的数值越大其帧优先级ID越闻;
在所述总线仲裁阶段S4,参与仲裁的通讯节点所述发送控制单元将其发送的仲裁帧数据位与所述接收控制单元接收到的仲裁帧数据位进行比较,若相同,表示本轮仲裁成功,继续发送仲裁帧的下一位进行下一轮仲裁判断;否则,若发送“隐”性数据位但接收到“显”性数据位,则表示本轮仲裁失败,所述通讯节点退出总线仲裁阶段,所述发送控制单元停止发送仲裁帧的其他数据位。所述通讯帧优先级自动调整,具体为:
若所述发送控制单元中途退出总线仲裁阶段S4,则本通讯帧仲裁失败,所述仲裁帧优先级ID的前置优先级调整域的值增加1,提高本通讯帧的优先级ID,增加本通讯帧在下一个总线仲裁阶段中仲裁胜出的概率;
若所述发送控制单元将所述仲裁帧除帧应答位外的其他所有数据位全部发送完成且最后一个仲裁帧数据位的仲裁结果也成功,但接收节点没有发出帧应答位,则本通讯帧仲裁也失败,所述仲裁帧优先级ID的后置优先级调整域的值减1,以降低本通讯帧的优先级ID,降低本通讯帧在总线带宽比较紧张的情况下多次尝试发送而导致通讯帧优先级ID较低的通讯帧无法正常发出。所述自动切换到源时钟模式,用同步并行通信方式实现高速数据传输,具体为: 只有在所述总线仲裁阶段S4仲裁胜出的通讯节点才能作为源时钟模式下的发送节
点,只有在所述总线仲裁阶段S4满足接收滤波条件且发出所述仲裁帧的帧应答位的通讯节点才能成为接收节点,在源时钟模式下只存在一个发送节点,但可以存在多个接收节
占.仲裁阶段S4结束后,所述中央时钟管理节点的同步模式切换管理器及仲裁胜出的通讯节点的同步模式切换管理器将所述总线装置由中央时钟模式切换到源时钟模式,所述中央时钟管理节点同步模式切换管理器控制所述中央时钟产生单元向所述仪器总线的时钟信号线及数据信号线输出“隐”性电平,所述仲裁胜出的通讯节点同步模式切换管理器控制所述发送控制单元向所述仪器总线的时钟信号线输出高频时钟以及向所述仪器总线的数据信号线输出与所述高频时钟同步的所述通讯帧的数据帧,所述总线装置进入数据通讯阶段S5 ;
在数据通讯阶段S5,所述发送节点的发送控制单元将所述发送节点的发送缓存单元中的数据按照HDLC协议编码后按照所述数据帧的帧格式传输,直到所述发送节点的发送数据缓存单元中的数据全部发送完成,所述接收节点的接收控制单元采用所述仪器总线时钟信号线上的时钟同步接收所述仪器总线数据信号线上的数据,并将数据解码后存储到所述接收节点的接收数据缓存单元;
所述数据通讯阶段S5结束后,所述发送节点的通讯节点同步模式切换管理器控制所述发送控制单元向所述仪器总线的时钟信号线及数据信号线输出“隐”性电平,所述接收节点的接收控制单元向所述接收节点的数字信号处理器产生接收中断信号,所述接收节点的数字信号处理器通过EMIF总线读取所述接收节点的接收数据缓存单元中的数据,完成发送节点与接收节点间的一个通讯巾贞传输。本发明的有益效果是,本发明的仪器总线采用中央时钟模式与源时钟模式切换的方式通讯,既可满足多个通讯节点在同一时钟沿进行仲裁判断实现多住通信,又可满足发送通讯节点与接收通讯节点间时钟与数据同步传输,同时采用帧优先级自动调整技术动态修改传输帧的仲裁优先级提高通讯实时性,不仅拓扑结构简单,且数据传输速率高、实时性强。
为了更清楚地说明本发明实施例中的技术方案,下面对实施例描述中所需要使用的附图作简单介绍;
图1是本发明一实施例的仪器总线系统结构示意 图2是本发明提供的仪器总线的工作过程示意 图3是本发明一实施例提供的包含优先级调整域的仲裁帧的数据定义示意 图4是本发明一实施例提供的数据通讯总线通讯过程示意 图5是本发明一实施例提供的节点仲裁优先级动态调整的流程图。
图6为通讯帧优先级调整过程示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更见清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所述实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他实施例,都属于本发明的保护范围。本发明提供的一种采用同步模式切换及帧优先级自动调整的多主仪器总线包括一个中央时钟管理节点与N个通讯节点,其中N为自然数。中央时钟管理节点与所有通讯节点均通过仪器总线11连接,形成总线型拓扑结构网络,如图1所示。所述仪器总线11除包括一对时钟信号线与多对数据信号线外,还包括仪器专用的控制总线线、同步总线与触发总线等。仪器总线中的所有信号线均为差分信号线,本实施例仅对涉及发明内容的时钟信号线与数据信号线进行详细描述。所述中央时钟管理节点由中央时钟管理节点总线收发器12与中央时钟管理节点FPGA13组成,中央时钟管理节点FPGA13通过中央时钟管理节点总线收发器12与仪器总线11相连。通讯节点由通讯节点总线收发器14、通讯节点FPGA15以及数字信号处理器16组成,通讯节点FPGA15通过通讯节点总线收发器14与仪器总线11相连,数字信号处理器16与通讯节点FPGA15相连。所述中央时钟管理节点总线收发器12与所述通讯节点总线收发器14均为多点低电压差分信令(MLVDS,Multipoint low Voltage Differential Signaling)驱动/接收器,用于电平转换以及总线仲裁逻辑的实现,属于本发明仪器总线的物理层。所述中央时钟管理节点FPGA13与所述通讯节点FPGA15用于实现本发明仪器总线的数据链路层协议。所述数字信号处理器16用于实现本发明仪器总线的应用层协议。所述中央时钟管理节点FPGA13由中央时钟管理节点总线接口模块131以及中央时钟管理器132组成,所述通讯节点FPGA15由通讯节点总线接口模块151、节点总线管理器152以及EMIF接口模块153组成。其中中央时钟管理器132以及节点总线管理器152统称为仪器总线的总线协议控制器。所述中央时钟管理节点总线接口模块131与通讯节点总线接口模块151均为仪器总线协议控制器内部信号的输入输出缓冲模块,用于与外部总线收发器芯片连接。
所述EMIF接口模块153用于数字信号处理器16通过其外部存储器接口(External Memory Interface, EMIF)与所述节点总线管理器152之间进行数据信息及控制信息传输。所述仪器总线协议控制器用于实现仪器总线上的多个通讯节点间的多主高速数据通讯,由一个中央时钟管理器132和多个节点总线管理器152组成。中央时钟管理器132包含一个中央时钟产生单元1321与一个同步模式切换管理器1322,用于将仪器总线的工作模式由源时钟模式切换到中央时钟模式,并产生中各节点仲裁时所用的低频中央时钟,本实施例中,中央时钟的频率为20MHz。所述中央时钟产生单元1321与同步模式切换管理器1322均与所述中央时钟管理节点总线接口模块131相连,与所述仪器总线11进行信息交互。所述同步模式切换管理器1322用于检测仪器总线的状态,以及用于将仪器总线由源时钟模式切换到中央时钟模式;中央时钟产生单元1321用于在中央时钟模式下向所述仪器总线11的时钟信号线发送20MHz的低频时钟作为总线上节点参与仲裁时的公共时钟源。所述节点总线管理器152由发送控制单元1521、同步模式切换管理器1522、接收控制单元1523、发送数据缓存单元1524、接收数据缓存单元1525组成,用于控制本通讯节点数据的发送及接收控制。发送控制单元1521、同步模式切换管理器1522、接收控制单元1523均与所述通讯节点总线接口模块151相连,与所述仪器总线11进行信息交互。发送控制单元1521、接收控制单元1523、发送数据缓存单元1524、接收数据缓存单元1525均与所述所述EMIF接口模块153相连,与所述数字信号处理器16进行信息交互。所述同步模式切换管理器1522用于检测总线的状态以及用于将仪器总线由中央时钟模式切换到源时钟模式;所述发送数据缓存单元1524用于存储本通讯节点的数字信号处理器16通过EMIF接口模块153写入的需要发往其他节点的数据帧;所述接收数据缓存单元1525用于存储其他节点通过所述仪器总线11发往本节点的并经所述接收控制单元1523解码后的数据帧;所述发送控制单元1521用于控制本通讯节点参与总线仲裁,以及用于将所述发送数据缓存单元1524的数据按照仪器总线协议编码后传送到所述所述通讯节点总线收发器14进行传输;所述接收控制单元1523用于本通讯节点的接收条件判断,以及用于将发往本节点的数据帧解码后存储到所述接收数据缓存单元1525。本发明提供的仪器总线的工作过程示意图如图2所示。所述仪器总线整个通信过程,包含两种帧传输工作模式:首先在中央时钟模式下用同步串行通信方式进行总线仲裁,然后自动切换到源时钟模式,用同步并行通信方式实现高速数据传输。本实施例的仪器总线包括一对差分时钟信号线21与M对差分数据信号线22,其中M为16,源时钟模式下数据传输的时钟频率为100MHz,故本发明提供的仪器总线最大通讯速率可达100X 16Mbps。为了清楚地说明不同工作模式下数据信号的流向,将仪器总线通讯节点23与中央时钟管理节点24的内部结构表示为图2所示。其中通讯节点高速总线同步收发器231等效为图1中的通讯节点总线收发器14 ;中央时钟管理节点高速总线同步收发器241等效为图1中的中央时钟管理节点总线收发器12 ;通讯节点同步模式切换管理单元232等效为图1中的同步模式切换管理器1522 ;中央时钟管理节点同步模式切换管理单元242等效为图1中的同步模式切换管理器1322 ;帧头仲裁233及动态优先级调整235均属于图1中发送控制单元1521,图1中的接收控制单元1523、发送数据缓存单元1524、接收数据缓存单元1525均表示为图2中的数据通讯模块234。所述帧头仲裁单元233及动态优先级调整单元235均工作在中央时钟模式下,用于控制本通讯节点参与总线仲裁的过程及帧优先级自动调整;所述数据通讯模块234工作在源时钟模式下,用于控制本通讯节点的实现高速数据通讯。仪器总线复位后的工作状态为空闲状态,所述时钟信号线21与所述数据信号线22均保持“隐”性电平状态,即中央时钟管理节点与各通讯节点均不驱动所述仪器总线。所述中央时钟管理节点同步模式切换管理单元242检测到所述仪器总线的时钟信号线21持续为“隐”性电平的时间大于K个低频中央时钟周期,则认为总线空闲,将总线上所有节点的工作状态设置为仲裁准备状态,并将总线通信模式切换到中央时钟模式。本实施例中K为4,低频时钟周期为50ns。如图2所示,在中央时钟模式下,所述仪器总线的时钟信号线21仅由中央时钟管理节点24驱动,其他通讯节点均接收该时钟信号;所述仪器总线的数据信号线22可由多个通讯节点同时驱动,所有通讯节点均接收所述数据信号线22上的数据,所述信号线22的电平状态为所有通讯节点发送端相“或”的结果。总线仲裁阶段结束后,获得仲裁权的通讯节点的同步模式切换管理单元232将同步模式切换到源时钟模式。本实施例中,通讯节点I在仲裁过程中获得总线仲裁权,故在源时钟模式下,时钟信号与数据信号的流向如图1中源时钟模式所示,即所述仪器总线的时钟信号线21及数据信号线22具有通讯节点I驱动,中央时钟管理节点及其他通讯节点均接收所述时钟信号线21及所述数据信号线22上的时钟及数据信号。本实施例中的一对差分信号的“线与”仲裁逻辑实现方案示意图如图3所示。总线收发器采用MLVDS驱动/接收器芯片SN65MLVD206实现,A、B管脚为差分端输入输出,总线上所有节点的A、B端互连在一起,形成多点连接网络。总线收发器芯片的接收使能管脚RE一直使能(即保持低电平),芯片的接收端R连接总线协议控制器的接收端Rx,故总线上所有节点的总线协议控制器均可时刻监控仪器总线的状态。仲裁过程中,发送数据端D保持高电平,芯片的发送使能管脚DE连接总线协议控制器的发送端Tx,故只要仪器总线上存在一个节点的总线协议控制器发送高电平,仪器总线即为高电平(总线收发器芯片的Α、Β端),总线协议控制器检测到的总线状态(总线收发器芯片的R端)即为高电平;只有所有节点的总线协议控制器均输出低电平时,仪器总线表现为高阻状态(总线收发器芯片的Α、Β端),总线协议控制器检测到的总线状态(总线收发器芯片的R端)为低电平。因此,仪器总线上的状态为所有节点总线协议控制器发送端Tx相“或”的结果,高电平为“显性”电平,低电平为“隐性”电平。仲裁帧ID中“I”的优先级高于“0”,数据通讯总线的空闲状态定义为所述数据通讯总线系统的时钟信号线持续保持多个低频时钟周期的低电平。在总线仲裁阶段,参与仲裁的通讯节点的协议控制器对其发送的数据位与接收的数据位进行比较,若相同,表示本轮仲裁成功,继续进行下一轮仲裁判断;若发送“隐”性电平,但检测到仪器总线的状态为“显”性电平,则表示仲裁失败退出总线仲裁过程。图4是本实施例提供的数据通讯总线通讯过程示意图,图中所示的时钟信号线与数据信号线均为图3中总线协议控制器接收端Rx检测到的信号,且只给出了一组时钟信号线与一组数据信号线。 总线系统的整个通讯过程共包含5个阶段,分别为S1、S2、S3、S4、S5。SI阶段为总线空闲阶段,数据信号线及时钟信号线均保持为“隐”电平状态,本实施例中若时钟信号线连续4个低频时钟周期保持低电平,则认为总线空闲。所述中央时钟管理节点同步模式切换管理器1322检测到仪器总线出现SI阶段,则将仪器总线切换到中央时钟模式,此后,仪器总线进入仲裁准备阶段S2。在仲裁准备阶段S2,中央时钟管理节点向仪器总线的时钟信号线发送20MHz的低频中央时钟,数据信号线仍保持高电平。S2阶段中,若某节点的发送数据准备好,则在所述仪器总线的时钟信号的下降沿向所述仪器总线的数据信号线上发送仲裁帧51的帧起始位511,总线进入仲裁请求阶段S3。仲裁请求阶段S3表示为所述仪器总线中至少存在一个通讯节点向所述仪器总线11的数据信号线上发送了所述仲裁帧51的帧起始位511,此后仪器总线进入仲裁阶段S4。总线仲裁阶段S4共持续M个低频中央时钟周期,其中M与所述仲裁帧51包含的数据位数相等,本实施例中M取31。在总线仲裁阶段S4的第I至第M-1个中央时钟周期,所述总线装置的工作状态为:
所述仪器总线11的所有数据信号线上的数据完全相同,均为参与总线仲裁的通讯节点的仲裁帧的串行输出数据位相“或”的结果;所述仪器总线11的时钟信号线上的信号为所述中央时钟管理节点发出的20MHZ的中央时钟,所述仪器总线11的数据信号线上的信号为参与仲裁的通讯节点发出的所述通讯帧的仲裁帧51数据位;参与仲裁的通讯节点从所述通讯帧的仲裁帧51的帧起始位511开始逐位进行仲裁判断,直到所述仲裁帧51的所有数据位发送完成,若所述通讯节点在仲裁过程中出现发送的仲裁帧51数据位与接收到的仲裁帧51数据位不相同,则该通讯节点退出总线仲裁过程,停止发送所述仲裁帧51的其他数据位。在总线仲裁阶段S4的第M个中央时钟周期,参与仲裁过程的通讯节点进行通讯帧优先级自动调整,所述中央时钟管理节点的同步模式切换管理器1322及仲裁胜出的通讯节点的同步模式切换管理器1522将所述总线装置由中央时钟模式切换到源时钟模式,所述中央时钟管理节点同步模式切换管理器1322控制所述中央时钟产生单元1321向所述仪器总线11的时钟信号线及数据信号线输出“隐”性电平,所述仲裁胜出的通讯节点同步模式切换管理器1522控制所述发送控制单元1521向所述仪器总线11的时钟信号线输出高频时钟以及向所述仪器总线11的数据信号线输出与所述高频时钟同步的所述通讯帧的数据帧52,所述总线装置进入数据通讯阶段S5。在所述数据通讯阶段S5,所述发送节点的发送控制单元1521将所述发送节点的发送缓存单元1524中的数据按照HDLC协议编码后按照所述数据帧52的帧格式传输,直到所述发送节点的发送数据缓存单元1524中的数据全部发送完成,所述接收节点的接收控制单元1523采用所述仪器总线11时钟信号线上的时钟同步接收所述仪器总线11数据信号线上的数据,并将数据解码后存储到所述接收节点的接收数据缓存单元1525。所述数据通讯阶段S5结束后,所述发送节点的通讯节点同步模式切换管理器1522控制所述发送控制单元1521向所述仪器总线11的时钟信号线及数据信号线输出“隐”性电平,所述接收节点的接收控制单元1523向所述接收节点的数字信号处理器16产生接收中断信号,所述接收节点的数字信号处理器16通过EMIF总线读取所述接收节点的接收数据缓存单元1525中的数据,完成发送节点与接收节点间的一个通讯帧传输。本实施例提供的总线装置的通讯帧格式如图3所示:
所述通讯帧包括仲裁帧51及数据帧52,所述仲裁帧格式按照数据位串行发送顺序依次为帧起始位511、后置优先级调整域512、前置优先级调整域513、帧标识域514、发送节点地址515、接收节点地址516及帧应答位517。所述帧起始位511与所述帧应答位517的值由所述节点总线管理器152决定,其中帧应答位517由接收节点的节点总线管理器152发送;
所述后置优先级调整域512、所述前置优先级调整域513、所述帧标识域514、所述发送节点地址515、所述接收节点地址516构成通讯帧优先级ID,所述后置优先级调整域512的最高位为所述通讯帧优先级ID的最高位,所述接收节点地址516的最低位为所述通讯帧优先级ID的最低位,所述通讯帧优先级ID的初始值由所述数字信号处理器16通过EMIF接口模块153写入;
所述帧起始位511为一位“显性”位,用于所述总线装置中的通讯节点发送总线仲裁请
求;
所述后置优先级调整域(PPP,PostPone Priority) 512包含多个数据位,用于动态降低本通讯帧的帧优先级ID,本实施例中的PPP由4个数据位组成,所述数字信号处理器16通过EMIF总线写入的PPP初始值为“1111”(即所述通讯帧的仲裁帧中该域的优先级值最高),当由于没有检测到有效的帧应答位517而导致本通讯帧仲裁失败时,所述通讯帧优先级ID中的后置优先级调整域512动态降低一级,即PPP=PPP-1, PPP的最小值为“0000”,因此,本实施例中某一通讯帧的通讯帧优先级ID可动态降低64次;
所述前置优先级调整域(PDP,PenDing Priority) 513包含多个数据位,用于动态提高本通讯帧的帧优先级ID,本实施例中的I3DP由4个数据位组成,所述数字信号处理器16通过EMIF总线写入的PDP初始值初始值为“0000”(即所述通讯帧的仲裁帧中该域的优先级值最低),当某一通讯帧由于其通讯帧优先级ID低于其他通讯帧而导致仲裁失败时,所述通讯帧优先级ID中的前置优先级调整域513动态提高一级,即TOP = PDP +1,PDP的最大值为“1111”,因此,本实施例中某一通讯帧的通讯帧优先级ID可动态提高64次;
所述帧标识域514包含多个数据位,用于标识本通讯帧的数据类型,本实施例中的帧标识域514包含9个数据位组成,即本实施例中的数据通讯总线系统可传输的消息类型可达512种;
所述发送节点地址515用于指示本通讯帧发送节点的物理地址,所述接收节点地址516用于指示本通讯帧接收节点的物理地址,本实施例中的发送节点地址515及接收节点地址516均由6个数据位组成,即本实施例中的总线装置最多可包含64个通讯节点;所述帧应答位517包含一个数据位,用于接收节点向发送节点发送应答结果,该位为“显性”位表示应答成功,否则表示应答失败。所述数据帧52格式按照发送先后顺序依次为数据帧起始域521、数据域522、校验域523、数据帧结束域524。所述数据帧起始域521包含N个特定字符的数据,表示数据域522的起始,所述数据帧起始域521的内容由所述节点总线管理器决定; 所述数据域522为正式的帧数据,最小单位由所述仪器总线的数据信号线的宽度决定,如数据线宽为8位,则帧数据传输的最小单位为I字节,所述数据域522的内容由所述数字信号处理器决定;
所述校验域523包含2个字节,为所述数据域CRC校验计算结果,所述校验域523的内容由所述节点总线管理器决定;
所述数据帧结束域524包含N个特定字符的数据,表示数据域的结束,所述数据帧结束域524的内容由所述节点总线管理器决定。所述通讯帧优先级调整过程示意图如图6所示,通讯帧优先级调整,包括以下步骤:
首先,所述发送控制单元1521判断本通讯帧在仲裁过程中是否因因通讯帧优先级ID低于其他通讯节点而中途退出总线仲裁过程;
若通讯帧在所述总线仲裁阶段S4中途退出仲裁过程,则所述发送控制单元1521将所述前置优先级调整域(PDP)513的值增加1,即PDP=PDP+1,构成本通讯帧新的通讯帧优先级ID,然后进一步判断所述通讯帧的前置优先级调整域(PDP)513的值是否达到最大值15 (BP二进制“1111”),否则继续判断是否成功收到接收点发送的帧应答位517 ;
若所述通讯帧的前置优先级调整域(PDP) 513的值达到最大值15,则终止本通讯帧的数据帧52发送,所述发送控制单元1521将所述发送缓存单元1524中的数据清空,并向所述数字信号处理器16产生异常中断信号;
若所述发送控制单元(1521)将所述仲裁帧(51)除帧应答位(517)外的其他所有数据位全部发送完成且最后一个仲裁帧数据位的仲裁结果也成功,但接收节点没有发出帧应答位(517),所述仲裁帧优先级ID的后置优先级调整域(PPP) (512)的值减1,即PPP=PPP-1,然后进一步判断所述通讯帧的后置优先级调整域(PPP) (512)的值是否达到最小值O (即二进制“0000”),否则表示仲裁成功,进入数据通讯阶段S5,传输所述通讯帧的数据帧52 ;若所述通讯帧的后置优先级调整域(PPP) (512)的值达到最小值0,则终止本通讯帧的数据帧52发送,所述发送控制单元1521将所述发送缓存单元1524中的数据清空,并向所述数字信号处理器16产生异常中断信号。
权利要求
1.一种采用同步模式切换及帧优先级自动调整的总线装置,其特征在于,它包括一个中央时钟管理节点与若干个通讯节点,所述中央时钟管理节点与所有通讯节点均通过仪器总线(11)连接,形成总线型拓扑结构网络; 所述仪器总线(11)包括一对差分时钟信号线与多对差分数据信号线; 所述中央时钟管理节点包括中央时钟管理节点总线收发器(12)与中央时钟管理节点FPGA (13),所述中央时钟管理节点FPGA (13)通过中央时钟管理节点总线收发器(12)与所述仪器总线(11)相连; 所述中央时钟管理节点FPGA (13)包括中央时钟管理节点总线接口模块(131)以及中央时钟管理器(132),所述中央时钟管理器(132)通过中央时钟管理节点总线接口模块(131)与所述中央时钟管理节点总线收发器(12)相连; 所述通讯节点包括通讯节点总线收发器(14)、通讯节点FPGA (15)以及数字信号处理器(16),所述通讯节点FPGA (15)通过所述通讯节点总线收发器(14)与所述仪器总线(11)相连,所述数字信号处理器(16)与所述通讯节点FPGA (15)相连; 所述通讯节点FPGA (15)包括通讯节点总线接口模块(151)、节点总线管理器(152)以及EMIF接口模块(153),所述节点总线管理器(152)通过通讯节点总线接口模块(151)与所述通讯节点总线收发器(14)相连,所述节点总线管理器(152)通过EMIF接口模块(153)与所述数字信号处理器(16)相连。
2.根据权利要求1所述采用同步模式切换及帧优先级自动调整的总线装置,其特征在于,所述中央时钟管理器(132)包括中央时钟产生单元(1321)与中央时钟管理节点同步模式切换管理器(1322); 所述中央时钟产生单元(1321)与中央时钟管理节点同步模式切换管理器(1322)相连,并分别与所述中央时钟管理节点总线接口模块(131)相连。
3.根据权利要求1所述采用同步模式切换及帧优先级自动调整的总线装置,其特征在于,所述节点总线管理器(152)包括发送控制单元(1521)、中央时钟管理节点中央时钟管理节点同步模式切换管理器(1522)、接收控制单元(1523)、发送数据缓存单元(1524)及接收数据缓存单元(1525); 所述发送控制单元(1521)、所述中央时钟管理节点中央时钟管理节点同步模式切换管理器(1522)及所述接收控制单元(1523)均与所述通讯节点总线接口模块(151)相连,所述中央时钟管理节点中央时钟管理节点同步模式切换管理器(1522)与所述发送控制单元(1521)及所述接收控制单元(1523)相连,所述发送控制单元(1521)与所述接收控制单元(1523)相连; 所述发送控制单元(1521)、所述接收控制单元(1523)、所述发送数据缓存单元(1524)及所述接收数据缓存单元(1525)均与所述所述EMIF接口模块(153)相连; 所述发送控制单元(1521)与所述发送数据缓存单元(1524)相连; 所述接收控制单元(1523)与所述接收数据缓存单元(1525)相连。
4.一种应用权利要求1所述总线装置的采用同步模式切换及帧优先级自动调整的数据传输方法,其特征在于:所述总线装置的通讯帧包括仲裁帧(51)与数据帧(52),通讯模式包括中央时钟模式与源时钟模式两种同步模式,首先在中央时钟模式下用同步串行通信方式传输仲裁帧进行总线仲裁,然后自动切换到源时钟模式,用同步并行通信方式传输数据帧进行高速数据传输; 所述中央时钟模式下,所述仪器总线(11)的时钟信号线由所述中央时钟管理节点的中央时钟产生单元(1321)驱动,所述仪器总线(11)的数据信号线由参与仲裁的通讯节点驱动,所述总线装置的收发通讯节点采用公共的时钟源进行仲裁数据位的发送与接收,所述仪器总线(11)的时钟信号线上传输的时钟信号为低频时钟; 所述源时钟模式下,所述仪器总线(11)的时钟信号线与数据信号线均由获得仲裁权的通讯节点驱动,所述仪器总线(11)的时钟信号线上传输的时钟为高频时钟。
5.根据权利要求4所述的数据传输方法,其特征在于,所述仲裁帧进一步包括: 所述仲裁帧格式按照数据位串行发送顺序依次为帧起始位(511)、后置优先级调整域(512)、前置优先级调整域(513)、帧标识域(514)、发送节点地址(515)、接收节点地址(516)及帧应答位(517); 所述帧起始位(511)与所述帧应答位(517)的值由所述节点总线管理器(152 )决定,其中所述帧应答位(517)由接收节点的节点总线管理器(152)发送; 所述后置优先级调整域(512)、所述前置优先级调整域(513)、所述帧标识域(514)、所述发送节点地址(515)、所述接收节点地址(516)构成通讯帧优先级ID,所述后置优先级调整域(512)的最高位为所述通讯帧优先级ID的最高位,所述接收节点地址(516)的最低位为所述通讯帧优先级ID的最低位,所述通讯帧优先级ID的初始值由所述数字信号处理器(16)通过EMIF接口模块(153)写入; 所述后置优先级调整域(512)及所述前置优先级调整域(513)合称为仲裁帧(51)的优先级调整域; 所述帧起始位(511)为一 位显性位,用于所述总线装置中的通讯节点发送总线仲裁请求; 所述后置优先级调整域(512)包含多个数据位,用于动态降低本通讯帧的帧优先级ID ; 所述前置优先级调整域(513)包含多个数据位,用于动态提高本通讯帧的帧优先级ID ; 所述帧标识域(514)包含多个数据位,用于标识本通讯帧的数据类型; 所述发送节点地址(515)包含多个数据位,用于指示本通讯帧发送节点的物理地址;所述接收节点地址(516)包含多个数据位,用于指示本通讯帧接收节点的物理地址;所述帧应答位(517)包含一个数据位,用于接收节点向发送节点发送应答结果,该位为显性位表示应答成功,否则表示应答失败。
6.根据权利要求4所述的数据传输方法,其特征在于,所述数据帧进一步包括: 所述数据帧格式按照发送先后顺序依次为数据帧起始域(521)、数据域(522)、校验域(523)、数据帧结束域(524); 所述数据帧起始域(521)包含N个特定字符的数据,表示数据域的起始,由所述节点总线管理器(152)决定; 所述数据域(522)为正式的帧数据,最小单位由所述仪器总线(11)的数据信号线的宽度决定,如数据线宽为8位,则帧数据传输的最小单位为I字节,由所述数字信号处理器(16)决定;所述校验域(523)包含2个字节,为所述数据域(522) CRC校验计算结果,由所述节点总线管理器(152)决定; 所述数据帧结束域(524)包含N个特定字符的数据,表示数据域的结束,由所述节点总线管理器(152)决定。
7.根据权利要求4所述的数据传输方法,所述在中央时钟模式下用同步串行通信方式进行总线仲裁,具体为:采用仲裁帧(51)逐位竞争的方式进行总线仲裁权争夺,仲裁帧(51)中包含优先级调整域,所述节点总线管理器(152)通过改变所述仲裁帧(51)优先级调整域的值实现通讯帧优先级ID自动调整,其特征在于: 所述中央时钟管理 节点同步模式切换管理器(1322)检测到所述仪器总线(11)的时钟信号线连续4个中央时钟周期保持隐性电平,则认为所述仪器总线处于空闲阶段SI,并控制所述中央时钟产生单元(1321)向所述仪器总线的时钟信号线输出低频中央时钟,所述总线装置由空闲状态切换到中央时钟模式,并进入仲裁准备阶段S2 ; 所述通讯节点的数字信号处理器(16)首先通过EMIF接口模块(153)将需要发往其它通讯节点的数据帧(52)中的数据域(522)内容写入到所述节点总线管理器(152)的发送数据缓存单元(1524),然后通过EMIF接口模块(153)写入通讯帧优先级ID以及向所述发送控制单元(1521)发送启动命令; 所述通讯节点的发送控制单元(1521)根据所述中央时钟管理节点同步模式切换管理器(1522)输出的标志信号判断所述总线装置是否处于所述仲裁准备阶段S2 ; 若所述发送控制单元(1521)检测到所述总线装置处于所述仲裁准备阶段S2,则所述发送控制单元(1521)在所述仪器总线中央时钟信号的下降沿向所述仪器总线的数据信号线上发送仲裁帧的帧起始位,该阶段称为仲裁请求阶段S3 ; 仲裁请求阶段S3为一个中央时钟周期,此后所述总线装置进入总线仲裁阶段S4 ;在所述总线仲裁阶段S4,所述发送控制单元(1521)在中央时钟的下降沿逐位发送本通讯节点的仲裁帧数据位并进行仲裁判断,所述接收控制单元(1523)逐位接收所述仪器总线的数据信号线上的仲裁帧(51)数据位,根据将接收到的仲裁帧(51)与本通讯节点的接收滤波器比较判断是否要接收本通讯帧的数据帧(52)内容; 总线仲裁阶段S4持续M+1个中央时钟周期,M为通讯帧中仲裁帧51所包含的数据位数,在总线仲裁阶段的最后一个中央时钟周期内进行通讯帧优先级自动调整。
8.根据权利要求7所述的仲裁方法,其特征在于:所述总线装置的总线收发器采用可实现多点连接的MLVDS驱动/接收器,利用其电气特性实现所述总线装置中所有节点总线管理器(152)发送数据位逻辑或的功能; 所述逻辑或具体表现为:所述仪器总线(11)上的电平状态为所有通讯节点总线管理器(152)发送端相或的结果,即所述总线装置中只要存在一个或多个通讯节点的节点总线管理器(152)输出高电平,所述仪器总线(11)就表现为高电平,只有当所述总线装置的所有通讯节点的节点总线管理器(152)均输出低电平时,所述仪器总线(11)才表现为低电平; 所述总线装置采用线与的仲裁逻辑,高电平称为显性电平,低电平称为隐性电平,即数据位I的优先级高于O,故所述通讯帧优先级ID的数值越大其帧优先级ID越高; 在所述总线仲裁阶段S4,参与仲裁的通讯节点所述发送控制单元(1521)将其发送的仲裁帧数据位与所述接收控制单元(1523)接收到的仲裁帧数据位进行比较,若相同,表示本轮仲裁成功,继续发送仲裁帧的下一位进行下一轮仲裁判断;否则,若发送隐性数据位但接收到显性数据位,则表示本轮仲裁失败,所述通讯节点退出总线仲裁阶段,所述发送控制单元(1521)停止发送仲裁帧的其他数据位。
9.根据权利要求7所述的通讯帧优先级自动调整,其特征在于: 若所述发送控制单元(1521)中途退出总线仲裁阶段S4,则本通讯帧仲裁失败,所述仲裁帧优先级ID的前置优先级调整域(513)的值增加1,提高本通讯帧的优先级ID,增加本通讯帧在下一个总线仲裁阶段中仲裁胜出的概率; 若所述发送控制单元(1521)将所述仲裁帧(51)除帧应答位(517)外的其他所有数据位全部发送完成且最后一个仲裁帧数据位的仲裁结果也成功,但接收节点没有发出帧应答位(517),则本通讯帧仲裁也失败,所述仲裁帧优先级ID的后置优先级调整域(513)的值减1,以降低本通讯帧的优先级ID,降低本通讯帧在总线带宽比较紧张的情况下多次尝试发送而导致通讯帧优先级ID较低的通讯帧无法正常发出。
10.根据权利要求4所述的数据传输方法,所述自动切换到源时钟模式,用同步并行通信方式实现高速数据传输,其特征在于: 只有在所述总线仲裁阶段S4仲裁胜出的通讯节点才能作为源时钟模式下的发送节点,只有在所述总线仲裁阶段S4满足接收滤波条件且发出所述仲裁帧(51)的帧应答位(517)的通讯节点才能成为接收节点,在源时钟模式下只存在一个发送节点,但可以存在多个接收节点; 仲裁阶段S4结束后,所述中央时钟管理节点的中央时钟管理节点同步模式切换管理器(1322)及仲裁胜出的通讯节点的中央时钟管理节点同步模式切换管理器(1522)将所述总线装置由中央时钟模式切换到源时钟模式,所述中央时钟管理节点同步模式切换管理器(1322)控制所述中央时钟产生单元(1321)向所述仪器总线(11)的时钟信号线及数据信号线输出隐性电平,所述仲裁胜出的通讯节点中央时钟管理节点同步模式切换管理器(1522)控制所述发送控制单元(1521)向所述仪器总线(11)的时钟信号线输出高频时钟以及向所述仪器总线(11)的数据信号线输出与所述高频时钟同步的所述通讯帧的数据帧(52),所述总线装置进入数据通讯阶段S5 ; 在数据通讯阶段S5,所述发送节点的发送控制单元(1521)将所述发送节点的发送缓存单元(1524)中的数据按照HDLC协议编码后按照所述数据帧(52)的帧格式传输,直到所述发送节点的发送数据缓存单元(1524)中的数据全部发送完成,所述接收节点的接收控制单元(1523)采用所述仪器总线(11)时钟信号线上的时钟同步接收所述仪器总线(11)数据信号线上的数据,并将数据解码后存储到所述接收节点的接收数据缓存单元(1525); 所述数据通讯阶段S5结束后,所述发送节点的通讯节点中央时钟管理节点同步模式切换管理器(1522 )控制所述发送控制单元(1521)向所述仪器总线(11)的时钟信号线及数据信号线输出隐性电平,所述接收节点的接收控制单元(1523)向所述接收节点的数字信号处理器(16)产生接收中断信号,所述接收节点的数字信号处理器(16)通过EMIF总线读取所述接收节点的接收数据缓存单元(1525)中的数据,完成发送节点与接收节点间的一个通讯中贞传输。
全文摘要
本发明公开了一种采用同步模式切换及帧优先级自动调整的总线装置及方法,装置包含由仪器总线互联在一起的一个中央时钟管理节点与多个通讯节点,帧传输工作模式如下首先在中央时钟模式下用同步串行通信方式进行总线仲裁,然后自动切换到源时钟模式,用同步并行通信方式实现高速数据传输。它采用仲裁帧头逐位竞争的方式进行总线仲裁权争夺,仲裁帧头中包含优先级调整域,总线协议通过改变优先级调整域的值实现帧优先级自动调整,可有效改善总线通讯实时性。本发明提出的总线装置,数据传输速率高,实时性强,结构简单,支持总线上的节点进行多主通讯并形成总线型拓扑结构网络。
文档编号G06F13/38GK103218331SQ20121052951
公开日2013年7月24日 申请日期2012年12月7日 优先权日2012年12月7日
发明者叶凌云, 李彩霞, 宋开臣 申请人:浙江大学