与PC机的串行口数据通信.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
与PC机的串行口数据通信

目录 摘要 1、任务要求 1、1课题要求 1、2设计目标 1、3时间安排 2、系统设计 2、1系统结构设计 2、1、1层次模块划分 2、1、2模块设计图 2、1、3发送电路的波特率发生器的设计 2、1、4接受模块的设计 2、1、5 接收电路的波特率发生器和采样时钟的设计 2、1、4接收模块的设计 2.2系统硬件语言描述 2.2.1VHDL描述思路 2.2.2总体电路的描述 2.2.3分块电路的描述 2.3系统仿真验证 3、结果与分析 3.1实现功能说明 3.2器件资源分析 3.3故障和问题分析 4、总结体会 5、参考文献 摘要 本实验报告为RS232串口通信控制器。 实验设计了基于VHDL描述的RS232串口通信控制器,通过串口调试工具实现CPLD向PC机的数据发送和PC机的数据接收。完成的功能为实现收发一帧10个bit、波特率为4800的串口通信控制器。实验的重心放在了RS232串口通信控制器发送模块和接收模块的设计,采用了自顶向下的思路进行设计。报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。完成了核心模块以及系统整体的仿真验证。最终下载到实验板上测试通过。 1、任务要求 1、1课题要求 用RS232实现与PC机之间的数据通信,PC机上用串口工具接收; CPLD每1秒钟发送1个字节的数据到PC机; 所发送的数据用实验箱上的8个开关输入; 设置发送允许控制; 数据格式:1位起始位、8位数据位、1位停止位; 数据传输速率:4800波特。 1、2设计目标 根据课题要求,实验中将目标进行了细化,叙述如下: 设定数据帧格式为10bit,其中第一位为起始位,定位低电平,8位数据位,1位结无数据传输时为高电平; 1、3 时间安排 本次课程设计共5天时间,安排如下: 布置题目与讲解————周一上午; 资料查阅与方案设计——周一下午及周二一天; 编程与硬件调试————周三、周四; 答辩————周五; 撰写课程设计报告————自习时间; 2、系统设计 2、1系统结构设计 2、1、1层次模块划分 系统划分为二层,自顶向下分别是顶层模块、控制器子模块。顶层描述了整个系统的功能和运行;控制器子模块实现系统中各个独立而完整的功能部分。每个层次可用一个或多个具体模块加以实现。 顶层模块: 作用为集成子模块功能,控制子模块的连接和耦合信号。由各子模块定义成的库元件组成。 中层模块: 具体实现顶层模块的描述,包括的功能主要是串行发送电路的波特率发生器,发送模块和接收模块地区、接受模块的分频部分和验收。 clk_div 发送电路的波特率发生器,将16KHz的时钟分频为4800Hz的时钟。 输入:16KHz晶振信号。 输出:送往发送模块的4800Hz的信号。 Com 发送模块。向PC机发送信号。 输入:4800Hz时钟信号、发送数据。 输出:输入数据的串行输出。 count13 接收电路的波特率发生器和采样时钟的设计,提高接收的准确性,减少误码率 输入:16KHz晶振信号。 输出:送往接受模块的信号和检验模块。 com_receive10 接收模块,检测接收端,若检测到低电平则开始接收数据 输入:CPLD发送的数据。 输出:接收到的数据。 以上模块分别生成符号文件,最后在顶层模块中进行连接。 2、1、2模块设计图 图2.4给出了详细的模块图,这些模块属于第二层,模块输入输出信号的耦合是在顶层模块中进行描述的。 2、1、3发送电路的波特率发生器的设计 要产生4800 波特率,要有一个不低于4800Hz的时钟才可以。为产生高精度的时钟, 我选了 16KHz的晶振来提供外部时钟。当然,你也可以选其它频率的时钟来产生4800Hz的时钟。对于16KHz 时钟,需要设计一个13 进制的分频器来产生4800 波特率的时钟信号。 2、1、4接受模块的设计 根据采用的帧格式,需要发送的数据为10 位(1位开始位、8 位数据位、1 位停止位) ,在发送完这10位后,就应该停止发送,并使发送端电平处于逻辑1 ,然后等候下次的发送. 2、1、5 接收电路的波特率发生器和采样时钟的设计 为提高接收的准确性,减少误码率,每一位数据都用3 倍频的波特率对数据进行采样(如图3 所示) ,然后对3 次采样结果进行判决:如果3 次采样中至少有2 次为高电平,则接收这一位数据被判决为高电平,否者,为低电平。 为完成3 次采样,除了频率为9600Hz 的接收时钟外,还要有一个3 倍频的采样时钟 2、1、4接收模块的设计 接收电路比发送电路要复杂的多,接收电路要时实检测起始位的到来,一旦检测到起始位到,就要将这一帧数据接收下来。 串行接收电路首先要能判断接收数据的到来,即

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档