CN105208034A - 一种spi总线与can总线协议转换电路及方法 - Google Patents

一种spi总线与can总线协议转换电路及方法 Download PDF

Info

Publication number
CN105208034A
CN105208034A CN201510647609.2A CN201510647609A CN105208034A CN 105208034 A CN105208034 A CN 105208034A CN 201510647609 A CN201510647609 A CN 201510647609A CN 105208034 A CN105208034 A CN 105208034A
Authority
CN
China
Prior art keywords
data
spi
module
protocol
bus
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.)
Granted
Application number
CN201510647609.2A
Other languages
English (en)
Other versions
CN105208034B (zh
Inventor
张磊
赵忠惠
张瑾
陶宇
余向阳
汪健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
Original Assignee
China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China North Industries Group Corp No 214 Research Institute Suzhou R&D Center filed Critical China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
Priority to CN201510647609.2A priority Critical patent/CN105208034B/zh
Publication of CN105208034A publication Critical patent/CN105208034A/zh
Application granted granted Critical
Publication of CN105208034B publication Critical patent/CN105208034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种SPI总线与CAN总线协议转换电路,包括SPI模块、CAN模块、实现SPI数据与CAN总线数据透明转换的协议转换单元以及对SPI模块与CAN模块进行初始化管理的逻辑控制管理单元。本发明还公开了一种SPI总线与CAN总线协议转换方法:若要发送CAN数据,则通过SPI模块写入要发送的信息,通过协议转换单元将SPI数据转换成CAN数据从TX端口发送出去。将CAN总线数据转换为SPI数据传输时,协议转换单元将接收到的CAN数据进行转换后存入CAN模块的接收缓冲器中,SPI模块将CAN接收缓冲器中的数据读出存入SPI模块的接收FIFO中,并通过一定的数据格式从SDO端口发送出去。

Description

一种SPI总线与CAN总线协议转换电路及方法
技术领域
本发明涉及一种SPI总线与CAN总线协议转换电路,还涉及一种SPI总线与CAN总线协议转换方法,属于总线转换技术领域。
背景技术
随着工业现代化的程度越来越高,现场总线技术在工业控制领域起着越来越重要的作用。然而,为了使工业控制组网变得更加灵活,同一个网络中有时会需要多种不同的总线,使得不同总线协议之间的转换成为工业控制领域中一项关键技术。而SPI总线是嵌入式系统应用中非常广泛的接口标准,许多器件厂家都使用该标准,主要原因是SPI总线使用处理器引脚少,传输速度快,同一SPI总线上可挂接多个SPI接口等。在一些嵌入式单片微型计算机应用系统中,在可用极少引脚的前提下,利用SPI总线与CAN总线转换方法是一种既经济又方便的接口扩展方法。
目前,研究SPI总线与CAN总线的转换方法有很多,但都是需要专用CPU进行SPI协议与CAN总线协议控制转换,一般均采用多个芯片模块化实现,类似于工控机处理方式,存在电路体积大,成本高,应用不灵活的缺点。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种SPI总线与CAN总线协议转换电路,解决现有技术中SPI总线与CAN总线转换需要多个芯片模块化组装实现,导致电路体积大、可靠性低、扩展不灵活等问题。
为解决上述技术问题,本发明所采用的技术方案是:一种SPI总线与CAN总线协议转换电路,包括SPI模块、CAN模块、实现SPI数据与CAN总线数据透明转换的协议转换单元以及对SPI模块与CAN模块进行初始化管理的逻辑控制管理单元;
所述SPI模块包括SPI移位控制单元、连接在SPI移位控制单元输出端的发送FIFO和连接在SPI移位控制单元输入端的接收FIFO,所述CAN模块包括CAN逻辑控制单元、连接在CAN逻辑控制单元输入端的发送缓冲器和连接在CAN逻辑控制单元输出端的接收缓冲器;
将SPI数据转换为CAN总线数据时,协议转换单元从SPI模块的发送FIFO中读出数据,依据地址信息分别转换为CAN总线帧信息、ID识别码、数据,并存入CAN模块的发送缓冲器中,最终通过CAN逻辑控制单元从TX端口发送CAN报文信息;
将CAN总线数据转换为SPI数据传输时,协议转换单元从CAN模块的接收缓冲器中读出CAN总线数据,并将CAN总线的帧信息、ID识别码、数据依次存入SPI模块的接收FIFO中,协议转换单元对接收FIFO读写信号、地址、数据进行管理,依据SPI数据格式将CAN总线数据转换为串行数据,并在SPI模块时钟SCK、片选SCS信号有效时从串行数据输出端口SDO发送数据。
本发明的另一目的在于提供一种SPI总线与CAN总线协议转换方法,包括如下步骤:
步骤一:通过SPI模块对串行输入数据进行解码,根据相应的地址、数据进行管理,配置CAN模块寄存器,并对电路内部SPI模块的FIFO地址、数据、读写信号进行控制管理;
步骤二:当SPI模块的SDI端口有串行数据输入时,每位数据在串行时钟SCK的上升沿被采样,并进行串行移位转换,将串行数据解码成并行数据,依据解码的地址ADDR将需要传输的数据存入发送FIFO中,并通知CAN模块有数据需要转换传输;
步骤三:CAN模块接收到指令后,从SPI模块的发送FIFO中读出数据,并送入CAN模块的发送缓冲器,依据CAN逻辑控制单元的CAN协议控制逻辑从TX端口发送CAN数据;
步骤四:当CAN模块的RX端口接收到CAN数据后,CAN逻辑控制单元首先将CAN数据解码,依据CAN协议将CAN帧信息、ID识别码、数据存入接收缓冲器,并通知SPI模块有CAN数据需要转换传输;SPI模块接收到指令后,从CAN模块的接收缓冲器读出CAN数据,并存入SPI模块的接收FIFO中,依据SPI协议从串行数据输出端口SDO发送CAN数据。
所述SDI端口输入的串行数据共有16位,其中8位数据DATA,8位地址ADDR。
步骤四中当CAN模块的RX端口接收到CAN数据后,通过内部的验收滤波器、位时序逻辑和位流处理器,将接收到的CAN数据进行转换后存入CAN模块的接收缓冲器中。
与现有技术相比,本发明所达到的有益效果是:
本发明提供的SPI总线与CAN总线协议转换电路是一个集SPI总线接口、CAN总线接口的专用单片集成电路,不需专用的CPU进行控制,按照SPI协议与CAN总线协议自动进行协议转换,控制简单,可靠性高;另外具有电路接口少的优点,只含有SPI与CAN总线的标准接口,既可满足工业控制中不同协议间的转换,也可应用于带有SPI总线与CAN总线的接口扩展领域。
附图说明
图1是本发明提供的SPI总线与CAN总线协议转换电路。
图2是SPI模块传输数据格式。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,SPI总线与CAN总线协议转换电路包括逻辑控制管理单元、SPI模块、CAN模块和协议转换单元。SPI模块包括SPI移位控制单元、连接在SPI移位控制单元输出端的发送FIFO和连接在SPI移位控制单元输入端的接收FIFO。CAN模块包括CAN逻辑控制单元、连接在CAN逻辑控制单元输入端的发送缓冲器和连接在CAN逻辑控制单元输出端的接收缓冲器。
下面对SPI总线与CAN总线协议转换电路中各部分的工作原理作进一步详细描述,具体如下:
(1)逻辑控制管理单元
逻辑控制管理单元主要对SPI模块与CAN模块进行初始化管理,通过SPI模块对串行输入数据进行解码,根据相应的地址、数据进行管理,配置CAN模块寄存器,并对电路内部SPI模块的FIFO地址、数据、读写信号进行控制管理。
(2)SPI模块
SPI模块主要对SPI发送、接收数据进行编解码移位控制,总共有四个端口:
SCS:片选信号输入,低有效。
SCK:串行时钟。
SDI:串行数据输入。
SDO:串行数据输出。
SDI输入数据共有16位,其中8位数据DATA,8位地址ADDR,数据格式如图2所示。当SDI端口有串行数据输入时,每位数据在SCK的上升沿被采样,并进行串行移位转换,将16位数据解码成并行数据,依据解码的地址ADDR进行数据管理。若为CAN模块寄存器地址,则进行CAN模块寄存器配置;若为需要转换发送的数据,则存入发送FIFO中。这里需要说明一点,传统的CAN发送缓冲器只能通过写入寄存器进行发送,最多发送8个数据,而该电路可以通过SPI模块数据输入端,将需要发送的数据一次存入发送FIFO中,该FIFO深度最多可存入256个数据,发送完一组CAN报文,可以自动从FIFO中取数发送下一组报文。
(3)CAN模块
CAN模块为标准的CAN发送接收器,功能结构类似于PHILIPS公司的SJA1000控制器。电路上电后,首先通过SPI数据输入端对CAN模块寄存器进行初始化,配置CAN模块的工作状态、总线波特率等寄存器。若要发送CAN数据,则通过SPI模块写入要发送的信息,包括帧信息、ID识别码、数据等,在电路内部通过协议转换单元自动将SPI输入数据转换成CAN数据从TX端口发送出去。
若CAN模块通过RX端口接收CAN报文数据,通过内部的验收滤波器、位时序逻辑和位流处理器,将接收到的CAN数据进行转换后存入CAN模块的接收缓冲器中,并通知SPI模块有数据要处理。SPI模块接收到指令后,将CAN接收缓冲器中的数据读出存入SPI模块的接收FIFO中,并通过一定的数据格式从SDO端口发送出去。SDO发送数据格式与SDI接收数据格式相同,见图2。
(4)协议转换单元
协议转换单元主要实现SPI数据与CAN总线数据之间的透明转换,当SPI输入数据需要转换为CAN总线数据时,协议转换单元从SPI模块的发送FIFO中读出数据,依据地址信息分别转换为CAN总线帧信息、ID识别码、数据等,并存入CAN模块的发送缓冲器中,最终通过CAN模块内部控制逻辑单元从TX端口发送CAN报文信息。
当CAN总线报文需要转换为SPI数据传输时,协议转换单元从CAN模块的接收缓冲器中读出CAN数据,并将CAN总线的帧信息、ID识别码、数据等依次存入SPI模块的接收FIFO中,协议转换单元负责对FIFO读写信号、地址、数据进行管理,依据SPI数据格式将CAN总线数据转换为串行数据,并在SPI模块时钟SCK、片选SCS信号有效时从SDO端口发送数据。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种SPI总线与CAN总线协议转换电路,其特征在于,包括SPI模块、CAN模块、实现SPI数据与CAN总线数据透明转换的协议转换单元以及对SPI模块与CAN模块进行初始化管理的逻辑控制管理单元;
所述SPI模块包括SPI移位控制单元、连接在SPI移位控制单元输出端的发送FIFO和连接在SPI移位控制单元输入端的接收FIFO,所述CAN模块包括CAN逻辑控制单元、连接在CAN逻辑控制单元输入端的发送缓冲器和连接在CAN逻辑控制单元输出端的接收缓冲器;
将SPI数据转换为CAN总线数据时,协议转换单元从SPI模块的发送FIFO中读出数据,依据地址信息分别转换为CAN总线帧信息、ID识别码、数据,并存入CAN模块的发送缓冲器中,最终通过CAN逻辑控制单元从TX端口发送CAN报文信息;
将CAN总线数据转换为SPI数据传输时,协议转换单元从CAN模块的接收缓冲器中读出CAN总线数据,并将CAN总线的帧信息、ID识别码、数据依次存入SPI模块的接收FIFO中,协议转换单元对接收FIFO读写信号、地址、数据进行管理,依据SPI数据格式将CAN总线数据转换为串行数据,并在SPI模块时钟SCK、片选SCS信号有效时从串行数据输出端口SDO发送数据。
2.一种SPI总线与CAN总线协议转换方法,其特征在于,包括如下步骤:
步骤一:通过SPI模块对串行输入数据进行解码,根据相应的地址、数据进行管理,配置CAN模块寄存器,并对电路内部SPI模块的FIFO地址、数据、读写信号进行控制管理;
步骤二:当SPI模块的SDI端口有串行数据输入时,每位数据在串行时钟SCK的上升沿被采样,并进行串行移位转换,将串行数据解码成并行数据,依据解码的地址ADDR将需要传输的数据存入发送FIFO中,并通知CAN模块有数据需要转换传输;
步骤三:CAN模块接收到指令后,从SPI模块的发送FIFO中读出数据,并送入CAN模块的发送缓冲器,依据CAN逻辑控制单元的CAN协议控制逻辑从TX端口发送CAN数据;
步骤四:当CAN模块的RX端口接收到CAN数据后,CAN逻辑控制单元首先将CAN数据解码,依据CAN协议将CAN帧信息、ID识别码、数据存入接收缓冲器,并通知SPI模块有CAN数据需要转换传输;SPI模块接收到指令后,从CAN模块的接收缓冲器读出CAN数据,并存入SPI模块的接收FIFO中,依据SPI协议从串行数据输出端口SDO发送CAN数据。
3.根据权利要求2所述的SPI总线与CAN总线协议转换方法,其特征在于,所述SDI端口输入的串行数据共有16位,其中8位数据DATA,8位地址ADDR。
4.根据权利要求2所述的SPI总线与CAN总线协议转换方法,其特征在于,步骤四中当CAN模块的RX端口接收到CAN数据后,通过内部的验收滤波器、位时序逻辑和位流处理器,将接收到的CAN数据进行转换后存入CAN模块的接收缓冲器中。
CN201510647609.2A 2015-10-09 2015-10-09 一种spi总线与can总线协议转换电路及方法 Active CN105208034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510647609.2A CN105208034B (zh) 2015-10-09 2015-10-09 一种spi总线与can总线协议转换电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510647609.2A CN105208034B (zh) 2015-10-09 2015-10-09 一种spi总线与can总线协议转换电路及方法

Publications (2)

Publication Number Publication Date
CN105208034A true CN105208034A (zh) 2015-12-30
CN105208034B CN105208034B (zh) 2019-03-19

Family

ID=54955467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510647609.2A Active CN105208034B (zh) 2015-10-09 2015-10-09 一种spi总线与can总线协议转换电路及方法

Country Status (1)

Country Link
CN (1) CN105208034B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路
FR3051269A1 (fr) * 2016-05-12 2017-11-17 Continental Automotive France Dispositif de communication entre un calculateur electronique et un module deporte
CN107544328A (zh) * 2017-09-06 2018-01-05 天津大学 Can控制器芯片接口串行化装置
CN108762234A (zh) * 2018-06-11 2018-11-06 北京经纬恒润科技有限公司 一种车身控制器及其控制方法
CN108804363A (zh) * 2018-06-14 2018-11-13 华东师范大学 一种可编程控制的通用总线接口转换方法
CN110928813A (zh) * 2019-11-18 2020-03-27 珠海运控电机有限公司 一种基于双spi输出低频同步信号的系统及其方法
CN111090606A (zh) * 2019-11-13 2020-05-01 北京空间机电研究所 一种拓扑型线路架构的系统及总线切换方法
CN114048161A (zh) * 2021-11-22 2022-02-15 苏州聚元微电子股份有限公司 用于含spi通信协议与i2c通信协议封装电路的通信集成系统
CN114327256A (zh) * 2021-11-22 2022-04-12 南京风兴科技有限公司 一种用于神经网络处理器的数据格式在线转换架构及方法
CN114697405A (zh) * 2022-03-15 2022-07-01 北京旋极信息技术股份有限公司 一种通信协议转换的控制方法、装置以及转换系统
CN114896185A (zh) * 2022-05-13 2022-08-12 广芯微电子(苏州)有限公司 一种mipi接口数据收发装置及移动终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202058A (zh) * 2011-05-19 2011-09-28 中国兵器工业集团第二一四研究所苏州研发中心 多路uart总线与can总线之间协议转换控制器
CN103067240A (zh) * 2013-01-04 2013-04-24 中国兵器工业集团第二一四研究所苏州研发中心 四路串行总线与四路can总线转换电路
CN103425616A (zh) * 2013-09-02 2013-12-04 威海北洋电气集团股份有限公司 Spi-rs232接口转换芯片及其通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202058A (zh) * 2011-05-19 2011-09-28 中国兵器工业集团第二一四研究所苏州研发中心 多路uart总线与can总线之间协议转换控制器
CN103067240A (zh) * 2013-01-04 2013-04-24 中国兵器工业集团第二一四研究所苏州研发中心 四路串行总线与四路can总线转换电路
CN103425616A (zh) * 2013-09-02 2013-12-04 威海北洋电气集团股份有限公司 Spi-rs232接口转换芯片及其通信方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3051269A1 (fr) * 2016-05-12 2017-11-17 Continental Automotive France Dispositif de communication entre un calculateur electronique et un module deporte
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路
CN107544328A (zh) * 2017-09-06 2018-01-05 天津大学 Can控制器芯片接口串行化装置
CN108762234A (zh) * 2018-06-11 2018-11-06 北京经纬恒润科技有限公司 一种车身控制器及其控制方法
CN108804363A (zh) * 2018-06-14 2018-11-13 华东师范大学 一种可编程控制的通用总线接口转换方法
CN111090606A (zh) * 2019-11-13 2020-05-01 北京空间机电研究所 一种拓扑型线路架构的系统及总线切换方法
CN110928813A (zh) * 2019-11-18 2020-03-27 珠海运控电机有限公司 一种基于双spi输出低频同步信号的系统及其方法
CN114048161A (zh) * 2021-11-22 2022-02-15 苏州聚元微电子股份有限公司 用于含spi通信协议与i2c通信协议封装电路的通信集成系统
CN114327256A (zh) * 2021-11-22 2022-04-12 南京风兴科技有限公司 一种用于神经网络处理器的数据格式在线转换架构及方法
CN114048161B (zh) * 2021-11-22 2022-10-14 苏州聚元微电子股份有限公司 用于含spi通信协议与i2c通信协议封装电路的通信集成系统
CN114697405A (zh) * 2022-03-15 2022-07-01 北京旋极信息技术股份有限公司 一种通信协议转换的控制方法、装置以及转换系统
CN114896185A (zh) * 2022-05-13 2022-08-12 广芯微电子(苏州)有限公司 一种mipi接口数据收发装置及移动终端
CN114896185B (zh) * 2022-05-13 2023-10-20 广芯微电子(苏州)有限公司 一种mipi接口数据收发装置及移动终端

Also Published As

Publication number Publication date
CN105208034B (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN105208034A (zh) 一种spi总线与can总线协议转换电路及方法
CN104954096B (zh) 一种一主多从的高速同步串行通信数据传输方法
EP1825382B1 (en) Low protocol, high speed serial transfer for intra-board or inter-board data communication
US9607673B1 (en) Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
CN107580702B (zh) 具有多模调制的增强虚拟gpio
CN103677916A (zh) 一种基于fpga的在线重配置系统及方法
CN104021107A (zh) 一种支持NVMe PCIE SSD系统设计方法
CN102708080B (zh) 一种对齐高速串行通信通道的方法和系统
CN102073611B (zh) 一种i2c总线控制系统及方法
JP2005505200A (ja) データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信
CN104901859A (zh) 一种axi/pcie总线转换装置
CN104808966A (zh) 有效编码的方法和装置
CN105306323A (zh) 一种can总线通信的方法及装置
CN105635005A (zh) 一种基于描述符的blvds总线数据传送装置及其方法
US8626975B1 (en) Communication interface with reduced signal lines
CN204256732U (zh) 基于PCI-Express接口的高速数据传输装置
CN105279123A (zh) 双冗余1553b总线的串口转换结构及转换方法
CN204206157U (zh) Lpc总线与lbe总线间的转换结构
CN103279442A (zh) 一种高速互联总线的报文过滤系统及方法
CN101790016A (zh) 高速印花机图像数据旋转处理系统及方法
CN103347023B (zh) 一种工业现场环境下hdlc通信控制器
CN105262659A (zh) 基于fpga芯片的hdlc协议控制器
CN208190652U (zh) 一种全双工通用同步异步串行收发器的主板
CN203838614U (zh) 一种带网络管理接口的pcie扩展卡
CN203658995U (zh) 一种串行数据传输系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhang Lei

Inventor after: Zhao Zhonghui

Inventor after: Zhang Jin

Inventor after: Tao Yu

Inventor after: Yu Xiangyang

Inventor after: Wang Jian

Inventor before: Zhang Lei

Inventor before: Zhao Zhonghui

Inventor before: Zhang Jin

Inventor before: Tao Yu

Inventor before: Yu Xiangyang

Inventor before: Wang Jian

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant