[发明专利]基于USB的SpaceWire网络即插即用基础协议有效
申请号: | 201710382020.3 | 申请日: | 2017-05-26 |
公开(公告)号: | CN107302522B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 伊小素;曾华菘;熊瑞;郭昊 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F13/42 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 姜荣丽 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 usb spacewire 网络 即插即用 基础 协议 | ||
1.基于USB的SpaceWire网络即插即用基础协议系统,包括主控设备和PC、SpaceWire网络,主控设备同时与PC和SpaceWire网络通讯;其特征在于:所述的主控设备由FPGA、SpaceWire网络接口和USB芯片组成;使用USB的中断传输和批量传输在PC和FPGA之间交换指令和数据;
FPGA程序代码存储在EEPROM中,每次重新上电直接进入协议状态机而无需重新下载;FPGA和USB芯片采用一样的时钟,SpaceWire网络接口则采用更高速的时钟;USB芯片的程序代码存在另一块EEPROM中,上电后处于Slave FIFO模式;FPGA通过DATA线、Read和Write信号、ADDR选址线和USB芯片通讯,进而通过USB管道和PC通讯;PC上使用USB芯片提供的基础驱动作为底层,封装一层数据API之后实现协议,并向上层应用软件提供协议API;
所述的基础协议中,通用数据单元包括:
Protocol Version 为协议版本号,固定在一个字节,用来标识当前协议版本,使协议升级和兼容;
Opcode为数据包的操作码分类标识,固定一个字节;
Packet ID为标识包的序列号或者响应包的序列号;
Length 为长度信息,标识后续 Payload部分的字节数;
Payload为需要传送的内容,嵌套更上层的协议;
Payload字段下嵌套的指令数据单元包括两个字段:Command Code为长度一个字节的指令代码,用以区分指令类型;Extra为长度不定的指令附加信息;其中,指令类型包括如下:
1)查询请求指令:发起一次新的查询会话,参与者为PC和主控设备;实现PC读取主控设备状态信息的功能;
PC向主控设备发送一个查询请求包,主控设备收到后处理该查询请求包,之后立即向PC返回一个响应包代表处理结果,如果需要还应该在响应包的 Extra字段中附带此次查询会话中需要返回给PC的状态信息数据;
2)IO请求指令:发起一次新的SpaceWire数据传输IO会话,参与者为PC、主控设备和SpaceWire网络;实现PC通过主控设备向SpaceWire网络发送数据、PC通过主控设备从SpaceWire网络接收数据的功能;
所述的基础协议中,通用数据单元Payload为IO请求时,指令数据单元中Extra字段下嵌套的IO数据单元格式:
Action:只有在 Type为 Stream时有效,标志Stream型IO传输开始或结束;
Type: Message标志固定数据长度的 IO会话,Message会话中数据头部带有2Bytes的数据长度信息,指定本次Message型IO会话中有效数据载荷的长度;Stream标志不固定长度数据流的IO会话,会话发起后进行持续的数据传输,在最后通过一个Action为Stop的IO请求指令结束本次会话;
Direction: Output 为从 PC向主控设备或者 SpaceWire网络的发送标识,Input 为PC从主控设备或者 SpaceWire网络的读取标识。
2.根据权利要求1所述的基于USB的SpaceWire网络即插即用基础协议系统,其特征在于:所述的IO会话分为两种类型:
Message类型的会话:PC或者主控设备中的发起者向响应者发送一个IORequest包,其中IO数据单元中的 Type位应为Message;响应者收到这个IO请求包后会确认当前的缓冲区状态、SpaceWire 的 FIFO状态、SpaceWire的链路状态信息,如果准备好接收数据,就返回一个 Response Status表示“成功”的 Response包;如果无法接收数据,就返回携带相应错误码的 Response包;发起者收到 Response包后,如果 Response Status代表“成功”,应立即发送一个准备好的 Data包,否则应等待一定时间或者立即重发一个新的 IO Request;响应者收到 Data包之后,进行相应的动作后,再次返回一个表示“成功”的 Response;本次会话即告结束;
Stream类型的会话:PC或者主控设备中的发起者向响应者发送一个IORequest 包,其中IO数据单元中的 Type位应为Stream,Action位应为 Start;响应者收到IO请求后,作出状态确认与Response包回复动作;接着,发起者发送一个 Data包的头部,其中 Length字段表示的是每一次最多传送的字节数,然后开始循环发送数据,每次发送的数据不应多于Length;响应者读取完Data包头部后即开始读取数据,每当读空缓冲区或者读够Length个字节的数据时,应检查在中断传输中是否有 Stop请求;发起者将数据全部发送完之后,向响应者发送一个 IO Request,其 Type为Stream,Action为 Stop;响应者收到 Stop请求后,向发起者发送一个针对 Stop请求的 Response,表示已成功停止;当响应者对读取到的数据执行完相应的步骤后,向发起者发送一个针对 Data包的Response;本次会话即告结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710382020.3/1.html,转载请声明来源钻瓜专利网。