SPI协议与CANopen协议通信的网关的制作方法

文档序号:12182578阅读:438来源:国知局
SPI协议与CANopen协议通信的网关的制作方法与工艺

本发明涉及通信技术,尤其涉及一种SPI协议与CANopen协议通信的网关。



背景技术:

串行外设接口(Serial Peripheral Interface;简称:SPI)协议是一种高速的、全双工、同步的通信总线协议。由于SPI协议为全双工且没有定义速度限制,其传输速度通常能够达到甚至超过10Mbps,非常适用于高速数据传输。因此,SPI总线协议在列车乘客信息系统(Passenger Information System;简称:PIS系统)和闭路电视系统(Closed Circuit Television;简称CCTV系统)中得到了广泛应用。CANopen是一种基于控制局域网络(Controller Area Network;简称CAN)的高层通讯协议,包括通信子协议和设备子协议,CANopen协议在列车控制网络系统中有广泛的应用。在列车实际控制过程中,SPI协议和CANopen协议之间需要进行数据交换。

但是,现有技术中,SPI协议与CANopen协议的数据帧格式不同,从而导致SPI协议格式的数据与CANopen协议格式的数据无法直接进行通信。



技术实现要素:

本发明提供一种SPI协议与CANopen协议通信的网关,以实现SPI协议格式的数据与CANopen协议格式的数据之间的通信。

本发明提供一种SPI协议与CANopen协议通信的网关,包括:

SPI接口、控制器和CANopen总线收发器,其中,所述SPI接口、所述控制器和所述CANopen总线收发器依次相连,所述控制器用于SPI协议格式的数据和CANopen协议格式的数据之间的相互转换,所述SPI接口用于在SPI总线与所述控制器之间传输所述SPI协议格式的数据,所述CANopen总 线收发器用于在CANopen总线与所述控制器之间传输所述CANopen协议格式的数据。

进一步地,上述SPI协议与CANopen协议通信的网关中,所述CANopen总线收发器还用于CANopen协议格式的数字信号和CANopen协议格式的双线差分信号之间的相互转换。

进一步地,上述SPI协议与CANopen协议通信的网关中,还包括:SPI光电隔离接口,所述SPI光电隔离接口位于所述SPI接口与所述控制器之间,所述SPI光电隔离接口用于滤除所述SPI协议格式的数据中的干扰信号。

进一步地,上述SPI协议与CANopen协议通信的网关中,还包括:CANopen光电隔离接口,所述CANopen光电隔离接口位于所述CANopen总线收发器与所述控制器之间,所述CANopen光电隔离接口用于滤除所述CANopen协议格式的数据中的干扰信号。

进一步地,上述SPI协议与CANopen协议通信的网关中,所述控制器为STM32F103。

进一步地,上述SPI协议与CANopen协议通信的网关中,所述STM32F103还用于提供工作电源和监视电压。

本发明提供一种SPI协议与CANopen协议通信的网关,通过SPI接口、控制器和CANopen总线收发器依次相连,控制器用于SPI协议格式的数据和CANopen协议格式的数据之间的相互转换,SPI接口用于在SPI总线与控制器之间传输SPI协议格式的数据,CANopen总线收发器用于在CANopen总线与控制器之间传输CANopen协议格式的数据,能使SPI协议和CANopen协议的之间相互转换,实现了SPI协议格式的数据与CANopen协议格式的数据直接进行通信。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明SPI协议与CANopen协议通信的网关实施例一的结构示意图;

图2为本发明SPI协议与CANopen协议通信的网关实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明SPI协议与CANopen协议通信的网关实施例一的结构示意图。如图1所示,本实施例提供的SPI协议与CANopen协议通信的网关包括:

SPI接口11、控制器12和CANopen总线收发器13,其中,SPI接口11、控制器12和CANopen总线收发器13依次相连,控制器12用于SPI协议格式的数据和CANopen协议格式的数据之间的相互转换,SPI接口用于在SPI总线14与控制器12之间传输SPI协议格式的数据,CANopen总线收发器13用于在CANopen总线15与控制器12之间传输CANopen协议格式的数据。

具体地,本实施例提供的SPI协议与CANopen协议通信的网关可以应用在列车等工业现场控制领域中。在需要SPI协议格式的数据与CANopen协议格式的数据通信时,由于SPI协议格式的数据和CANopen协议格式的数据的数据帧格式不同,两者之间不能直接通信,需要使用本实施例提供的SPI协议与CANopen协议通信的网关实现两者的通信。SPI接口11、控制器12和CANopen总线收发器13依次电连接,即SPI接口11连接控制器12,控制器12连接CANopen总线收发器13。

当需要从SPI总线14发送数据到CANopen总线15时:SPI接口11接收SPI总线14上发送的SPI协议格式的数据,或者,SPI接口11以一定的频率定期从SPI总线14上获取SPI协议格式的数据,本实施例对此不做限制,只要SPI接口11能从SPI总线14上得到SPI协议格式的数据即可。SPI接口11将SPI协议格式的数据发送给控制器12,控制器12将SPI协议格式的数 据转换成CANopen协议格式的数据,具体地,控制器12对SPI协议格式的数据进行解码,解码出有效数据后再按照CANopen协议格式的数据进行封装,得到CANopen协议格式的数据。控制器12将转换后的CANopen协议格式的数据发送给CANopen总线收发器13,CANopen总线收发器13将CANopen协议格式的数据发送给CANopen总线15,完成一次SPI总线14上的数据和CANopen总线15上的数据的通信。

当需要从CANopen总线15发送数据到SPI总线14时:CANopen总线收发器13接收CANopen总线15上发送的CANopen协议格式的数据,或者,CANopen总线收发器13以一定的频率定期从CANopen总线15上获取CANopen协议格式的数据,本实施例对此不做限制。CANopen总线收发器13将CANopen协议格式的数据发送给控制器12,控制器12将CANopen协议格式的数据转换成SPI协议格式的数据,具体地,控制器12对CANopen协议格式的数据进行解码,解码出有效数据后再按照SPI协议格式的数据进行封装,得到SPI协议格式的数据。控制器12将转换后的SPI协议格式的数据发送给SPI接口11,SPI接口11将SPI协议格式的数据发送给SPI总线14,完成一次CANopen总线15上的数据和SPI总线14上的数据的通信。

可选的,在上述实施例中,SPI接口11从SPI总线上得到SPI协议格式的数据后可以对SPI协议格式的数据进行一定的处理,例如,加上SPI接口自身的报头标识等后再发送给控制器12。CANopen总线收发器13从CANopen总线15上得到CANopen协议格式的数据后可以对CANopen协议格式的数据进行一定的处理,例如,加上CANopen总线收发器13自身的报头标识等后再发送给控制器12。控制器12在进行SPI协议格式的数据和CANopen协议格式的数据之间的相互转换后,可以将转换后的数据存储在自身的缓存中,以备后续调用。控制器12在进行SPI协议格式的数据和CANopen协议格式的数据的相互转换时,可以先对CANopen网络进行初始化,再通过特定的端口接收CANopen总线收发器13发送的CANopen协议格式的数据,再将CANopen协议格式的数据转换成SPI协议格式的数据。

进一步地,CANopen总线上传输的是CANopen协议格式的双线差分信号。CANopen协议格式的数据包括CANopen协议格式的数字信号和CANopen协议格式的双线差分信号。CANopen总线收发器13还用于CANopen协议格 式的数字信号和CANopen协议格式的双线差分信号之间的相互转换。SPI协议格式的数据为数字信号,控制器12将SPI协议格式的数据转换为CANopen协议格式的数字信号,控制器12将CANopen协议格式的数字信号发送给CANopen总线收发器13,CANopen总线收发器13还用于将CANopen协议格式的数字信号转换成CANopen协议格式的双线差分信号。或者,在CANopen总线15上的数据传输至SPI总线14的方向时,将CANopen协议格式的双线差分信号转换成CANopen协议格式的数字信号。

本实施例提供的SPI协议与CANopen协议通信的网关,通过SPI接口、控制器和CANopen总线收发器依次相连,控制器用于SPI协议格式的数据和CANopen协议格式的数据之间的相互转换,SPI接口用于在SPI总线与控制器之间传输SPI协议格式的数据,CANopen总线收发器用于在CANopen总线与控制器之间传输CANopen协议格式的数据,能使SPI协议和CANopen协议的之间相互转换,实现了SPI协议的数据与CANopen协议的数据直接进行通信。

图2为本发明SPI协议与CANopen协议通信的网关实施例二的结构示意图。在上述实施例一的基础上,本实施例提供的SPI协议与CANopen协议通信的网关还包括:

SPI光电隔离接口21,SPI光电隔离接口位于SPI接口11和控制器12之间,SPI光电隔离接口21用于滤除SPI协议格式的数据中的干扰信号;CANopen光电隔离接口22,CANopen光电隔离接口22位于CANopen总线收发器13和控制器12之间,CANopen光电隔离接口22用于滤除CANopen协议格式的数据中的干扰信号。

具体地,SPI光电隔离接口21和CANopen光电隔离接口22能对SPI协议格式的数据中的干扰信号和CANopen协议格式的数据中的干扰信号进行滤除,例如,隔离噪声信号和干扰信号,以防止干扰信号对控制器12造成干扰和损坏。

在本实施例中,当需要从SPI总线14发送数据到CANopen总线15时:SPI接口11从SPI总线14上得到SPI协议格式的数据之后,SPI接口11将SPI协议格式的数据发送给SPI光电隔离接口21,SPI光电隔离接口21对SPI协议格式的数据中的干扰信号进行隔离后,将SPI协议格式的数据发送给控 制器12,控制器12将SPI协议格式的数据转换成CANopen协议格式的数字信号,控制器12将CANopen协议格式的数字信号发送给CANopen光电隔离接口22,CANopen光电隔离接口22对CANopen协议格式的数字信号中的干扰信号进行隔离后将CANopen协议格式的数字信号发送给CANopen总线收发器13,CANopen总线收发器13将CANopen协议格式的数字信号转换成CANopen协议格式的双线差分信号,发送给CANopen总线15,完成一次SPI总线14上的数据到CANopen总线15上的数据之间的通信。

当需要从CANopen总线15发送数据到SPI总线14时:CANopen总线收发器13从CANopen总线15上获取CANopen协议格式的双线差分信号,CANopen总线收发器13将CANopen协议格式的双线差分信号转换成CANopen协议格式的数字信号,发送给CANopen光电隔离接口22,CANopen光电隔离接口22对CANopen协议格式的数字信号中的干扰信号进行隔离后,将CANopen协议格式的数字信号发送给控制器12,控制器12将CANopen协议格式的数字信号转换成SPI协议格式的数据,发送给SPI光电隔离接口21,SPI光电隔离接口对SPI协议格式的数据中的干扰信号进行隔离,发送给SPI接口11,SPI接口11将SPI协议格式的数据发送给SPI总线14,完成一次CANopen总线15上的数据和SPI总线14上的数据的通信。

需要说明的是,本实施例中的SPI光电隔离接口21包括SPI光电隔离接口发送模块和SPI光电隔离接收模块。CANopen光电隔离接口22包括CANopen光电隔离接口发送模块和CANopen光电隔离接口接收模块。

本实施例提供的SPI协议与CANopen协议通信的网关,通过设置SPI光电隔离接口,位于SPI接口和控制器之间,SPI光电隔离接口用于滤除SPI协议格式的数据中的干扰信号,CANopen光电隔离接口,位于CANopen总线收发器与控制器之间,CANopen光电隔离接口用于滤除CANopen协议格式的数据中的干扰信号,使得SPI协议格式的数据和CANopen协议格式的数据中的干扰信号被滤除,提高了SPI协议格式的数据和CANopen协议格式的数据通信的可靠性。

进一步地,在上述任一实施例中,控制器为STM32F103,它还用于提供工作电源和监视电压。

具体地,STM32F103通过内置的电压调节器为自身提供工作电源,并且 通过内置的可编程电压检测器监控工作电源的电压是否超过预先设置的电压阈值。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1