SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf

上传人:000****221 文档编号:4077201 上传时间:2018-08-14 格式:PDF 页数:9 大小:511.42KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510063858.7

申请日:

2015.02.06

公开号:

CN104601423A

公开日:

2015.05.06

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 12/40申请日:20150206|||公开

IPC分类号:

H04L12/40

主分类号:

H04L12/40

申请人:

上海联影医疗科技有限公司

发明人:

马星星

地址:

201807上海市嘉定区城北路2258号

优先权:

专利代理机构:

上海专利商标事务所有限公司31100

代理人:

骆希聪

PDF下载: PDF下载
内容摘要

本发明提供了一种SPI总线节点设备及其通信方法以及SPI总线拓扑。该SPI总线节点设备包括SPI总线接口、接收数据缓存器、发送数据缓存器、CANopen协议单元以及存储器。该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen协议单元中CANopen协议,使该SPI总线节点设备在SPI总线协议之上的数据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存对象字典,该对象字典用于和应用层交换数据。该SPI总线节点设备和该SPI总线拓扑具有更高的可靠性和通用性。

权利要求书

权利要求书1.  一种SPI总线节点设备,包括SPI总线接口、接收数据缓存器以及发送数 据缓存器,其特征在于,该SPI总线节点设备还包括CANopen协议单元和存储器, 该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen 协议单元中配置CANopen协议,使该SPI总线节点设备在SPI总线协议上层的数 据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存对象字典, 该对象字典用于和应用层交换数据。 2.  如权利要求1所述的SPI总线节点设备,其特征在于,该对象字典的各条 目为该SPI总线节点设备的各功能的映射。 3.  如权利要求1所述的SPI总线节点设备,其特征在于,该SPI总线节点设 备配置为主设备。 4.  如权利要求1所述的SPI总线节点设备,其特征在于,该SPI总线节点设 备配置为从设备。 5.  如权利要求1所述的SPI总线节点设备,其特征在于,该SPI总线节点设 备具有节点识别号。 6.  如权利要求1所述的SPI总线节点设备,其特征在于,该SPI总线节点设 备传输的数据遵循CANOpen协议的规定。 7.  一种SPI总线拓扑,包括多个SPI总线节点设备,每一SPI总线节点设备 包括SPI总线接口、接收数据缓存器以及发送数据缓存器,其特征在于,该SPI 总线节点设备还包括CANopen协议单元和存储器,该CANopen协议单元连接该 接收数据缓存器和该发送数据缓存器且该CANopen协议单元中配置CANopen协 议,使该SPI总线节点设备在SPI总线协议上层的数据收发遵循CANopen协议, 该存储器连接该CANopen协议单元且储存对象字典,该对象字典用于和应用层交 换数据。 8.  根据权利要求7所述的SPI总线拓扑,其特征在于,该多个SPI总线节点 设备包括一个主设备和至少一个从设备。 9.  根据权利要求7所述的SPI总线拓扑,其特征在于,该对象字典的各条目 为该SPI总线节点设备的各功能的映射。 10.  根据权利要求7所述的SPI总线拓扑,其特征在于,每个SPI总线节点设 备具有节点识别号,且各SPI总线节点设备的节点识别号不同。 11.  根据权利要求7所述的SPI总线拓扑,其特征在于,各SPI总线节点设备 之间传输的数据遵循CANOpen协议的规定。 12.  一种SPI总线节点设备的通信方法,包括以下步骤: 在该SPI总线节点设备设置CANopen协议单元,该CANopen协议单元连接 该SPI总线节点设备的接收数据缓存器和发送数据缓存器且该CANopen协议单元 中配置CANopen协议; 在该SPI总线节点设备的存储器中储存对象字典,该存储器连接该CANopen 协议单元; 使用该CANopen协议单元使得在SPI总线协议上层的数据收发遵循CANopen 协议;以及 使用该对象字典和应用层交换数据。 13.  如权利要求12所述的方法,其特征在于,该对象字典的各条目为该SPI 总线节点设备的各功能的映射。

说明书

说明书SPI总线节点设备及其通信方法以及SPI总线拓扑
技术领域
本发明主要涉及SPI总线,尤其涉及一种SPI总线节点设备及其通信方法以及SPI总线拓扑。 
背景技术
串行外设接口(Serial Peripheral Interface,SPI)是一种高速、全双工、同步的通信总线。这种总线的优点是在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供了方便。但是这种总线的缺点也很明显,即没有指定的流控制,没有应答机制确认是否接收到数据。
为了克服SPI总线的缺点,工程上都会在SPI总线协议的基础上添加一个私有协议,这个私有协议位于SPI总线协议的上层,也就是私有协议仅仅利用SPI总线实现数据的收发,而数据的管理则由私有协议进行。
目前,私有协议大都由工程师自己定义,这样定义的协议可靠性较差,效率较低,而且不能通用。
发明内容
本发明要解决的技术问题是提供一种SPI总线节点设备以及SPI总线拓扑,其具有更高的可靠性和通用性。
为解决上述技术问题,本发明提供了一种SPI总线节点设备,包括SPI总线接口、接收数据缓存器、发送数据缓存器、CANopen协议单元以及存储器,该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen协议单元中配置CANopen协议,使该SPI总线节点设备在SPI总线协议上层的数据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存对象字典,该对象字典用于和应用层交换数据。
可选地,该对象字典的各条目为该SPI总线节点设备的各功能的映射。
可选地,该SPI总线节点设备可以配置为主设备。
可选地,该SPI总线节点设备可以配置为从设备。
可选地,其特征在于,该SPI总线节点设备具有节点识别号。
可选地,该SPI总线节点设备传输的数据包遵循CANOpen协议的规定。 
本发明还提出一种SPI总线拓扑,包括多个SPI总线节点设备,每一SPI总线节点设备包括SPI总线接口、接收数据缓存器以及发送数据缓存器,其特征在于,该SPI总线节点设备还包括CANopen协议单元和存储器,该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen协议单元中配置CANopen协议,使该SPI总线节点设备在SPI总线协议上层的数据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存对象字典,该对象字典用于和应用层交换数据。
可选地,该多个SPI总线节点设备包括一个主设备和至少一个从设备。
可选地,该对象字典的各条目为该SPI总线节点设备的各功能的映射。
可选地,每个SPI总线节点设备具有节点识别号,且各SPI总线节点设备的节点识别号不同。
可选地,各SPI总线节点设备之间传输的数据包遵循CANOpen协议的规定。
本发明还提供一种SPI总线节点设备的通信方法,该方法包括以下步骤:在SPI总线节点设备设置CANopen协议单元,CANopen协议单元连接SPI总线节点设备的接收数据缓存器和发送数据缓存器,且CANopen协议单元中配置CANopen协议;在SPI总线节点设备的存储器中储存对象字典,该存储器连接CANopen协议单元;使用CANopen协议单元使得在SPI总线协议上层的数据收发遵循CANopen协议;以及使用该对象字典和应用层交换数据。
与现有技术相比,本发明通过在SPI总线节点设备中配置CANopen协议单元和储存对象字典的存储器,使得各SPI总线节点设备能够在SPI总线协议上运行CANopen协议,从而模拟成CAN设备。由于CANOpen通信协议是成熟、稳定和高效的协议,将SPI总线节点设备模拟成CAN设备,提高了SPI总线节点设备之间通信的可靠性,并且克服了私有协议缺乏通用性的问题。
附图说明
图1是本发明第一实施例的SPI总线拓扑结构图。
图2是本发明第二实施例的SPI总线拓扑结构图。
具体实施方式
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
第一实施例 
图1是本发明第一实施例的SPI总线拓扑结构图。参考图1所示,本实施例的SPI总线拓扑结构100包括SPI总线节点设备110和120,二者间通过SPI总线130连接。SPI总线节点设备110是主设备,SPI总线节点设备120是从设备。SPI总线130典型地包括4根线,它们是MOSI(数据输入)线、MISO(数据输出)线、SCLK(时钟)线、SS(片选)线。MOSI是用于主设备110的数据输出,从设备120的数据输入。MISO用于主设备110的数据输入,从设备120的数据输出。SCLK是时钟信号,由主设备110产生。SS用于发送从设备120的使能信号,由主设备110控制。
SPI总线节点设备110包括SPI总线接口111、接收数据缓存器112以及发送数据缓存器113这些SPI总线节点设备的基本配置。SPI总线接口111连接SPI总线130,因此SPI总线接口111对应的配备4个针脚。SPI总线接口111可以发送和接收数据,发送时钟信号和从设备使能信号。接收数据缓存器112连接SPI总线接口111,负责接收数据的缓存。发送数据缓存器113也连接SPI总线接口111,负责发送数据的缓存。
在本实施例中,SPI总线节点设备110还包括CANopen协议单元114和存储器115。CANopen协议单元114连接接收数据缓存器112和发送数据缓存器113。CANopen协议单元114中配置CANopen协议,使SPI总线节点设备110数据收发遵循CANopen协议。CANopen协议是一种架构在控制局域网络(Controller Area Network,CAN)上的高层通讯协议,具有成熟、稳定和高效的特点。在此,CANopen 协议是运行在SPI总线协议的上层,用来弥补SPI总线协议没有指定的流控制,没有应答机制确认是否接收到数据的缺点。
本实施例中SPI总线协议和CANopen协议组合的特点是,不用加装CAN通信模块,通过SPI总线协议模拟实现CANOpen协议的各种功能。为此,根据CANOpen协议,将各SPI总线节点设备提供的功能用对象字典的方式表述出来。
具体实施时,在连接CANopen协议单元114的存储器115中储存CANopen协议的对象字典。对象字典的各条目为SPI总线节点设备110的各功能的映射。举例来说,如果当前SPI总线节点设备提供读取温度值的功能,可以将这一功能映射成对象字典中的一个条目。
在本实施例中,可以使用指向条目的索引来查找对象字典中的条目。索引之下还可以设置子索引。
在此,对象字典存储区115可以是存储对象字典的专用存储器,也可以是具有用于存储对象字典的存储区的通用存储器。
类似地,SPI总线节点设备120包括SPI总线接口121、接收数据缓存器122以及发送数据缓存器123这些SPI总线节点设备的基本配置,以及用于运行CANopen协议的CANopen协议单元124和存储器125。
SPI总线节点设备110和SPI总线节点设备120之间通信时是将SPI总线节点设备110、120看作CAN设备。进一步,将SPI主设备作为CAN链路的主节点,而将SPI从设备作为从节点。通信时是通过SPI总线协议发送CAN通信的数据,例如SDO、PDO等。具体地说,在下层是按照SPI总线协议,而在上层是按照CANopen协议。
根据CANopen协议,还需对每个SPI总线节点设备110、120分配节点识别号(Node Id)。各个SPI总线节点设备110、120的节点识别号不同。
下面描述示例性的通信过程。
当SPI主设备110要访问任何一个SPI从设备时,需要片选相应的从设备。例如,当SPI主设备要访问SPI从设备120时,需要首先拉低SS引脚上的电平,然后才能开始数据传输。
两个SPI总线节点设备110、120之间以SDO方式进行数据通讯的过程如下:
假设SPI总线节点设备110(假设其节点识别号为0x02)要获取SPI总线节 点设备120(假设其节点识别号为0x03)的温度值,而SPI总线节点设备120的温度值放在其对象字典中的索引0x2000的子索引0x01中,而且SPI总线节点设备120的温度值用一个8位(bit)的有符号数表示,则SPI总线节点设备110需要发送的命令数据的格式如下表1:

表1
表1中COB-ID是通信对象识别号(Communication Object Identifier),是由功能码Function Code)和节点识别号组成。在此,功能码是0x600,SPI总线节点设备120的节点识别号0x03。
表1最后的Reserved是保留字节。
SPI总线节点设备120在接收到这个命令后需要发送下表2的响应数据给SPI总线节点设备110:

表2
表2中COB-ID是由功能码0x580和SPI总线节点设备120的节点识别号0x03组成。表2最后的Reserved是保留字节。
至此,SPI总线节点设备110获取SPI总线节点设备120的温度值完成。
另外,两个SPI总线节点设备110、120之间以PDO的方式进行数据通讯的过程如下:
假设SPI总线节点设备110(假设其节点识别号仍为0x02)作为PDO通信的消费者,SPI总线节点设备120作为PDO通信的生产者。当SPI总线节点设备120发生温度过高事件时,SPI总线节点设备120向SPI总线节点设备110发送PDO消息,当SPI总线节点设备110接收到SPI总线节点设备110发送过来的数据后,则对SPI总线节点设备120温度过高事件作出相应的处理。
假设SPI总线节点设备110温度过高事件使用的PDO为SPI总线节点设备120的第一个PDO,且以0x01表示温度过高事件,则SPI总线节点设备120需要发送的数据如下表3:

表3
表2中COB-ID是由功能码0x180和SPI总线节点设备110的节点识别号0x02组成。表2最后的Reserved是保留字节。
SPI总线节点设备110在接收到这条消息后,会对SPI总线节点设备120温度过高事件进行处理。但是根据CANOpen协议的规定,SPI总线节点设备110不会发送响应消息给SPI总线节点设备120。
第二实施例 
图2是本发明第二实施例的SPI总线拓扑结构图。参考图2所示,本实施例的SPI总线拓扑结构200包括SPI总线节点设备210、220和230,三者间通过SPI总线240连接。SPI总线节点设备210是主设备,SPI总线节点设备220和230是从设备。SPI总线130典型地包括4根线,它们是MOSI(数据输入)线、MISO(数据输出)线、SCLK(时钟)线、SS(片选)线。SS线对不同从设备有不同。对SPI总线节点设备220,其使能信号SS线的编号是SS_0。对SPI总线节点设备230,其使能信号SS线的编号是SS_1。
根据CANopen协议,对每个SPI总线节点设备210、220和230分配节点识别号(Node Id)。各个SPI总线节点设备210、220和230的节点识别号不同。
当SPI主设备210要访问任何一个SPI从设备220和230时,需要片选相应的从设备。例如,当SPI主设备210要访问SPI从设备220时,需要首先拉低SS_0引脚上的电平,然后才能开始数据传输。当SPI主设备210要访问SPI从设备230时,需要首先拉低SS_1引脚上的电平,然后才能开始数据传输。
本实施例的其它细节,例如各SPI总线节点设备210的结构与第一实施例相似,在此不再展开赘述。
从另一角度看,本发明的实施例提供一种SPI总线节点设备的通信方法,该方法包括以下步骤:在SPI总线节点设备设置CANopen协议单元,CANopen协议单元连接SPI总线节点设备的接收数据缓存器和发送数据缓存器,且CANopen协议单元中配置CANopen协议;在SPI总线节点设备的存储器中储存对象字典,该 存储器连接CANopen协议单元;使用CANopen协议单元使得在SPI总线协议上层的数据收发遵循CANopen协议;以及使用该对象字典和应用层交换数据。
本发明的上述实施例通过在SPI总线节点设备中配置CANopen协议单元和储存对象字典的存储器,使得各SPI总线节点设备能够在SPI总线协议上运行CANopen协议,从而模拟成CAN设备。由于CANOpen通信协议是成熟、稳定和高效的协议,将SPI总线节点设备模拟成CAN设备,提高了SPI总线节点设备之间通信的可靠性,并且解决了私有协议缺乏通用性的问题。
虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf_第1页
第1页 / 共9页
SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf_第2页
第2页 / 共9页
SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf》由会员分享,可在线阅读,更多相关《SPI总线节点设备及其通信方法以及SPI总线拓扑.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明提供了一种SPI总线节点设备及其通信方法以及SPI总线拓扑。该SPI总线节点设备包括SPI总线接口、接收数据缓存器、发送数据缓存器、CANopen协议单元以及存储器。该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen协议单元中CANopen协议,使该SPI总线节点设备在SPI总线协议之上的数据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1