版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章网络管理中UART系统设计基于VerilogHDL的通信系统设计基于VerilogHDL的通信系统设计
在通信系统设计过程中,异步串口(UART)通信由于其通用性而得到普及,特别在工业、网络控制设备和计算机通信中应用非常广泛。本章在基于SNMP协议实现的光分组交换网络控制系统中设计了网管代理和交换节点的接口电路,该接口电路采用UART的通信方式完成网管代理和交换节点的数据通信,是UART在网络控制设备和计算机通信中的一个应用范例。基于VerilogHDL的通信系统设计9-1SNMP网络管理系统在光分组交换中的应用
计算机网络在很大程度上已经改变了现代人的生活。而网络规模的扩大,出现了各种影响网络服务的因素,如网络设备的实效问题等。如何有效的网络管理,确保了信息网络的可靠性、稳定的运行已经成为了一个迫切需要解决的问题。为此,以国际标准化组织和Internet工作组为主导地位的组织机构相继做了大量工作,最主要的就是提出了CMIS/CMIP和制定了网络管理协议SNMP(SimpleNetworkManagementProtocol)。SNMP一出现,很快在因特网管理中得到应用,很多的代理系统和管理系统的网络经营者都采用了SNMP来进行管理。SNMP协议可以用于控制各种如电话系统、环境控制设备等,其应用空间非常广泛。基于VerilogHDL的通信系统设计9-1-1UART的基本原理
在UART通信中,发射端和接收端不共享同一个时钟,也就是说,在一次UART通信过程中,没有时钟信号的传输,因此这种协议被称为异步通信协议。由于没有共享时钟,所以在数据进行传输之前,收发双方必须协商好一个数据传输的波特率。也就是说,UART接收端应该知道发送端发送数据的波特率,发送端也应该知道接收端的波特率。所以大多数情况下,设置发送端和接收端的波特率相同。UART发送端按照低位元在前、高位在后的顺序将数据移位元输出。一旦初始化时双方设置好了相同的波特率,收发双方的内部时钟都设定在同一频率。再一个UART帧传输开始,接收端将内部时钟调整到与发送端同步。这样接收端就可以在每一位的中心位置对数据进行采样,保证数据传输的正确性。常用的波特率有110b/s、300b/s、600b/s、800b/s、9600b/s和19200b/s等几种。基于VerilogHDL的通信系统设计9-1-2UART的操作UART负责SNMP代理端计算机和FPGA控制器的通信,它以并行格式取出来自读/写RAM控制器的数据,并指定UART发射机将该数据以串行格式发射。同样,UART接收机检测传输情况,包括是否以串行方式接收数据,是否去掉起始和终止位,以及是否以并行方式存储数据字。接收机的工作更为复杂,由于时钟信号并不传输,所以需要接收机本地产生时钟信号,该采样时钟信号必须比数据传输波特率大,保证数据能够正确的被采样。基于VerilogHDL的通信系统设计9-2UART发射机的设计和实现
发送部分的工作相对比较简单,由一个状态机来控制。该状态机一共有三个状态:“idle”、“waiting”、“sending”状态。9-3UART接收机的设计和实现UART接收机的主要任务:接收数据的串行比特流,去掉起始位,以并行格式将数据传送到与主机相连的内存。到达的数据波特率是由发射机预置得到,所以接收到的数据传输速率并不一定和接收机的时钟频率一致。针对这个的问题,接收机采用如下的方法来解决。接收机本地产生一个更高频率的时钟频率,这个频率被称为采样时钟“sample_clk”,采样时钟在数据到来的时候对接收到的数据进行采样。基于VerilogHDL的通信系统设计9-4UART波特率发生器的设计和实现
波特率发生器就是一个简单的分频器,以给定的系统时钟频率(外部晶振)和要求的波特率算出波特率分频因子来作为分频器的分频数。对于波特率发生器中的系数一般在FPGA实现时往往是固定的,但对于不同的实现,这个系数往往需要修改。波特率发生器产生的分频时钟,不是波特率时钟,而是波特率时钟的8倍,产生该时钟的目的就是保证精确采样,提取异步的串行数据。这里用到的外部晶振为20MHz,需要对它进行260分频得到76900Hz的采样频率。由于该UART通信系统选用的波特率为9600bits/s,所以分频得到的采样频率大概为波特率的8倍。
基于VerilogHDL的通信系统设计9-5
读/写RAM表控制模块设计和实现
本模块首先对接收到的数据进行解析,根据解析结果对RAM表进行相应的读和写操作。由于代理端发送的数据内容和长度不同,对RAM的操作也可能不同,而且需要判断数据有效的起始位置,所以必须对代理端发送的数据设定一定的帧格式。读/写RAM表控制模块可以根据数据帧格式对数据起始位置进行判断,同时对数据帧进行解析。该数据帧包含下面5个部分:
数据起始位置。
对RAM的操作方式。
操作RAM表首地址。
数据长度。
数据。基于VerilogHDL的通信系统设计9-6RAM表的“IPCore”调用方法RAM表主要用于存放路由信息以及核心结点和边缘结点的相关数据,由于Altera公司已经将RAM表封装成IP核供用户调用。所以这里详细的介绍下在QuartusII中调用RAM的IP核的方法。
选择“Tool→MegaWizardPlug-InManager…”,在之后的弹出对话框中选择建立一个新的“Megafunction”,选择RAM,2-PORT型RAM,确定生成RAM档的名称,点击“Next”。进入如图9-17所示的RAM设置界面1。选择“withonereadportandonewriteport”,点击“Next”按钮。基于VerilogHDL的通信系统设计图9-17
RAM设置界面1基于VerilogHDL的通信系统设计
进入如图9-18所示的RAM设置界面2。图9-18中可以选择产生的RAM寄存器的容量,读者可以根据设计要求设置RAM大小,这里RAM大小设置为32,点击“Next”按钮。图9-18
RAM设置界面2基于VerilogHDL的通信系统设计
打开如图9-19所示的RAM设置页面3。在该页面中可以选择时钟类型,这里选择“useseparate‘read’
and‘write’clocks”;同时选择复选框“Createan
‘rden’readenablesignal”,创建一个读使能信号后,点击“Finish”按钮,完成对RAM的设置。图9-19
RAM设置界面3基于VerilogHDL的通信系统设计9-7
本章小结
本章
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020版 沪教版 高中音乐 必修2 歌唱 上篇《第一单元气韵生动》大单元整体教学设计2020课标
- 《塑胶模具设计》课件
- 合建合同范本
- 《外科手术中的告知》课件
- 2025年青海货运从业资格考试模拟考试题库答案大全
- 2025年资阳c1货运从业资格证考试内容
- 2025年庆阳a2货运从业资格证模拟考试题
- 2025年吉林道路运输从业资格证考试
- 2025年山西年货运从业资格证考试从业从业资格资格题库及答案
- 考研资料 《中国美术史教程》章节题库
- 种植槟榔合作合同模板
- 医药销售培训课程
- 中小学生冬季安全教育课件考核试卷
- 四川省内江市2024-2025学年高一上学期期中考试数学试题(含答案)
- 消防火灾自动报警主机更换(增加)施工方案
- 润致娃娃针课件
- DB35T 772-2023 行业用水定额
- 责任护理组长竞选
- 期末检测卷(试题)-2024-2025学年三年级上册数学苏教版
- n3护士竞聘述职
- 2024年广东省第一次普通高中学业水平合格性考试历史试卷(解析版)
评论
0/150
提交评论