CN107302522B - 基于USB的SpaceWire网络即插即用基础协议 - Google Patents

基于USB的SpaceWire网络即插即用基础协议 Download PDF

Info

Publication number
CN107302522B
CN107302522B CN201710382020.3A CN201710382020A CN107302522B CN 107302522 B CN107302522 B CN 107302522B CN 201710382020 A CN201710382020 A CN 201710382020A CN 107302522 B CN107302522 B CN 107302522B
Authority
CN
China
Prior art keywords
data
packet
usb
control device
request
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.)
Active
Application number
CN201710382020.3A
Other languages
English (en)
Other versions
CN107302522A (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201710382020.3A priority Critical patent/CN107302522B/zh
Publication of CN107302522A publication Critical patent/CN107302522A/zh
Application granted granted Critical
Publication of CN107302522B publication Critical patent/CN107302522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Abstract

本发明公开了一种基于USB的SpaceWire网络即插即用基础协议,属于数据传输技术领域。所述的基础协议包括主控设备和PC、SpaceWire网络,主控设备同时与PC和SpaceWire网络通讯;所述的主控设备由FPGA、SpaceWire网络接口和USB芯片组成;使用USB的中断传输和批量传输在PC和FPGA之间交换指令和数据。本发明采用USB作为底层,保证可靠、快速以及扩展性。同时USB是所有PC和大部分中高端芯片都会兼容的协议,因此可以应用于许多设备。本发明针对具体的应用场景细分了指令和数据,并且由于它们使用不同的底层USB传输管道,指令和数据不会互相干扰,同时保证指令的优先性。

Description

基于USB的SpaceWire网络即插即用基础协议
技术领域
本发明属于数据传输技术领域,涉及一种基于USB的SpaceWire网络即插即用基础协议,使得PC可以通过本发明的基础协议控制主控设备和SpaceWire网络,并和SpaceWire网络中的设备通讯。
背景技术
SpaceWire是由ESA(欧洲空间局)提出的一种在航天航空工程中应用的星载传输总线,它的特点包括高速、低功耗、低延迟、全双工、点对点串行连接等方面,而且因为虫洞交换机制间接节省了成本,非常适合在太空环境中使用。即插即用是计算机术语,广义上是指设备在硬件连接后不需要用户干涉,就可以在很短时间内自动配置好,供用户使用。而USB是一种应用极为广泛的即插即用底层传输协议。
发明内容
为解决SpaceWire网络和PC之间的通讯需求,并实现即插即用功能,本发明将SpaceWire和USB结合起来使得PC可以通过一个主控设备控制SpaceWire网络,并且和网络中的节点通讯,使PC和主控设备通讯配置自动化。
本发明提供的基于USB的SpaceWire网络即插即用基础协议包括主控设备和PC、SpaceWire网络。其中主控设备由FPGA、SpaceWire网络接口和USB芯片组成。
USB是应用最广泛的即插即用协议。该协议保证了数据层的快速可靠传输,并提供了几种可以同时工作的传输模式。本发明使用USB的中断传输和批量传输在PC和FPGA之间交换指令和数据。
本发明与现有技术相比有如下优点:
本发明采用USB作为底层,保证可靠、快速以及扩展性。同时USB是所有PC和大部分中高端芯片都会兼容的协议,因此可以应用于许多设备。本发明针对具体的应用场景细分了指令和数据,并且由于它们使用不同的底层USB传输管道,指令和数据不会互相干扰,同时保证指令的优先性。
附图说明
图1为本发明的基于USB的SpaceWire网络即插即用基础协议的拓扑结构示意图。
具体实施方式
下面就结合附图对本发明进行详细说明。
本发明提供一种基于USB的SpaceWire网络即插即用基础协议,所述的基础协议涉及到的组件包括SpaceWire网络、主控设备和PC,如图1所示。主控设备是核心部分,同时与PC和SpaceWire网络通讯。主控设备由以下几个模块组成:FPGA、USB芯片、SpaceWire网络接口。FPGA程序代码存储在EEPROM中,每次重新上电可直接进入协议状态机而无需重新下载。FPGA和USB芯片采用一样的时钟,SpaceWire网络接口则采用更高速的时钟。USB芯片的程序代码存在另一块EEPROM中,上电后处于Slave FIFO模式。FPGA通过DATA线、Read和Write信号、ADDR选址线等和USB芯片通讯,进而通过几个USB管道和PC通讯。PC上使用USB芯片提供的基础驱动作为底层,封装一层数据API之后实现协议,并向上层应用软件提供协议API。
基于USB的SpaceWire网络即插即用基础协议中的通用数据单元如表1所示。各字段的作用:Protocol Version为协议版本号,固定在一个字节,用来标识当前协议版本,使协议可以升级和兼容;Opcode为数据包的操作码分类标识,固定一个字节;Packet ID为标识包的序列号或者响应包的序列号;Length为长度信息,标识后续Payload部分的字节数;Payload为需要传送的内容,可以嵌套更上层的协议。
表1通用数据单元格式
Figure BDA0001305373930000021
在通用数据单元中Payload字段下嵌套的指令数据单元如表2所示。各字段的作用:Command Code为长度一个字节的指令代码,用以区分指令类型;Extra为长度不定的指令附加信息。
表2指令数据单元格式
Command Code Extra
1Byte ?Bytes
在本发明的基础协议中,包含如下指令类型:
1)查询请求指令:发起一次新的查询会话,参与者为PC和主控设备。实现PC读取主控设备状态信息的功能。
查询会话是由PC发起,正常情况下由一次基本通讯构成的会话。PC向主控设备发送一个查询请求包。主控设备收到后处理该查询请求包,之后立即向PC返回一个响应包代表处理结果,如果需要还应该在响应包的Extra字段中附带此次查询会话中需要返回给PC的状态信息数据。
2)IO请求指令:发起一次新的SpaceWire数据传输IO会话,参与者为PC、主控设备和SpaceWire网络。实现PC通过主控设备向SpaceWire网络发送数据、PC通过主控设备从SpaceWire网络接收数据的功能。
通用数据单元Payload为IO请求时,指令数据单元中Extra字段下嵌套的IO数据单元格式如表3所示。各字段的作用:Action:只有在Type为Stream时有效,标志Stream型IO传输开始或结束;Type:Message标志固定数据长度的IO会话,Message会话中数据头部带有2Bytes的数据长度信息,指定本次Message型IO会话中有效数据载荷的长度。Stream标志不固定长度数据流的IO会话,会话发起后进行持续的数据传输,在最后通过一个Action为Stop的IO请求指令结束本次会话。Direction:Output为从PC向主控设备或者SpaceWire网络的发送标识,Input为PC从主控设备或者SpaceWire网络的读取标识。
表3IO数据单元格式
Action Type Direction
1 Start Message Output
0 Stop Stream Input
IO会话可以由PC或者主控设备发起,当PC通过主控设备向SpaceWire网络发送数据时,PC为发起者,主控设备为响应者,PC通过IO会话将需要发送的数据传至主控设备,主控设备再将此次会话携带的有效数据载荷转发到SpaceWire网络中去;当PC通过主控设备从SpaceWire网络接收数据时,主控设备为发起者,PC为响应者,主控设备将从SpaceWire网络中收到的数据通过IO会话传至PC,PC再将这些数据交给应用程序做进一步处理。IO会话分为两种类型:
Message类型的会话:PC或者主控设备中的发起者向响应者发送一个IO Request包,其中IO数据单元中的Type位应为Message。响应者收到这个IO请求包后会确认当前的缓冲区状态、SpaceWire的FIFO状态、SpaceWire的链路状态等信息,如果准备好接收数据,就返回一个Response Status表示“成功”的Response包。如果无法接收数据,就返回携带相应错误码的Response包。发起者收到Response包后,如果Response Status代表“成功”,应立即发送一个准备好的Data包,否则应等待一定时间或者立即重发一个新的IO Request(Packet ID不同)。响应者收到Data包之后,进行相应的动作(如主控设备向SpaceWire网络转发)后,再次返回一个表示“成功”的Response。本次会话即告结束。
Stream类型的会话:PC或者主控设备中的发起者向响应者发送一个IO Request包,其中IO数据单元中的Type位应为Stream,Action位应为Start。响应者收到IO请求后,作出与Message类型会话中类似的状态确认与Response包回复动作。接着,发起者发送一个Data包的头部,其中Length字段表示的是每一次最多传送的字节数,然后开始循环发送数据,每次发送的数据不应多于Length。响应者读取完Data包头部后即开始读取数据,每当读空缓冲区或者读够Length个字节的数据时,应检查在中断传输中是否有Stop请求。发起者将数据全部发送完之后,向响应者发送一个IO Request,其Type为Stream,Action为Stop。响应者收到Stop请求后,向发起者发送一个针对Stop请求的Response,表示已成功停止;当响应者对读取到的数据执行完相应的步骤后(如PC将数据转交给应用程序处理),向发起者发送一个针对Data包的Response。本次会话即告结束。

Claims (2)

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;本次会话即告结束。
CN201710382020.3A 2017-05-26 2017-05-26 基于USB的SpaceWire网络即插即用基础协议 Active CN107302522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710382020.3A CN107302522B (zh) 2017-05-26 2017-05-26 基于USB的SpaceWire网络即插即用基础协议

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710382020.3A CN107302522B (zh) 2017-05-26 2017-05-26 基于USB的SpaceWire网络即插即用基础协议

Publications (2)

Publication Number Publication Date
CN107302522A CN107302522A (zh) 2017-10-27
CN107302522B true CN107302522B (zh) 2020-12-01

Family

ID=60137387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710382020.3A Active CN107302522B (zh) 2017-05-26 2017-05-26 基于USB的SpaceWire网络即插即用基础协议

Country Status (1)

Country Link
CN (1) CN107302522B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737275B (zh) * 2018-05-29 2020-04-21 北京航空航天大学 一种基于SpaceFibre即插即用星载网络管理方法
CN109274859A (zh) * 2018-09-30 2019-01-25 北京航空航天大学 一种基于USB3.0的SpaceWire视频采集卡

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187227A (zh) * 2015-06-12 2015-12-23 北京航空航天大学 一种应用rmap协议实现can总线设备即插即用的装置
CN205103813U (zh) * 2015-06-15 2016-03-23 珠海欧比特控制工程股份有限公司 一种基于PCI接口的SpaceWire总线节点通讯模块
CN105739416A (zh) * 2016-05-06 2016-07-06 上海航天测控通信研究所 一种星载综合电子计算机
CN106201946A (zh) * 2016-06-29 2016-12-07 北京航天自动控制研究所 一种基于fpga和dsp的星载电子系统数据接口系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378344A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Processor and platform assisted nvdimm solution using standard dram and consolidated storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187227A (zh) * 2015-06-12 2015-12-23 北京航空航天大学 一种应用rmap协议实现can总线设备即插即用的装置
CN205103813U (zh) * 2015-06-15 2016-03-23 珠海欧比特控制工程股份有限公司 一种基于PCI接口的SpaceWire总线节点通讯模块
CN105739416A (zh) * 2016-05-06 2016-07-06 上海航天测控通信研究所 一种星载综合电子计算机
CN106201946A (zh) * 2016-06-29 2016-12-07 北京航天自动控制研究所 一种基于fpga和dsp的星载电子系统数据接口系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于 FPGA 的可更换模块即插即用接口设计;陈园等;《中南大学学报(自然科学版)》;20130730;全文 *
基于RMAP-IP核的PCIe-SpaceWire接口卡的研究与实现;刘文莉等;《SEMICONDUCTOR OPTOELECTRONICS》;20170430;正文第232-237页 *

Also Published As

Publication number Publication date
CN107302522A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN102681957B (zh) 增强的无线 usb 协议和集线器
CN103559156B (zh) 一种fpga与计算机之间的通信系统
EP1750401B1 (en) USB 1.1 over a high speed link
CN107819659B (zh) 一种基于spi的智能级联通信网络
CN108107827B (zh) 一种基于zynq平台软核的srio控制方法
CN101957808B (zh) 多cpu间的通信方法、系统及cpu
EP3009940A1 (en) Unified connector architecture
CN100481054C (zh) 总线连接设备
CN101005376A (zh) 一种实现业务板和主控板通信的装置和方法
CN102377778A (zh) 一种基于以太网的远程非对称端通信方法
CN107302522B (zh) 基于USB的SpaceWire网络即插即用基础协议
CN105389120A (zh) 支持通过活动消息的rma api
CN101394349B (zh) 不同接口设备通信中的数据传输方法及系统
CN101937413B (zh) 一种i2c总线的通信方法
KR101559089B1 (ko) 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜
JP2007088775A (ja) 無線通信システム、無線通信装置及び方法
CN110113209B (zh) 基于mipi协议的设备间通信方法及设备拓扑结构
CN1316387C (zh) 一种串行接口总线通信控制器
CN112241277A (zh) Ic固件更新方法
WO2012126352A1 (zh) 在pcie总线上传输报文的方法、设备和系统
EP3631640B1 (en) Communication between field programmable gate arrays
CN104850517A (zh) 一种dma传输报文数据的方法及装置
Jokanović Communication with CNC machine through DNC interface
CN116226027B (zh) 数据传输系统、方法、装置、通信设备及存储介质
CN114363119B (zh) 一种Android系统下C++socket通讯与蜂窝网络同时使用方法

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
GR01 Patent grant
GR01 Patent grant