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

文档序号:9435857阅读:来源:国知局
制信息包括读命令和写命令两种,通过读写控制信息控制DMA模块304从异步数据收发双端口 RAM2中进行读写操作,同时控制目标应答包编码模块302和目标命令包解码模块301的工作。
[0077]步骤4、DMA模块根据步骤I的地址信息以及步骤3的读命令控制指令进行工作,读取异步数据收发双端口 RAM中存储的CAN总线数据帧,并传递给目标应答包编码模块;将读控制信息完成后的控制命令发送给目标节点控制器模块;
[0078]DMA模块304为直接存取访问控制单元,根据步骤I目标命令包解码模块301传输过来的地址信息对异步数据收发双端口 RAM2进行访问,如果读写控制信息是读命令,DMA模块304读取异步数据收发双端口 RAM中由CAN总线控制器I所写入的有效数据域字段,并传递给目标应答包编码模块302 ;同时将读控制信息完成后的控制命令发送给目标节点控制器模块305 ;
[0079]步骤5、DMA模块根据步骤I的地址信息以及写命令,将CRC校验后的数据信息存入异步数据收发双端口 RAM中,同时将写命令完成后的控制命令发送给目标节点控制器模块;
[0080]如果读写控制信息是写命令,DMA模块304将步骤2经过CRC校验后的数据写入异步数据收发双端口 RAM2中,向CAN总线控制器I发出控制命令;CAN总线控制器I读取异步数据收发双端口 RAM2中的数据,并发送到CAN总线网络;以方便CAN总线控制器I进行不间断读取。
[0081]步骤6、目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到Spaceffire数据接口模块。
[0082]当发起RMAP请求命令包为写命令时,RMAP应答包的数据字段是写异步数据收发双端口 RAM2是否成功的状态信息;当发起RMAP请求命令包为读命令时,RMAP应答包中的数据字段是CAN总线数据帧。
[0083]目标应答包编码模块302将把步骤4中DMA模块304传输而来的数据载荷和目标节点控制器产生的控制命令打包成RMAP应答包发送到SpaceWire数据接口模块4。
[0084]Spaceffire数据接口模块4 一端连接星载计算机,负责与外部SpaceWire总线通信,接收或者发送SpaceWire协议数据帧。Spaceffire数据接口模块与外部路由器或者星载计算机的连接端口是通过低电压差分LVDS信号作为物理层信号传输技术,传输数据信息与时钟信息。
[0085]Spaceffire数据接口模块另一端与RMAP目标节点控制器3通过链路控制信号总线、数据总线、状态标记信号总线、时间码控制信号总线等连接在一起,通过RMAP目标节点控制器3控制SpaceWire数据接口模块4工作方式以及状态检测。SpaceWire数据接口模块4内部完成SpaceWire数据链路层建立过程中所需要的时钟恢复、数据发送接收、错误检测、信用检测、错误状态标记等功能。
[0086]Spaceffire数据接口模块4如图5所示,包括发送器401、状态机402、接收器403、发送fifo模块404和接收fifo模块405。状态机402负责SpaceWire链路通信握手和链路错误判断的链路状态转换。Spaceffire网络中传输的是串行数据,因此接收器403将接收到的串行DS编码信号进行时钟与数据的恢复,并将恢复的数据转换成并行数据帧存放到接收fifo模块405中。发送fifo模块404缓存RMAP目标节点控制器3传输到的SpaceWire数据,发送器401负责发送SpaceWire数据帧到SpaceWire网络。
[0087]本发明的原理包括读过程和写过程两种,读过程为:CAN总线控制器I接收到的CAN总线数据帧,去除无用的链路状态信息,提取有效数据载荷后把数据存放到异步数据收发双端口 RAM2中。RMAP目标节点控制器3读取异步数据收发双端口 RAM2中的数据将其打包成RMAP应答数据包,然后将RMAP应答数据包通过SpaceWire数据接口模块4发送到外部 SpaceWire 网络;
[0088]写过程为=SpaceWire数据接口模块4将接收到的RMAP命令数据包发送到RMAP目标节点控制器3,RMAP目标节点控制器3提取命令数据包中的有效载荷字段,并将有效载荷存入异步数据收发双端口 RAM2中,CAN总线控制器I读取异步数据收发双端口 RAM2中的数据,将其发送到CAN总线网络。
[0089]—种应用RMAP协议实现CAN总线设备即插即用的装置的具体使用方法,如图6所示为:
[0090]步骤一、首先对异步数据收发双端口 RAM进行配置;
[0091]将异步数据收发双端口 RAM起始1kb的地址空间被分配为存储外部节点设备描述信息、网络节点物理地址信息、协议转换器工作状态、存储器地址映射等信息。星载计算机或RMAP发起节点设备上电后首先读取该1kb地址空间所存储的信息,进行网络配置和接口配置即可实现外部节点设备的即插即用功能。其余地址空间被分配作为存储有效载荷数据,供RMAP目标节点控制器和CAN总线控制器读写访问。
[0092]步骤二、CAN总线接口传感设备传输CAN总线数据帧给CAN总线控制器;
[0093]CAN总线数据帧格式,包括起始位、仲裁域、控制域、数据域、循环冗余校验位(CRC校验域)、应答位和结束位。
[0094]步骤三、CAN总线控制器将CAN总线数据帧存储到异步数据收发双端口 RAM ;
[0095]CAN总线控制器接收到CAN总线数据帧后,丢弃无用的仲裁域、CRC校验域等链路状态判断字段,保留有效的数据域字段,并将数据域字段存储到异步数据收发双端口 RAM模块中,同时将CAN总线控制器的运行状态和是否错误的状态信息发送到异步数据收发双端口 RAM模块。
[0096]步骤四、星载计算机或RMAP发起节点设备给SpaceWire数据接口模块发送RMAP请求命令包。
[0097]Spaceffire协议数据帧组成了 RMAP命令包,包括目标地址字段、目标逻辑地址字段、协议区分字段、指令字段、密钥字段、应答地址字段、发起节点逻辑地址字段、事务标识字段、存储器地址字段、数据长度字段、数据载荷字段、数据CRC字段和包头CRC校验字段等。
[0098]星载计算机或者RMAP发起节点设备发送SpaceWire协议数据帧是指发送的RMAP请求命令包。
[0099]步骤五、Spaceffire数据接口模块将RMAP请求命令包传输给RMAP目标节点控制器;
[0100]RMAP请求命令包中包括RMAP读命令包中或者写命令包中;
[0101]步骤六、RMAP目标节点控制器与CAN总线控制器进行信息交换;
[0102]当RMAP请求命令包为RMAP读命令包时,RMAP目标节点控制器中的目标命令包解码模块负责解析RMAP命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块;目标节点控制器模块根据读写控制信息给DMA模块发送控制指令;DMA模块根据地址信息以及控制指令进行工作,通过地址总线传输,读取异步数据收发双端口 RAM中存储的CAN总线数据帧;将读取的数据传递给目标应答包编码模块;同时将读取完成后的控制命令发送给目标节点控制器模块;目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;实现了CAN总线接口传感设备向SpaceWire总线网络的数据格式转换的功能。
[0103]当RMAP请求命令包为RMAP写命令包时,目标命令包解码模块解析RMAP写命令包,将解析得到的读写控制信息、地址信息、数据信息分别发送到目标节点控制器模块、DMA模块和验证控制模块。目标节点控制器模块得到读写控制信息中的写命令并传输给DMA模块,验证控制模块得到数据信息进行CRC校验,并缓存到DMA模块。DMA模块根据解析得到的地址信息以及写命令进行工作,将CRC校验后的数据信息提取有效载荷字段,存入异步数据收发双端口 RAM中,通过地址总线和控制使能信号传输线,将地址信息写入异步数据收发双端口 RAM,同时向CAN总线控制器发出控制命令,CAN总线控制器读取异步数据收发双端口 RAM中的数据,并发送到CAN总线网络;实现CAN总线接口传感设备的即插即用功能。同时目标节点控制器模块控制目标应答包编码模块生成RMAP应答包发送到SpaceWire数据接口模块;
[0104]步骤七、RMAP目标节点控制器发送RMAP应答命令包到星载计算机或RMAP发起节点设备;
[0105]RMAP目标节点控制器将从异步数据收发双端口 RAM中读取出的CAN总线设备数据或者将写双端口 RAM是否成功的状态信息打包成RMA
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1