CN105187227A - 一种应用rmap协议实现can总线设备即插即用的装置 - Google Patents
一种应用rmap协议实现can总线设备即插即用的装置 Download PDFInfo
- Publication number
- CN105187227A CN105187227A CN201510320758.8A CN201510320758A CN105187227A CN 105187227 A CN105187227 A CN 105187227A CN 201510320758 A CN201510320758 A CN 201510320758A CN 105187227 A CN105187227 A CN 105187227A
- Authority
- CN
- China
- Prior art keywords
- rmap
- module
- data
- target node
- port ram
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
- H04L41/0809—Plug-and-play configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40123—Interconnection of computers and peripherals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种应用RMAP协议实现CAN总线设备即插即用的装置,具体包括:RMAP目标节点控制器、CAN总线控制器、SpaceWire数据接口模块和异步数据收发双端口RAM。依次连接关系如下:外部CAN总线接口传感设备连接CAN总线控制器,连接异步数据收发双端口RAM,连接RMAP目标节点控制器,连接SpaceWire数据接口模块;RMAP目标节点控制器包括目标命令包解码模块、验证控制模块、目标节点控制器模块;DMA模块、目标应答包编码模块和CRC数据校验模块。SpaceWire数据接口模块连接星载计算机与RMAP目标节点控制器;优点在于,RMAP目标节点控制器以IP软核实现,提高了数据的转换效率与数据传输实时性,有效的降低了设计复杂度。
Description
技术领域
本发明属于空间技术应用领域,具体涉及一种应用RMAP协议实现CAN总线设备即插即用的装置。
背景技术
CAN总线(ControllerAreaNetwork,控制器局域网总线)技术具有安全可信性,被大量应用于航天和微小型卫星的数据传输中,SpaceWire总线,是欧空局基于两个商用标准IEEE1355-1995和IEEE1596.3(LVDS);SpaceWire数据总线是未来卫星内部高速数据传输的主干网络。而现有很多卫星上的传感设备都是基于CAN总线研制的,虽然,国内相关专利引用了微处理器的方式在软件层面完成CAN总线和SpaceWire数据总线两种数据链路层协议之间的转换,但是缺少CAN总线和SpaceWire协议在硬件层面实现数据转换的设备,使CAN总线设备能够快速地向SpaceWire主干网的网络融合,实现提高现有传感设备的复用率和节约卫星组装发射成本。
RMAP协议(Remotememoryaccessproocol)由欧航局提出的一种基于SpaceWire的对远程内存访问的协议,它是发展即插即用微小型卫星网络的应用层协议,属于SpaceWire协议的上层协议。该RMAP协议国内还处于研究起步阶段,目前没有应用于卫星上。RMAP协议最主要目的是对远程存储设备进行读写操作,因此将RMAP协议应用在无处理器数据转换设备上,是未来发展低功耗即插即用卫星节点设备的目标。
国外相关即插即用标准提出了利用RMAP协议建立星载互联网络,星载计算机作为RMAP命令的发起节点,通过目标节点的物理地址和目标节点存储器地址访问网络中的所有RMAP目标节点设备的数据。所以利用RMAP协议实现数据格式转换和存储器访问为发展即插即用卫星提供了一种卫星网络集成手段。
发明内容
本发明的目的是:通过应用RMAP目标节点控制器,解决了CAN总线接口传感设备和SpaceWire总线网络的互相兼容,实现了CAN总线接口传感设备向SpaceWire总线网络的数据格式转换和CAN总线接口传感设备的即插即用功能。
一种应用RMAP协议实现CAN总线设备即插即用的装置,一端连接外部CAN总线接口传感设备,另一端连接星载计算机或RMAP发起节点设备;CAN总线接口传感设备传输CAN总线数据帧,经过该装置传输到SpaceWire总线网络;同时星载计算机或RMAP发起节点设备发送RMAP命令包,经过该装置发送到CAN总线网络。
该装置具体包括:RMAP目标节点控制器、CAN总线控制器、SpaceWire数据接口模块和异步数据收发双端口RAM(Random-AccessMemory,随机存取存储器)。
CAN总线控制器一端连接外部CAN总线接口传感设备,另一端与异步数据收发双端口RAM连接;CAN总线控制器将接收到的CAN总线数据帧传输并存放到异步数据收发双端口RAM中。
异步数据收发双端口RAM通过数据总线、地址总线、使能控制信号同时连接CAN总线控制器和RMAP目标节点控制器;
异步数据收发双端口RAM作为数据缓存单元的存储器,存储的数据包括两部分:第一部分为RMAP目标节点控制器的即插即用配置信息,第二部分为外部CAN总线接口传感设备的CAN总线数据帧数据或者RMAP命令包的控制数据。
RMAP目标节点控制器一端与SpaceWire数据接口模块连接,接收SpaceWire数据接口模块输入的RMAP请求命令包或者向SpaceWire数据接口模块发送RMAP应答包;另一端连接异步数据收发双端口RAM,对异步数据收发双端口RAM中的数据进行读写操作;
RMAP目标节点控制器包括目标命令包解码模块、验证控制模块、目标节点控制器模块;DMA(DirectMemoryAccess,直接内存存取)模块、目标应答包编码模块和CRC(CyclicalRedundancyCheck,循环冗余校验码)数据校验模块。
具体工作过程是:
步骤1、目标命令包解码模块对RMAP请求命令包进行解析,得到读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。
步骤2、验证控制模块负责将传输过来的数据做CRC校验,判断接收到的数据是否有错误,如果无误,将数据缓存并传输到DMA模块;否则,进入步骤6;
步骤3、目标节点控制器模块根据读写控制信息给DMA模块发送控制指令;如果是读命令,进入步骤4,如果是写命令,进入步骤5;
RMAP请求命令包的读写控制信息包括读命令和写命令两种,通过读写控制信息控制DMA模块从异步数据收发双端口RAM中进行读写操作;
步骤4、DMA模块根据步骤1的地址信息以及读命令,读取异步数据收发双端口RAM中存储的CAN总线数据帧,并传递给目标应答包编码模块;同时将读命令完成后的控制命令发送给目标节点控制器模块;
步骤5、DMA模块根据步骤1的地址信息以及写命令,将CRC校验后的数据信息存入异步数据收发双端口RAM中,向CAN总线控制器发出控制命令;同时将写命令完成后的控制命令发送给目标节点控制器模块;
步骤6、目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块。
当发起RMAP请求命令包为写命令时,RMAP应答包的数据字段是写异步数据收发双端口RAM是否成功的状态信息;当发起RMAP请求命令包为读命令时,RMAP应答包中的数据字段是CAN总线数据帧;如果验证控制模块CRC校验的数据是错误的,RMAP应答包中的数据字段是错误状态应达包。
SpaceWire数据接口模块包括发送器、状态机、接收器、发送fifo(FirstInputFirstOutput的缩写,先入先出队列)模块和接收fifo模块;该SpaceWire数据接口模块一端连接星载计算机,接收或者发送SpaceWire协议数据帧;另一端与RMAP目标节点控制器通过链路控制信号总线、数据总线、状态标记信号总线、时间码控制信号总线连接在一起,通过RMAP目标节点控制器控制SpaceWire数据接口模块工作方式以及状态检测。
一种应用RMAP协议实现CAN总线设备即插即用的装置的具体使用方法为:
步骤一、首先对异步数据收发双端口RAM进行配置;
将异步数据收发双端口RAM起始10kb的地址空间被分配为存储外部节点设备描述信息、网络节点物理地址信息、协议转换器工作状态、存储器地址映射等信息;其余地址空间被分配作为存储有效载荷数据,供RMAP目标节点控制器和CAN总线控制器读写访问。
步骤二、CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器;
步骤三、CAN总线控制器将CAN总线数据帧存储到异步数据收发双端口RAM;
CAN总线控制器接收到CAN总线数据帧后,保留有效的数据域字段并存储到异步数据收发双端口RAM中,同时将CAN总线控制器的状态信息发送到异步数据收发双端口RAM。
步骤四、星载计算机或RMAP发起节点设备给SpaceWire数据接口模块发送RMAP请求命令包。
RMAP请求命令包是指,星载计算机或者RMAP发起节点设备发送的SpaceWire协议数据帧。
步骤五、SpaceWire数据接口模块将RMAP请求命令包传输给RMAP目标节点控制器;
RMAP目标节点控制器进行如下操作:
首先,目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。
然后,验证控制模块将得到的数据信息进行CRC校验,缓存到DMA模块;数据信息为RMAP命令包中的数据载荷和CRC载荷字段。
步骤六、RMAP目标节点控制器对异步数据收发双端口RAM进行读写操作;
具体为:当RMAP请求命令包为RMAP读命令包时,DMA模块读取异步数据收发双端口RAM中存储的CAN总线数据帧;
当RMAP请求命令包为RMAP写命令包时,DMA模块根据地址信息以及写命令进行工作,将CRC校验后缓存的数据写入异步数据收发双端口RAM中,同时DMA模块向CAN总线控制器发出控制命令,CAN总线控制器读取异步数据收发双端口RAM中的数据,并发送到CAN总线网络。
步骤七、RMAP目标节点控制器发送RMAP应答命令包到星载计算机或RMAP发起节点设备;
RMAP目标节点控制器将CAN总线数据帧或者将向异步数据收发双端口RAM中写入控制命令是否成功的状态信息打包成RMAP应答命令包,通过SpaceWire数据接口模块发送到星载计算机或者RMAP发起节点设备。
本发明的优点和积极效果在于:
(1)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,在硬件电路设计中利用RMAP协议实现数据转换,这种实现方法可以节约星载网络集成时间以及成本,而且提高了数据转换装置的可靠性与实时性。
(2)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,内部所有模块都是以IP软核形式实现的,将所有由IP核生成的数据转换逻辑单元下载到Xilinx公司生产的Virtex5XC5VLX155FPGA内部;这种利用IP软核设计方式使得硬件电路板结构简单,且具有功耗低、可移植性强、修改灵活等特点。
(3)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,RMAP目标节点数据控制器以IP软核实现,避免了使用处理器的方式来完成协议转换,提高了数据的转换效率与数据传输实时性,并且有效的降低了设计复杂度。在功耗方面也比利用处理器实现协议转换的方法具有优势。
附图说明
图1为本发明一种应用RMAP协议实现CAN总线设备即插即用的装置结构示意图;
图2为本发明CAN总线数据帧格式示意图;
图3为本发明RMAP命令包数据帧格式示意图;
图4为本发明RMAP目标节点控制器结构示意图;
图5为本发明SpaceWire数据接口模块结构示意图;
图6为本发明该装置具体使用的方法流程图;
图7为本发明RMAP目标节点控制器的方法流程图。
1-CAN总线控制器;2-异步数据收发双端口RAM;3-RMAP目标节点控制器;4-SpaceWire数据接口模块;
301-目标命令包解码模块;302-目标应答包编码模块;303-验证控制模块;304-DMA模块;305-目标节点控制器模块;306-CRC数据校验模块;
401-发送器;402-状态机;403-接收器;404-发送fifo模块;405-接收fifo模块。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
SpaceWire总线属于高速率传输数据总线,工作带宽能够达到200Mbps且可以全双工收发。SpaceWire数据接收模块有时钟恢复功能,能够利用接收到的DS编码信号恢复出所接收到的数据和时钟,因此数据接收时钟和发送时钟可处于不同的时钟域中工作。CAN总线属于低速数据传输总线,广泛应用于工业和航天数据传输中。两种接口模块都是通过IP软核形式在FPGA中实现的,两个模块分别同其所对应的数据网络进行通信,发送或者接收相应格式的数据包。
RMAP目标节点控制器是实现SpaceWire上层应用层RMAP(远程存储器存取访问)协议。因此利用RMAP目标节点数据控制器可以完成配置寄存器、读取状态信息,以及对其存储器的数据进行读写访问。
一种应用RMAP协议实现CAN总线设备即插即用的装置,如图1所示,包括RMAP目标节点控制器3、CAN总线控制器1、SpaceWire数据接口模块4和异步数据收发双端口RAM2。
CAN总线控制器1一端连接外部CAN总线接口传感设备,另一端与异步数据收发双端口RAM连接;CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器1,CAN总线控制器1将接收到的数据传输并存放到异步数据收发双端口RAM2中。
CAN总线数据帧格式,如图2所示,包括起始位、仲裁域、控制域、数据域、CRC校验域、应答位和结束位。
其中,CRC校验域又名循环冗余校验位;
CAN总线控制器1接收到CAN总线数据帧后,丢弃无用的仲裁域、CRC校验域等链路状态判断字段,保留有效的数据域字段,并将数据域字段存储到异步数据收发双端口RAM2中。
异步数据收发双端口RAM2一端通过数据总线、地址总线、使能控制信号线与CAN总线控制器1相连接;另一端连接RMAP目标节点控制器3。
异步数据收发双端口RAM2分别工作在两个时钟域,与RMAP目标节点控制器3连接进行数据操作时采用高频率时钟,与CAN总线控制器1连接进行数据读写操作时采用低频率时钟。利用不同时钟域的异步读写RAM操作,使同一个时间段内RMAP目标节点控制器3和CAN总线控制器1同时访问RAM资源,实现两种总线协议之间高速数据与低速数据同时传输。
异步数据收发双端口RAM2作为数据缓存单元的存储器,可以存储两部分数据:第一部分是RMAP目标节点控制器的即插即用配置信息;第二部分是存储外部CAN总线接口传感设备的CAN总线数据帧数据或者RMAP命令包的控制数据。
通过设计异步数据收发双端口RAM2可以实现RMAP目标节点控制器3和CAN总线控制器1对存储器的异步操作。
RMAP目标节点控制器3是实现SpaceWire协议上层的应用层RMAP协议的硬件控制电路,作为RMAP协议中的目标节点,接收星载计算机发起节点的RMAP命令包,通过解析RMAP命令包和返回RMAP应答包的方式收发数据或者给CAN总线接口传感设备发送控制命令。
RMAP目标节点控制器3一端通过数据总线、地址总线和使能控制信号总线三种数据总线与异步数据收发双端口RAM2相连接,对异步数据收发双端口RAM2中的数据进行读写操作;另一端与SpaceWire数据接口模块4连接,接收SpaceWire数据接口模块4输入的SpaceWire协议数据帧或者向SpaceWire数据接口模块4发送RMAP应答包;
星载计算机发出RMAP命令包经过SpaceWire数据接口模块4传输给RMAP目标节点控制器3。
RMAP命令包的格式如图3所示,由SpaceWire数据帧组成,包括目标地址字段、目标逻辑地址字段、协议区分字段、指令字段、密钥字段、应答地址字段、发起节点逻辑地址字段、事务标识字段、存储器地址字段、数据长度字段、包头CRC校验字段、数据载荷字段、数据CRC校验字段和包结束标示字段。
RMAP目标节点控制器3如图4所示,包括目标命令包解码模块301、验证控制模块303、目标节点控制器模块305、DMA模块304、目标应答包编码模块302和CRC数据校验缓存模块306。
RMAP目标节点控制器3接收到请求命令包后,如图7所示,具体工作过程是:
步骤1、目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。
所述的读写控制信息是指RMAP命令包的指令字段;数据信息是指数据载荷字段;地址信息包括两部分,第一部分是节点的物理地址信息,指目标地址字段和目标逻辑地址字段;表示数据包在星载计算机或发起节点之间传输的路径。第二部分是需要访问存储器的地址信息,指存储器地址字段。
步骤2、验证控制模块将目标命令包解码模块传输的RMAP命令包中的数据载荷和CRC载荷字段进行CRC校验;验证接收到的数据载荷字段是否正确,如果正确,CRC数据校验缓存模块将校验过的数据进行缓存,然后再将缓存的数据传输到DMA模块。如果不正确,目标应答包编码模块将错误状态打包成相应的应达包发送给SpaceWire数据接口模块。
步骤3、目标节点控制器模块根据步骤1中的读写控制信息给DMA模块发送控制指令;如果是读命令,进入步骤4,如果是写命令,进入步骤5;
目标节点控制器模块305负责控制RMAP命令包的接收、应答和传输;目标节点控制模块305接收到的RMAP解码模块中的读写控制信息,读写控制信息包括读命令和写命令两种,通过读写控制信息控制DMA模块304从异步数据收发双端口RAM2中进行读写操作,同时控制目标应答包编码模块302和目标命令包解码模块301的工作。
步骤4、DMA模块根据步骤1的地址信息以及步骤3的读命令控制指令进行工作,读取异步数据收发双端口RAM中存储的CAN总线数据帧,并传递给目标应答包编码模块;将读控制信息完成后的控制命令发送给目标节点控制器模块;
DMA模块304为直接存取访问控制单元,根据步骤1目标命令包解码模块301传输过来的地址信息对异步数据收发双端口RAM2进行访问,如果读写控制信息是读命令,DMA模块304读取异步数据收发双端口RAM中由CAN总线控制器1所写入的有效数据域字段,并传递给目标应答包编码模块302;同时将读控制信息完成后的控制命令发送给目标节点控制器模块305;
步骤5、DMA模块根据步骤1的地址信息以及写命令,将CRC校验后的数据信息存入异步数据收发双端口RAM中,同时将写命令完成后的控制命令发送给目标节点控制器模块;
如果读写控制信息是写命令,DMA模块304将步骤2经过CRC校验后的数据写入异步数据收发双端口RAM2中,向CAN总线控制器1发出控制命令;CAN总线控制器1读取异步数据收发双端口RAM2中的数据,并发送到CAN总线网络;以方便CAN总线控制器1进行不间断读取。
步骤6、目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块。
当发起RMAP请求命令包为写命令时,RMAP应答包的数据字段是写异步数据收发双端口RAM2是否成功的状态信息;当发起RMAP请求命令包为读命令时,RMAP应答包中的数据字段是CAN总线数据帧。
目标应答包编码模块302将把步骤4中DMA模块304传输而来的数据载荷和目标节点控制器产生的控制命令打包成RMAP应答包发送到SpaceWire数据接口模块4。
SpaceWire数据接口模块4一端连接星载计算机,负责与外部SpaceWire总线通信,接收或者发送SpaceWire协议数据帧。SpaceWire数据接口模块与外部路由器或者星载计算机的连接端口是通过低电压差分LVDS信号作为物理层信号传输技术,传输数据信息与时钟信息。
SpaceWire数据接口模块另一端与RMAP目标节点控制器3通过链路控制信号总线、数据总线、状态标记信号总线、时间码控制信号总线等连接在一起,通过RMAP目标节点控制器3控制SpaceWire数据接口模块4工作方式以及状态检测。SpaceWire数据接口模块4内部完成SpaceWire数据链路层建立过程中所需要的时钟恢复、数据发送接收、错误检测、信用检测、错误状态标记等功能。
SpaceWire数据接口模块4如图5所示,包括发送器401、状态机402、接收器403、发送fifo模块404和接收fifo模块405。状态机402负责SpaceWire链路通信握手和链路错误判断的链路状态转换。SpaceWire网络中传输的是串行数据,因此接收器403将接收到的串行DS编码信号进行时钟与数据的恢复,并将恢复的数据转换成并行数据帧存放到接收fifo模块405中。发送fifo模块404缓存RMAP目标节点控制器3传输到的SpaceWire数据,发送器401负责发送SpaceWire数据帧到SpaceWire网络。
本发明的原理包括读过程和写过程两种,读过程为:CAN总线控制器1接收到的CAN总线数据帧,去除无用的链路状态信息,提取有效数据载荷后把数据存放到异步数据收发双端口RAM2中。RMAP目标节点控制器3读取异步数据收发双端口RAM2中的数据将其打包成RMAP应答数据包,然后将RMAP应答数据包通过SpaceWire数据接口模块4发送到外部SpaceWire网络;
写过程为:SpaceWire数据接口模块4将接收到的RMAP命令数据包发送到RMAP目标节点控制器3,RMAP目标节点控制器3提取命令数据包中的有效载荷字段,并将有效载荷存入异步数据收发双端口RAM2中,CAN总线控制器1读取异步数据收发双端口RAM2中的数据,将其发送到CAN总线网络。
一种应用RMAP协议实现CAN总线设备即插即用的装置的具体使用方法,如图6所示为:
步骤一、首先对异步数据收发双端口RAM进行配置;
将异步数据收发双端口RAM起始10kb的地址空间被分配为存储外部节点设备描述信息、网络节点物理地址信息、协议转换器工作状态、存储器地址映射等信息。星载计算机或RMAP发起节点设备上电后首先读取该10kb地址空间所存储的信息,进行网络配置和接口配置即可实现外部节点设备的即插即用功能。其余地址空间被分配作为存储有效载荷数据,供RMAP目标节点控制器和CAN总线控制器读写访问。
步骤二、CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器;
CAN总线数据帧格式,包括起始位、仲裁域、控制域、数据域、循环冗余校验位(CRC校验域)、应答位和结束位。
步骤三、CAN总线控制器将CAN总线数据帧存储到异步数据收发双端口RAM;
CAN总线控制器接收到CAN总线数据帧后,丢弃无用的仲裁域、CRC校验域等链路状态判断字段,保留有效的数据域字段,并将数据域字段存储到异步数据收发双端口RAM模块中,同时将CAN总线控制器的运行状态和是否错误的状态信息发送到异步数据收发双端口RAM模块。
步骤四、星载计算机或RMAP发起节点设备给SpaceWire数据接口模块发送RMAP请求命令包。
SpaceWire协议数据帧组成了RMAP命令包,包括目标地址字段、目标逻辑地址字段、协议区分字段、指令字段、密钥字段、应答地址字段、发起节点逻辑地址字段、事务标识字段、存储器地址字段、数据长度字段、数据载荷字段、数据CRC字段和包头CRC校验字段等。
星载计算机或者RMAP发起节点设备发送SpaceWire协议数据帧是指发送的RMAP请求命令包。
步骤五、SpaceWire数据接口模块将RMAP请求命令包传输给RMAP目标节点控制器;
RMAP请求命令包中包括RMAP读命令包中或者写命令包中;
步骤六、RMAP目标节点控制器与CAN总线控制器进行信息交换;
当RMAP请求命令包为RMAP读命令包时,RMAP目标节点控制器中的目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块;目标节点控制器模块根据读写控制信息给DMA模块发送控制指令;DMA模块根据地址信息以及控制指令进行工作,通过地址总线传输,读取异步数据收发双端口RAM中存储的CAN总线数据帧;将读取的数据传递给目标应答包编码模块;同时将读取完成后的控制命令发送给目标节点控制器模块;目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;实现了CAN总线接口传感设备向SpaceWire总线网络的数据格式转换的功能。
当RMAP请求命令包为RMAP写命令包时,目标命令包解码模块解析RMAP写命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。目标节点控制器模块得到读写控制信息中的写命令并传输给DMA模块,验证控制模块得到数据信息进行CRC校验,并缓存到DMA模块。DMA模块根据解析得到的地址信息以及写命令进行工作,将CRC校验后的数据信息提取有效载荷字段,存入异步数据收发双端口RAM中,通过地址总线和控制使能信号传输线,将地址信息写入异步数据收发双端口RAM,同时向CAN总线控制器发出控制命令,CAN总线控制器读取异步数据收发双端口RAM中的数据,并发送到CAN总线网络;实现CAN总线接口传感设备的即插即用功能。同时目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;
步骤七、RMAP目标节点控制器发送RMAP应答命令包到星载计算机或RMAP发起节点设备;
RMAP目标节点控制器将从异步数据收发双端口RAM中读取出的CAN总线设备数据或者将写双端口RAM是否成功的状态信息打包成RMAP应答命令包,然后RMAP目标节点控制器将RMAP应答命令包通过SpaceWire数据接口模块发送到星载计算机或者RMAP发起节点设备。
当发起RMAP请求命令包为写命令时,应答包的数据字段是写异步数据收发双端口RAM是否成功的状态信息。当发起RMAP请求命令包为读命令时,应答包中的数据字段是CAN总线数据帧。
Claims (4)
1.一种应用RMAP协议实现CAN总线设备即插即用的装置,一端连接外部CAN总线接口传感设备,另一端连接星载计算机或RMAP发起节点设备;CAN总线接口传感设备传输CAN总线数据帧,经过该装置传输到SpaceWire总线网络;同时星载计算机或RMAP发起节点设备发送RMAP命令包,经过该装置发送到CAN总线网络;其特征在于,
所述的装置具体包括:RMAP目标节点控制器、CAN总线控制器、SpaceWire数据接口模块和异步数据收发双端口RAM;
CAN总线控制器一端连接外部CAN总线接口传感设备,另一端与异步数据收发双端口RAM连接;CAN总线控制器将接收到的CAN总线数据帧传输并存放到异步数据收发双端口RAM中;
异步数据收发双端口RAM通过数据总线、地址总线、使能控制信号同时连接CAN总线控制器和RMAP目标节点控制器,异步数据收发双端口RAM作为数据缓存单元的存储器;
RMAP目标节点控制器一端与SpaceWire数据接口模块连接,接收SpaceWire数据接口模块输入的RMAP请求命令包或向SpaceWire数据接口模块发送RMAP应答包;另一端连接异步数据收发双端口RAM,对异步数据收发双端口RAM中的数据进行读写操作;
RMAP目标节点控制器包括目标命令包解码模块、验证控制模块、目标节点控制器模块、DMA模块、目标应答包编码模块和CRC数据校验模块;
目标命令包解码模块对RMAP请求命令包进行解析,将读写控制信息发送给目标节点控制器模块;将地址信息发送到DMA模块;将数据信息发送到验证控制模块;
验证控制模块对传输过来的数据做CRC校验后传输到DMA模块;
目标节点控制器模块根据读写控制信息给DMA模块发送读命令和写命令两种控制指令;
读命令状态下:DMA模块根据地址信息和读命令,读取异步数据收发双端口RAM中存储的CAN总线数据帧,并传递给目标应答包编码模块;同时将读命令完成后的控制命令发送给目标节点控制器模块;
写命令状态下:DMA模块根据地址信息和写命令,将CRC校验后的数据信息存入异步数据收发双端口RAM中,向CAN总线控制器发出控制命令;同时将写命令完成后的控制命令发送给目标节点控制器模块;
目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;
SpaceWire数据接口模块包括发送器、状态机、接收器、发送fifo模块和接收fifo模块;SpaceWire数据接口模块一端连接星载计算机,接收或者发送SpaceWire协议数据帧;另一端与RMAP目标节点控制器连接,并通过链路控制信号总线、数据总线、状态标记信号总线和时间码控制信号总线进行数据交换,通过RMAP目标节点控制器控制SpaceWire数据接口模块工作方式以及状态检测。
2.如权利要求1所述的一种应用RMAP协议实现CAN总线设备即插即用的装置,其特征在于,所述的异步数据收发双端口RAM存储的数据包括两部分:第一部分为RMAP目标节点控制器的即插即用配置信息,第二部分为外部CAN总线接口传感设备的CAN总线数据帧数据或者RMAP命令包的控制数据。
3.如权利要求1所述的一种应用RMAP协议实现CAN总线设备即插即用的装置,其特征在于,所述的RMAP目标节点控制器具体工作过程是:
步骤1、目标命令包解码模块对RMAP请求命令包进行解析,得到读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块;
步骤2、验证控制模块负责将传输过来的数据做CRC校验,判断接收到的数据是否有错误,如果无误,将数据缓存并传输到DMA模块;否则,进入步骤6;
步骤3、目标节点控制器模块根据读写控制信息给DMA模块发送控制指令;如果是读命令,进入步骤4,如果是写命令,进入步骤5;
RMAP请求命令包的读写控制信息包括读命令和写命令两种,通过读写控制信息控制DMA模块从异步数据收发双端口RAM中进行读写操作;
步骤4、DMA模块根据步骤1的地址信息以及读命令,读取异步数据收发双端口RAM中存储的CAN总线数据帧,并传递给目标应答包编码模块;同时将读命令完成后的控制命令发送给目标节点控制器模块;
步骤5、DMA模块根据步骤1的地址信息以及写命令,将CRC校验后的数据信息存入异步数据收发双端口RAM中,向CAN总线控制器发出控制命令;同时将写命令完成后的控制命令发送给目标节点控制器模块;
步骤6、目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;
当发起RMAP请求命令包为写命令时,RMAP应答包的数据字段是写异步数据收发双端口RAM是否成功的状态信息;当发起RMAP请求命令包为读命令时,RMAP应答包中的数据字段是CAN总线数据帧;如果验证控制模块CRC校验的数据是错误的,RMAP应答包中的数据字段是错误状态应达包。
4.基于权利要求1所述的一种应用RMAP协议实现CAN总线设备即插即用的装置的实现CAN总线设备即插即用的方法,其特征在于,包括以下步骤:
步骤一、首先对异步数据收发双端口RAM进行配置;
将异步数据收发双端口RAM起始10kb的地址空间被分配为存储外部节点设备描述信息、网络节点物理地址、协议转换器工作状态和存储器地址映射信息;其余地址空间被分配作为存储有效载荷数据,供RMAP目标节点控制器和CAN总线控制器读写访问;
步骤二、CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器;
步骤三、CAN总线控制器将CAN总线数据帧存储到异步数据收发双端口RAM;
CAN总线控制器接收到CAN总线数据帧后,保留有效的数据域字段并存储到异步数据收发双端口RAM中,同时将CAN总线控制器的状态信息发送到异步数据收发双端口RAM;
步骤四、星载计算机或RMAP发起节点设备给SpaceWire数据接口模块发送RMAP请求命令包;
步骤五、SpaceWire数据接口模块将RMAP请求命令包传输给RMAP目标节点控制器;
RMAP目标节点控制器进行如下操作:
首先,目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块;
然后,验证控制模块将得到的数据信息进行CRC校验,缓存到DMA模块;
步骤六、RMAP目标节点控制器对异步数据收发双端口RAM进行读写操作;
具体为:当RMAP请求命令包为RMAP读命令包时,DMA模块读取异步数据收发双端口RAM中存储的CAN总线数据帧;
当RMAP请求命令包为RMAP写命令包时,DMA模块将CRC校验后缓存的数据写入异步数据收发双端口RAM中,同时向CAN总线控制器发出控制命令,CAN总线控制器读取异步数据收发双端口RAM中的数据,并发送到CAN总线网络;
步骤七、RMAP目标节点控制器发送RMAP应答命令包到星载计算机或RMAP发起节点设备;
RMAP目标节点控制器将CAN总线数据帧或者将向异步数据收发双端口RAM中写入控制命令是否成功的状态信息打包成RMAP应答命令包,通过SpaceWire数据接口模块发送到星载计算机或者RMAP发起节点设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510320758.8A CN105187227B (zh) | 2015-06-12 | 2015-06-12 | 一种应用rmap协议实现can总线设备即插即用的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510320758.8A CN105187227B (zh) | 2015-06-12 | 2015-06-12 | 一种应用rmap协议实现can总线设备即插即用的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105187227A true CN105187227A (zh) | 2015-12-23 |
CN105187227B CN105187227B (zh) | 2018-08-17 |
Family
ID=54909081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510320758.8A Expired - Fee Related CN105187227B (zh) | 2015-06-12 | 2015-06-12 | 一种应用rmap协议实现can总线设备即插即用的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105187227B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789514A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市优必选科技有限公司 | 帧传输方法及装置 |
CN107302522A (zh) * | 2017-05-26 | 2017-10-27 | 北京航空航天大学 | 基于USB的SpaceWire网络即插即用基础协议 |
CN108093492A (zh) * | 2017-12-26 | 2018-05-29 | 上海创程车联网络科技有限公司 | 一种用于遥控设备的无线射频模块串行通讯方法 |
CN108234337A (zh) * | 2017-12-06 | 2018-06-29 | 北京时代民芯科技有限公司 | 一种支持主机接口的SpaceWire总线路由器 |
CN109274859A (zh) * | 2018-09-30 | 2019-01-25 | 北京航空航天大学 | 一种基于USB3.0的SpaceWire视频采集卡 |
CN111130691A (zh) * | 2019-11-13 | 2020-05-08 | 航天东方红卫星有限公司 | 一种星载异步速率通信匹配装置 |
CN111290715A (zh) * | 2020-02-24 | 2020-06-16 | 山东华芯半导体有限公司 | 一种基于分区实现的安全存储装置 |
CN111600848A (zh) * | 2020-04-22 | 2020-08-28 | 深圳市椰壳信息科技有限公司 | 一种协议转换器及其控制方法 |
CN111984574A (zh) * | 2020-08-17 | 2020-11-24 | 北京中新创科技有限公司 | 一种基于通用串行收发接口背板总线交换*** |
CN109831434B (zh) * | 2019-01-31 | 2021-03-02 | 西安微电子技术研究所 | 一种基于自定义交换策略的多协议通信交换控制器 |
CN112948294A (zh) * | 2021-03-19 | 2021-06-11 | 北京控制工程研究所 | 面向SOC的全域并行收发数据的双通道SpaceWire控制器及控制方法 |
CN113507424A (zh) * | 2021-05-08 | 2021-10-15 | 中国电子科技集团公司第十四研究所 | 一种fc引擎帧接收缓存管理机制 |
CN114536322A (zh) * | 2021-12-22 | 2022-05-27 | 安徽省配天机器人集团有限公司 | 机器人控制柜以及机器人*** |
CN114615353A (zh) * | 2022-02-09 | 2022-06-10 | 中国科学院国家空间科学中心 | 一种基于axi总线的rmap目标方ip核及其命令响应方法 |
CN115001643A (zh) * | 2022-06-20 | 2022-09-02 | 广州万协通信息技术有限公司 | 一种实现swp全双工通讯的***及方法 |
CN117938574A (zh) * | 2024-03-25 | 2024-04-26 | 珠海探宇芯科技有限公司 | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442621B1 (en) * | 1998-04-10 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Equipment control command processing system and method thereof |
CN103024860A (zh) * | 2012-12-11 | 2013-04-03 | 上海卫星工程研究所 | 卫星信道路由分配方法 |
CN103501238A (zh) * | 2013-09-09 | 2014-01-08 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种基于SpaceWire的即插即用方法 |
-
2015
- 2015-06-12 CN CN201510320758.8A patent/CN105187227B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442621B1 (en) * | 1998-04-10 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Equipment control command processing system and method thereof |
CN103024860A (zh) * | 2012-12-11 | 2013-04-03 | 上海卫星工程研究所 | 卫星信道路由分配方法 |
CN103501238A (zh) * | 2013-09-09 | 2014-01-08 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种基于SpaceWire的即插即用方法 |
Non-Patent Citations (1)
Title |
---|
鲁文帅: ""Spacewire即插即用技术研究"", 《万方数据》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789514A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市优必选科技有限公司 | 帧传输方法及装置 |
CN107302522B (zh) * | 2017-05-26 | 2020-12-01 | 北京航空航天大学 | 基于USB的SpaceWire网络即插即用基础协议 |
CN107302522A (zh) * | 2017-05-26 | 2017-10-27 | 北京航空航天大学 | 基于USB的SpaceWire网络即插即用基础协议 |
CN108234337A (zh) * | 2017-12-06 | 2018-06-29 | 北京时代民芯科技有限公司 | 一种支持主机接口的SpaceWire总线路由器 |
CN108234337B (zh) * | 2017-12-06 | 2021-01-08 | 北京时代民芯科技有限公司 | 一种支持主机接口的SpaceWire总线路由器 |
CN108093492A (zh) * | 2017-12-26 | 2018-05-29 | 上海创程车联网络科技有限公司 | 一种用于遥控设备的无线射频模块串行通讯方法 |
CN109274859A (zh) * | 2018-09-30 | 2019-01-25 | 北京航空航天大学 | 一种基于USB3.0的SpaceWire视频采集卡 |
CN109831434B (zh) * | 2019-01-31 | 2021-03-02 | 西安微电子技术研究所 | 一种基于自定义交换策略的多协议通信交换控制器 |
CN111130691A (zh) * | 2019-11-13 | 2020-05-08 | 航天东方红卫星有限公司 | 一种星载异步速率通信匹配装置 |
CN111130691B (zh) * | 2019-11-13 | 2022-08-12 | 航天东方红卫星有限公司 | 一种星载异步速率通信匹配装置 |
CN111290715A (zh) * | 2020-02-24 | 2020-06-16 | 山东华芯半导体有限公司 | 一种基于分区实现的安全存储装置 |
CN111290715B (zh) * | 2020-02-24 | 2023-04-28 | 山东华芯半导体有限公司 | 一种基于分区实现的安全存储装置 |
CN111600848A (zh) * | 2020-04-22 | 2020-08-28 | 深圳市椰壳信息科技有限公司 | 一种协议转换器及其控制方法 |
CN111600848B (zh) * | 2020-04-22 | 2022-05-17 | 深圳市椰壳信息科技有限公司 | 一种协议转换器及其控制方法 |
CN111984574A (zh) * | 2020-08-17 | 2020-11-24 | 北京中新创科技有限公司 | 一种基于通用串行收发接口背板总线交换*** |
CN112948294A (zh) * | 2021-03-19 | 2021-06-11 | 北京控制工程研究所 | 面向SOC的全域并行收发数据的双通道SpaceWire控制器及控制方法 |
CN112948294B (zh) * | 2021-03-19 | 2024-02-09 | 北京控制工程研究所 | 面向SOC的全域并行收发数据的双通道SpaceWire控制器及控制方法 |
CN113507424A (zh) * | 2021-05-08 | 2021-10-15 | 中国电子科技集团公司第十四研究所 | 一种fc引擎帧接收缓存管理机制 |
CN113507424B (zh) * | 2021-05-08 | 2023-11-21 | 中国电子科技集团公司第十四研究所 | 一种fc引擎帧接收缓存管理*** |
CN114536322A (zh) * | 2021-12-22 | 2022-05-27 | 安徽省配天机器人集团有限公司 | 机器人控制柜以及机器人*** |
CN114536322B (zh) * | 2021-12-22 | 2023-12-29 | 安徽省配天机器人集团有限公司 | 机器人控制柜以及机器人*** |
CN114615353A (zh) * | 2022-02-09 | 2022-06-10 | 中国科学院国家空间科学中心 | 一种基于axi总线的rmap目标方ip核及其命令响应方法 |
CN115001643A (zh) * | 2022-06-20 | 2022-09-02 | 广州万协通信息技术有限公司 | 一种实现swp全双工通讯的***及方法 |
CN115001643B (zh) * | 2022-06-20 | 2023-10-03 | 广州万协通信息技术有限公司 | 一种实现swp全双工通讯的***及方法 |
CN117938574A (zh) * | 2024-03-25 | 2024-04-26 | 珠海探宇芯科技有限公司 | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 |
CN117938574B (zh) * | 2024-03-25 | 2024-06-04 | 珠海探宇芯科技有限公司 | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 |
Also Published As
Publication number | Publication date |
---|---|
CN105187227B (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105187227A (zh) | 一种应用rmap协议实现can总线设备即插即用的装置 | |
CN108132897B (zh) | 一种基于zynq平台软核的srio控制器 | |
CN103616927B (zh) | 一种数据通讯服务器 | |
CN103714029B (zh) | 新型二线同步通信协议及应用 | |
CN106502932B (zh) | 基于分层结构的片间互联接口及其写操作和读操作的方法 | |
CN102780705B (zh) | Ethernet-CAN协议转换器 | |
CN106534168B (zh) | 基于fpga的tcp/ip协议栈安全化处理*** | |
CN102065569B (zh) | 一种适用于wlan的以太网mac子层控制器 | |
CN105721295B (zh) | 一种云端服务器与plc ppi通信的网关 | |
CN106953853A (zh) | 一种片上网络千兆以太网资源节点及其工作方法 | |
CN103744811A (zh) | 一种串行数据传输***及方法 | |
CN108255776A (zh) | 一种兼容apb总线的i3c主设备、主从***及通信方法 | |
CN109542818A (zh) | 一种通用的1553b接口装置 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
US9588931B2 (en) | Communication bridging between devices via multiple bridge elements | |
Guo et al. | FPGA implementation of VLC communication technology | |
CN101777037B (zh) | 一种查找引擎实时***内数据传输的方法和*** | |
CN203535551U (zh) | 一种数据通讯服务器 | |
CN102790663B (zh) | 一种应用于vlbi硬件相关处理机的全硬件网络接口 | |
CN103530263A (zh) | 基于fpga/mcu结构的1553b远程终端装置 | |
CN110311814A (zh) | 可编程NoC万兆以太网资源网络接口*** | |
CN105099505B (zh) | 一种适用于脉冲超宽带无线网络的通信*** | |
TW202306365A (zh) | 用於互連協定的訊框接收的資料處理的方法以及儲存裝置 | |
Kuang et al. | A Modbus Protocol Stack Compatible with RTU/TCP Frames and Embedded Application | |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180817 Termination date: 20200612 |