CN109710550A - 一种基于双缓存的帧长度不固定rs422数据通信系统 - Google Patents
一种基于双缓存的帧长度不固定rs422数据通信系统 Download PDFInfo
- Publication number
- CN109710550A CN109710550A CN201811540304.1A CN201811540304A CN109710550A CN 109710550 A CN109710550 A CN 109710550A CN 201811540304 A CN201811540304 A CN 201811540304A CN 109710550 A CN109710550 A CN 109710550A
- Authority
- CN
- China
- Prior art keywords
- data
- frame length
- module
- frame
- communication system
- 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
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明提出了一种基于双缓存的帧长度不固定RS422数据通信系统,属于航空电子系统机载计算机设计领域;该系统包括:系统初始化模块、接收发送FIFO模块、帧长度自判断模块、缓存控制器模块部分。通过建立帧长度不固定RS422数据的传送机制,通过FPGA内部控制逻辑对帧长度进行自识别,自动结束传输,并将结果报送给缓存控制器,进行缓存区切换,完成完整的帧传输。本发明提出的系统设计简单、效率高、移植性强,可有效解决由于帧长度不确定导致的逻辑代码复杂、误码率高的问题。同时结合双缓存机制,将数据流等时分配到两个数据缓冲区,大大提高了系统的通信效率,增强了系统的可靠性。
Description
技术领域
本发明属于航空电子系统机载计算机设计领域,特别涉及一种基于双缓存的帧长度不固定RS422数据通信系统,该系统是一种具有高可靠、高确定性以及高效率的RS422帧数据通信系统。
背景技术
随着航空电子系统的快速发展,机载电子系统集成了越来越多的设备,众多设备之间时刻在交互通信,通信的可靠性成为机载设备研制过程中重点解决的问题。总线通信技术的应用大大提高了航电系统的可靠性和可维护性。RS422串行总线凭借其数据差分传输、全双工通信等特点,使得数据具有高的可靠性及高的传输速率,因此广泛应用于机载设备内部以及设备之间的公共通路中。
在RS422通信系统中,数据按照一定的协议进行传输,以往的帧数据传输对每一帧的长度都是固定的,而在实际应用中,根据机载设备功能需求,可能要求一帧数据以不固定长度通信,直到数据为指定字符时才结束一帧数据的传输。目前对这类通信问题的解决,通常采用FPGA逻辑实时分段处理,但是逻辑代码复杂,且通信效率低,误码率高。
发明内容
本发明的目的是:
针对RS422数据传输中帧长度不固定的需求,提出一种基于双缓存的帧长度不固定RS422数据通信系统。
本发明的技术方案:
一种基于双缓存的帧长度不固定RS422数据通信系统,RS422数据采用数据包的形式进行传输,该系统包括初始化模块、接收发送FIFO模块、RS422帧长度自判断模块、缓存控制器模块四部分;所述初始化模块通过在FPGA内部实现波特率发生器,为RS422通信提供所需的波特率,在FPGA内部集成异步收发转换,实现接收发送FIFO模块与上位机的通信;RS422帧长度自判断模块可自动判断数据帧长度,从而结束通信并将判断结果引入缓存控制器模块中,缓存控制器模块对双缓存进行切换,让数据输入、输出不间断,保证数据收发的高效率和高可靠性。
所述自动判断的实现方法:
在接收状态,接收发送FIFO模块中连续接收到的特定结束标识符作为接收状态机的跳转条件;映射到主状态机上,表示为帧长度为0,主状态机进行跳转,表示一帧结束,将结果传送给缓存控制器;
在发送状态,接收发送FIFO模块将RS422数据逐个发送,发送至特定结束标识符作为发送状态机的跳转条件;映射到主状态机上,表示为帧长度为0,主状态机进行跳转,自动停止一帧数据的发送。
所述双缓存进行切换的实现步骤:
第一步,按照缓存区地址最高位将缓存区划分为两个区;
第二步,在一帧数据传输结束后,逻辑上将缓存区地址最高位取反,两个缓存区进行切换,数据存入另一缓存区,如此不断切换缓存区。
一种计算机可读的存储介质,所述存储介质上存储有指令,所述指令被处理器执行时实现上述方法中的步骤。
本发明的优点是:
1.本发明在功能上,实现了帧长度不固定RS422数据通信,满足了某些情况下RS422系统帧长度不确定的通信需求。
2.本发明在逻辑上采用嵌套式状态机架构模式,将判断主状态机、接收字节状态机、回绕状态机有机结合,增强系统的可靠性。
3.本发明在架构上与双缓存相结合,将数据流等时分配到两个数据缓冲区,提高系统通信效率。
附图说明
图1是本发明系统整体架构,
图2是本发明RS422帧传输格式,
图3是FPGA逻辑状态跳转图,
图4是缓存区切换架构图,
图5是本发明系统结构框图,
图6是对帧长度不固定RS422通信系统逻辑代码的仿真结构示意图。
具体实施方式
下面对本发明做进一步详细说明。
本方案提供一种基于双缓存的帧长度不固定RS422数据通信系统,逻辑采用嵌套式状态机架构,通过两个状态机之间相互映射,实现对不固定帧长度RS422数据长度的自识别;同时在系统内引入双缓存,在自动判断完一帧数据收发完成后将结果送给缓存控制器进行缓存管理,从而提高串口通信效率和稳定性。
参见图1,本发明主要包括初始化模块、接收发送FIFO模块、RS422帧长度自判断模块、缓存控制器模块;在系统进行完初始化后,FPGA内部引入的接收FIFO开始接收RS422数据,DSP开始向FPGA的发送FIFO写数据。由于RS422数据帧的长度不固定,帧格式的协议见图2所示,本发明以0xEB、0x90作为帧头,以连续收到0x0D、0x0A作为帧结束标识符。参见图3为FPGA内部状态机的跳转图,通过该图可以展示RS422数据流的通信过程,以及各个过程的判决条件。在接收状态,FPGA采用一个8Bit寄存器来缓存接收FIFO中的数据,当连续接收到0x0D和0x0A后,逻辑自动判断帧长度为0,状态机进行跳转,表示一帧结束,并将结果传送给缓存控制器。在发送状态,DSP先将需要发送的8位并行数据写入发送FIFO,在内部时序下,由发送FIFO将8位数据按位逐个发送,在发送完0x0D和0x0A后自动停止一帧数据的发送。在缓存控制器接收到完成标志后,进行缓存的切换,按照缓存区地址最高位将缓存区划分为A区和B区,最高位地址为‘0’的为A区,最高位地址为‘1’的为B区,在一帧数据传输结束后,逻辑上将缓存区地址最高位取反,A区和B区进行切换,数据存入另一缓存区,如此不断切换缓存区,实现数据流的等时分配。缓存切换的逻辑架构见图4。
在上述通信系统中,RS422数据采用数据包的形式进行传输,每个数据包包括包头、数据内容和包尾共3个部分,其中数据内容中数据帧长度部分可以是缓存区最大范围内的任意长度。通过在FPGA内部实现波特率发生器后,可以为RS422通信提供所需的波特率,在FPGA内部集成异步收发转换功能模块后,可以实现FPGA内部FIFO中的数据与上位机的通信。逻辑以连续接收到两个结束标识符作为主状态机的跳转条件。同时逻辑自动识别出帧结束标识符后,将结果引入缓存控制器中,对双缓存进行切换,让数据输入、输出不间断,保证数据收发的高效率和高可靠性。整个数据的流向参见图5。图6对逻辑进行仿真验证。
Claims (6)
1.一种基于双缓存的帧长度不固定RS422数据通信系统,其特征在于:该系统包括初始化模块、接收发送FIFO模块、RS422帧长度自判断模块、缓存控制器模块四部分;RS422数据采用数据包的形式进行传输,所述初始化模块通过在FPGA内部实现波特率发生器,为RS422通信提供所需的波特率,在FPGA内部集成异步收发转换,实现接收发送FIFO模块与上位机的通信;RS422帧长度自判断模块可自动判断数据帧长度,从而结束通信并将判断结果引入缓存控制器模块中,缓存控制器模块对双缓存进行切换,让数据输入、输出不间断,保证数据收发的高效率和高可靠性。
2.根据权利要求1所述的所述数据通信系统,其特征在于,所述自动判断的实现方法:
在接收状态,接收发送FIFO模块中连续接收到的特定结束标识符作为接收状态机的跳转条件;映射到主状态机上,表示为帧长度为0,主状态机进行跳转,表示一帧结束,将结果传送给缓存控制器;
在发送状态,接收发送FIFO模块将RS422数据逐个发送,发送至特定结束标识符作为发送状态机的跳转条件;映射到主状态机上,表示为帧长度为0,主状态机进行跳转,自动停止一帧数据的发送。
3.根据权利要求1所述的数据通信系统,其特征在于,所述双缓存进行切换的实现步骤:
第一步,按照缓存区地址最高位将缓存区划分为两个区;
第二步,在一帧数据传输结束后,逻辑上将缓存区地址最高位取反,两个缓存区进行切换,数据存入另一缓存区,如此不断切换缓存区。
4.根据权利要求1所述的数据通信系统,其特征在于:所述数据包至少包括包头、数据内容和包尾3个部分。
5.根据权利要求1所述的数据通信系统,其特征在于:所述数据帧长度可以是缓存区最大范围内的任意长度。
6.一种计算机可读的存储介质,所述存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现所述权利要求2或3所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811540304.1A CN109710550B (zh) | 2018-12-14 | 2018-12-14 | 一种基于双缓存的帧长度不固定rs422数据通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811540304.1A CN109710550B (zh) | 2018-12-14 | 2018-12-14 | 一种基于双缓存的帧长度不固定rs422数据通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710550A true CN109710550A (zh) | 2019-05-03 |
CN109710550B CN109710550B (zh) | 2022-05-27 |
Family
ID=66256681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811540304.1A Active CN109710550B (zh) | 2018-12-14 | 2018-12-14 | 一种基于双缓存的帧长度不固定rs422数据通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710550B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352887A (zh) * | 2019-11-19 | 2020-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
CN112463094A (zh) * | 2020-11-30 | 2021-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种通用的座舱控制台状态综合显示装置 |
CN115801181A (zh) * | 2022-10-14 | 2023-03-14 | 北京机电工程研究所 | 一种基于双缓存结构的数字量遥测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10126461A (ja) * | 1996-10-23 | 1998-05-15 | Fujitsu Ltd | 通信制御装置 |
CN104156334A (zh) * | 2014-08-19 | 2014-11-19 | 宁夏赛文节能股份有限公司 | 用于多机通讯的串口自适应数据透明传输协议 |
US20150264141A1 (en) * | 2014-03-13 | 2015-09-17 | Kabushiki Kaisha Toshiba | Communication apparatus, information processor, communication method, and computer-readable storage medium |
CN105573958A (zh) * | 2016-01-12 | 2016-05-11 | 西北工业大学 | 一种基于rs-422串行总线技术的数据可靠交互方法 |
-
2018
- 2018-12-14 CN CN201811540304.1A patent/CN109710550B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10126461A (ja) * | 1996-10-23 | 1998-05-15 | Fujitsu Ltd | 通信制御装置 |
US20150264141A1 (en) * | 2014-03-13 | 2015-09-17 | Kabushiki Kaisha Toshiba | Communication apparatus, information processor, communication method, and computer-readable storage medium |
CN104156334A (zh) * | 2014-08-19 | 2014-11-19 | 宁夏赛文节能股份有限公司 | 用于多机通讯的串口自适应数据透明传输协议 |
CN105573958A (zh) * | 2016-01-12 | 2016-05-11 | 西北工业大学 | 一种基于rs-422串行总线技术的数据可靠交互方法 |
Non-Patent Citations (1)
Title |
---|
郑锐等: ""基于LabVIEW的多数据采集器自动监控软件设计与", 《计算机测量与控制》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352887A (zh) * | 2019-11-19 | 2020-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
CN111352887B (zh) * | 2019-11-19 | 2023-10-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种pci总线到可配置帧长度串行总线适配和传输方法 |
CN112463094A (zh) * | 2020-11-30 | 2021-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种通用的座舱控制台状态综合显示装置 |
CN115801181A (zh) * | 2022-10-14 | 2023-03-14 | 北京机电工程研究所 | 一种基于双缓存结构的数字量遥测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109710550B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710550A (zh) | 一种基于双缓存的帧长度不固定rs422数据通信系统 | |
WO2015078219A1 (zh) | 一种信息缓存方法、装置和通信设备 | |
CN101150487A (zh) | 一种零拷贝网络报文发送方法 | |
CN106155960A (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN109308283B (zh) | 一种SoC片上系统及其外设总线切换方法 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
US11500541B2 (en) | Memory system and controlling method | |
KR20110020919A (ko) | 그래픽스 멀티미디어 ic 및 그것의 동작 방법 | |
CN103218337B (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
WO2001022244A1 (en) | Computer having packet-based interconnect channel | |
KR102395075B1 (ko) | PCIe 장치들에서의 고속 입출력을 위한 스토리지 시스템, 방법 및 장치 | |
WO2020038009A1 (zh) | 报文处理方法及相关设备 | |
CN101150488A (zh) | 一种零拷贝网络报文接收方法 | |
US20160011987A1 (en) | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface | |
JP2005117206A (ja) | ネットワークプロセッサアクセラレータ | |
CN102480426A (zh) | 基于pcie交换总线的通信方法及一种pcie交换系统 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN201639589U (zh) | 基于arm的嵌入式双冗余网卡 | |
CN104378161A (zh) | 一种基于AXI4总线架构的FCoE协议加速引擎IP核 | |
US9594702B2 (en) | Multi-processor with efficient search key processing | |
CN102750245B (zh) | 报文接收方法、报文接收模块、装置及系统 | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
CN102420763A (zh) | Dma发送方法 | |
CN111625376B (zh) | 通过代理进行队列通信的方法与消息系统 | |
CN115248795A (zh) | 高速外围组件互连(pcie)接口系统及其操作方法 |
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 |