eda:基于vhdl的串口设计

eda:基于vhdl的串口设计

ID:795220

大小:387.53 KB

页数:17页

时间:2017-09-05

eda:基于vhdl的串口设计_第1页
eda:基于vhdl的串口设计_第2页
eda:基于vhdl的串口设计_第3页
eda:基于vhdl的串口设计_第4页
eda:基于vhdl的串口设计_第5页
资源描述:

《eda:基于vhdl的串口设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EDA课程设计题目:基于VHDL的串口设计院系:机电学院班级:电气103姓名:张明军学号:20100744113日期:2012.12.10—2012.12.17目录1、任务要求1、1课题要求1、2设计目标2、系统设计2、1层次模块划分2、2分频模块的设计2、3发送电路的波特率发生器的设计2、4接受模块的设计2、5接收电路的波特率发生器和采样时钟的设计3、VHDL的描述思路4、总体电路的描述5、系统仿真验证5、1发送电路的波特率发生器的VHDL的仿真5、2发送模块VHDL的仿真5、3特率发生器和采样时钟的设计的VHDL仿真5、4接受模块的描述的V

2、HDL仿真5、5综合仿真6、结果与分析6.1实现功能说明6.2器件资源分析6.3故障和问题分析7、总结体会8、参考文献9、附录基于VHDL的串口设计任务书摘要:实验设计了基于VHDL描述的RS232串口通信控制器,通过串口调试工具实现CPLD向单片机的数据发送和单片机的数据接收。完成的功能为实现收发一帧10个bit、波特率为4800的串口通信控制器。实验的重心放在了RS232串口通信控制器发送模块和接收模块的设计,采用了自顶向下的思路进行设计。报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。完成了核心模

3、块以及系统整体的仿真验证。最终下载到实验板上测试通过。1、任务要求1、1课题要求(1)用RS232实现与单片机之间的数据通信,单片机上用串口工具接收;(2)CPLD每1秒钟发送1个字节的数据到单片机;(3)所发送的数据用实验箱上的8个开关输入;(4)设置发送允许控制;(5)数据格式:1位起始位、8位数据位、1位停止位;(6)数据传输速率:4800波特。1、2设计目标根据课题要求,实验中将目标进行了细化,叙述如下:设定数据帧格式为10bit,其中第一位为起始位,定位低电平,8位数据位,1位结无数据传输时为高电平;2、系统设计2、1层次模块划分系统

4、划分为二层,自顶向下分别是顶层模块、控制器子模块。顶层描述了整个系统的功能和运行;控制器子模块实现系统中各个独立而完整的功能部分。每个层次可用一个或多个具体模块加以实现。顶层模块:作用为集成子模块功能,控制子模块的连接和耦合信号。由各子模块定义成的库元件组成。中层模块:具体实现顶层模块的描述,包括的功能主要是串行发送电路的波特率发生器,发送模块和接收模块地区、接受模块的分频部分和验收。发送电路的波特率发生器,将16KHz的时钟分频为4800Hz的时钟。输入:16KHz晶振信号。输出:送往发送模块的4800Hz的信号。发送模块。向PC机发送信号。

5、输入:4800Hz时钟信号、发送数据。输出:输入数据的串行输出。接收电路的波特率发生器和采样时钟的设计,提高接收的准确性,减少误码率输入:16KHz晶振信号。输出:送往接受模块的信号和检验模块。接收模块,检测接收端,若检测到低电平则开始接收数据输入:CPLD发送的数据。输出:接收到的数据。以上模块分别生成符号文件,最后在顶层模块中进行连接。2、2分频模块的设计由于UART是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般U

6、ART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。这里采用常用的数据波特率为9600bps,则所需时钟的频率为16*9600。系统时钟为50MHz,则分频系数为50000000/(16*9600)=325.52,取整为325。分频器实现相对简单,这里对其设计流程图不做详细介绍。只是将设计过程和结果简述如下:首先用VHDL语言进行设计输入,并生成模块文件如图2-1所示,其中clk为50M系统时钟输入,clkout为325分频后时钟输出。图2-1分频模块然后建立波形文件,对以上模块进行时序仿真,仿真结果如图2-

7、2所示,方正结果说明,分频输出实现了对输入的325分频,分频模块设计正确。图2-2分频模块仿真结果2、3发送电路的波特率发生器的设计要产生4800波特率,要有一个不低于4800Hz的时钟才可以。为产生高精度的时钟,我选了16KHz的晶振来提供外部时钟。当然,你也可以选其它频率的时钟来产生4800Hz的时钟。对于16KHz时钟,需要设计一个13进制的分频器来产生4800波特率的时钟信号。发送过程:空闲状态,线路处于高电平;当受到发送数据指令后,拉低线路一个数据位的时间T,接着数据按地位到高位依次发送,数据发送完毕后,接着发送停止位(停止位为高电平

8、),一帧数据发送结束。(1)模块流程图根据以上发送过程,发送模块算法示意图设计如图2-3所示。开始wrsig=1Nidle=0YN发送数据Y停止位N结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。