- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于vhdl串口设计说明书推荐
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 接受模块的描述的VHDL仿真
5、5 综合仿真
6、 结果与分析
6.1实现功能说明
6.2器件资源分析
6.3故障和问题分析
7、总结体会
8、参考文献
9、附录
基于VHDL的串口设计任务书
摘要:
实验设计了基于VHDL描述的RS232串口通信控制器,通过串口调试工具实现CPLD向单片机的数据发送和单片机的数据接收。完成的功能为实现收发一帧10个bit、波特率为4800的串口通信控制器。实验的重心放在了RS232串口通信控制器发送模块和接收模块的设计,采用了自顶向下的思路进行设计。报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。完成了核心模块以及系统整体的仿真验证。最终下载到实验板上测试通过。
任务要求
1、1课题要求
(1)用RS232实现与单片机之间的数据通信,单片机上用串口工具接收;
(2)CPLD每1秒钟发送1个字节的数据到单片机;
(3)所发送的数据用实验箱上的8个开关输入;
(4)设置发送允许控制;
(5)数据格式:1位起始位、8位数据位、1位停止位;
(6)数据传输速率:4800波特。
1、2设计目标
根据课题要求,实验中将目标进行了细化,叙述如下:
设定数据帧格式为10bit,其中第一位为起始位,定位低电平,8位数据位,1位结无数据传输时为高电平;
系统设计
2、1层次模块划分
系统划分为二层,自顶向下分别是顶层模块、控制器子模块。顶层描述了整个系统的功能和运行;控制器子模块实现系统中各个独立而完整的功能部分。每个层次可用一个或多个具体模块加以实现。
顶层模块:
作用为集成子模块功能,控制子模块的连接和耦合信号。由各子模块定义成的库元件组成。
中层模块:
具体实现顶层模块的描述,包括的功能主要是串行发送电路的波特率发生器,发送模块和接收模块地区、接受模块的分频部分和验收。
发送电路的波特率发生器,将16KHz的时钟分频为4800Hz的时钟。
输入:16KHz晶振信号。
输出:送往发送模块的4800Hz的信号。
发送模块。向PC机发送信号。
输入:4800Hz时钟信号、发送数据。
输出:输入数据的串行输出。
接收电路的波特率发生器和采样时钟的设计,提高接收的准确性,减少误码率
输入:16KHz晶振信号。
输出:送往接受模块的信号和检验模块。
接收模块,检测接收端,若检测到低电平则开始接收数据
输入:CPLD发送的数据。
输出:接收到的数据。
以上模块分别生成符号文件,最后在顶层模块中进行连接。
2、2 分频模块的设计
由于UART是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般UART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。数据波特率为,则所需时钟的频率为16*。系统时钟为50MHz,则分频系数(16*00) =325.52,取整为
图2-1 分频模块
然后建立波形文件,对以上模块进行时序仿真,仿真结果如图2-2所示,方正结果说明,分频输出实现了对输入的325分频,分频模块设计正确。
图2-2 分频模块仿真结果
2、3 发送电路的波特率发生器的设计
要产生4800 波特率,要有一个不低于4800Hz的时钟才可以。为产生高精度的时钟, 我选了
16KHz的晶振来提供外部时钟。当然,你也可以选其它频率的时钟来产生4800Hz的时钟。对于16KHz 时钟,需要设计一个13 进制的分频器来产生4800 波特率的时钟信号。
发送过程:空闲状态,线路处于高电平;当受到发送数据指令后,拉低线路一个数据位的时间T,接着数据按地位到高位依次发送,数据发送完毕
原创力文档


文档评论(0)