CN105302753A - 一种基于fpga和fifo芯片的多通道hdlc数据处理装置 - Google Patents

一种基于fpga和fifo芯片的多通道hdlc数据处理装置 Download PDF

Info

Publication number
CN105302753A
CN105302753A CN201510776010.9A CN201510776010A CN105302753A CN 105302753 A CN105302753 A CN 105302753A CN 201510776010 A CN201510776010 A CN 201510776010A CN 105302753 A CN105302753 A CN 105302753A
Authority
CN
China
Prior art keywords
ram
data
module
fifo
reception
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.)
Granted
Application number
CN201510776010.9A
Other languages
English (en)
Other versions
CN105302753B (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201510776010.9A priority Critical patent/CN105302753B/zh
Publication of CN105302753A publication Critical patent/CN105302753A/zh
Application granted granted Critical
Publication of CN105302753B publication Critical patent/CN105302753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于FPGA和FIFO芯片的多通道HDLC数据处理装置。该装置采用FPGA片上自带接收RAM和FPGA外挂接收FIFO芯片实现对接收HDLC数据和待发送数据的缓存,接收FIFO控制器通过高速轮询机制将所有通道接收RAM中数据高效快速传递到接收FIFO芯片,实现接收方向的大缓存,从而支持大数据突发业务;发送FIFO芯片根据各通道RAM状态将数据依次发送到对应通道RAM,发送FIFO芯片缓存大量的待发送数据,可使CPU一次操作写入大量数据,减少了CPU的频繁访问,有利于提高CPU效率利用。本发明提供的技术方案,能够充分利用FPGA并行运算速度快的优势和FIFO芯片大容量缓存的特点,且同时支持多路HDLC传输,具有大缓存、配置灵活、易扩展的特点。

Description

一种基于FPGA和FIFO芯片的多通道HDLC数据处理装置
技术领域
本发明涉及数据通信领域,尤其涉及一种基于FPGA和FIFO芯片的多通道HDLC处理装置。
背景技术
HDLC全称为High-levelDataLinkControlProcedures,是工作在数据链路层的一种高速协议,它是一种面向比特的协议,它具有强大的错误检测能力和高效率的同步传输特性。
请参见图1,是标准HDLC协议帧格式,各个字段的详细含义如下:
1)帧起始标识:0x7E,表示HDLC帧的开始;
2)站地址:8bit/16bit,,每个接收端的地址唯一,可以判断当前数据帧是否是发给自己;
3)控制字段:控制字段用于构成各种命令和响应,以便对链路进行监视和控制;
4)信息字段:信息字段可以是任意的二进制比特串。比特串长度未作限定,目前国际上用得较多的是1000~2000bits;而下限可以为0,即无信息字段;
5)帧校验序列字段:16bit的校验值。
6)帧起始标识:0x7E,表示HDLC帧的结束;
传统实现HDLC处理的方式主要有CPU处理和专用ASIC芯片,CPU处理方式通过软件实现所有HDLC的处理,HDLC涉及到大量的计算,尤其是CRC生成及校验,该方式会消耗CPU大量的计算资源,尤其通道数增多时,对CPU的计算资源消耗更为严重,会造成CPU的负荷过重;专用ASIC芯片方式处理速度快,但是不支持灵活配置,且内置缓存有限,当有大量突发性业务时,往往造成数据的丢弃,从而影响正常的业务。
发明内容
有鉴于此,本发明以FPGA为控制核心,以FIFO(FirstInputFirstOutput)芯片为数据缓存载体,通过FPGA完成HDLC的收发处理逻辑,通过FIFO芯片完成对突发数据的缓存。
本发明所采取的技术方案为:一种基于FPGA和FIFO芯片的多通道HDLC数据处理装置,包括接收方向装置和发送方向装置,其中,接收方向装置包括第一RHDLC模块至第NRHDLC模块、第一CRC校验模块至第NCRC校验模块、第一接收RAM控制器至第N接收RAM控制器、第一接收RAM至第N接收RAM、接收FIFO控制器和接收FIFO芯片,发送方向装置包括第一THDLC模块至第NTHDLC模块、第一CRC生成模块至第NCRC生成模块、第一发送RAM控制器至第N发送RAM控制器、第一发送RAM至第N发送RAM、发送FIFO控制器和发送FIFO芯片;
发送方向:
第一RHDLC模块至第NRHDLC模块均分别接收外部HDLC数据信息和时钟信息,将HDLC数据信息分别进行帧头检测、删零操作和帧尾检测后,将串行数据转换为并行数据,将并行数据一一对应输出至第一CRC校验模块至第NCRC校验模块;
第一CRC校验模块至第NCRC校验模块采用并行异或运算将并行数据进行CRC校验,并根据校验结果对并行数据进行丢弃或一一对应输出到第一接收RAM控制器至第N接收RAM控制器;
第一接收RAM控制器至第N接收RAM控制器分别根据接收第一接收RAM至第N接收RAM的状态将并行数据一一对应写入第一接收RAM至第N接收RAM;
第一接收RAM至第N接收RAM分别将接收到的并行数据进行缓存;
接收FIFO控制器根据第一接收RAM至第N接收RAM的状态和接收FIFO芯片的状态将第一接收RAM至第N接收RAM中的缓存数据写入接收FIFO芯片;
接收FIFO芯片用于缓存接收到的并行数据;
接收方向:
发送FIFO芯片用于缓存待发送数据;
发送FIFO控制器根据第一发送RAM至第N发送RAM的状态和发送FIFO芯片的状态将待发送数据从发送FIFO芯片中读取并一一对应写入第一发送RAM至第N发送RAM中;
第一发送RAM至第N发送RAM用于分别缓存接收到的待发送数据;
第一发送RAM控制器至第N发送RAM控制器用于对应读取第一发送RAM至第N发送RAM中的一帧数据并一一对应传递至第一CRC生成模块至第NCRC生成模块;
第一CRC生成模块至第NCRC生成模块用于分别将一帧数据进行CRC生成操作并生成CRC校验码,将一帧数据和CRC校验码一起一一对应送至第一THDLC模块至第NTHDLC模块;
第一THDLC模块至第NTHDLC模块用于分别将一帧数据进行插帧头标识、插零操作、插CRC校验码操作和插帧尾标识操作后形成并行数据,将并行数据转换为串行数据后发送至外部。
本发明与现有技术相比,所取得的有益效果为:
本发明以FPGA为控制处理核心,充分利用FPGA并行运算速度快的特点,实现HDLC数据的解帧、成帧、插零、删零、CRC生成与校验等功能模块,并通过外接FIFO芯片,能够更好的应对突发数据,多路采用一片大容量FIFO芯片,有利于实现多路通道之间的负载均衡、而且节约硬件电路板面积和成本。与CPU实现相应功能相比,处理速度快、节约CPU计算资源,功耗低;与专用ASIC芯片实现方案相比,具有方便灵活,易于扩展、支持突发数据性能好等特点。
附图说明
图1为标准HDLC协议帧格式。
图2为本发明基于FPGA和FIFO芯片的多通道HDLC处理装置的原理逻辑方框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
参照图2,一种基于FPGA和FIFO芯片的多通道HDLC处理装置:
接收方向:线路侧同步时钟数据信号进入第一RHDLC模块211至第NRHDLC模块21N,第一RHDLC模块211至第NRHDLC模块21N输出数据通过第一CRC校验模块221至第NCRC校验模块22N完成帧数据的CRC校验,经校验后的数据在第一接收RAM控制器231至第N接收RAM控制器23N的控制下写入第一接收RAM241至第N接收RAM24N中,接收FIFO控制器251轮询第一接收RAM241至第N接收RAM24N的状态,当第一接收RAM241至第N接收RAM24N中有数据时,将第一接收RAM241至第N接收RAM24N中数据写入接收FIFO芯片310,CPU510通过轮询或者中断方式完成对FIFO芯片310中数据的读取。
本发明接收方向采用FPGA210片上自带接收RAM和FPGA外挂接收FIFO芯片实现对接收HDLC数据的缓存,因FPGA自带RAM资源有限,设置接收RAM容量较小,只缓存数帧数据,接收FIFO控制器通过高速轮询机制将所有通道接收RAM中数据高效快速传递到接收FIFO芯片,实现接收方向的大缓存,从而支持大数据突发业务。
发送方向:CPU510通过LocalBus总线向发送FIFO芯片410中写入待发送数据,发送FIFO控制器252根据第一发送RAM291至第N发送RAM29N的状态和发送FIFO芯片410的状态,将发送FIFO芯片410中的数据分别写入对应通道的发送RAM中,第一发送RAM控制器281至第N发送RAM控制器28N读取第一发送RAM291至第N发送RAM29N中的数据,通过第一CRC生成模块271至第NCRC生成模块27N完成CRC校验码的生成,送至第一THDLC模块261至第NTHDLC模块26N完成***帧头、插零、***CRC、***帧尾、并串转换等操作实现线路侧HDLC的发送。
发送方向采用FPGA片上自带RAM和FPGA外挂发送FIFO芯片实现对待发送数据的缓存,设置发送RAM容量较小,只缓存数帧数据,发送大容量FIFO芯片根据各通道RAM状态将数据依次发送到对应通道RAM,发送FIFO芯片缓存大量的待发送数据,可使CPU一次操作写入大量数据,减少了CPU的频繁访问,有利于提高CPU效率。

Claims (1)

1.一种基于FPGA和FIFO芯片的多通道HDLC数据处理装置,包括接收方向装置和发送方向装置,其中,接收方向装置包括第一RHDLC模块至第NRHDLC模块和第一CRC校验模块至第NCRC校验模块,发送方向装置包括第一THDLC模块至第NTHDLC模块和第一CRC生成模块至第NCRC生成模块,其特征在于:接收方向装置还包括第一接收RAM控制器至第N接收RAM控制器、第一接收RAM至第N接收RAM、接收FIFO控制器和接收FIFO芯片,发送方向装置还包括第一发送RAM控制器至第N发送RAM控制器、第一发送RAM至第N发送RAM、发送FIFO控制器和发送FIFO芯片;
发送方向:
第一RHDLC模块至第NRHDLC模块均分别接收外部HDLC数据信息和时钟信息,将HDLC数据信息分别进行帧头检测、删零操作和帧尾检测后,将串行数据转换为并行数据,将并行数据一一对应输出至第一CRC校验模块至第NCRC校验模块;
第一CRC校验模块至第NCRC校验模块采用并行异或运算将并行数据进行CRC校验,并根据校验结果对并行数据进行丢弃或一一对应输出到第一接收RAM控制器至第N接收RAM控制器;
第一接收RAM控制器至第N接收RAM控制器分别根据接收第一接收RAM至第N接收RAM的状态将并行数据一一对应写入第一接收RAM至第N接收RAM;
第一接收RAM至第N接收RAM分别将接收到的并行数据进行缓存;
接收FIFO控制器根据第一接收RAM至第N接收RAM的状态和接收FIFO芯片的状态将第一接收RAM至第N接收RAM中的缓存数据写入接收FIFO芯片;
接收FIFO芯片用于缓存接收到的并行数据;
接收方向:
发送FIFO芯片用于缓存待发送数据;
发送FIFO控制器根据第一发送RAM至第N发送RAM的状态和发送FIFO芯片的状态将待发送数据从发送FIFO芯片中读取并一一对应写入第一发送RAM至第N发送RAM中;
第一发送RAM至第N发送RAM用于分别缓存接收到的待发送数据;
第一发送RAM控制器至第N发送RAM控制器用于对应读取第一发送RAM至第N发送RAM中的一帧数据并一一对应传递至第一CRC生成模块至第NCRC生成模块;
第一CRC生成模块至第NCRC生成模块用于分别将一帧数据进行CRC生成操作并生成CRC校验码,将一帧数据和CRC校验码一起一一对应送至第一THDLC模块至第NTHDLC模块;
第一THDLC模块至第NTHDLC模块用于分别将一帧数据进行插帧头标识、插零操作、插CRC校验码操作和插帧尾标识操作后形成并行数据,将并行数据转换为串行数据后发送至外部。
CN201510776010.9A 2015-11-13 2015-11-13 一种基于fpga和fifo芯片的多通道hdlc数据处理装置 Active CN105302753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510776010.9A CN105302753B (zh) 2015-11-13 2015-11-13 一种基于fpga和fifo芯片的多通道hdlc数据处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510776010.9A CN105302753B (zh) 2015-11-13 2015-11-13 一种基于fpga和fifo芯片的多通道hdlc数据处理装置

Publications (2)

Publication Number Publication Date
CN105302753A true CN105302753A (zh) 2016-02-03
CN105302753B CN105302753B (zh) 2020-06-16

Family

ID=55200038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510776010.9A Active CN105302753B (zh) 2015-11-13 2015-11-13 一种基于fpga和fifo芯片的多通道hdlc数据处理装置

Country Status (1)

Country Link
CN (1) CN105302753B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209311A (zh) * 2016-06-30 2016-12-07 北京大学 一种数据处理方法
CN106850288A (zh) * 2017-01-20 2017-06-13 中国电子科技集团公司第三十四研究所 基于fpga的多业务高速光纤传输***
CN107766270A (zh) * 2017-10-20 2018-03-06 深圳市风云实业有限公司 用于PCIe设备的数据读取管理方法及装置
CN110224789A (zh) * 2019-06-10 2019-09-10 哈尔滨工业大学 一种基于fpga的多模式hdlc控制器
CN110413540A (zh) * 2019-06-28 2019-11-05 苏州浪潮智能科技有限公司 一种fpga数据缓存的方法、***、设备及存储介质
CN111367494A (zh) * 2018-12-26 2020-07-03 中国科学院长春光学精密机械与物理研究所 一种串行数据帧接收方法及装置
CN112559428A (zh) * 2020-12-21 2021-03-26 苏州易行电子科技有限公司 一种基于PCIe的HDLC控制器的FPGA芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018179A (zh) * 2007-03-07 2007-08-15 今创集团有限公司 数据总线桥接器及其工作方法
CN101321038A (zh) * 2008-07-23 2008-12-10 杭州华三通信技术有限公司 Hdlc控制器及hdlc控制器上报中断的方法
CN101447988A (zh) * 2008-11-25 2009-06-03 中国船舶重工集团公司第七0七研究所 一种基于fpga的千兆数据通信卡
CN101808027A (zh) * 2010-03-31 2010-08-18 哈尔滨工业大学 适用于多种端口的数据接收存储转发装置
CN102185786A (zh) * 2011-06-17 2011-09-14 哈尔滨理工大学 Hdlc协议控制器ip软核
CN102394719A (zh) * 2011-09-21 2012-03-28 浙江铭道通信技术有限公司 基于fpga的多通道hdlc数据处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018179A (zh) * 2007-03-07 2007-08-15 今创集团有限公司 数据总线桥接器及其工作方法
CN101321038A (zh) * 2008-07-23 2008-12-10 杭州华三通信技术有限公司 Hdlc控制器及hdlc控制器上报中断的方法
CN101447988A (zh) * 2008-11-25 2009-06-03 中国船舶重工集团公司第七0七研究所 一种基于fpga的千兆数据通信卡
CN101808027A (zh) * 2010-03-31 2010-08-18 哈尔滨工业大学 适用于多种端口的数据接收存储转发装置
CN102185786A (zh) * 2011-06-17 2011-09-14 哈尔滨理工大学 Hdlc协议控制器ip软核
CN102394719A (zh) * 2011-09-21 2012-03-28 浙江铭道通信技术有限公司 基于fpga的多通道hdlc数据处理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209311A (zh) * 2016-06-30 2016-12-07 北京大学 一种数据处理方法
CN106850288A (zh) * 2017-01-20 2017-06-13 中国电子科技集团公司第三十四研究所 基于fpga的多业务高速光纤传输***
CN107766270A (zh) * 2017-10-20 2018-03-06 深圳市风云实业有限公司 用于PCIe设备的数据读取管理方法及装置
CN111367494A (zh) * 2018-12-26 2020-07-03 中国科学院长春光学精密机械与物理研究所 一种串行数据帧接收方法及装置
CN111367494B (zh) * 2018-12-26 2022-12-20 中国科学院长春光学精密机械与物理研究所 一种串行数据帧接收方法及装置
CN110224789A (zh) * 2019-06-10 2019-09-10 哈尔滨工业大学 一种基于fpga的多模式hdlc控制器
CN110224789B (zh) * 2019-06-10 2021-09-07 哈尔滨工业大学 一种基于fpga的多模式hdlc控制器
CN110413540A (zh) * 2019-06-28 2019-11-05 苏州浪潮智能科技有限公司 一种fpga数据缓存的方法、***、设备及存储介质
CN112559428A (zh) * 2020-12-21 2021-03-26 苏州易行电子科技有限公司 一种基于PCIe的HDLC控制器的FPGA芯片

Also Published As

Publication number Publication date
CN105302753B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN105302753A (zh) 一种基于fpga和fifo芯片的多通道hdlc数据处理装置
CN101146102B (zh) Rru网络中hdlc数据下行、上行的方法及通讯装置
CN110297797B (zh) 异构协议转换装置和方法
CN110471880B (zh) 一种基于FPGA支持Label号筛选的ARINC429总线模块及其数据传输方法
CN109218154B (zh) 一种基于fpga的千兆以太网到slip的转换***
CN109905321B (zh) 一种用于自定义高速接口与以太网交互的路由控制***
CN105786741B (zh) 一种soc高速低功耗总线及转换方法
CN114297124B (zh) 一种基于fpga的srio高速总线的通讯***
CN108462620B (zh) 一种吉比特级SpaceWire总线***
CN115866081A (zh) 一种基于soc的工业以太网协议转换方法
CN103107862B (zh) 逻辑器件及其mdio数据发送方法
CN111211863A (zh) Mac发射端、mac接收端及电路、fpga芯片及数据传输***
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
CN103106177B (zh) 多核网络处理器的片上互联结构及其方法
CN105007151A (zh) 一种高低速总线通讯方法及装置
CN106899386B (zh) 基于多通道通信接收***的碎片化帧信号的解调方法
CN105262659A (zh) 基于fpga芯片的hdlc协议控制器
CN110995604B (zh) 一种扩展SpaceWire端口的SpaceWire路由器级联结构
CN109213710B (zh) 高速串行接口装置与其数据传输方法
CN113093585A (zh) 基于NoC的高速数据采集***与上位机通信接口控制器
CN103678235B (zh) 基于并行流水线网络数据处理装置及方法
CN214253208U (zh) 一种双冗余串口控制器ip核
CN213517996U (zh) 一种工业控制***
CN110536512B (zh) 多路控制用数据缓冲装置、多路led控制***及控制方法
CN203872183U (zh) 一种星载多模式数据处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant