CN111290985B - 多通道hdlc同步串口总线设备数据通信装置和方法 - Google Patents
多通道hdlc同步串口总线设备数据通信装置和方法 Download PDFInfo
- Publication number
- CN111290985B CN111290985B CN202010048920.6A CN202010048920A CN111290985B CN 111290985 B CN111290985 B CN 111290985B CN 202010048920 A CN202010048920 A CN 202010048920A CN 111290985 B CN111290985 B CN 111290985B
- Authority
- CN
- China
- Prior art keywords
- fpga
- fifo
- hdlc
- serial port
- data
- 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/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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种多通道HDLC同步串口总线设备数据通信装置和方法,其中,数据通信装置包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;ARM处理器与FPGA通过FSMC总线实现通信连接;FPGA设置有FIFO用于存储命令包和应答包,FPGA设置有多个通道的HDLC IP核分别与对应通道的HDLC串口总线相连接。通过本发明的技术方案,实现了多通道HDLC同步串口总线设备的数据通信,保证了通信数据的完整性。
Description
技术领域
本发明涉及计算机总线通信技术领域,尤其涉及一种多通道HDLC同步串口总线设备数据通信装置和一种多通道HDLC同步串口总线设备数据通信方法。
背景技术
目前,现有的HDLC总线通信设备,通常采用一个ARM处理器连接HDLC总线控制器。如果需要实现多通道HDLC同步串口数据通信,由于传统的ARM处理器芯片不具备HDLC同步串口传输功能,如果采用外置芯片实现该功能的话可能会出现数据丢失。
发明内容
针对上述问题中的至少之一,本发明提供了一种多通道HDLC同步串口总线设备数据通信装置和方法,ARM处理器与FPGA通过FSMC总线和中断信号相连接,FPGA通过调用HDLCIP核与多路HDLC串口总线相连接,实现了多通道HDLC同步串口总线设备的数据通信,采用FPGA中的FIFO来缓存不同通道的数据,保证了通信数据的完整性。
为实现上述目的,本发明提供了一种多通道HDLC同步串口总线设备数据通信装置,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;所述ARM处理器与所述FPGA通过所述FSMC总线实现通信连接;所述FPGA设置有FIFO用于存储命令包和应答包,所述FPGA设置有多个通道的HDLC IP核分别与对应通道的所述HDLC串口总线相连接。
在上述技术方案中,优选地,所述FIFO包括写FIFO和读FIFO,所述写FIFO用于存储所述ARM处理器通过所述FSMC总线发送至所述FPGA的命令包,所述读FIFO用于存储通过所述HDLC串口总线接收到的数据。
在上述技术方案中,优选地,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
在上述技术方案中,优选地,所述FIFO的深度为2048。
本发明还提出一种多通道HDLC同步串口总线设备数据通信方法,包括:ARM处理器通过FSMC总线向FPGA发送命令信号和数据;所述FPGA将所述数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;所述FPGA将通过所述HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由所述ARM处理器通过所述FSMC总线读取。
在上述技术方案中,优选地,所述ARM处理器通过所述FSMC总线向所述FPGA发送命令包,并发送中断信号以通知所述FPGA执行命令;所述FPGA执行命令后向所述ARM处理器返回应答包,并发送中断信号以通知所述ARM处理器命令执行完毕。
在上述技术方案中,优选地,所述FPGA将所述命令包缓存至写FIFO中,并调用所述HDLC IP核将所述写FIFO中的数据组包后通过对应通道的所述HDLC串口总线发送;所述FPGA将通过所述HDLC串口总线接收到的数据缓存至读FIFO中,并向所述ARM处理器发送中断信号以通知所述ARM处理器通过所述FSMC总线读取所述读FIFO中的数据。
在上述技术方案中,优选地,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
在上述技术方案中,优选地,所述FIFO的深度为2048。
与现有技术相比,本发明的有益效果为:ARM处理器与FPGA通过FSMC总线和中断信号相连接,FPGA通过调用HDLC IP核与多路HDLC串口总线相连接,实现了多通道HDLC同步串口总线设备的数据通信,采用FPGA中的FIFO来缓存不同通道的数据,保证了通信数据的完整性。
附图说明
图1为本发明一种实施例公开的多通道HDLC同步串口总线设备数据通信装置的系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,根据本发明提供的一种多通道HDLC同步串口总线设备数据通信装置,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;ARM处理器与FPGA通过FSMC总线实现通信连接;FPGA设置有FIFO用于存储命令包和应答包,FPGA设置有多个通道的HDLC IP核分别与对应通道的HDLC串口总线相连接。
在该实施例中,ARM处理器与FPGA通过FSMC总线相连接,ARM处理器通过对相应的管脚进行配置,使能时钟,实现FSMC总线与FPGA通信,能够通过FSMC总线向FPGA发送命令信号和数据。FPGA执行ARM处理器所发送的命令并可将数据缓存至对应的FIFO中,FPGA通过调用多个HDLC IP核与多路串口芯片相连接,能够通过该HDLC IP核将ARM处理器发送的数据实现HDLC协议组包等操作,最后将组包好的数据通过对应的串口芯片发送出去。不同通道HDLC串口总线接收来的数据通过FPGA缓存至对应的FIFO中,实现多通道数据缓存。FPGA通过FSMC总线向ARM处理器发送中断信号,通知ARM处理器读取FIFO缓存的数据。在该数据通信装置的基础上,能够实现同时与多路HDLC同步串口进行通信,并且保证数据的完整性。
在上述实施例中,优选地,FIFO包括写FIFO和读FIFO,写FIFO用于存储ARM处理器通过FSMC总线发送至FPGA的命令包,读FIFO用于存储通过HDLC串口总线接收到的数据。
在上述实施例中,优选地,命令包和应答包中包括通道号,FPGA根据通道号将命令包缓存至对应通道的写FIFO中,将应答包缓存至对应通道的读FIFO中。
在上述实施例中,优选地,FIFO的深度为2048。
本发明还提出一种多通道HDLC同步串口总线设备数据通信方法,包括:ARM处理器通过FSMC总线向FPGA发送命令信号和数据;FPGA将数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;FPGA将通过HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由ARM处理器通过FSMC总线读取。
在该实施例中,FPGA设置FIFO用来缓存对应数据包,FIFO的深度优选为2048。FPGA通过调用HDLC IP核实现HDLC同步串口数据处理。FPGA对ARM发送来的命令进行解析,将ARM发送的数据进行FIFO缓存。FPGA将FIFO中的数据通过HDLC IP核进行组包并发送。FPGA将HDLC串口总线接收来的数据进行FIFO缓存,并通过发送中断信号通知ARM读取。
在上述实施例中,优选地,ARM处理器通过FSMC总线向FPGA发送命令包,并发送中断信号以通知FPGA执行命令;FPGA执行命令后向ARM处理器返回应答包,并发送中断信号以通知ARM处理器命令执行完毕。
在上述实施例中,优选地,FPGA将命令包缓存至写FIFO中,并调用HDLC IP核将写FIFO中的数据组包后通过对应通道的HDLC串口总线发送;FPGA将通过HDLC串口总线接收到的数据缓存至读FIFO中,并向ARM处理器发送中断信号以通知ARM处理器通过FSMC总线读取读FIFO中的数据。
具体地,根据上述实施例的基于FSMC的多通道HDLC同步串口总线设备数据通信方法,具体包括以下步骤:
1、将ARM处理器与FPGA通过FSMC总线相连接;
2、ARM处理器与FPGA之间的FSMC总线通过数据包的形式进行通信;
3、FPGA端设置写FIFO,用于缓存命令包和应答包;
4、ARM处理器为主动方,向FPGA发送命令包,并发送中断信号通知FPGA执行命令;
5、FPGA为被动方,FPGA执行相应的命令后向ARM返回应答包,并发送中断信号通知ARM命令执行完毕;
6、根据不同的通道号,FPGA将ARM发送的数据缓存至对应的写FIFO中;
7、FPGA根据对应的通道号,将对应写FIFO中缓存的数据通过相应的HDLC IP核发送出去;
8、不同通道的串口芯片将接收来的数据通过FPGA缓存至对应的读FIFO中,FPGA通过发送中断信号通知ARM读取对应读FIFO中的数据;
在上述实施例中,优选地,命令包和应答包中包括通道号,FPGA根据通道号将命令包缓存至对应通道的写FIFO中,将应答包缓存至对应通道的读FIFO中。
具体地,命令包和应答包的通信协议格式分别如下表1和表2所示。
表1命令包通信协议格式
名称 | 内容 | 长度(字节) |
包头 | 0x55AA | 2 |
通道号 | 此包数据进行通道选择 | 2 |
数据 | 操作数据 | 256 |
校验 | CRC校验 | 2 |
表2应答包通信协议格式
名称 | 内容 | 长度(字节) |
包头 | 0xAA55 | 2 |
通道号 | 此包数据进行通道选择 | 2 |
数据 | 操作数据 | N |
校验 | CRC校验 | 2 |
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种多通道HDLC同步串口总线设备数据通信装置,其特征在于,包括:ARM处理器、FPGA、FSMC总线和HDLC串口总线;
所述ARM处理器与所述FPGA通过所述FSMC总线实现通信连接;
所述FPGA设置有FIFO用于存储命令包和应答包,所述FPGA设置有多个通道的HDLC IP核分别与对应通道的所述HDLC串口总线相连接;
所述FIFO包括写FIFO和读FIFO,所述写FIFO用于存储所述ARM处理器通过所述FSMC总线发送至所述FPGA的命令包,所述读FIFO用于存储通过所述HDLC串口总线接收到的数据;
所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
2.根据权利要求1所述的多通道HDLC同步串口总线设备数据通信装置,其特征在于,所述FIFO的深度为2048。
3.一种多通道HDLC同步串口总线设备数据通信方法,应用于如权利要求1所述的多通道HDLC同步串口总线设备数据通信装置上,其特征在于,包括:
ARM处理器通过FSMC总线向FPGA发送命令信号和数据;
所述FPGA将所述数据缓存至FIFO中,并调用多个HDLC IP核将FIFO中的数据通过对应通道的HDLC串口总线发送出去;
所述FPGA将通过所述HDLC串口总线接收到的数据缓存至对应通道的FIFO中,并由所述ARM处理器通过所述FSMC总线读取;
其中,所述ARM处理器通过所述FSMC总线向所述FPGA发送命令包,并发送中断信号以通知所述FPGA执行命令;
所述FPGA执行命令后向所述ARM处理器返回应答包,并发送中断信号以通知所述ARM处理器命令执行完毕;
所述FPGA将所述命令包缓存至写FIFO中,并调用所述HDLC IP核将所述写FIFO中的数据组包后通过对应通道的所述HDLC串口总线发送;
所述FPGA将通过所述HDLC串口总线接收到的数据缓存至读FIFO中,并向所述ARM处理器发送中断信号以通知所述ARM处理器通过所述FSMC总线读取所述读FIFO中的数据;
其中,所述命令包和所述应答包中包括通道号,所述FPGA根据所述通道号将所述命令包缓存至对应通道的所述写FIFO中,将所述应答包缓存至对应通道的所述读FIFO中。
4.根据权利要求3所述的多通道HDLC同步串口总线设备数据通信方法,其特征在于,所述FIFO的深度为2048。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010048920.6A CN111290985B (zh) | 2020-01-16 | 2020-01-16 | 多通道hdlc同步串口总线设备数据通信装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010048920.6A CN111290985B (zh) | 2020-01-16 | 2020-01-16 | 多通道hdlc同步串口总线设备数据通信装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111290985A CN111290985A (zh) | 2020-06-16 |
CN111290985B true CN111290985B (zh) | 2021-07-23 |
Family
ID=71022281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010048920.6A Active CN111290985B (zh) | 2020-01-16 | 2020-01-16 | 多通道hdlc同步串口总线设备数据通信装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290985B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143296B (zh) * | 2021-11-22 | 2024-01-30 | 北京计算机技术及应用研究所 | 一种hdlc通用ip软核 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778491B1 (en) * | 2000-03-31 | 2004-08-17 | Alcatel | Method and system for providing redundancy for signaling link modules in a telecommunication system |
CN108650159A (zh) * | 2018-04-12 | 2018-10-12 | 佛山金皇宇机械实业有限公司 | 一种基于rs485接口的现场总线通信方法 |
-
2020
- 2020-01-16 CN CN202010048920.6A patent/CN111290985B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778491B1 (en) * | 2000-03-31 | 2004-08-17 | Alcatel | Method and system for providing redundancy for signaling link modules in a telecommunication system |
CN108650159A (zh) * | 2018-04-12 | 2018-10-12 | 佛山金皇宇机械实业有限公司 | 一种基于rs485接口的现场总线通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111290985A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2559394B2 (ja) | 通信制御装置 | |
CN102567261B (zh) | 增强型spi控制器、增强型spi的通讯系统及传送数据方法 | |
CN105376129B (zh) | 一种1394总线事务层-链路层数据包发送电路及方法 | |
US5978865A (en) | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted | |
US20060212661A1 (en) | Data transfer device | |
US8051222B2 (en) | Concatenating secure digital input output (SDIO) interface | |
CN109165178B (zh) | 一种基于RapidIO的弹上系统SoC芯片间高速通信方法 | |
CN111290985B (zh) | 多通道hdlc同步串口总线设备数据通信装置和方法 | |
CN111339003A (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
CN114297124B (zh) | 一种基于fpga的srio高速总线的通讯系统 | |
WO2023240998A1 (zh) | 数据包处理方法、通信芯片及计算机设备 | |
CN105843771A (zh) | 一种多核dsp中edma不同带宽设备间通信的方法 | |
US20100228901A1 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN108614792A (zh) | 1394事务层数据包存储管理方法及电路 | |
CN115237829A (zh) | 处理数据的装置、方法及存储介质 | |
CN101938453A (zh) | 一种实现中央处理器与以太网进行数据传输的装置与方法 | |
JP5313155B2 (ja) | 時分割多重化モードにおけるデータ伝送方法及びシステム | |
CN113051212B (zh) | 图形处理器、数据传输方法、装置、电子设备和存储介质 | |
CN109902036B (zh) | 基于emif接口的双速率1553b总线设备通信方法 | |
JPH04108242A (ja) | 通信制御装置のデータ転送方式 | |
JP2762506B2 (ja) | 回線制御装置 | |
CN110955620A (zh) | 一种基于pcie的1553b总线协议系统 | |
CN108322616A (zh) | 一种数据处理方法和语音数据卡 | |
CN113609067B (zh) | 一种32路rs485接口卡的实现系统 | |
CN109831395B (zh) | 一种嵌入式设备与主机间底层网络数据传输系统及方法 |
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 |