CN111064545B - 基于fpga实现具有spw接口的专网地检装置及方法 - Google Patents
基于fpga实现具有spw接口的专网地检装置及方法 Download PDFInfo
- Publication number
- CN111064545B CN111064545B CN201911216142.0A CN201911216142A CN111064545B CN 111064545 B CN111064545 B CN 111064545B CN 201911216142 A CN201911216142 A CN 201911216142A CN 111064545 B CN111064545 B CN 111064545B
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- ethernet
- spacewire
- special
- 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
Links
Images
Classifications
-
- 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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
-
- 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/40071—Packet processing; Packet format
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种基于FPGA实现具有SPW接口的专网地检装置及方法,主要解决现有技术无法实现地面检测的问题。本发明的装置包括检测系统和FMC扩展槽,且检测系统通过FMC扩展槽与外部的专用交换网络设备相连。该检测系统通过FPGA实现,其包括以太网媒体访问控制处理器、帧整形模块、端口轮询模块、端口处理模块、SPW接口模块和DS信号采样模块,通过这些模块实现接收以太网帧,将其转换成专用帧数据后,再编码成DS信号从FMC扩展槽发送出去,并接收SPW链路上的数据将其转换为以太网帧,发送给以太网设备。本发明具有可移植性好、信号采样准确稳定、可实现DS信号跨板传输的优点,可用于以太网协议与SPW协议适配。
Description
技术领域
本发明属于通信技术领域,特别涉及一种专用交换网络的地检装置,可用于以太网设备与SpaceWire设备桥接。
背景技术
在计算机技术和微电子技术高速发展的同时,星载数据总线也不断完善并取得突破性进展,目前国内外已知的或者有计划应用在星上的数据总线主要包括:RS-422/485,CAN,MIL-STD-1553,IEEE1355,FDDISFODB,PFODB MIISTD-1773,OBDH,IEEE1394,SpaceWire,FibreChannel,Enthernet,12C等。但由于一些航天器素材和设备制造商使用其专用的通信接口进行单元间通信,导致了航天器上会使用多种不同的通信链路,增加了成本并且延长了航天器集成和测试所需的时间。SpaceWire缩写为SPW,其具有高速,低功耗,相对较低的实施成本和架构灵活的特性,可以支持空间数据处理。SpaceWire总线提供了高速的全双工数据链路,能够将仪器,大容量存储器,处理器,下行遥测这些SpaceWire设备连接在一起,速度可达2Mbits/s至200Mbits/s。可以构建数据处理网络以适应使用点对点数据链路和路由交换机的特定应用。
航天东方红卫星有限公司提出的专利申请“一种CAN总线与SpaceWire总线的协议转换器”(申请日:2011.08.17,申请号:201120299887.0,公告号:CN 202190284U)中公开了一种CAN总线与SpaceWire总线的协议转换设备,其中中央处理器与CAN总线控制器相连,可以接收由CAN总线数据帧,将其转换成SpaceWire总线数据帧并输出到SpaceWire接口逻辑模块;中央处理器与SpaceWire接口逻辑模块相连,可以接收由SpaceWire接口逻辑模块输入的SpaceWire总线数据帧,将其转换成CAN总线数据帧输出到CAN总线控制器,从而实现了双方协议的转换。
该方法的不足之处在于,航空航天设备大多采用CAN总线,而目前大多数商用SOC,其使用的点对点接口为以太网IEEE802.3协议,没有实现通用设备和航空航天设备的互联,从而无法实现地面检测。若在此基础上额外添加转换装置则会造成开销过大、资源紧张的问题。
发明内容
本发明目的在于克服上述已有技术的不足,在不增加开销和资源的前提下,提供一种基于FPGA实现具有SPW接口的专网地检装置及方法,以实现以太网设备与SpaceWire设备的连接,将标准以太网数据帧IEEE 802.3帧转换成非标格式帧按照SpaceWire协议发送,实现对整个交换网络的测试,同时接收来自SpaceWire交换网络的专用格式帧,将其恢复成标准以太网帧传输到以太网设备。
本发明的技术思路是:在FPGA内实现RGMII接口用于收发以太网帧,在接收到RGMII格式的数据帧之后对其进行位宽转换和格式适配,产生符合SpaceWire交换网络内部要求的专用格式帧,并通过输出轮询连接到相应的SpaceWire接口上;通过在片内实现SpaceWire接口,可以对数据进行编码发送给SpaceWire设备,同时通过采用一种高效率DS采样方法对SpaceWire链路上传输的串行信号进行采样,得到准确、稳定的DS信号;通过SpaceWire接口对DS信号进行解码操作恢复出并行数据,再通过帧整形和位宽转换得到以太网数据帧,经由RGMII接口发送给以太网设备;通过对比以太网设备发送和接收到的数据帧是否满足要求从而达到对专用交换网络功能地面检测的目的。
根据上述思路,本发明的技术方案如下:
1.基于FPGA实现具有SPW接口的专网地检装置,是将检测系统通过FMC扩展槽与待测设备相连接,其特征在于,检测系统通过FPGA实现,该FPGA内设有:
以太网媒体访问控制MAC处理模块,用于连接以太网设备,并收发RGMII格式的以太网帧;
帧整形模块,用于协议适配,即将以太网设备侧的以太网帧转换成交换网络内部专用格式帧,并将SpaceWire设备侧的交换网络内部专用格式帧转换为标准以太网帧;
端口轮询模块,用于提取源端口号以确定数据帧对应的SpaceWire端口,同时将各SpaceWire端口缓存的数据信息搬移到总线上;
端口处理模块,用于将数据帧转换成SpaceWire接口可识别的帧格式并写入接口的发送缓存,同时将SpaceWire接口接收缓存中的数据读出并转换成交换网络内部专用帧格式;
SpaceWire接口模块,用于实现链路初始化连接、链路保持、数据编解码、数据收发、错误恢复和流量控制;
DS信号采样模块,用于对SpaceWire链路上传输的串行DS信号进行高频采样,得到准确、稳定的DS信号。
2.利用上述装置进行地面检测的方法,其特征在于,包括如下步骤:
1)获得以太网数据帧:
以太网媒体访问控制MAC处理模块先对数据位宽为4bit的RGMII总线数据进行时钟上下边沿采样,得到总线位宽为8bit的以太网数据帧;
删除掉以太网帧的前导码和帧起始界定符以及帧尾长度为4个字节的CRC字段后进行位宽转换,得到总线位宽为64bit的以太网数据帧;
2)将以太网帧转换成交换网络专用帧:
在1)得到的以太网帧帧头字段先提取出与目的端口、源端口、帧长度对应的字段信息,通过这些信息提取出专用交换网络对应的目的端口和源端口号,并计算出专用帧帧长和专用帧帧头CRC校验值;再删除掉以太网帧帧头字段,得到以太网帧的数据载荷,并按照协议的帧格式将载荷与帧长、目的端口号和源端口号填入交换网络的专用帧的对应字段;
3)识别交换网络数据帧的源端口号并将其传送到对应端口,该对应端口对发送到交换网络的数据帧进行处理,即先将64bit位宽的交换网络专用帧存入FIFO中进行位宽转换,得到数据位宽为8bit的数据帧,再根据SpaceWire协议要求为数据添加1bit的标志位,得到位宽为9bit的数据字符和控制字符,并写入本端口的SpaceWire接口发送缓存中;
4)SpaceWire接口发送器从其对应的发送缓存中读取出位宽为9bit的数据字符和控制字符,并将其编码成串行DS信号发送到SpaceWire链路上;
5)接收SpaceWire链路上的DS信号,即采用四个同频不同相的同源高频时钟分别对接收到的DS信号进行采样,当其中三个及以上的采样值相同时,输出该采样结果,否则,保持原采样值不变;
6)SpaceWire接口将收到的串行DS信号进行解码,恢复出位宽为9bit的SpaceWire数据字符和控制字符,并写入接收缓存中;
7)从SpaceWire接口的接收缓存中读出位宽为9bit的数据,根据其标志位判断是数据字符还是控制字符:
如果该数据是控制字符,则将其删除;
如果该数据是数据字符,则先将其标志位去掉得到位宽为8bit的数据,再将总线位宽为8bit的SpaceWire数据帧转换成交换网络专用的64bit位宽帧格式存入本端口的输入缓存中;
8)对每一个SpaceWire端口进行公平轮询,即依次从各个端口的输入缓存中读出交换网络内部专用的格式数据帧;
9)将交换网络内部专用的格式数据帧转换成标准以太网帧,并发送:
9a)将8)读出的交换网络内部专用的格式数据帧存入FIFO中并按顺序读出,保证每两帧之间至少间隔两个时钟周期,防止由于两帧相连导致后续处理出错;
9b)根据每一个专用帧的帧长计算出该帧对应的以太网帧帧长;
9c)按照标准以太网帧的帧格式在专用帧帧首部添加以太网帧帧长、目的地址和源地址得到以太网帧;
9d)将以太网帧的数据位宽转换成8bit的格式,计算出以太网帧的CRC校验值,将CRC校验值填入到以该太网帧的末尾四字节CRC字段上;再在该以太网帧帧头前添加前导码以及帧起始界定符,得到标准以太网数据帧,并发送给以太网设备。
本发明与现有技术相比具有如下优点:
1.本发明由于采用FPGA实现专网地检装置的检测系统,使其具有很好的可移植性;
2.本发明采用了标准FMC扩展槽进行I/O扩展,克服了通用设备连接到SpaceWire专用设备进行信号的跨板传输的硬件障碍;
3.本发明通过标准以太网帧帧格式与具有SpaceWire接口的交换网络内部专用帧帧格式之间的相互转换,实现了通用设备和航空航天设备的互联,从而可以在地面对航空航天设备的功能进行测试;
4.本发明装置中的DS信号采样模块由于使用了四种同频不同相的同源高频时钟进行采样,恢复出来的采样信号准确度高、性能好,更好的保障了SpaceWire链路的建立以及数据传输。
附图说明
图1为本发明装置的方框图;
图2为本发明方法的实现流程图;
图3为本发明中使用的以太网帧以及交换网络专用数据帧结构图。
具体实施方式
以下参照附图,对本发明的实施例进行进一步的详细说明。
参照图1,本发明的装置包括检测系统和FMC扩展槽两个部分,且检测系统通过FMC扩展槽与外部的专用交换网络设备相连接。该检测系统通过FPGA实现,其包括以太网媒体访问控制MAC处理器1、帧整形模块2、端口轮询模块3、端口处理模块4、SpaceWire接口模块5和DS信号采样模块6。各模块的具体描述如下:
以太网媒体访问控制MAC处理模块1,用于连接以太网设备,其内部使用了一个RGMII接口,该接口中包括有接收子模块11和发送子模块12两部分,该接收子模块11用于接收RGMII格式的以太网帧,并将数据位宽为8bit的以太网帧转换成数据位宽为64bit的以太网帧;该发送子模块12用于将数据位宽为64bit的以太网帧转换成数据位宽为8bit的以太网帧,并按照RGMII格式发送给以太网设备;
帧整形模块2,用于协议适配,该模块内部包括一个输出帧整形子模块21和一个输入帧整形子模块22,其中输出帧整形子模块21用于将以太网帧转换成图3中的交换网络内部专用格式帧;输入帧整形子模块22用于将交换网络内部的专用格式帧转换为图3中的标准以太网帧;
端口轮询模块3,其包括输出轮询子模块31和输入轮询子模块32,其中输出轮询子模块31用于提取专用帧的源端口号以确定该数据帧对应的SpaceWire端口;输入轮询子模块32用于将各SpaceWire端口缓存的中的数据帧搬移到总线上汇聚成一路数据;
端口处理模块4,其包括输出处理子41模块和输入处理子模块42,其中输出处理子模块41用于将位宽为64bit的数据转换成SpaceWire接口可识别的数据字符和控制字符,并写入接口的发送缓存;输入处理子模块42用于从SpaceWire接口接收缓存中读取出数据字符和控制字符,并将其转换成位宽为64bit的数据;
SpaceWire接口模块5,其包括发送缓存51、发送器52、接收器53、接收缓存54和状态机55,其中发送器51用于将发送缓存52中的数据读出并编码成DS信号;接收器53用于将DS信号恢复成数据并写入接收缓存54中;状态机55用于链路初始化建立和链路保持,使SpaceWire接口正常工作;
DS信号采样模块6,使用了四种同频不同相的同源高频时钟,通过对SpaceWire链路上传输的串行DS信号进行高频采样,得到准确稳定的DS信号。
参照图2,本发明对专用交换网络的检测步骤如下。
步骤1:接收以太网帧。
标准以太网帧由长度为七个字节的前导码、长度为一个字节的帧起始界定符、以太网帧帧头、以太网帧载荷和长度为四字节的以太网帧CRC校验字段组成,其中以太网帧帧头包括目的地址、源地址和以太网帧帧长三个字段;
地检装置中以太网媒体访问控制MAC处理模块在接收到标准以太网帧之后,先将其前导码、帧起始界定符以及帧尾CRC字段删掉得到以太网帧数据,再将其转换成总线位宽为64bit的数据格式,同时产生与数据对应的有效标志、帧起始标志和帧结束标志。
步骤2:将以太网帧转换成交换网络专用帧。
本实例中专用交换网络使用的专用帧帧格式以及专用帧与以太网帧之间的关系如图3所示,其中交换网络专用帧所用字段为以太网帧的载荷字段,该专用帧包括专用帧帧长、目的端口、源端口、专用帧帧头CRC校验字段和净荷数据,其转换步骤如下:
2.1)提取出以太网帧帧长并计算专用帧首部的所需的专用帧帧长:
x=y-2;
其中,x是交换网络专用帧帧长,y是以太网帧帧长;
2.2)从以太网帧帧头中提取出专用帧的目的端口号和源端口号,并将以太网帧帧头删掉;
2.3)计算出长度为一字节的专用帧帧头CRC校验值并放入校验字段,该校验值通过CRC-8码的生成多项式计算得出,该CRC-8的生成多项式为:
g(x)=x8+x2+x+1;
2.4)按照图3所示的交换网络专用帧格式,将净荷数据与2.1)中计算出的专用帧帧长以及2.2)中提取出的目的端口号和源端口号重组为交换网络专用帧。
步骤3:对各个端口进行输出轮询。
提取出交换网络专用帧首部的源端口号,根据该源端口号判断其对应的输出端口,并将该交换网络专用帧搬移到其源端口号对应输出端口的缓存中。
本实例中共有8个端口,其中源端口号为8’h00时对应第一个端口,源端口号为8’h01时对应第二个端口,源端口号为8’h02时对应第三个端口,源端口号为8’h03时对应第四个端口,源端口号为8’h04时对应第五个端口,源端口号为8’h05时对应第六个端口,源端口号为8’h06时对应第七个端口,源端口号为8’h07时对应第八个端口。
步骤4:对数据进行输出处理。
4.1)对总线位宽为64bit的数据帧进行位宽转换,即将其转换成位宽为8bit的数据,同时产生与数据对应的有效标志、帧起始标志和帧结束标志;
4.2)根据SpaceWire协议要求产生SpaceWire接口内部使用的位宽为9bit的数据字符和控制字符:
当4.1)中产生的有效标志为1时,在其对应的8bit数据前添加一个标志位1’b1,得到位宽为9bit的数据字符;
当4.1)中产生的帧结束标志为1时,产生位宽为9bit的控制字符9’b100000000;
4.3)判断SpaceWire接口的发送缓存状态:
如果发送缓存已经写满,则不进行写入操作;
如果发送缓存没有写满,则可向其写入数据字符或控制字符,发送器从发送缓存中读出该数据字符或控制字符,再执行步骤5。
步骤5:发送器对读出的数据字符或控制字符进行Data-Strobe编码。
发送器对读出的数据字符或控制字符进行Data-Strobe编码,就是将并行数据转换成在物理链路上传输的串行DS信号,并将其发送到SpaceWire链路上,其实现如下:
5.1)在初始时刻将数据线D上的信号D和数据线S上的信号S均设置为0;
5.2)将位宽为9bit的数据字符或控制字符按位依次发送到数据线D上,并检测在相邻两个时钟周期内信号D的变化情况:
如果信号D发生变化,则信号S保持原信号值不变;
如果信号D保持不变,则信号S发生翻转。
步骤6:对链路上的信号D和信号S进行采样。
采用四个同源不同相的高频时钟,即分别用0°、90°、180°、270°相位的高频时钟分别对信号D和信号S这两种信号DS进行采样,并采用“打两拍”的方式进行跨时钟域处理,若四次采样中有三个及以上的采样值为“1”,则表示该时刻的信号值为1,否则,该时刻的信号值为0,从而得到稳定的DS信号。
步骤7:解码恢复。
由于Data-Strobe编码的特殊性,该DS信号在传输过程中不带有随路时钟,需要将信号D和信号S进行异或,恢复出接收时钟,本实例采用SpaceWire接口中的接收器对DS信号进行解码,即用信号D和信号S恢复出来的接收时钟对信号D进行采样,并对采样值进行组合,从而恢复出SpaceWire数据,再存入该接口的接收缓存中。
步骤8:对数据进行格式转换。
对数据进行格式转换的目的是为了将SpaceWire接口接收到的数据格式转换成本发明装置内部使用的数据格式,具体步骤如下:
8.1)从SpaceWire接口的接收缓存中读取出位宽为9bit的数据,并判断该数据是数据字符还是控制字符:
如果该数据是控制字符,则将其删除;
如果该数据是数据字符,则先将其标志位去掉,得到位宽为8bit的数据,并产生与数据相对应的有效标志、帧起始标志和帧结束标志,再执行8.2);
8.2)将总线位宽为8bit的数据转换成总线位宽为64bit的数据,并存入缓存中,当该缓存中存入了完整的一帧数据时,该缓存输出一个可读标志给轮询模块,该可读标志为1’b1时表示轮询模块可以将该缓存中的数据读出,该可读标志为1’b0时表示不能从该缓存中读取数据。
步骤9:对各个端口进行轮询。
轮询模块对八个SpaceWire端口进行公平轮询,即依次检测每个端口缓存输出的可读标志:
如果该端口的可读标志为1’b0,则不对该端口进行处理,继续检测下一个端口的可读标志;
如果该端口的可读标志为1’b1,则在该端口的缓存中读取出一帧数据,并将该帧数据搬移到总线上,继续检测下一个端口的可读标志。
步骤10:产生以太网帧的帧头信息。
读取总线上的数据帧,该数据帧为交换网络专用帧,并产生图3中以太网帧帧头所需要的以太网帧帧长、目的地址和源地址,其中:
以太网帧帧长y由专用帧帧长x计算得到,计算公式如下:
y=x+2;
目的MAC地址和源MAC地址字段在本实例中均设置为可配置的模式,可由用户根据实际情况自定义填充以太网帧首部的目的MAC地址和源MAC地址。
步骤11:产生标准以太网帧并发送。
11.1)将步骤10产生的以太网帧帧长、目的地址和源地址,按照图3所示的以太网帧帧格式,添加到对应的以太网帧帧头中各个字段,得到以太网帧,并存入缓存中;
11.2)计算出以由11.1)产生的太网帧的CRC校验值并拼接到以该帧帧尾4字节的CRC校验字段,得到带有CRC校验值的以太网帧,该CRC校验值通过CRC-32码的生成多项式G(x)计算,该CRC-32的生成多项式为:
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1;
11.3)将11.2)中得到带有CRC校验值的以太网帧转换为位宽为8bit的以太网帧;
11.4)在位宽为8bit的以太网帧帧首部添加前导码和帧起始定界符,得到标准以太网帧,其中前导码长度为7个字节,每个字节的内容为10101010;帧起使界定符长度为1个字节,内容为10101011;该标准以太网帧中每个8bit数据的前4bit优先级较高,后4bit的优先级较低;
11.5)将标准以太网帧分为两段发送给以太网设备,即将每个8bit数据的前4bit在发送时钟的下降沿发送,将每个8bit数据的后4bit在发送时钟的上升沿发送。
本发明的实际效果可通过测试实验进一步说明:
一、实验所需设备:
TestCenter测试仪:用于模拟以太网设备,产生以太网IEEE802.3帧并通过网口发送出去,同时通过网口接收以太网帧并与发送出去的以太网帧进行对比检验;
交换机:用于模拟具有SpaceWire接口的专用交换网络。
实验测试系统:将本发明的地检装置连接在以太网设备和具有SpaceWire接口的专用交换机之间,其中以太网设备通过网线与本装置相连,专用交换机通过FMC扩展槽与本装置相连;
二、利用上述实验测试系统进行实验的过程与结果:
第一步,在TestCenter中按照图3的以太网帧格式,配置出以太网IEEE802.3帧,并通过网口将其发送到本发明的地检装置上;本发明的地检装置在接收到TestCenter发送过来的以太网帧后,通过本发明方法将其转换成交换机内部使用的专用SpaceWire帧,并将该专用帧通过FMC扩展槽发送到该专用帧源端口号对应的交换机端口上;
第二步,本发明的地检装置通过FMC扩展槽接收交换机发送过来的交换网络内部使用的SpaceWire数据帧,将其转换成标准以太网帧,通过网线将该以太网帧发送回TestCenter,TestCenter接收以太网帧后进行统计和检验,结果如表1。
表1 TestCenter对发送和接收到的以太网帧统计结果
帧ID | 发送以太网帧数量 | 接收以太网帧数量 | 错误帧数量 |
0 | 10000 | 10000 | 0 |
1 | 10000 | 10000 | 0 |
2 | 10000 | 10000 | 0 |
3 | 10000 | 10000 | 0 |
4 | 10000 | 10000 | 0 |
5 | 10000 | 10000 | 0 |
6 | 10000 | 10000 | 0 |
7 | 10000 | 10000 | 0 |
从表1可见,本装置可以将TestCenter设备发送的以太网数据帧转换成专用帧后发送给交换机,并将交换机输出的专用帧转换成以太网帧后发送回TestCenter,TestCenter通过对比本装置发送回的以太网帧与TestCenter发送出的以太网帧,未出现丢帧和错帧的情况,该结果可以表明交换机交换功能正常,本发明的地检装置及方法有效。
以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思,本领域的技术人员均可做出不同的修改和置换,但这些均在本发明的保护之列。
Claims (10)
1.基于FPGA实现具有SPW接口的专网地检装置,是将检测系统通过FMC扩展槽与待测设备相连接,其特征在于,检测系统通过FPGA实现,该FPGA内设有:
以太网媒体访问控制MAC处理模块(1),用于连接以太网设备,并收发RGMII格式的以太网帧;
帧整形模块(2),用于协议适配,即将以太网设备侧的以太网帧转换成交换网络内部专用格式帧,并将SpaceWire设备侧的交换网络内部专用格式帧转换为标准以太网帧;
端口轮询模块(3),用于提取源端口号以确定数据帧对应的SpaceWire端口,同时将各SpaceWire端口缓存的数据信息搬移到总线上;
端口处理模块(4),用于将数据帧转换成SpaceWire接口可识别的帧格式并写入接口的发送缓存,同时将SpaceWire接口接收缓存中的数据读出并转换成交换网络内部专用帧格式;
SpaceWire接口模块(5),用于实现链路初始化连接、链路保持、数据编解码、数据收发、错误恢复和流量控制;
DS信号采样模块(6),用于对SpaceWire链路上传输的串行DS信号进行高频采样,得到准确、稳定的DS信号。
2.利用权利要求1所述装置进行地面检测的方法,其特征在于,包括如下步骤:
1)获得以太网数据帧:
以太网媒体访问控制MAC处理模块先对数据位宽为4bit的RGMII总线数据进行时钟上下边沿采样,得到总线位宽为8bit的以太网数据帧;
删除掉以太网帧的前导码和帧起始界定符以及帧尾长度为4个字节的CRC字段后进行位宽转换,得到总线位宽为64bit的以太网数据帧;
2)将以太网帧转换成交换网络专用帧:
在1)得到的以太网帧帧头字段先提取出与目的端口、源端口、帧长度对应的字段信息,通过这些信息提取出专用交换网络对应的目的端口和源端口号,并计算出专用帧帧长和专用帧帧头CRC校验值;再删除掉以太网帧帧头字段,得到以太网帧的数据载荷,并按照协议的帧格式将载荷与帧长、目的端口号和源端口号填入交换网络的专用帧的对应字段;
3)识别交换网络数据帧的源端口号并将其传送到对应端口,该对应端口对发送到交换网络的数据帧进行处理,即先将64bit位宽的交换网络专用帧存入FIFO中进行位宽转换,得到数据位宽为8bit的数据帧,再根据SpaceWire协议要求为数据添加1bit的标志位,得到位宽为9bit的数据字符和控制字符,并写入本端口的SpaceWire接口发送缓存中;
4)SpaceWire接口发送器从其对应的发送缓存中读取出位宽为9bit的数据字符和控制字符,并将其编码成串行DS信号发送到SpaceWire链路上;
5)接收SpaceWire链路上的DS信号,即采用四个同频不同相的同源高频时钟分别对接收到的DS信号进行采样,当其中三个及以上的采样值相同时,输出该采样结果,否则,保持原采样值不变;
6)SpaceWire接口将收到的串行DS信号进行解码,恢复出位宽为9bit的SpaceWire数据字符和控制字符,并写入接收缓存中;
7)从SpaceWire接口的接收缓存中读出位宽为9bit的数据,根据其标志位判断是数据字符还是控制字符:
如果该数据是控制字符,则将其删除;
如果该数据是数据字符,则先将其标志位去掉得到位宽为8bit的数据,再将总线位宽为8bit的SpaceWire数据帧转换成交换网络专用的64bit位宽帧格式存入本端口的输入缓存中;
8)对每一个SpaceWire端口进行公平轮询,即依次从各个端口的输入缓存中读出交换网络内部专用的格式数据帧;
9)将交换网络内部专用的格式数据帧转换成标准以太网帧,并发送:
9a)将8)读出的交换网络内部专用的格式数据帧存入FIFO中并按顺序读出,保证每两帧之间至少间隔两个时钟周期,防止由于两帧相连导致后续处理出错;
9b)根据每一个专用帧的帧长计算出该帧对应的以太网帧帧长;
9c)按照标准以太网帧的帧格式在专用帧帧首部添加以太网帧帧长、目的地址和源地址得到以太网帧;
9d)将以太网帧的数据位宽转换成8bit的格式,计算出以太网帧的CRC校验值,将CRC校验值填入到以该太网帧的末尾四字节CRC字段上;再在该以太网帧帧头前添加前导码以及帧起始界定符,得到标准以太网数据帧,并发送给以太网设备。
3.根据权利要求2所述的方法,其特征在于:
所述2)中计算交换网络专用帧帧长,通过下式计算:
x=y-2;
所述9b)中计算以太网帧帧长,通过下式计算:
y=x+2,
其中,x是交换网络专用帧帧长,y是以太网帧帧长。
4.根据权利要求2所述的方法,其中2)中计算专用帧帧头CRC校验值,是通过CRC-8码的生成多项式g(x)计算,该CRC-8的生成多项式为:g(x)=x8+x2+x+1。
5.根据权利要求2所述的方法,其中2)中协议的帧格式,是指交换网络内部指定使用的帧格式,其由交换网络的功能需求决定,包括专用帧帧长、目的端口、源端口、专用帧帧头CRC和净荷数据。
6.根据权利要求2所述的方法,其中4)中将从SpaceWire发送缓存中读取出位宽为9bit的数据字符和控制字符编码成串行DS信号,是采用Data-Strobe编码方式进行,具体实现如下:
首先,在初始时刻将数据线D上的信号D和数据线S上的信号S均设置为0;
然后,将位宽为9bit的数据字符或控制字符按位依次发送到数据线D上,并检测在相邻两个时钟周期内信号D的变化情况:
如果信号D发生变化,则信号S保持原信号值不变;
如果信号D保持不变,则信号S发生翻转。
7.根据权利要求2所述的方法,其中9c)中在专用帧首部添加以太网帧的目的地址、源地址和以太网帧帧长,是将交换网络内部专用帧帧格式转换成以太网IEEE802.3帧帧格式,其中太网帧的目的地址和源地址字段均设置为可配置模式,其根据实际的应用情况在该字段中填入相应的地址。
8.根据权利要求2所述的方法,其中9d)中经位宽转换后得到的位宽为8bit的数据帧发送给以太网设备,是将其分为两段发送,即8bit数据的前4bit优先级较高,在发送时钟的下降沿发送,后4bit的优先级较低,在发送时钟的上升沿发送。
9.根据权利要求2所述的方法,其中9d)中计算以太网帧CRC校验值,是通过CRC-32码的生成多项式G(x)计算,该CRC-32的生成多项式为:
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1。
10.根据权利要求2所述的方法,其中9d)中提及的以太网帧前导码长度为7个字节,每个字节的内容为10101010;帧起使界定符长度为1个字节,内容为10101011。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911216142.0A CN111064545B (zh) | 2019-12-02 | 2019-12-02 | 基于fpga实现具有spw接口的专网地检装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911216142.0A CN111064545B (zh) | 2019-12-02 | 2019-12-02 | 基于fpga实现具有spw接口的专网地检装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064545A CN111064545A (zh) | 2020-04-24 |
CN111064545B true CN111064545B (zh) | 2021-09-10 |
Family
ID=70299451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911216142.0A Active CN111064545B (zh) | 2019-12-02 | 2019-12-02 | 基于fpga实现具有spw接口的专网地检装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064545B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291110B (zh) * | 2020-09-29 | 2021-12-31 | 北京空间飞行器总体设计部 | 一种SpaceWire网络接口旁路检测装置 |
CN114020664B (zh) * | 2021-10-22 | 2024-05-14 | 华中科技大学 | 一种处理系统精简数据交换架构 |
CN115037804B (zh) * | 2022-05-09 | 2023-06-27 | 西安电子科技大学 | 基于fpga实现巨帧生成与检测的地检装置 |
CN115866081B (zh) * | 2022-11-09 | 2024-02-27 | 燕山大学 | 一种基于soc的工业以太网协议转换方法 |
CN117640783B (zh) * | 2024-01-25 | 2024-04-09 | 富瀚微电子(成都)有限公司 | 一种数据传输方法、系统、电子设备以及可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515843A (zh) * | 2015-11-30 | 2016-04-20 | 上海卫星工程研究所 | SpW网络FDIR处理方法 |
CN107395396A (zh) * | 2017-06-22 | 2017-11-24 | 中国科学院西安光学精密机械研究所 | 基于fpga的冗余双网口可配置以太网ip核 |
CN108234337A (zh) * | 2017-12-06 | 2018-06-29 | 北京时代民芯科技有限公司 | 一种支持主机接口的SpaceWire总线路由器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202190284U (zh) * | 2011-08-17 | 2012-04-11 | 航天东方红卫星有限公司 | 一种CAN总线与SpaceWire总线的协议转换器 |
CN105391486B (zh) * | 2014-08-29 | 2018-11-20 | 深圳航天科技创新研究院 | 一种星载数据的通信方法和装置 |
CN105893307B (zh) * | 2016-03-30 | 2018-12-21 | 北京航天自动控制研究所 | 一种高速大数据量信息处理系统 |
US10521295B2 (en) * | 2016-06-23 | 2019-12-31 | Triad National Security, Llc | Low cost, hardened single board computer for command and data handling |
CN109818790B (zh) * | 2019-01-25 | 2021-10-08 | 上海创景信息科技有限公司 | 硬件实时模拟多通路多种类通信协议芯片系统、方法及介质 |
CN110417630B (zh) * | 2019-08-20 | 2021-10-29 | 西安电子科技大学 | 一种兼容1553b的时间触发以太网交换装置及方法 |
-
2019
- 2019-12-02 CN CN201911216142.0A patent/CN111064545B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515843A (zh) * | 2015-11-30 | 2016-04-20 | 上海卫星工程研究所 | SpW网络FDIR处理方法 |
CN107395396A (zh) * | 2017-06-22 | 2017-11-24 | 中国科学院西安光学精密机械研究所 | 基于fpga的冗余双网口可配置以太网ip核 |
CN108234337A (zh) * | 2017-12-06 | 2018-06-29 | 北京时代民芯科技有限公司 | 一种支持主机接口的SpaceWire总线路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN111064545A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111064545B (zh) | 基于fpga实现具有spw接口的专网地检装置及方法 | |
US11296807B2 (en) | Techniques to operate a time division multiplexing(TDM) media access control (MAC) | |
TWI528750B (zh) | 配置成決定資料模式期間前向錯誤校正的網路系統 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
WO2021147050A1 (zh) | 一种基于PCIe的数据传输方法及装置 | |
US20150067426A1 (en) | Packet based integrated circuit testing | |
WO2023125212A1 (zh) | 数据传输方法、装置、设备及介质 | |
CN106411918A (zh) | 一种基于fpga的多路hdlc‑uart转换系统及方法 | |
JP4988544B2 (ja) | データ処理装置およびデータ処理方法並びにプログラム | |
EP1988470B1 (en) | Network device and transmission method thereof | |
CN1119884C (zh) | 高速数据传输中的差错检测方法 | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
CN113498597A (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN107517094B (zh) | 基于fpga的s模式二次雷达情报服务器及其工作方法 | |
US20150139249A1 (en) | System and Method for Debugging | |
US7353448B1 (en) | Methods, architectures, circuits and systems for transmission error determination | |
CN112653536B (zh) | 一种基于FPGA的SpaceFibre星载网络节点测试系统及方法 | |
JP4419867B2 (ja) | データ処理装置 | |
US7161937B1 (en) | Method and apparatus for routing encoded signals through a network | |
CN110474819B (zh) | 基于包计数的fc-eth协议转换芯片验证装置及方法 | |
CN117596308A (zh) | 一种以太网媒体访问控制层的数据传输方法和系统 | |
CN110505222B (zh) | 一种用于电力设备专用校准装置的协议转换方法 | |
US11652698B2 (en) | Virtual layer 1 (LI) connectivity across a network | |
CN116996590B (zh) | Fpga原型验证平台的以太网降速器及数据传输方法 | |
CN117938574B (zh) | 一种用于星载设备间通信的SpaceWire总线节点控制器IP核 |
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 |