控制装置和总线***
技术领域
本发明涉及通信技术领域,特别涉及一种控制装置和总线***。
背景技术
随着技术的发展,工业控制领域出现了许多类型的现场总线。在工业生产中,将需要互联和通信的多个设备分别作为一个节点,通过各种总线方式接入到现场总线上,以便对这些设备进行统一的管理和控制。
目前常见的现场总线包括ProfiBus(过程现场总线)、CANbus(ControllerArea Network,控制器局域网)、CC-Link(Control&Communication Link,控制与通信链路***)、R-485总线和FF(Fieldbus Foundation,基金会现场总线)和DeviceNet总线等。
其中,CAN总线的传输速度有限,所有接入总线的设备都需要具有CAN控制器,所有总线上的设备必须具有相同的传输速率,并且CAN总线上能够挂接的设备数目有限。
R-485总线/MODBUS是现在流行的一种工业组网方式,其实施相对简单方便,RS-485总线的转换接口便宜而且种类繁多,组网方式简单,但是其数据传输速率不高。
基金会现场总线FF采用国际标准化组织ISO的开放化***互联OSI的简化模型(1,2,7层),即物理层、数据链路层和应用层,另外增加了用户层。FF分低速H1和高速H2两种通信速率,前者传输速率为31.25Kbit/秒,后者传输速率为1Mbit/秒和2.5Mbit/秒。
当采用现有的现场总线时,各个设备都需要设计带有该总线的控制器以便接入该现场总线,并且需要根据总线的规范协议设置统一的通信参数。现有的总线中某个设备出现一些故障时可能会导致整个现场总线通信失败。并且,到目前为止,现场总线还没有形成统一的标准,各种类型的设备之间无法实现互联和通信。
发明内容
本发明解决的是现有技术中各种类型的设备之间无法实现互联和通信的问题。
为解决上述问题,本发明提供一种控制装置,所述控制装置包括控制器以及至少一个与所述控制器连接的设备,所述控制器包括:
设置单元,适于设置并保存设备,包括设备编号、协议类型以及设备编号和协议类型的对应关系,保存所述设备编号的集合;
源数据处理单元,适于接收设备发送的源数据,根据发送所述源数据的设备对应的协议类型获取所述源数据中数据信息和目标设备的设备编号;
第一发送单元,适于在所述设备编号的集合包括所述源数据中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述源数据中的数据信息至所述目标设备。
可选地,所述设置单元,适于根据所述设备与所述控制器连接的接口类型设置所述设备。
可选地,所述协议类型包括通信参数,所述第一发送单元适于根据所述目标设备对应的协议类型中的通信参数发送所述源数据中的数据信息至所述目标设备。
可选地,所述协议类型包括数据信息位置和目标地址位置,所述源数据处理单元适于根据发送所述源数据的设备对应的协议类型中的数据信息位置确定所述源数据中数据信息,以及根据发送所述源数据的设备对应的协议类型中的目标地址位置确定所述目标设备的设备编号。
可选地,所述控制装置适于连接总线,所述控制器还包括:
数据打包单元,适于在所述设备编号的集合不包括所述目标设备的设备编号时,至少根据所述源数据中的数据信息和目标设备的设备编号获得适于在所述总线上传输的数据包。
可选地,所述控制器还包括:
数据包解析单元,适于对数据包进行解析处理以获得所述数据包中的数据信息和目标设备的设备编号;
第二发送单元,适于在所述设备编号的集合包括所述数据包中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述数据包中的数据信息至所述目标设备。
相应地,本发明还提供一种总线***,包括:总线以及至少一个控制装置,所述控制装置分布于所述总线上,所述控制装置包括控制器以及至少一个与所述控制器连接的设备,所述控制器包括:
设置单元,适于设置并保存设备,包括设备编号、协议类型以及设备编号和协议类型的对应关系,保存所述设备编号的集合;
源数据处理单元,适于接收设备发送的源数据,根据发送所述源数据的设备对应的协议类型确定所述源数据中数据信息和目标设备的设备编号;
第一发送单元,适于在所述设备编号的集合包括所述源数据中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述源数据中的数据信息至所述目标设备。
可选地,所述控制器还包括:
数据打包单元,适于在所述设备编号的集合不包括所述目标设备的设备编号时,至少根据所述源数据中的数据信息和目标设备的设备编号获得适于在所述总线上传输的数据包。
可选地,所述控制器还包括:
数据包解析单元,适于对数据包进行解析处理以获得所述数据包中的数据信息和目标设备的设备编号;
第二发送单元,适于在所述设备编号的集合包括所述数据包中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述数据包中的数据信息至所述目标设备。
可选地,所述控制器还包括:
数据包处理单元,适于在所述设备编号的集合不包括所述目标设备的设备编号且所述源数据中的数据信息的长度大于数据长度阈值时,处理所述源数据中的数据信息以获得多个子数据信息,并将所述多个子数据信息和目标设备的设备编号发送至所述数据打包单元;
所述数据打包单元,还适于至少根据所述子数据信息与所述目标设备的设备编号获得适于在所述总线上传输的多个数据包,每个数据包均包括一个子数据信息和所述目标设备的设备编号。
可选地,所述控制器还包括:
时间同步处理单元,适于调整所述控制器与同步源的时间同步;
时间信息获得单元,适于根据设备发送源数据对应的时间获得时间信息;
所述源数据处理单元,还适于接收所述时间信息;
所述第一发送单元,还适于在所述设备编号的集合包括所述源数据中的目标设备的设备编号时发送所述时间信息至所述目标设备。
可选地,所述控制器还包括:
时间同步处理单元,适于调整所述控制器与同步源的时间同步;
时间信息获得单元,适于根据设备发送源数据对应的时间获得时间信息;
所述源数据处理单元,还适于接收所述时间信息;
所述数据打包单元,还适于在所述设备编号的集合不包括所述目标设备的设备编号时,根据所述时间信息、源数据中的数据信息和目标设备的设备编号获得适于在所述总线上传输的数据包。
可选地,所述控制器还包括:
设备数据包解析单元,适于对数据包进行解析处理以获得所述数据包中的时间信息、数据信息和目标设备的设备编号;
第二发送单元,适于在所述设备编号的集合包括所述数据包中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述数据包中的数据信息和时间信息至所述目标设备。
可选地,所述数据打包单元获得的适于在总线上传输的数据包为短数据帧传输格式的数据包,所述数据包包括:数据包头标志、目标设备的设备编号、时间信息、数据信息、校验信息和数据包结束标志。
可选地,所述数据打包单元获得的适于在总线上传输的数据包为长数据帧传输格式的数据包,所述数据包包括:数据包头标志、目标设备的设备编号、时间信息、数据长度信息、数据信息、校验信息和数据包结束标志。
可选地,所述总线***还包括:至少一个控制单元,每个控制单元对应连接一个控制器,适于获得所述控制器的性能参数并进行分析处理。
可选地,所述设备具有预设优先级,所述控制器还适于根据设备的预设优先级优先处理预设优先级高的设备发送的源数据。
可选地,所述总线***中的控制器分为主控制器和从控制器,所述总线***中各个设备的设备编号由所述主控制器进行分配。
与现有技术相比,本发明的技术方案具有以下优点:
本发明的总线***中,可以通过控制器灵活的设置与该控制器相连的各个设备的协议类型,并通过第一发送单元或数据打包单元对源数据进行相应的处理后发送至目标设备。本发明的总线***中,各个设备可以根据需要自由的接入总线,实现了各种类型的设备之间的互联和通信。另外,本发明的控制器与各个设备之间的通信不需要设置成统一的传输速率,从而降低了设备接入总线的成本。
进一步地,本发明的控制器可以在源数据中数据信息的长度大于数据信息阈值时,将所述数据信息处理成多个子数据信息,并根据所述子数据信息与对应的目标设备的设备编号获得适于在总线上传输的数据包。从而提高了本发明总线***中数据的传输效率。
进一步地,本发明总线***中还可以包括同步源,各个控制器基于所述同步源进行时间同步,并将设备发送源数据对应的时间信息发送至目标设备,这样目标设备在接收到相应的数据时可以根据接收到该数据对应的时间信息与设备发送源数据对应的时间信息之间的差获得该目标设备的延迟,从而提高了总线***的数据处理的精确度。
附图说明
图1是本发明总线***的实施例一的结构示意图;
图2是本发明总线***的实施例二的结构示意图;
图3是适于在本发明总线***的总线上传输的短数据帧传输格式的数据包的示意图;
图4是适于在本发明总线***的总线上传输的长数据帧传输格式的数据包的示意图;
图5是本发明总线***的实施例三的结构示意图;
图6是本发明总线***的实施例四的结构示意图。
具体实施方式
正如背景技术中所述,现有的各种现场总线各自都有自己的生存空间,多种总线技术标准共存。各种现场总线中的现场设备的接口类型千差万别,各种现场总线之间无法实现自由互联和通信。
本发明提供了一种可以扩展应用的自适应的控制装置和总线***。基于本发明,各种类型的终端设备可以方便的接入到总线***中,各种不同接口和通信速率的设备可以直接采用自身已有的通信接口或根据自身需求设计的通信接口,而不需要采用针对某一种总线***所必须的控制器。并且,各终端设备可以采用自身设备所需要的速率传输,而不需要采用统一速率。通过本发明,各种类型的终端设备实现了自由的互联及通信。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
图1示出了本发明总线***的实施例一的结构示意图。参考图1,所述总线***包括:总线(图中未示出)和控制装置,所述控制装置包括:控制器10以及至少一个与所述控制器10连接的设备。在本实施例中,与所述控制器10连接的设备包括第一设备20和第二设备30。当然,在其他实施例中,所述总线***还可以其他数量的设备,本发明对此不做限制。
继续参考图1,所述控制器10包括:设置单元11、源数据处理单元12和第一发送单元13。
所述设置单元11适于设置并保存设备、设备编号和协议类型的对应关系,保存所述设备编号的集合。
举例来说,所述设置单元11可以在具体应用场景下根据需要接入所述控制器10的设备类型来设置各个设备对应的协议类型及设备编号,例如,可以将所述第一设备20设置为符合CAN协议类型的设备、将所述第一设备20的设备编号设置为1.1;将所述第二设备30设置为符合UART协议类型的设备、将所述第二设备30的设备编号设置为1.2。这样,所述设置单元11保存的设备编号的集合为(1.1、1.2)。
所述源数据处理单元12连接所述第一设备20和第二设备30,适于接收设备发送的源数据,根据发送所述源数据的设备对应的协议类型确定所述源数据中数据信息和目标设备的设备编号。
本实施例中,所述设置单元11中保存的协议类型可以包括数据信息位置和目标地址位置,所述源数据处理单元12适于根据发送所述源数据的设备对应的协议类型中的数据信息位置确定所述源数据中数据信息,以及根据所述发送源数据的设备对应的协议类型中的目标地址位置确定所述目标设备的设备编号。
具体地,当所述第一设备20向所述第二设备30发送数据时,所述第一设备20为发送源数据的设备;所述第二设备30为目标设备。那么,所述源数据处理单元12接收所述第一设备20发送的源数据,根据所述第一设备20对应协议类型确定所述源数据中数据信息和所述第二设备30的设备编号。
仍假设所述第一设备20的设备编号为1.1,符合CAN协议类型;所述第二设备30的设备编号为1.2,符合UART协议类型。那么,所述第一设备20发送的源数据为符合CAN协议类型的报文;例如,所述第一设备20发送的源数据为CAN标准格式报文,即所述源数据由帧起始、仲裁场、控制场、数据场、校验场、应答场和帧结束等七部分组成。所述源数据处理单元12根据所述第一设备20对应的CAN协议类型从CAN标准格式报文的数据场中获取数据信息,从仲裁场中获取第二设备30的设备编号1.2。
反之,当所述第二设备30向所述第一设备20发送数据时,所述第二设备30为发送源数据的设备,所述第一设备20为目标设备。那么,所述源数据处理单元12接收所述第二设备30发送的源数据,根据所述第二设备30对应协议类型确定所述源数据中数据信息和所述第一设备20的设备编号。所述源数据处理单元12获取所述第二设备30发送的源数据中数据信息的过程以及获取第一设备20的设备编号的过程与前述获取过程相类似,在此不再赘述。
继续参考图1,所述第一发送单元13连接所述第一设备20和第二设备30,适于在所述设置单元11中保存的设备编号的集合包括所述源数据中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述源数据中的数据信息至所述设备目标设备。
下面再结合具体实例对本实施例的总线***的工作过程做进一步说明。为了方便说明,首先假设所述第一设备20为发送源数据的设备,所述第二设备30为目标设备。并且仍假设所述第一设备20符合CAN协议类型,对应的设备编号为1.1;所述第二设备30符合UART协议类型,对应的设备编号为1.2;所述设置单元11中保存的设备编号的集合为(1.1,1.2)。
所述第一设备20向所述控制器10的源数据处理单元12发送源数据,所述源数据处理单元12接收所述源数据,并根据所述第一设备20对应的CAN协议类型从CAN格式报文的数据场中获取所述源数据中的数据信息,从CAN格式报文的仲裁场中获取第二设备30的设备编号1.2。
所述第一发送单元13判断所述源数据处理单元12获取的第二设备30的设备编号1.2是否包含于所述设置单元11中保存的设备编号的集合中。由于所述设置单元11中保存的设备编号的集合为(1.1,1.2),所述设备编号的集合包括所述第二设备30的设备编号1.2,因此所述第一发送单元13根据第二设备30对应的UART协议类型发送所述第一设备20发送的源数据中的数据信息至所述第二设备30。
具体地,所述协议类型可以包括通信参数,所述通信参数与目标设备的传输速率相关。所述第一发送单元13适于根据所述第二设备30对应的UART协议类型中的通信参数(如传输速率为115200bps)将所述源数据中的数据信息按照串口数据的格式发送至所述第二设备30。
在以上具体实例中,所述控制器10不需要将第一设备20发送的CAN格式报文转换成所述第二设备30所需的UART格式报文,而是由所述控制器10从CAN格式文中获取裸数据信息并将所述裸数据信息发送至第二设备30即完成了第一设备20向所述第二设备30发送数据的过程。
需要说明的是,所述控制器10还可以与其他类型的设备相连,换句话说,所述控制器10和其他类型的设备的连接接口还可以为:I2C接口、SPI接口、1-wire接口、USB接口、LIN接口、I2S接口、Interbus接口或者EtherNet接口等等,本发明对此不做限制。
另外,所述控制器10与设备(如第一设备20或第二设备30)的连接接口既可以是固化的连接接口,也可以由FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)根据需求设计和加载相应的模块接口,从而实现所述控制器与设备的连接接口的模块化设计。
本实施例中,所述控制器可以根据需求较灵活的设置与其连接的各个设备的类型,从而实现多种类型的设备的互联与通信。并且,本实施例的控制器与各个设备之间的通信不需要再设置成统一的传输速率,也不需要将源数据的格式转换成目标设备所需的数据格式,而是根据设备本身的协议类型从源数据中获取相应的裸数据,将所述获取到的裸数据发送至目标设备,从而降低了设备接入总线的成本。
实施例二
图2示出了本发明总线***的实施例二的结构示意图。参考图2,所述总线***包括:总线40、第一控制装置和第二控制装置,所述第一控制装置和所述第二控制装置分布于所述总线40上,即所述第一控制装置和所述第二控制装置均连接所述总线40。其中,所述总线40可以为LVDS光缆、差分总线或者光纤,本发明对此不做限制。
具体地,所述第一控制装置包括:第一控制器10以及与所述第一控制器10相连的第一设备20和第二设备30;所述第二控制装置包括:第二控制器70以及与所述第二控制器70相连的第三设备80和第四设备90。
参考图2,所述第一控制器10中的设置单元11、源数据处理单元12、第一发送单元13以及所述第二控制器70中的设置单元71、源数据处理单元72、第一发送单元73与实施例一中控制器的设置单元、源数据处理单元、第一发送单元相类似,在此不再赘述。
以下仅就本实施例与实施例一的区别之处进行重点说明,并且由于所述第一控制器10和第二控制器70的结构相类似,以下仅就第一控制器10的具体结构进行详细说明,所述第二控制器70中的相应单元可以参考所述第一控制器10中的对应单元,以下不再赘述。
需要说明的是,所述设置单元11中保存的设备编号的集合为与所述第一控制器10相连的所述第一设备20和所述第二设备30的设备编号;所述设置单元71中保存的设备编号的集合为与所述第二控制器70相连的所述第三设备80和所述第四设备90的设备编号。
参考图2,所述第一控制器10还包括数据打包单元14。所述数据打包单元14连接所述设置单元11、源数据处理单元12和总线40,所述数据打包单元14适于在所述设置单元11保存的设备编号的集合不包括所述源数据处理单元12获取的目标设备的设备编号时,至少根据所述源数据中的数据信息和目标设备的设备编号获得适于在所述总线40上传输的数据包。
举例来说,假设所述第一设备20为发送源数据的设备,所述第三设备80为目标设备:那么,所述源数据处理单元12获取所述源数据中的数据信息和目标设备的设备编号(所述源数据处理单元12的工作过程可参考实施例一中对源数据处理单元的描述,在此不再赘述)。由于所述设置单元11中保存的设备编号的集合不包括所述第三设备80的设备编号,因此,所述数据打包单元14至少根据所述源数据中的数据信息和所述第三设备80的设备编号获得适于在所述总线40上传输的数据包。
所述数据打包单元14获得的适于在总线40上传输的数据包可以为短数据帧传输格式的数据包,如图3所示,所述短数据帧传输格式的数据包包括:数据包头标志、目标设备的设备编号、时间信息、数据信息、校验信息和数据包结束标志。
其中,所述目标设备的设备编号和数据信号即是由所述源数据处理单元12获取得到的;所述时间信息的获得在以下会有详细说明,在此先不赘述。图3所示格式的数据包的其他部分,如数据包头标志、校验信息和数据包结束标志均由所述数据打包单元14获得,本发明对此不做限制。
另外,所述数据打包单元14获得的适于在总线40上传输的数据包还可以为长数据帧传输格式的数据包,如图4所示,所述长数据帧传输格式的数据包可以包括:数据包头标志、目标设备的设备编号、时间信息、数据长度信息、数据信息、校验信息和数据包结束标志。
图4所示的长数据帧传输格式的数据包中,所述目标设备的设备编号和数据信息均是由所述源数据处理单元12获得的;所述数据包头标志、检验信息和数据包结束标志由所述数据打包单元14获得,所述时间信息和所述数据长度信息的获得在以下内容中有详细说明,在此先不赘述。
继续参考图2,所述第一控制器10还可以包括:数据包解析单元15和第二发送单元16。所述数据包解析单元15,适于从总线40上接收数据包并进行解析处理以获得所述数据包中的数据信息和目标设备的设备编号。第二发送单元16,适于在所述设置单元11中保存的设备编号的集合包括所述数据包中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述数据包中的数据信息至所述目标设备。
举例来说,假设所述第四设备90为发送源数据的设备,所述第二设备30为目标设备:那么,所述第二控制器70中的数据打包单元74对所述第四设备90发送的源数据进行处理并打包成适于在所述总线40上传输的数据包。
所述第一控制器10中的数据包解析单元15从总线40上接收所述数据包并进行解析处理,从而获得数据包中的数据信息和作为目标设备的第二设备30的设备编号。
由于所述第二设备30的设备编号包含于所述设置单元11中保存的设备编号的集合中,因此,所述第二发送单元16根据所述第二设备30对应的协议类型发送所述数据包中的数据信息至所述第二设备30。这样就完成了所述第四设备90向所述第二设备30发送数据的过程。
本实施例中,在所述总线40上传输的数据包具有相同的协议格式,具有通用性,与所述第一控制器10相连的各个设备以及与所述第二控制器70相连的各个设备只需按照各自本身的协议类型向所述控制器10或第二控制器70发送数据即可实现对总线***中其他设备的访问,从而实现了多种类型的设备之间的相互通信。也就是说,无论与各个控制器相连的设备发送的源数据为何种格式,各个控制器均能将所述源数据打包处理成统一格式的数据包以便在总线上进行传输。这样就实现了多种不同类型的设备之间的自由通信和互联。
另外,本实施例的总线***中,各个控制器与其相连的设备之间的通信可以根据各个设备本身的协议类型来进行,而不需要如现有技术中的必须按照统一的通信参数进行设置,各个设备接入控制器的方式非常灵活,提高了控制器的实用性。
实施例三
图5示出了本发明总线***的实施例三的结构示意图。参考图5,本实施例的总线***包括:总线40和控制装置,所述控制装置包括:控制器10以及与所述控制器10相连的第一设备20和第二设备30。
所述控制器10中的设置单元11、源数据处理单元12和第一发送单元13可参考实施例一和实施例二中相对应的单元的说明,在此不再赘述。
本实施例中,所述控制器10还包括数据包处理单元17。所述数据包处理单元17连接所述设置单元11、所述源数据处理单元12和所述数据打包单元14。具体地,所述数据包处理单元17,适于在所述设置单元11中保存的设备编号的集合不包括所述源数据处理单元12获取的目标设备的设备编号且所述源数据中的数据信息的长度大于数据长度阈值时,处理所述源数据中的数据信息以获得多个子数据信息,并将所述多个子数据信息和目标设备的设备编号发送至所述数据打包单元14。
所述数据打包单元14适于至少根据所述子数据信息与所述目标设备的设备编号获得适于在所述总线40上传输的多个数据包,每个数据包均包括一个子数据信息和所述目标设备的设备编号。
在本实施例中,所述数据长度阈值与总线40的数据吞吐量相关,若所述总线40的数据吞吐量越大,所述数据长度阈值越大,反之,所述总线40的数据吞吐量越小,所述数据长度阈值越小。所述数据吞吐量指的是在没有帧丢失的情况下,设备能够接受并转发的最大数据速率,单位为比特/秒或字节/秒。
举一个简单的例子,假设所述数据长度阈值为2Mbit,也就是说,当源数据中的数据信息的长度大于2Mbit,并且用于接收源数据的目标设备与发送所述源数据的设备未对应连接同一个控制器时,所述数据包处理单元17将接收到的源数据中的数据信息处理成多个子数据信息,其中每个子数据信息的长度均小于所述数据长度阈值即小于2Mbit。所述数据打包单元14将每个子数据信息与目标设备的设备编号打包成一个数据包并发送至总线40。
需要说明的是,所述数据包处理单元17可以获取所述源数据中数据信息的长度信息,所述数据打包单元14根据所述数据包处理单元17获取的长度信息形成图4中所示的数据长度信息。
本实施例中,当存在大量数据需要由总线传输时,所述控制器可以根据总线数据吞吐量自适应的控制数据传输的长度以提高数据的传输速率。
实施例四
图6示出了本发明总线***的实施例四的结构示意图。参考图6,本实施例中,所述总线***包括:由第一控制器10、第一设备20和第二设备30组成的第一控制装置、总线40、同步源50以及由第二控制器70、第三设备80和第四设备90组成的第二控制装置。
所述第一控制器10包括:设置单元11、源数据处理单元12、第一发送单元13、数据打包单元14、数据包解析单元15、第二发送单元16、时间同步单元18和时间信息获得单元19。所述第二控制器70包括:设置单元71、源数据处理单元72、第一发送单元73、数据打包单元74、数据包解析单元75、第二发送单元76、时间同步单元78和时间信息获得单元79。
其中,所述第一控制器10与所述第二控制器70的结构相同,并且所述第一控制器10中的设置单元11以及第二控制器70中的设置单元71的具体结构与工作原理均可以参考前述实施例中的相应单元,在此不再赘述。下面再结合附图对本实施例的总线***做进一步详细说明,所述第二控制器70中各个单元的具体工作原理可参考以下对所述第一控制器10的说明,对此不再赘述。
参考图6,所述同步源50适于按照一定的时钟频率进行计时,例如在本实施例中,可以设定所述同步源50以10ns为单位计时,所述同步源50的计时信息作为所述总线***的同步时间信息。
所述时间同步处理单元18连接所述同步源50,适于调整所述第一控制器10与同步源50的时间同步,并将同步后的时间发送至与所述第一控制器10相连的各个设备。
所述时间信息获得单元19连接所述时间同步处理单元18和源数据处理单元12。所述时间信息获得单元19适于根据设备发送源数据对应的时间获得时间信息。
所述源数据处理单元12适于接收设备发送的源数据,根据发送所述源数据的设备对应的协议类型确定所述源数据中的数据信息和目标设备的设备编号,并且所述源数据处理单元12还适于接收所述时间信息获得单元19获得的时间信息。
所述第一发送单元13适于在所述设置单元11中保存的设备编号的集合包括所述源数据中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述源数据中的数据信息至所述目标设备,另外,所述第一发送单元13还适于将所述源数据处理单元12发送的时间信息发送至所述目标设备。
举例来说,假设第一设备20为发送源数据的设备,所述第二设备30为目标设备。那么,当所述第一设备20向所述源数据处理单元12发送源数据时,所述时间信息获得单元19根据所述第一设备20发送源数据对应的时间获得时间信息,为区别说明,将所述第一设备20发送源数据对应的时间信息标识为第一时间信息。
所述源数据处理单元12适于接收所述第一设备20发送的源数据,根据所述第一设备20对应的协议类型确定所述源数据中数据信息和第二设备30的设备编号,并且所述源数据处理单元12还适于接收所述第一设备20发送源数据所对应的第一时间信息。
所述第一发送单元13经过判断得出所述设置单元11保存的设备编号的集合包括所述源数据中的第二设备30的设备编号,因此,所述第一发送单元13根据所述第二设备30对应的协议类型发送所述源数据中的数据信息及所述源数据处理单元12接收到的所述第一时间信息至设备所述第二设备30。
所述第二设备30可以根据所述时间同步处理单元18获得接收到所述第一时间信息时的第二时间信息,并根据所述第二时间信息和第一时间信息的差确定该设备与所述第一控制器10之间的延迟。类似地,其他设备作为目标设备时,也可以根据所述时间同步处理单元18获得接收到相应数据时的时间信息并与发送源数据的时间信息相比较以得出该设备与所述第一控制器10的延迟。
通过所述时间同步处理单元18和时间信息获得单元19,与所述第一控制器10相连的各个设备可以准确的获取发送源数据的时间信息以及接收相应数据的时间信息,从而可以更加精确的做出响应,提高了总线***的实时性和可靠性。
继续参考图6,本实施例中,所述数据打包单元14适于在所述设置单元11保存的设备编号的集合不包括所述目标设备的设备编号时,根据所述源数据处理单元12发送的时间信息、源数据中的数据信息和目标设备的设备编号获得适于在所述总线40上传输的数据包。
再结合参考图3,所述短数据帧传输格式的数据包中的时间信息指的就是所述时间信息获得单元19获取的第一时间信息,即设备发送源数据的时间。具体地,所述时间信息获得单元19可以将设备发送源数据时对应的后16位时间信息作为所述数据包中的时间信息,并由所述数据打包单元14将设备发送源数据对应的后16位时间信息与源数据中的数据信息、目标设备的设备编号一起打包成图3所示格式的数据包。
相对应地,本实施例中的所述数据包解析单元15,还适于从总线40上获得数据包,并对数据包进行解析处理以获得所述数据包中的时间信息、数据信息和目标设备的设备编号。应当理解的是,所述数据包解析单元15获取的数据包是由所述第一控制器10以外的控制器发送的。
第二发送单元16,还适于在所述设置单元11中保存的设备编号的集合包括所述数据包中的目标设备的设备编号时,根据所述目标设备对应的协议类型发送所述数据包中的数据信息和时间信息至目标设备。
举例来说,假设与第二控制器70相连的第四设备90为发送源数据的设备,所述与第一控制器10相连的第二设备30为目标设备。
当所述第四设备90发送的源数据至所述源数据处理单元72时,所述时间信息获得单元79获得所述第四设备90发送源数据时的时间信息;所述源数据处理单元72对所述第四设备90发送的源数据进行处理后获得源数据中的数据信息和第二设备30的设备编号;所述数据打包单元74基于所述源数据处理单元72发送的时间信息、源数据中的数据信息和第二设备30的设备编号进行打包以获得适于在总线40上传输的数据包。
所述数据包经由所述总线40传输至所述第一控制器10;所述第一控制器10中的数据包解析单元15获取该数据包并解析获得所述数据包中的时间信息、数据信息和第二设备30的设备编号;
由于所述设置单元11中保存的设备编号的集合包含所述第二设备30的设备编号,因此,所述第二发送单元16根据第二设备30对应的协议类型发送所述数据包中的数据信息和时间信息至所述第二设备30。从而完成所述第四设备90向所述第二设备30发送数据的过程。
所述第二设备30根据所述时间同步处理单元18获取接收至所述数据包中的数据信息和时间信息的第二时间信息,并通过比较所述第二时间信息与所述数据包中的时间信息即可得出所述第二设备30的延迟。
在其他实施例中,所述总线***还可以包括:至少一个控制单元,每个控制单元对应连接一个控制器,所述控制单元适于获得与该控制单元相连的控制器的性能参数并进行分析。
所述控制单元与所述控制器之间可以通过PCI-e(PCI-Express)接口或者USB接口等进行连接,本发明对此不做限制。所述控制单元可以获取所述控制器的各个接口的工作状态、各个接口的传输速率等参数,并对获取到的参数进行分析。所述控制单元可以采用现有的PC主机来实现分析和处理功能,当然也可以采用其他处理器来实现,本发明对此不做限制。
另外,在其他实施例中,还可以预先设定总线***中各个设备的预设优先级,所述控制器还适于根据设备的预设优先级优先处理预设优先级高的设备发送的源数据。
举例来说,假设总线***中的一个控制器连接设备1和设备2,并且所述设备1的预设优先级高于所述设备2的预设优先级。
那么,当所述设备1和设备2同时向所述控制器发送源数据时可能会出现以下几种情况:
所述设备1和所述设备2发送的源数据的总长度小于或等于总线的吞吐量,那么,所述设备1和设备2发送的源数据将分别被打包并同时由总线发送出去。
所述设备1和所述设备2单个发送的源数据的长度均小于总线的吞吐量,但是总长度大于总线的吞吐量,那么,所述控制器将优先将预设优先级较高的设备1的源数据进行打包处理,在所述设备1发送的源数据处理完毕后,再处理预设优先级较低的设备2发送的源数据。
当然,所述总线***中各个设备的预设优先级并不是固定不变的,在实际应用中,可以根据实际情况进行调整。
另外,需要说明的是,本发明总线***中的控制器还可以分为主控制器和从控制器,所述总线***中各个设备的设备编号由所述主控制器进行分配;当然,也可以预先固定设计好所述总线***中各个设备的设备编号。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。