一种应用rmap协议实现can总线设备即插即用的装置的制造方法_2

文档序号:9435857阅读:来源:国知局
RMAP写命令包时,DMA模块根据地址信息以及写命令进行工作,将CRC校验后缓存的数据写入异步数据收发双端口 RAM中,同时DMA模块向CAN总线控制器发出控制命令,CAN总线控制器读取异步数据收发双端口 RAM中的数据,并发送到CAN总线网络。
[0038]步骤七、RMAP目标节点控制器发送RMAP应答命令包到星载计算机或RMAP发起节点设备;
[0039]RMAP目标节点控制器将CAN总线数据帧或者将向异步数据收发双端口 RAM中写入控制命令是否成功的状态信息打包成RMAP应答命令包,通过SpaceWire数据接口模块发送到星载计算机或者RMAP发起节点设备。
[0040]本发明的优点和积极效果在于:
[0041](I)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,在硬件电路设计中利用RMAP协议实现数据转换,这种实现方法可以节约星载网络集成时间以及成本,而且提高了数据转换装置的可靠性与实时性。
[0042](2)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,内部所有模块都是以IP软核形式实现的,将所有由IP核生成的数据转换逻辑单元下载到Xilinx公司生产的Virtex5XC5VLX155FPGA内部;这种利用IP软核设计方式使得硬件电路板结构简单,且具有功耗低、可移植性强、修改灵活等特点。
[0043](3)、本发明一种应用RMAP协议实现CAN总线设备即插即用的装置,RMAP目标节点数据控制器以IP软核实现,避免了使用处理器的方式来完成协议转换,提高了数据的转换效率与数据传输实时性,并且有效的降低了设计复杂度。在功耗方面也比利用处理器实现协议转换的方法具有优势。
【附图说明】
[0044]图1为本发明一种应用RMAP协议实现CAN总线设备即插即用的装置结构示意图;
[0045]图2为本发明CAN总线数据帧格式示意图;
[0046]图3为本发明RMAP命令包数据帧格式示意图;
[0047]图4为本发明RMAP目标节点控制器结构示意图;
[0048]图5为本发明SpaceWire数据接口模块结构示意图;
[0049]图6为本发明该装置具体使用的方法流程图;
[0050]图7为本发明RMAP目标节点控制器的方法流程图。
[0051 ] 1-CAN总线控制器;2-异步数据收发双端口 RAM ;3-RMAP目标节点控制器;4-Spaceffire数据接口模块;
[0052]301-目标命令包解码模块;302-目标应答包编码模块;303_验证控制模块;304-DMA模块;305-目标节点控制器模块;306_CRC数据校验模块;
[0053]401-发送器;402_状态机;403_接收器;404_发送fifo模块;405_接收fifo模块。
【具体实施方式】
[0054]下面将结合附图对本发明作进一步的详细说明。
[0055]Spaceffire总线属于高速率传输数据总线,工作带宽能够达到200Mbps且可以全双工收发。SpaceWire数据接收模块有时钟恢复功能,能够利用接收到的DS编码信号恢复出所接收到的数据和时钟,因此数据接收时钟和发送时钟可处于不同的时钟域中工作。CAN总线属于低速数据传输总线,广泛应用于工业和航天数据传输中。两种接口模块都是通过IP软核形式在FPGA中实现的,两个模块分别同其所对应的数据网络进行通信,发送或者接收相应格式的数据包。
[0056]RMAP目标节点控制器是实现SpaceWire上层应用层RMAP (远程存储器存取访问)协议。因此利用RMAP目标节点数据控制器可以完成配置寄存器、读取状态信息,以及对其存储器的数据进行读写访问。
[0057]—种应用RMAP协议实现CAN总线设备即插即用的装置,如图1所示,包括RMAP目标节点控制器3、CAN总线控制器1、Spaceffire数据接口模块4和异步数据收发双端口RAM2o
[0058]CAN总线控制器I 一端连接外部CAN总线接口传感设备,另一端与异步数据收发双端口 RAM连接;CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器1,CAN总线控制器I将接收到的数据传输并存放到异步数据收发双端口 RAM2中。
[0059]CAN总线数据帧格式,如图2所示,包括起始位、仲裁域、控制域、数据域、CRC校验域、应答位和结束位。
[0060]其中,CRC校验域又名循环冗余校验位;
[0061]CAN总线控制器I接收到CAN总线数据帧后,丢弃无用的仲裁域、CRC校验域等链路状态判断字段,保留有效的数据域字段,并将数据域字段存储到异步数据收发双端口RAM2 中。
[0062]异步数据收发双端口 RAM2 —端通过数据总线、地址总线、使能控制信号线与CAN总线控制器I相连接;另一端连接RMAP目标节点控制器3。
[0063]异步数据收发双端口 RAM2分别工作在两个时钟域,与RMAP目标节点控制器3连接进行数据操作时采用高频率时钟,与CAN总线控制器I连接进行数据读写操作时采用低频率时钟。利用不同时钟域的异步读写RAM操作,使同一个时间段内RMAP目标节点控制器3和CAN总线控制器I同时访问RAM资源,实现两种总线协议之间高速数据与低速数据同时传输。
[0064]异步数据收发双端口 RAM2作为数据缓存单元的存储器,可以存储两部分数据:第一部分是RMAP目标节点控制器的即插即用配置信息;第二部分是存储外部CAN总线接口传感设备的CAN总线数据帧数据或者RMAP命令包的控制数据。
[0065]通过设计异步数据收发双端口 RAM2可以实现RMAP目标节点控制器3和CAN总线控制器I对存储器的异步操作。
[0066]RMAP目标节点控制器3是实现SpaceWire协议上层的应用层RMAP协议的硬件控制电路,作为RMAP协议中的目标节点,接收星载计算机发起节点的RMAP命令包,通过解析RMAP命令包和返回RMAP应答包的方式收发数据或者给CAN总线接口传感设备发送控制命令。
[0067]RMAP目标节点控制器3 —端通过数据总线、地址总线和使能控制信号总线三种数据总线与异步数据收发双端口 RAM2相连接,对异步数据收发双端口 RAM2中的数据进行读写操作;另一端与SpaceWire数据接口模块4连接,接收SpaceWire数据接口模块4输入的Spaceffire协议数据帧或者向SpaceWire数据接口模块4发送RMAP应答包;
[0068]星载计算机发出RMAP命令包经过SpaceWire数据接口模块4传输给RMAP目标节点控制器3。
[0069]RMAP命令包的格式如图3所示,由SpaceWire数据帧组成,包括目标地址字段、目标逻辑地址字段、协议区分字段、指令字段、密钥字段、应答地址字段、发起节点逻辑地址字段、事务标识字段、存储器地址字段、数据长度字段、包头CRC校验字段、数据载荷字段、数据CRC校验字段和包结束标示字段。
[0070]RMAP目标节点控制器3如图4所示,包括目标命令包解码模块301、验证控制模块303、目标节点控制器模块305、DMA模块304、目标应答包编码模块302和CRC数据校验缓存模块306。
[0071]RMAP目标节点控制器3接收到请求命令包后,如图7所示,具体工作过程是:
[0072]步骤1、目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。
[0073]所述的读写控制信息是指RMAP命令包的指令字段;数据信息是指数据载荷字段;地址信息包括两部分,第一部分是节点的物理地址信息,指目标地址字段和目标逻辑地址字段;表示数据包在星载计算机或发起节点之间传输的路径。第二部分是需要访问存储器的地址信息,指存储器地址字段。
[0074]步骤2、验证控制模块将目标命令包解码模块传输的RMAP命令包中的数据载荷和CRC载荷字段进行CRC校验;验证接收到的数据载荷字段是否正确,如果正确,CRC数据校验缓存模块将校验过的数据进行缓存,然后再将缓存的数据传输到DMA模块。如果不正确,目标应答包编码模块将错误状态打包成相应的应达包发送给SpaceWire数据接口模块。
[0075]步骤3、目标节点控制器模块根据步骤I中的读写控制信息给DMA模块发送控制指令;如果是读命令,进入步骤4,如果是写命令,进入步骤5 ;
[0076]目标节点控制器模块305负责控制RMAP命令包的接收、应答和传输;目标节点控制模块305接收到的RMAP解码模块中的读写控制信息,读写控
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1