收藏 分销(赏)

基于ZYNQ的HDLC与同步半双工RS485的实现.pdf

上传人:自信****多点 文档编号:2983383 上传时间:2024-06-12 格式:PDF 页数:5 大小:519.05KB
下载 相关 举报
基于ZYNQ的HDLC与同步半双工RS485的实现.pdf_第1页
第1页 / 共5页
基于ZYNQ的HDLC与同步半双工RS485的实现.pdf_第2页
第2页 / 共5页
基于ZYNQ的HDLC与同步半双工RS485的实现.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 2024 年 2 月第 1 期 现代导航 55 基于 ZYNQ 的 HDLC 与同步半双工 RS485 的实现 钟小敏1,2,王斌龙1,2(1 中国电子科技集团公司第二十研究所,西安 710068;2 陕西省组合与智能导航重点实验室,西安 710068)摘 要:为了实现飞行管理模块与舵机、助推器等之间的高速串行通信,设计了基于全可编程片上系统(ZYNQ)的高级数据链路控制(HDLC)协议控制器。ZYNQ 内部可编程逻辑(PL)与处理器系统(PS)之间通过高级可扩展接口(AXI)总线进行数据交互,采用双先入先出队列(FIFO)进行数据缓存;PL 使用 Verilog 语言开发了 HDLC 通讯

2、协议的控制时序,PS 完成循环冗余检验(CRC);开发了以 ZYNQ 为核心的同步半双工 RS485 总线接口原理图和印制电路板。实际应用效果表明:系统的通信速率可以达到 4Mbit/s,工作稳定可靠,没有误码、丢帧等现象。关键词:同步半双工 RS485;全可编程片上系统;高级数据链路控制 中图分类号:TN915.04 文献标志码:A 文章编号:1674-7976-(2024)-01-055-05 Implementation of HDLC and Synchronous Half Duplex RS485 Based on ZYNQ ZHONG Xiaomin,WANG Binlong A

3、bstract:In order to achieve high-speed serial communication between the flight management module and the servo,booster,etc.,a High-Level Data Link Control(HDLC)protocol controller based on Zynq-7000 All Programmable SoC(ZYNQ)was designed.The internal Programmable Logic(PL)and Processing System(PS)of

4、 ZYNQ exchange data through Advanced eXtensible Interface(AXI)bus and use dual First Input First Output(FIFO)for data caching;PL developed the control timing of HDLC communication protocol using Verilog language,and PS completed Cyclic Redundancy Check(CRC);Developed a synchronous half duplex RS485

5、bus interface schematic and printed circuit board with ZYNQ as the core.The actual application results show that the communication rate of the system can reach 4Mbit/s,and it operates stable and reliably without any errors,frame loss,and other phenomena.Key words:Synchronous Half Duplex RS485;Zynq-7

6、000 All Programmable SoC;High-Level Data Link Control 0 引言 高级数据链路控制(High-Level Data Link Control,HDLC)是一种用于在网络结点间传送数据的协议,是由国际标准化组织(International Organization for Standardization,ISO)颁布的一种高可靠性、高效率的数据链路控制规程,其特点是 收稿日期:2023-10-16。钟小敏(1985.08),四川内江人,硕士,高级工程师,主要研究方向为卫星导航定位。各项数据和控制信息都以比特为单位,采用“帧”的格式传输1-2。目

7、前,HDLC 协议已经成为通信领域中应用最广泛的协议之一,经常用作飞行管理模块与舵机、助推器等之间通信的通信协议。全可编程片上系统(Zynq-7000 All Programmable SoC,ZYNQ)主要包含处理器系统(Processing System,PS)和可编程逻辑(Programmable Logic,PL)两部分。ZYNQ 系列将微处理器(Advanced RISC Machine,ARM)CPU 和外设集成在一个芯片内,使得 ZYNQ 系列皆具处理器和现场可编程门阵列(Field Programmable Gate Array,FPGA)双 56 现代导航 2024 年 重特

8、性,特别适用于软硬件协同设计6。本文使用ZYNQ 实现了 HDLC 通信协议,在 PL 中实现了HDLC 通信的控制时序,在 PS 中实现了循环冗余检验(Cyclic Redundancy Check,CRC),并且采用同步半双工 RS485 串行总线通信方式,实现了 4Mbit/s 高速串行通信,适用于飞行管理控制模块与舵机、助推器等之间的通信。1 HDLC 通信协议 本文实现的 HDLC 协议是点多点结构,采用同步半双工串行总线通信方式,并且总线工作方式采用主从方式,发送方提供同步时钟,发送方在同步时钟下降沿发送通信数据,接收方在同步时钟上升沿接收通信数据,通信速率是 4Mbit/s。在

9、HDLC 协议中,同步标志 flag 为“7E”,二进制码 01111110b,帧开始/结束标志个数各设备发送均采用 4 个,接收帧开始/结束标志采用滑窗方式判断。接收方收到一个“7E”后,判别第一个非 flag(01111110b,7EH)则为一帧数据开始;在本帧数据接收过程中,判别到第一个 flag(01111110b,7EH)则认为该帧结束,帧内可以出现同步标志。发送时,帧开始/结束标志之外的所有信息,当出现连续的 5 个“1”时,则在其后自动插入一个“0”,然后继续发送剩余 bit 流;相应的,在接收时,当发现连续的 5 个“1”时,自动删除其后的一个“0”,以恢复原来的 bit 流数

10、据3-4。同时,传输的数据除了标志序列和自动插入“0”以外,所有信息均参加 CRC。采用 16 bit 帧校验序列,CRC 码初值为 0 xFFFF,检验多项式为X16+X12+X5+1;计算结果与 0 xFFFF 异或(按位取反)。2 硬件设计 系统采用FMQL45T900型ZYNQ芯片为核心,采用SW96F175MC和SW96F174MC完成逻辑电平(Transistor-Transistor Logic,TTL)信号与差分信号的转换。系统工作方式采用同步半双工的 RS485通信方式。信号在发送端和接收端共经过两级光耦,高低温下波形畸变应充分考虑,特别是时钟和数据的波形畸变的一致性,采用

11、CXGD42S 型四路隔离器减少信号干扰。硬件框图如图 1 所示5,并据此框图设计了原理图和印制电路板(Printed Circuit Board,PCB)。图 1 系统硬件结构图 3 软件设计 通信软件在 FMQL45T900 完成,由两部分组成,PL 控制单元和 PS 数据处理单元。在 PL 控制单元使用 Verilog 语言完成 HDLC 通讯协议的控制 时序7-8,在PS端完成CRC和数据解包打包。HDLC协议接收发送框图如图 2 所示。图 2 HDLC 协议接收发送框图 3.1 整体设计 系统工作过程如下:当 FMQL45T900 芯片的PL 检测到主机发送过来的时钟信号时,开始接收

12、数据,采用滑窗方式判断同步标志“7E”;接收到一个“7E”后,判别第一个非 flag 则开始接收数据,并按 HDLC 协议完成删“0”操作,并将接收数据存入接收 FIFO 中;接收过程中判别到第一个 flag则认为该帧结束,给 PS 发送接收结束标志通知 PS来读取数据;PS 收到数据后,先完成 CRC,然后解包。反之,PS 需要对外发送数据时,首先将数据打包,然后计算 CRC 值,并写入发送先进先出数据缓存器(First Input First Output,FIFO);随后PL 检测接收是否空闲,检测到接收没有时钟后,将发送使能置“1”,并按 HDLC 协议完成插“0”操作,逐个对外发送数

13、据;数据发送结束,将发送使能置“0”,恢复接收状态。至此,完成了 HDLC 第 1 期 钟小敏等:基于 ZYNQ 的 HDLC 与同步半双工 RS485 的实现 57 协议的接收和发送,实现同步半双工 RS485 串行总线通信。3.2 PL 控制单元 状态机是PL控制单元的核心,控制数据流向,本系统状态机有 2 个,分别控制接收和发送,下面依次论述。接收状态机如图 3 所示,包括以下 7 个状态:1)Idle 空闲状态,检测到 R_clk 和 R_data 的高电平,表示主机在给从机发送数据,进入Flag_detect 状态。2)Flag_detect 同步标志检测状态,用滑窗的方式检测同步标

14、志,检测到同步标志的个数大于 0,并且接收到第一个非 FLAG 数据,同时比特计数器等于 8,则进入 Start_out 状态;如果时钟计数器超时,表示 R_clk 无时钟,则返回 Idle 状态。3)Start_out 状态,输出第一个非 flag 数据,写使能置 1,顺序进入 Zero_delete 状态。4)Zero_delete 状态,删“0”操作,当比特计数器等于 8 时,如果接收到的数据是 flag 标志,同时删“0”标志为 0,表示接收到第一个 flag,则进入 Flag_end 状态,否则进入 Rece_out 状态。5)Rece_out 状态,输出接收到的数据,写使能置 1,

15、返回 Zero_delete 状态。6)Flag_end 状态,时钟计数器超时,表示 R_clk无时钟,进入 Rece_over 状态。7)Rece_over 状态,接收结束,返回 Idle 空闲状态,等待下一次接收。IdleFlag_detectStart_outZero_deleteRece_outFlag_endRece_overR_clk=1&R_data=1Count_clk=40Flag_count0&Rece_buffer!=falg&Bit_count=8Bit_count=8&Rece_data=flag&Flag_cut=0Bit_count=8Count_clk=40 图

16、 3 接收状态机图 发送状态机如图 4 所示,包括以下 8 个状态:1)Wait 状态,等待 PS 给发送 FIFO 发送数据,检测到发送 FIFO 非空,进入 Idle 状态。2)Idle 状态,准备发送数据,检测到接收处于空闲状态时,发送使能置 1。3)Flag_start 状态,发送 4 个同步标志后进入Read_en。4)Read_en 状态,发送 FIFO 读使能置 1,顺序进入 Read_clr。5)Read_clr 状态,发送 FIFO 读使能清零,顺序进入 Send_out。6)Send_out 状态,发送串行数据,连续 1 计数器计数,计数到 5 表示有 5 个连续的“1”,

17、转入 Zero_insert,否则比特计数器等于 8 同时发送FIFO 非空则进入 Read_en 状态,如果比特计数器等于 8 同时发送 FIFO 空则进入 Flag_end 状态。7)Zero_insert 状态,插“0”操作,同时连续1 计数器计数清零,返回 Send_out。8)Flag_end 状态,发送 4 个帧结束标志后,返回 Wait。图 4 发送状态机图 3.3 PS 数据处理单元 PS 数据处理单元主要完成信息帧的 CRC 以及解包打包任务10。接收时,PS 收到 PL 发送过来的中断信号,从接收 FIFO 中读出所有数据,其中最后 2 个字节的数据是本帧数据的校验码。同样

18、,发送时将计算得到的校验码放到数据的最后 2 个字节,和数据帧一起传输到发送 FIFO。计算过程按既定协议和 CRC 公式完成即可,这里不详细论述。需要注意的有三点:第一,为了保证数据帧的完整性,PL 需要在接收完一帧完整的数据之后再给PS 发送中断,以确保 PS 读到的最后 2 个字节是本帧数据的校验码;第二,由于是半双工通信,当 PL检测到发送 FIFO 非空后,还需要确保此时接收处于 Idle 状态,然后才可以往外发送数据,以防止通信冲突;第三,由于本设备是从机,当发送数据结 58 现代导航 2024 年 束后,需要关闭发送使能,打开接收使能,恢复默认接收状态。4 试验验证 试验验证按顺

19、序分为三部分:功能仿真验证、通信测试验证和实物联试验证。1)功能仿真验证。此步骤为基础,是实现 HDLC协议的关键过程。按以上设计,采用 Verilog 语言完成了接收状态机和发送状态机的编写,使用ModelSim 进行了功能仿真9,分别得到以下仿真波形。接收仿真波形如图 5 所示,发送防止波形如 图 6 所示。图 5 接收仿真波形在图 5 中,RS485_R_data 是输入数据,RS485_R_clk 是输入时钟,dout 是串转并后的数据,也就是接收到的数据,wr_en_out 是接收 FIFO 的写使能,int_rcvr_overtime 是接收结束中断信号。从图 5 中可以看出,RS

20、485_R_data 输入的数据不是同步标志“7E”时,状态机不会接收数据;当输入 4 个同步标志后,状态机开始接收数据,并依次接收到 h52、h47、h55、h55、h7E,每个数据输出时,产生一次写使能;其中,从数据 h7E 可以看出,接收状态机完成了删“0”,将数据还原为原始数据;随后,检测到第一个 FLAG 则认为该帧结束,给 PS发送了中断信号 int_rcvr_overtime;至此,接收 完成。图 6 发送仿真波形 在图 6 中,din 是需要对外发送的数据,empty_flag 是发送 FIFO 的空标志,rd_en_out 是发送 FIFO 读使能,RS485_T_data

21、是发送数据,RS485_T_clk 是发送时钟,RS485_T_en 是发送使能。从图6中可以看出,当发送状态机检测到empty_flag低电平时,将发送使能 RS485_T_en 置高,开始往外发送同步标志“7E”;随后根据读使能依次读取发送 FIFO 的数据 h3F、hC0、h55、hFA、h55、hAA,对外串行发送;其中,从数据 h3F 的串行结果可以看出,发送状态机完成了插“0”;当数据发完之后,发送状态机继续往外发送了4个同步标志“7E”;随后,将发送使能 RS485_T_en 置低,恢复默认接收状态;至此,发送完成。通过波形仿真,比较全面地验证了接收、发送功能时序以及 HDLC

22、协议帧格式,为后续联试打下坚实基础。2)通信测试验证。为验证完整的通信功能,采用亚册的 HDLC-ETH 高速串口以太网转换器辅助验证。首先,将以上设计在 FMQL45T900 中实现,并 将 程 序 下 载 到 印 制 电 路 板 中;然 后,将HDLC-ETH 转换器按既定要求设置,并完成收发回环测试,确保转换器工作正常;最后,将转换器与电路板连接,模拟主机,测试收发环路。试验结果表明,本设计实现了 HDLC 协议,符合同步半双工RS485 通信要求,通信速率可达 4Mbit/s,丢帧数为0,正确率 100%。3)实物联试验证。完成以上两步验证后,就可以进行联试了。首先,将设计下载到从机设

23、备中;然后,将从机与主机连接;最后,完成各项通信测试。测试结果表明,本设计满足要求,各项通信测试准确无误。第 1 期 5 结语 本文针HDLC 协议先介绍了 H设计、软件系统工作过详细给出了明,本设计确率 100%之间的高速参考文献:1 付新虎.中的实现精密机械2 黄国强,(上接第 54 页4 结语 比相测只要在测角无需将波束踪算法特有度的角度信通道幅度一设备成本,不足之时较大时,法差。参考文献:1 Merrill I.电子工业2 丁鹭飞,针对飞行管理议的同步半双HDLC 协议的件设计以及试过程,重点论述了试验验证步计通信速率可,满足飞行管速串行通信要 HDLC 协议在现D.长春:中械与物理研

24、究所秦传波,江太页)测角法,测角角范围内,计束对准目标就有的过度过程信息。比相测一致性要求不减少调试工之处是比相测热噪声带来 Skolnik.雷达业出版社,200耿福录,陈建钟小敏等理模块中的通信工 RS485 通的要求,然后分验验证过程述了 HDLC 协骤。通过仿真达 4Mbit/s,管理模块与舵求。在通信系统中的中国科学院研究所),2005.太辉.HDLC 协议角范围大、线计算方法带来可精确测定程,可通过一次角法对通道幅高,可降低设作量。测角法在方位的随机误差达手册M.王军03.建春.雷达原理等:基于 ZYNQ信需求,展开通信功能设计分别介绍了硬。完整地描述协议的控制设真和实测试验丢帧数为

25、 0,舵机、助推器的应用及其在 F究生院(长春议的 FPGA 实线性好、精度来的误差可忽目标角度,无次测量得到高幅度不敏感,设计难度,节位角和俯仰角比和差比幅测军,林强,译,北M.西安:西Q 的 HDLC 与同开了。首硬件述了设计,验表,正器等PGA光学现及345678910度高,忽略。无跟高精,对节约角同测角京:安电345678910同步半双工 RS其在通信系统2008,22(1张伟.基于FP信息系统与技李成刚,申萍通信网关的设刘岩俊,闫海J.电子器件何宾,张艳辉M.北京:电Michael D.Ci军,林水生,高亚军.基于工业出版社,正点原子.领广州市星翼电 正点原子.领V1.0R.广州子科

26、技大学,徐振来.相控社,2009.罗鹏飞,张文大学出版社,吴顺君,梅晓京:电子工业张光义,赵玉出版社,2004张娟.雷达系西安电子科技何友,修建娟京:电子工业王德纯,丁家M.北京:电 何文安,张家测角特性分析S485 的实现统的应用J.五):40-44.PGA的HDLC技术,2011,2萍,聂晓波.基于设计J.机车电海霞,何昕.基于件,2009,32(.Xilinx Zynq-7电子工业出版社iletti.Verilog H阎波,译.北于 FPGA 的数字2015.领航者 ZYNQ 之电子科技有限公领航者 ZYNQ州市星翼电子科2002.控阵雷达数据处文明.随机信号2006.春.雷达信号处业出

27、版社,200玉洁.相控阵雷4.系统仿真、评估技大学,2006.,张晶炜,等.雷业出版社,200家会,程望东,电子工业出版社家林,保谦.一析J.现代导航五邑大学学报(C协议控制系统(2):48-52.于 FPGA 的 HD电传动,2011(于 FPGA 的 HD(3):707-710.7000 嵌入式系社,2016.HDL 高级数字设京:电子工业字信号处理M之 FPGA 开发公司,2019.Q 之嵌入式系科技有限公司,处理M.北京:分析与处理M处理和数据处理8.达技术M.北估与实测数据分雷达数据处理与9.等.精密跟踪社,2006,3.一维相控阵振幅航,2010,1(159自然科学版),统实现J.指挥DLC 与 RS485(1):20-23.DLC 协议实现统设计与实现设计M.李广出版社,2014.北京:电子发指南 V1.0R.系统开发指南2019.国防工业出版M.北京:清华理技术M.北北京:电子工业分析D.西安:与应用M.北踪测量雷达技术幅相位单脉冲1):59-64.挥5现现广.子.南版华北业北术冲

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服