CN115883675A - 一种可扩展的spi总线与can总线数据转换方法 - Google Patents

一种可扩展的spi总线与can总线数据转换方法 Download PDF

Info

Publication number
CN115883675A
CN115883675A CN202211375540.9A CN202211375540A CN115883675A CN 115883675 A CN115883675 A CN 115883675A CN 202211375540 A CN202211375540 A CN 202211375540A CN 115883675 A CN115883675 A CN 115883675A
Authority
CN
China
Prior art keywords
message
data
spi
conversion module
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.)
Pending
Application number
CN202211375540.9A
Other languages
English (en)
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.)
South China Marine Machinery Co Ltd
Original Assignee
South China Marine Machinery Co Ltd
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 South China Marine Machinery Co Ltd filed Critical South China Marine Machinery Co Ltd
Priority to CN202211375540.9A priority Critical patent/CN115883675A/zh
Publication of CN115883675A publication Critical patent/CN115883675A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Communication Control (AREA)

Abstract

本发明提供一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:利用通信主机和一个以上的转换模块作为运行平台,具体步骤如下:S1,扩展通信架构设计;S2,SPI报文格式设计;S3,通信机制设计;S4,转换模块按统一格式完成SPI报文与CAN数据帧的转换;本发明的方法,通过建立数据缓冲区,解决了CAN总线缓冲区较小以及SPI总线与CAN总线速度不匹配的问题,提高了数据传输可靠性;通过设计数据包封装协议,实现了CAN数据包的透明传输,增加了协议转换的通用性;根据SPI通信特点设计SPI双向通信机制,实现通过SPI总线的多路CAN数据包传输。

Description

一种可扩展的SPI总线与CAN总线数据转换方法
技术领域
本发明涉及通信技术领域,具体涉及一种可扩展的SPI总线与CAN总线数据转换方法。
背景技术
CAN属于总线式异步串行通信网络,具有可靠性高、错误检测能力强的优点,传输距离可达10千米,是国际上应用最广泛的现场总线之一。SPI总线是一种高速同步串行通信总线,通信速率可达50M,SPI总线具有传输速度快、结构简单、扩展性强的特点在芯片间通信中得到了广泛应用,但因SPI为同步串行总线,可靠性较低、传输距离短。
部分嵌入式芯片集成了1到2路CAN控制器,并且需要外接CAN收发器。在应用中可能遇到在CAN资源数量不足,或外接CAN收发器受限的情况,可通过SPI总线扩展CAN接口。通过SPI总线扩展CAN接口,可以结合SPI传输速度快以及CAN传输距离远的优点,
目前应用较多的是由硬件直接实现协议的转换,但该方法存在以下局限性:
(1)往往只能实现1路SPI与1至2路CAN接口的协议转换,不具备扩展性或扩展性不足,当需要多路CAN接口时,需要占用多路SPI资源,成本较高,甚至可能无法实现。
(2)无法对CAN接口进行灵活配置,往往只能按固定配置工作,导致数据转换欠缺灵活性,应用条件较严苛,适用性较低。
(3)硬件实现时难以进行充分封装,因此主机操作SPI接口时,需要遵守硬件时序,并实现复杂的逻辑,编程实现难度较大。
(4)难以对SPI的接口报文进行必要的封装,无法解决SPI的通信可靠性较低的问题。
(5)存在高速SPI总线与CAN总线速率不匹配的问题。
(6)硬件设计固化后,修改难度较大,维护成本高。
(7)需要增加可编程芯片或者专用芯片,成本较高,线路复杂。
发明内容
本发明提供一种可扩展的SPI总线与CAN总线数据转换方法,本发明的方法,通过建立数据缓冲区,解决了CAN总线缓冲区较小以及SPI总线与CAN总线速度不匹配的问题,提高了数据传输可靠性;通过设计数据包封装协议,实现了CAN数据包的透明传输,增加了协议转换的通用性;根据SPI通信特点设计SPI双向通信机制,实现通过SPI总线的多路CAN数据包传输。
为达到上述目的,本发明的技术方案是:一种可扩展的SPI总线与CAN总线数据转换方法,利用通信主机和一个以上的转换模块作为运行平台,具体步骤如下:
S1,扩展通信架构设计:
通信主机与一个以上的转换模块间通过SPI总线通信,转换模块通过CAN总线与外部设备连接,利用SPI总线一主多从工作方式,将通信主机软件设置为主机模式,转换模块软件设置为从机模式,通过SPI主机连接多个从机方式,通信主机通过多个转换模块搭建通道,实现SPI扩展多路CAN接口功能,对各个通道进行编号。
S2,SPI报文格式设计:
根据SPI总线的通信方式,设计统一的SPI报文格式;
S3,通信机制设计:
通信主机通过转换模块实现与多路CAN设备的通信,在转换模块内增加SPI报文缓冲区。
S31,数据发送时,通信主机将SPI报文发送至各转换模块,各转换模块将SPI报文转换为CAN数据帧,通过CAN接口对外发送。
S32,数据接收时,各转换模块通过CAN接口接收外部数据,转换为SPI报文并存入缓冲区,在通信主机读取数据时,向通信主机发送SPI报文。
S4,转换模块按统一格式完成SPI报文与CAN数据帧的转换。
进一步的,步骤S1具体包括扩展通信架构通信主机和转换模块的功能分配如下:
(1)通信主机配置各个通道的转换模块,并监控转换模块状态。
(2)通信主机封装需发送至各个通道的SPI报文,并处理由各个通道接收到的SPI报文。
(3)转换模块完成CAN数据帧的接收和发送,以及CAN数据帧与SPI报文的相互转换。
进一步的,通信主机与转换模块间通过SPI总线通信具体包括如下内容:
(1)控制报文,包括转换模块配置指令、状态查询指令和数据读取指令,配置指令实现转换模块配置,包括通道编号、CAN工作模式、CAN波特率、CAN屏蔽方式及屏蔽码;状态查询指令获取各转换模块的状态信息;数据读取指令读取转换模块的数据帧。
(2)状态报文,将转换模块的工作状态信息封装成状态报文,反馈给通信主机。
(3)数据报文,将CAN协议中的帧类型、帧ID、数据长度和数据封装成数据报文,实现CAN数据帧与SPI报文相互转换。
进一步的,所述SPI报文格式具体包括前导序列、报文段和结尾序列,各类报文采用相同格式的前导序列和结尾序列,报文段根据传输报文的不同采用不同的封装格式。
(1)前导序列包括起始符、通道号、报文标识和序列校验,用于识别报文开端,标识报文要发向的通道或者产生该报文的通道,并指示报文的类别。
(2)报文段为SPI报文的实际内容,具体为控制报文、状态报文和数据报文,其中控制报文、状态报文和数据报文具体报文格式不相同。
(3)结尾序列为固定序列,标识报文的结尾。
进一步的,所述转换模块的配置步骤为:
通信主机启动后,根据扩展的CAN接口数量。
(1)查询各通道的转换模块状态,完成各通道转换模块的状态检测。
(2)清空各通道转换模块的SPI报文缓冲区。
(3)设置各通道的CAN接口工作模式和波特率。
(4)设置各通道的接收屏蔽方式和屏蔽码。
进一步的,所述前导序列的元素格式为:
(1)起始符为2个字节的固定序列,用于接收方识别报文开端;
(2)通道号为通信主机分配的通道编号,根据可扩展通信架构中,通信主机连接多个转换模块的通信方式,前导序列中加入通道号,用以标识发送该SPI报文的通道,或者接收到该SPI报文的通道。
(3)报文标识用于区分报文的类别。
(4)序列校验根据前导序列计算,用于对前导序列的正确性进行校验。
进一步的,所述报文段格式为:
(1)控制报文格式包括指令字、指令参数和报文校验,指令字标识具体指令,指令参数是对应指令所需的参数,根据具体指令设置。
(2)状态报文包括标识符、数据区和报文校验,标识符标识状态数据类别,数据区为实际数据。
(3)数据报文格式根据CAN数据帧设计,CAN总线采用CAN2.0B标准协议格式,将CAN协议中的帧类型、帧ID、数据长度和数据字段重新进行封装,用于实现CAN数据帧与SPI报文的转换。
进一步的,步骤S31数据发送具体包括:
(1)按照SPI报文格式封装成数据报文;并控制SPI总线,将数据报文发送至对应的转换模块。
(2)转换模块接收到数据报文后,将SPI报文中的帧类型、帧ID、数据长度和数据填入CAN数据帧的对应字段,转换为CAN数据帧。
(3)将转换完成的CAN数据帧通过CAN接口发送出去,实现通信主机向特定CAN接口发送数据。
进一步的,步骤S32数据接收具体包括:
(1)转换模块建立以数据报文为单元的缓冲区,该缓冲区为环形缓冲区,缓冲区满后禁止写入。
(2)转换模块接收到接收到的CAN数据帧后,将CAN数据帧封装成数据报文,存入缓冲区。
(3)通信主机周期向各转换模块发送数据读取指令,并执行数据读取操作。
(4)转换模块接收到通信主机的数据读取指令。
(41)若缓冲区存在数据报文,则提取报文,在通信主机读取时,发送至主机。
(42)若缓冲区为空,则在通信主机读取时,向主机发送状态报文,通知主机,该通道缓冲区已空。
(5)通信主机若读取到数据报文,则解析并处理数据,若读取到缓冲区为空的状态报文,则丢弃数据,并终止本周期的读取操作。
本发明所产生的有益效果是:
(1)根据SPI通信特点设计了可扩展通信架构,利用SPI的一主多从工作模式,实现通过1路SPI接口扩展多路CAN接口的功能,大大增加了系统的扩展能力,而且由于SPI速度远高于CAN通信,该扩展方式不会影响CAN接口的通信速率。
(2)根据可扩展通信架构的通信内容,设计了统一的SPI报文格式,实现了对CAN总线灵活配置,对转换模块状态实时监控。
(3)根据CAN数据帧的结构,设计数据报文格式,实现了CAN数据包的透明传输,增加了协议转换的通用性,通过对转换算法进行必要的软件封装,通信主机软件完全按照标准CAN数据格式进行接收和发送,编程简单灵活。
(4)建立数据缓冲区,解决了CAN总线缓冲区较小以及SPI总线与CAN总线速度不匹配的问题,降低了对数据处理同步要求,提高了数据传输可靠性。
附图说明
图1为本发明的通讯主机与转换模式以及CAN总线之间的简单示意图。
图2为本发明的SPI总线与CAN总线数据转换方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细说明。
如图1所示,一种可扩展的SPI总线与CAN总线数据转换方法,利用通信主机和一个以上的转换模块作为运行平台,通信主机和转换模块采用ARM嵌入式处理器,
如图2所示,具体步骤如下:
S1,扩展通信架构设计:
通信主机与一个以上的转换模块间通过SPI总线通信,转换模块通过CAN总线与外部设备连接,利用SPI总线一主多从工作方式,将通信主机软件设置为主机模式,转换模块软件设置为从机模式,通过SPI主机连接多个从机方式,通信主机通过多个转换模块搭建通道,实现SPI扩展多路CAN接口功能,对各个通道进行编号。
扩展通信架构的工作方式为:
(1)根据SPI总线一主多从工作方式,将通信主机设置为主机模式,转换模块设置为从机模式,各转换模块共用SPI的数据线和时钟线,但具有独立的信号线与通信主机连接,通信主机通过操作信号线,选择与其通信的转换模块。
(2)通信主机可直接发送数据,但接收数据时,因转换模块不具备主动发送能力,需要通信主机通过查询方式读取转换模块数据。
(3)转换模块通过自带的一路或多路CAN接口与外部CAN网通信。
扩展通信架构通信主机和转换模块的功能分配如下:
(1)通信主机配置各个通道的转换模块,通信主机为各个转换模块设置通道编号,并完成各个通道转换模块的CAN接口配置,设置CAN接口的工作模式、波特率和屏蔽方式及屏蔽码;通信主机通过控转换模块工作状态,完成装换模块状态自检和实时监控。
(2)通信主机封装需发送的SPI报文,并控制SPI总线,将SPI报文发送至对应的转换模块。并读取转换模块缓存的SPI报文,对接收到的数据进行解析和处理。
(3)转换模块根据通信主机的控制指令,完成CAN接口的配置,并向通信主机反馈状态报文。
(4)转换模块将接收的数据报文转换为CAN数据帧,通过CAN接口发送出去。
(5)转换模块将接收到的CAN数据帧转换为SPI数据文,并存入缓冲区;待通信主机读取数据数据时,通过SPI总线发送至通信主机。
通信主机与转换模块间通过SPI总线通信具体包括如下内容:
(1)控制报文,包括转换模块配置指令、状态查询指令和数据读取指令,配置指令实现转换模块配置,包括通道编号、CAN工作模式、CAN波特率、CAN屏蔽方式及屏蔽码;状态查询指令获取各转换模块的状态信息;数据读取指令读取转换模块的数据帧。
(2)状态报文,将转换模块的工作状态信息封装成状态报文,反馈给通信主机。
(3)数据报文,将CAN协议中的帧类型、帧ID、数据长度和数据封装成数据报文,实现CAN数据帧与SPI报文相互转换。
S2,SPI报文格式设计:
根据SPI总线的通信方式,设计统一的SPI报文格式,实现CAN接口的灵活配置、转换模块的状态反馈和数据报文与CAN数据帧的透明转换。
SPI报文格式具体包括前导序列、报文段和结尾序列,各类报文采用相同格式的前导序列和结尾序列,报文段根据传输报文的不同采用不同的封装格式。
(1)前导序列包括起始符、通道号、报文标识和序列校验,用于识别报文开端,标识报文要发向的通道或者产生该报文的通道,并指示报文的类别。
起始符:为大于等于2个字节的固定序列,用于接收方在SPI总线的串行报文中,识别SPI报文的开端。
通道号:定义通信主机和相连的1路转换模块为1个通道,对已扩展的通道进的编号,编号值即为通道号,当通信主机需要向转换模块发送SPI报文时,在起始序列中加入目的通道号,标识报文将要发向的通道;当转换模块向通信主机反馈SPI报文时,在起始序列中加入自身通道号,标识产生该报文的通道。
报文标识:报文标识包括报文类别和报文标识,报文类别用于区分控制报文、状态报文和数据报文;报文标识是报文的具体标识,例如控制报文中的波特率设置报文。
序列校验:序列字段运算的结果,对前导序列的正确性进行检验。
(2)报文段为SPI报文的实际内容,具体为控制报文、状态报文和数据报文,其中控制报文、状态报文和数据报文具体报文格式不相同。
控制报文格式包括指令字、指令参数和报文校验,指令字标识具体指令,指令参数是对应指令所需的参数,根据具体指令设置。
指令字:具体指令的标识,接收方根据指令字识别具体指令。
指令参数,对应指令所需的参数,根据具体指令设置。
报文校验,报文字段运算的结果,对报文的正确性进行检验。
状态报文包括标识符、数据区和报文校验,标识符标识状态数据类别,数据区为实际数据。
标识符:工作状态的标识,接收方根据指令字解析工作状态。
数据区:转换模块的状态。
报文校验,报文字段运算的结果,对报文的正确性进行检验。
数据报文格式根据CAN数据帧设计,CAN总线采用CAN2.0B标准协议格式,将CAN协议中的帧类型、帧ID、数据长度和数据字段重新进行封装,用于实现CAN数据帧与SPI报文的转换。
帧类型:标识CAN数据帧的类型为标准帧或者扩展帧。
帧ID:CAN数据帧的ID,标准帧占2个字节,扩展帧占4个字节。
数据长度:CAN数据帧数据有效长度。
数据字段:CAN数据帧的数据区内容,根据数据长度设置字节数。
(3)结尾序列为固定序列,用于接收方在SPI总线的串行报文中,识别SPI报文的结尾。
S3,通信机制设计:
通信主机通过转换模块实现与多路CAN设备的通信,在转换模块内增加SPI报文缓冲区。
S31,数据发送时,通信主机将SPI报文发送至各转换模块,各转换模块将SPI报文转换为CAN数据帧,通过CAN接口对外发送。具体步骤包括:
(1)通讯主机根据CAN协议,按照SPI报文格式将CAN协议中的帧类型、帧ID、数据长度和数据字段封装成数据报文;并控制SPI总线,将数据报文发送至对应的转换模块。
(2)转换模块接收到数据报文后,将SPI报文中的帧类型、帧ID、数据长度和数据填入CAN数据帧的对应字段,转换为CAN数据帧。
(3)将转换完成的CAN数据帧通过CAN接口发送出去,实现通信主机向特定CAN接口发送数据。
S32,数据接收时,各转换模块通过CAN接口接收外部数据,转换为数据报文并存入缓冲区,在通信主机读取数据时,向通信主机发送数据报文。具体步骤包括:
(1)转换模块建立以数据报文为单元的缓冲区,该缓冲区为环形缓冲区,缓冲区满后禁止写入;
(2)转换模块接收到接收到的CAN数据帧后,将帧类型、帧ID、数据长度和数据字段封装成数据报文,存入缓冲区;
(3)通信主机周期向各转换模块发送数据读取指令,并执行数据读取操作;
(4)转换模块接收到通信主机的数据读取指令;
(41)若缓冲区存在数据报文,则提取报文,在通信主机读取时,发送至主机;
(42)若缓冲区为空,则在通信主机读取时,向主机发送状态报文,通知主机,该通道缓冲区已空;
(5)通信主机若读取到数据报文,则解析并处理数据,若读取到缓冲区为空的状态报文,则丢弃数据,并终止本周期的读取操作。
S4,转换模块按统一格式完成SPI报文与CAN数据帧的转换。
其中,所述转换模块的配置步骤为:
通信主机启动后,根据扩展的CAN接口数量,
(1)查询各通道的转换模块状态,完成各通道转换模块的状态检测;
(2)清空各通道转换模块的SPI报文缓冲区;
(3)设置各通道的CAN接口工作模式和波特率;
(4)设置各通道的接收屏蔽方式和屏蔽码。
本发明所产生的有益效果是:
(1)根据SPI通信特点设计了可扩展通信架构,利用SPI的一主多从工作模式,实现通过1路SPI接口扩展多路CAN接口的功能,大大增加了系统的扩展能力,而且由于SPI速度远高于CAN通信,该扩展方式不会影响CAN接口的通信速率。
(2)根据可扩展通信架构的通信内容,设计了统一的SPI报文格式,实现了对CAN总线灵活配置,对转换模块状态实时监控。
(3)根据CAN数据帧的结构,设计数据报文格式,实现了CAN数据包的透明传输,增加了协议转换的通用性,通过对转换算法进行必要的软件封装,通信主机软件完全按照标准CAN数据格式进行接收和发送,编程简单灵活。
(4)建立数据缓冲区,解决了CAN总线缓冲区较小以及SPI总线与CAN总线速度不匹配的问题,降低了对数据处理同步要求,提高了数据传输可靠性。
(5)该设计利用现有的成熟芯片,通过开发软件实现,维护和使用成本较低。

Claims (9)

1.一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:利用通信主机和一个以上的转换模块作为运行平台,具体步骤如下:
S1,扩展通信架构设计:
通信主机与一个以上的转换模块间通过SPI总线通信,转换模块通过CAN总线与外部设备连接,利用SPI总线一主多从工作方式,将通信主机软件设置为主机模式,转换模块软件设置为从机模式,通过SPI主机连接多个从机方式,通信主机通过多个转换模块搭建通道,实现SPI扩展多路CAN接口功能,对各个通道进行编号;
S2,SPI报文格式设计:
根据SPI总线的通信方式,设计统一的SPI报文格式;
S3,通信机制设计:
通信主机通过转换模块实现与多路CAN设备的通信,在转换模块内增加SPI报文缓冲区,
S31,数据发送时,通信主机将SPI报文发送至各转换模块,各转换模块将SPI报文转换为CAN数据帧,通过CAN接口对外发送;
S32,数据接收时,各转换模块通过CAN接口接收外部数据,转换为SPI报文并存入缓冲区,在通信主机读取数据时,向通信主机发送SPI报文;
S4,转换模块按统一格式完成SPI报文与CAN数据帧的转换。
2.根据权利要求1所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:步骤S1具体包括扩展通信架构通信主机和转换模块的功能分配如下:
(1)通信主机配置各个通道的转换模块,并监控转换模块状态;
(2)通信主机封装需发送至各个通道的SPI报文,并处理由各个通道接收到的SPI报文;
(3)转换模块完成CAN数据帧的接收和发送,以及CAN数据帧与SPI报文的相互转换。
3.根据权利要求1所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:通信主机与转换模块间通过SPI总线通信具体包括如下内容:
(1)控制报文,包括转换模块配置指令、状态查询指令和数据读取指令,配置指令实现转换模块配置,包括通道编号、CAN工作模式、CAN波特率、CAN屏蔽方式及屏蔽码;状态查询指令获取各转换模块的状态信息;数据读取指令读取转换模块的数据帧;
(2)状态报文,将转换模块的工作状态信息封装成状态报文,反馈给通信主机;
(3)数据报文,将CAN协议中的帧类型、帧ID、数据长度和数据封装成数据报文,实现CAN数据帧与SPI报文相互转换。
4.根据权利要求1或3所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:所述SPI报文格式具体包括前导序列、报文段和结尾序列,各类报文采用相同格式的前导序列和结尾序列,报文段根据传输报文的不同采用不同的封装格式;
(1)前导序列包括起始符、通道号、报文标识和序列校验,用于识别报文开端,标识报文要发向的通道或者产生该报文的通道,并指示报文的类别;
(2)报文段为SPI报文的实际内容,具体为控制报文、状态报文和数据报文,其中控制报文、状态报文和数据报文具体报文格式不相同;
(3)结尾序列为固定序列,标识报文的结尾。
5.根据权利要求1所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:所述转换模块的配置步骤为:
通信主机启动后,根据扩展的CAN接口数量,
(1)查询各通道的转换模块状态,完成各通道转换模块的状态检测;
(2)清空各通道转换模块的SPI报文缓冲区;
(3)设置各通道的CAN接口工作模式和波特率;
(4)设置各通道的接收屏蔽方式和屏蔽码。
6.根据权利要求4所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:所述前导序列的元素格式为:
(1)起始符为2个字节的固定序列,用于接收方识别报文开端;
(2)通道号为通信主机分配的通道编号,根据可扩展通信架构中,通信主机连接多个转换模块的通信方式,前导序列中加入通道号,用以标识发送该SPI报文的通道,或者接收到该SPI报文的通道;
(3)报文标识用于区分报文的类别;
(4)序列校验根据前导序列计算,用于对前导序列的正确性进行校验。
7.根据权利要求4所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:所述报文段格式为:
(1)控制报文格式包括指令字、指令参数和报文校验,指令字标识具体指令,指令参数是对应指令所需的参数,根据具体指令设置;
(2)状态报文包括标识符、数据区和报文校验,标识符标识状态数据类别,数据区为实际数据;
(3)数据报文格式根据CAN数据帧设计,CAN总线采用CAN2.0B标准协议格式,将CAN协议中的帧类型、帧ID、数据长度和数据字段重新进行封装,用于实现CAN数据帧与SPI报文的转换。
8.根据权利要求1所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:步骤S31数据发送具体包括:
(1)按照SPI报文格式封装成数据报文;并控制SPI总线,将数据报文发送至对应的转换模块;
(2)转换模块接收到数据报文后,将SPI报文中的帧类型、帧ID、数据长度和数据填入CAN数据帧的对应字段,转换为CAN数据帧;
(3)将转换完成的CAN数据帧通过CAN接口发送出去,实现通信主机向特定CAN接口发送数据。
9.根据权利要求1所述的一种可扩展的SPI总线与CAN总线数据转换方法,其特征在于:步骤S32数据接收具体包括:
(1)转换模块建立以数据报文为单元的缓冲区,该缓冲区为环形缓冲区,缓冲区满后禁止写入;
(2)转换模块接收到接收到的CAN数据帧后,将CAN数据帧封装成数据报文,存入缓冲区;
(3)通信主机周期向各转换模块发送数据读取指令,并执行数据读取操作;
(4)转换模块接收到通信主机的数据读取指令;
(41)若缓冲区存在数据报文,则提取报文,在通信主机读取时,发送至主机;
(42)若缓冲区为空,则在通信主机读取时,向主机发送状态报文,通知主机,该通道缓冲区已空;
(5)通信主机若读取到数据报文,则解析并处理数据,若读取到缓冲区为空的状态报文,则丢弃数据,并终止本周期的读取操作。
CN202211375540.9A 2022-11-04 2022-11-04 一种可扩展的spi总线与can总线数据转换方法 Pending CN115883675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211375540.9A CN115883675A (zh) 2022-11-04 2022-11-04 一种可扩展的spi总线与can总线数据转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211375540.9A CN115883675A (zh) 2022-11-04 2022-11-04 一种可扩展的spi总线与can总线数据转换方法

Publications (1)

Publication Number Publication Date
CN115883675A true CN115883675A (zh) 2023-03-31

Family

ID=85759421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211375540.9A Pending CN115883675A (zh) 2022-11-04 2022-11-04 一种可扩展的spi总线与can总线数据转换方法

Country Status (1)

Country Link
CN (1) CN115883675A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962112A (zh) * 2023-09-20 2023-10-27 中国船舶集团有限公司第七〇七研究所 基于标准spi总线连接的双机全双工数据透明传输方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962112A (zh) * 2023-09-20 2023-10-27 中国船舶集团有限公司第七〇七研究所 基于标准spi总线连接的双机全双工数据透明传输方法
CN116962112B (zh) * 2023-09-20 2023-12-15 中国船舶集团有限公司第七〇七研究所 基于标准spi总线连接的双机全双工数据透明传输方法

Similar Documents

Publication Publication Date Title
EP0622713B1 (en) Method and apparatus for exchanging different classes of data during different time intervals
CN105324960A (zh) 控制器局域网络灵活的数据率
CN105117319A (zh) 基于fpga实现对多路mdio设备实时监控的方法
CN110471880B (zh) 一种基于FPGA支持Label号筛选的ARINC429总线模块及其数据传输方法
CN108966046B (zh) 一种基于fpga的两种通信接口融合mac控制器
CN102346501A (zh) 一种具有统一机框管理架构的设备及其管理控制方法
CN101610192A (zh) 一种通信从机、总线级连方法及系统
CN110177058B (zh) 一种基于fpga的以太网交换板卡状态监控收发装置
CN115883675A (zh) 一种可扩展的spi总线与can总线数据转换方法
US5056084A (en) System for transmitting hdlc frames on a pcm type link using a single hdlc circuit and a transposition buffer memory
CN110663222A (zh) 处理过程数据
CN107992439A (zh) 一种可扩展的数据交互方法及系统
US7283488B2 (en) J1850 application specific integrated circuit (ASIC) and messaging technique
CN108521416B (zh) 一种ecn板卡
CN116450563A (zh) 一种消息接收装置和处理器通信系统
CN115904844A (zh) 一种用于打印boot信息的uart仿真模型及其工作方法
CN112583839B (zh) Autbus总线与Hart总线的协议转换装置及方法、设备及介质
CN109787875B (zh) 通讯总线转换系统
CN111193650B (zh) 一种基于sae as5643标准的节点收发控制装置
CN209627394U (zh) 一种数字信号采集器及系统
CN110445569B (zh) 一种具有定时与指令同步功能的集成系统
CN108712242B (zh) 分组设备内提升信令处理能力的系统及方法
CN112882979A (zh) 一种通信系统和方法
CN110687854A (zh) 一种pa总线控制器以及一种pa总线控制系统
CN113141322A (zh) 一种数据通信方法、数据通信装置及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination