CN105302753B - 一种基于fpga和fifo芯片的多通道hdlc数据处理装置 - Google Patents
一种基于fpga和fifo芯片的多通道hdlc数据处理装置 Download PDFInfo
- Publication number
- CN105302753B CN105302753B CN201510776010.9A CN201510776010A CN105302753B CN 105302753 B CN105302753 B CN 105302753B CN 201510776010 A CN201510776010 A CN 201510776010A CN 105302753 B CN105302753 B CN 105302753B
- Authority
- CN
- China
- Prior art keywords
- receiving
- ram
- nth
- data
- module
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus 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处理装置。
背景技术
HDLC全称为High-level Data Link Control Procedures,是工作在数据链路层的一种高速协议,它是一种面向比特的协议,它具有强大的错误检测能力和高效率的同步传输特性。
请参见图1,是标准HDLC协议帧格式,各个字段的详细含义如下:
1)帧起始标识:0x7E,表示HDLC帧的开始;
2)站地址:8bit/16bit,,每个接收端的地址唯一,可以判断当前数据帧是否是发给自己;
3)控制字段:控制字段用于构成各种命令和响应,以便对链路进行监视和控制;
4)信息字段:信息字段可以是任意的二进制比特串。比特串长度未作限定,目前国际上用得较多的是1 000~2 000bits;而下限可以为0,即无信息字段;
5)帧校验序列字段:16bit的校验值。
6)帧起始标识:0x7E,表示HDLC帧的结束;
传统实现HDLC处理的方式主要有CPU处理和专用ASIC芯片,CPU处理方式通过软件实现所有HDLC的处理,HDLC涉及到大量的计算,尤其是CRC生成及校验,该方式会消耗CPU大量的计算资源,尤其通道数增多时,对CPU的计算资源消耗更为严重,会造成CPU的负荷过重;专用ASIC芯片方式处理速度快,但是不支持灵活配置,且内置缓存有限,当有大量突发性业务时,往往造成数据的丢弃,从而影响正常的业务。
发明内容
有鉴于此,本发明以FPGA为控制核心,以FIFO(First Input First Output)芯片为数据缓存载体,通过FPGA完成HDLC的收发处理逻辑,通过FIFO芯片完成对突发数据的缓存。
本发明所采取的技术方案为:一种基于FPGA和FIFO芯片的多通道HDLC数据处理装置,包括接收方向装置和发送方向装置,其中,接收方向装置包括第一RHDLC模块至第NRHDLC模块、第一CRC校验模块至第N CRC校验模块、第一接收RAM控制器至第N接收RAM控制器、第一接收RAM至第N接收RAM、接收FIFO控制器和接收FIFO芯片,发送方向装置包括第一THDLC模块至第N THDLC模块、第一CRC生成模块至第N CRC生成模块、第一发送RAM控制器至第N发送RAM控制器、第一发送RAM至第N发送RAM、发送FIFO控制器和发送FIFO芯片;
接收方向:
第一RHDLC模块至第N RHDLC模块均分别接收外部HDLC数据信息和时钟信息,将HDLC数据信息分别进行帧头检测、删零操作和帧尾检测后,将串行数据转换为并行数据,将并行数据一一对应输出至第一CRC校验模块至第N CRC校验模块;
第一CRC校验模块至第N CRC校验模块采用并行异或运算将并行数据进行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生成模块至第N CRC生成模块;
第一CRC生成模块至第N CRC生成模块用于分别将一帧数据进行CRC生成操作并生成CRC校验码,将一帧数据和CRC校验码一起一一对应送至第一THDLC模块至第N THDLC模块;
第一THDLC模块至第N THDLC模块用于分别将一帧数据进行插帧头标识、插零操作、插CRC校验码操作和插帧尾标识操作后形成并行数据,将并行数据转换为串行数据后发送至外部。
本发明与现有技术相比,所取得的有益效果为:
本发明以FPGA为控制处理核心,充分利用FPGA并行运算速度快的特点,实现HDLC数据的解帧、成帧、插零、删零、CRC生成与校验等功能模块,并通过外接FIFO芯片,能够更好的应对突发数据,多路采用一片大容量FIFO芯片,有利于实现多路通道之间的负载均衡、而且节约硬件电路板面积和成本。与CPU实现相应功能相比,处理速度快、节约CPU计算资源,功耗低;与专用ASIC芯片实现方案相比,具有方便灵活,易于扩展、支持突发数据性能好等特点。
附图说明
图1为标准HDLC协议帧格式。
图2为本发明基于FPGA和FIFO芯片的多通道HDLC处理装置的原理逻辑方框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
参照图2,一种基于FPGA和FIFO芯片的多通道HDLC处理装置:
接收方向:线路侧同步时钟数据信号进入第一RHDLC模块211至第N RHDLC模块21N,第一RHDLC模块211至第N RHDLC模块21N输出数据通过第一CRC校验模块221至第N CRC校验模块22N完成帧数据的CRC校验,经校验后的数据在第一接收RAM控制器231至第N接收RAM控制器23N的控制下写入第一接收RAM241至第N接收RAM 24N中,接收FIFO控制器251轮询第一接收RAM 241至第N接收RAM 24N的状态,当第一接收RAM 241至第N接收RAM 24N中有数据时,将第一接收RAM 241至第N接收RAM 24N中数据写入接收FIFO芯片310,CPU 510通过轮询或者中断方式完成对FIFO芯片310中数据的读取。
本发明接收方向采用FPGA 210片上自带接收RAM和FPGA外挂接收FIFO芯片实现对接收HDLC数据的缓存,因FPGA自带RAM资源有限,设置接收RAM容量较小,只缓存数帧数据,接收FIFO控制器通过高速轮询机制将所有通道接收RAM中数据高效快速传递到接收FIFO芯片,实现接收方向的大缓存,从而支持大数据突发业务。
发送方向:CPU 510通过LocalBus总线向发送FIFO芯片410中写入待发送数据,发送FIFO控制器252根据第一发送RAM 291至第N发送RAM 29N的状态和发送FIFO芯片410的状态,将发送FIFO芯片410中的数据分别写入对应通道的发送RAM中,第一发送RAM控制器281至第N发送RAM控制器28N读取第一发送RAM 291至第N发送RAM 29N中的数据,通过第一CRC生成模块271至第N CRC生成模块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模块至第N RHDLC模块和第一CRC校验模块至第N CRC校验模块,发送方向装置包括第一THDLC模块至第N THDLC模块和第一CRC生成模块至第N CRC生成模块,其特征在于:接收方向装置还包括第一接收RAM控制器至第N接收RAM控制器、第一接收RAM至第N接收RAM、接收FIFO控制器和接收FIFO芯片,发送方向装置还包括第一发送RAM控制器至第N发送RAM控制器、第一发送RAM至第N发送RAM、发送FIFO控制器和发送FIFO芯片;
接收方向:
第一RHDLC模块至第N RHDLC模块均分别接收外部HDLC数据信息和时钟信息,将HDLC数据信息分别进行帧头检测、删零操作和帧尾检测后,将串行数据转换为并行数据,将并行数据一一对应输出至第一CRC校验模块至第N CRC校验模块;
第一CRC校验模块至第N CRC校验模块采用并行异或运算将并行数据进行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生成模块至第N CRC生成模块;
第一CRC生成模块至第N CRC生成模块用于分别将一帧数据进行CRC生成操作并生成CRC校验码,将一帧数据和CRC校验码一起一一对应送至第一THDLC模块至第N THDLC模块;
第一THDLC模块至第N THDLC模块用于分别将一帧数据进行插帧头标识、插零操作、插CRC校验码操作和插帧尾标识操作后形成并行数据,将并行数据转换为串行数据后发送至外部。
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 CN105302753A (zh) | 2016-02-03 |
CN105302753B true 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) |
Families Citing this family (7)
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的多业务高速光纤传输系统 |
CN107766270B (zh) * | 2017-10-20 | 2020-05-26 | 深圳市风云实业有限公司 | 用于PCIe设备的数据读取管理方法及装置 |
CN111367494B (zh) * | 2018-12-26 | 2022-12-20 | 中国科学院长春光学精密机械与物理研究所 | 一种串行数据帧接收方法及装置 |
CN110224789B (zh) * | 2019-06-10 | 2021-09-07 | 哈尔滨工业大学 | 一种基于fpga的多模式hdlc控制器 |
CN110413540B (zh) * | 2019-06-28 | 2021-07-16 | 苏州浪潮智能科技有限公司 | 一种fpga数据缓存的方法、系统、设备及存储介质 |
CN112559428A (zh) * | 2020-12-21 | 2021-03-26 | 苏州易行电子科技有限公司 | 一种基于PCIe的HDLC控制器的FPGA芯片 |
Citations (5)
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控制器上报中断的方法 |
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数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447988A (zh) * | 2008-11-25 | 2009-06-03 | 中国船舶重工集团公司第七0七研究所 | 一种基于fpga的千兆数据通信卡 |
-
2015
- 2015-11-13 CN CN201510776010.9A patent/CN105302753B/zh active Active
Patent Citations (5)
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控制器上报中断的方法 |
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数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105302753A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302753B (zh) | 一种基于fpga和fifo芯片的多通道hdlc数据处理装置 | |
CN101866328B (zh) | 一种自动访问的串行总线读写控制方法 | |
CN102841372B (zh) | 用于地震勘探的级联采集站高效流水线数传系统及方法 | |
CN210804041U (zh) | 多总线协议转换及数据采集系统 | |
CN110471880B (zh) | 一种基于FPGA支持Label号筛选的ARINC429总线模块及其数据传输方法 | |
CN203224621U (zh) | 基于pci-e总线的天气雷达高速数据传输装置 | |
CN105786741B (zh) | 一种soc高速低功耗总线及转换方法 | |
CN103279125B (zh) | Cpci总线弹载部件应答模拟与测试设备及其实现方法 | |
CN111601078A (zh) | 一种视频数据对地直传的星载视频压缩系统及方法 | |
CN104796653A (zh) | 基于fpga实现的在lpdt模式下传输mipi信号的方法和装置 | |
CN103067201A (zh) | 一种多协议通讯管理机 | |
CN105100000B (zh) | 一种接口转换装置和网络系统 | |
CN103078667A (zh) | 一种基于超五类线的lvds高速数据传输方法 | |
CN103106177B (zh) | 多核网络处理器的片上互联结构及其方法 | |
CN109842601B (zh) | 载人潜水器串口数据采集与转发装置 | |
CN116431539A (zh) | 一种基于fdma ddr存储器读写设计 | |
CN105007151A (zh) | 一种高低速总线通讯方法及装置 | |
CN103347023B (zh) | 一种工业现场环境下hdlc通信控制器 | |
CN109213710B (zh) | 高速串行接口装置与其数据传输方法 | |
CN215376139U (zh) | 基于arm和fpga的高效数据采集系统 | |
CN204375151U (zh) | 一种冲击地压微震实时监测系统 | |
CN110995604B (zh) | 一种扩展SpaceWire端口的SpaceWire路由器级联结构 | |
CN101192911B (zh) | 一种时分复用模式下传输数据的方法和系统 | |
CN202872768U (zh) | 一种雷达天线指向信息转发装置 | |
CN202066977U (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 |