资源描述:
《IC课程设计报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、题目:自适应波特率的UART设计院系:控制科学与工程系专业班:自动化0902班姓名:组员:学号:指导教师:2012年1月摘要通用异步接收发送器具有可编程性和高度兼容性,在嵌入式系统设计中得到了广泛的应用。本文介绍了一种利用VerilogHDL语言设计UART核心功能的方法,具体描述了发送、接收以及波特率发生器模块的设计,最后给出了该核心模块的整体功能仿真和综合结果。结果表明该UART功能正确、稳定、可靠,可以很好地应用于异步通讯中。关键词:UART异步通信VerilogHDLAbstractUniversalasynchronousrecei
2、verandtransmitterarewidelyusedinembeddedsystemforitsprogrammableandhighcompatibility.AdesignofUARTcorewithVerilogHDLwaspresented.Thedesignsoftransmitter,receiverandbaudrategeneratormoduleswereparticularlydescribed,andthesimulationswereprovided.Theresultofthesimulationsandsy
3、nthesisshowsthattheUARTisvalidandreliable,andcanbewidelyusedinasynchronouscommunication.KeyWords:UARTVerilogHDLAsynchronouscommunication目录摘要IAbstractII1绪论11.1本设计的意义和背景12UART简介12.1UART基本结构12.2UART帧格式22.3UART基本工作原理23UART系统设计方案33.1设计要求33.2模块设计33.2.1分频模块33.2.2接收模块43.2.3发送模块54本人
4、所做工作54.1发送模块的要求54.2模块设计过程64.3生成基本电路94.4仿真结果94.5结果分析105整体电路仿真分析105.1整体仿真结果105.2结论和讨论115.2.1结论115.2.2讨论116致谢127心得体会138参考文献149附录151绪论1.1本设计的意义和背景随着半导体技术的发展,专用集成电路的复杂度越来越高,集成电路已经进入片上系统(SOC)时代。SOC的出现将整个电子系统的功能集成到单一芯片中,芯片规模和复杂度都有不同层次的增加。为了避免重复劳动,需要把一些常用的功能模块设计成可修改参数的模块,让其他用户可以直接调
5、用这些模块,即IP。IP核的复用技术很大程度上提高了SOC的设计效率,缩短SOC产品开发周期,降低成本[1]。通用异步接收发送器(UARTuniversalasynchronousreceiverandtransmitter)主要用于控制设备之间的串行通信,广泛应用于SOC设计中。UART性能的优劣将直接影响相应电子系统的性能和指标。但由于专用的UART芯片引脚多,接口复杂,不便应用于嵌入式设计中。基于以上考虑,本文探讨了利用VerilogHDL设计紧凑、可修改配置的UART软核的方法[2]。2UART简介2.1UART基本结构UART主要由
6、数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。功能包括微处理器接口,发送缓冲器(THR)、发送移位寄存器(TSR)、帧产生、奇偶校验、并转串电路、数据接收缓冲器(RBR)、接收移位寄存器(RSR)、帧产生、奇偶校验、串转并电路等。UART电路的典型应用结构框图如图1所示。图1UART电路典型应用框图1.1UART帧格式UART帧格式如图2所示。图2UART帧格式框图UART帧格式中包括收发空闲状态(idle),起始位(startbit),数据位(5~8bit,可选),奇偶校验位(parity),停止位(stopbit,位数可
7、为1、1.5、2位)。UART内部的配置寄存器可以配置数据位数(5~8bit)、是否有校验位和校验的类型、停止位的位数(1,1.5,2)等设置。1.2UART基本工作原理UART主要用来实现串行和并行数据流间的变换,主要功能是:从CPU接收并行数据转换成串行数据输出;或者是从串口读入外部数据,将其转换为并行数据,送往CPU。所谓异步收发,是因为在UART协议中,接收、发送不使用统一参考时钟。收发双方取得同步的方法是采用固定的串行数据格式,即在数据格式设置中分别加上起始位和停止位,来标志一个数据帧的开始和结束[3-4]。其串行数据格式如上图所示
8、,包括1位起始位,5~8位数据位,1位奇偶校验位(可选),1/115/2位停止位。UART的功能系统可划分为六个模块,分别为:波特率发生器、接口模块、发送模块、接收