- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串口通信的项目的报告
《基于串口通信CPLD》项目报告
学生信息(学生填写) 班 级 计应095 日 期 2011/5/10 姓 名 王海静 学 号 0908143527
计算机学院一﹑项目要求:
串行通信接口项目在实验板上构成一个全双工的串行通信接口,用户利用这个串行接口,可以与PC机或其它设备进行串行通信,并可以设置串行通信的格式。
系统的状态分成工作状态和设置状态:在工作状态下,进行串行通信;在设置状态下,进行通信格式的设置。
该系统用5个数码管(一个单独的数码管和一个4位数码管)显示串行通信的格式,比如串行通信的波特率是4800,7位数据位,校验方式为偶校验,则数码管显示为“E 48-7”。
当系统处于工作状态时,如果收到串行数据,则把该数据显示在发光管上,如果接收到的数据有错误(包括奇偶校验错误和帧错误),则让蜂鸣器发出响声。
在工作状态下,若用户按下K1按键,则把拨码开关上的数据发送出去。
在工作状态下,如果用户按下K2按键,进入设置状态,首先设置进行校验方式的设置:这时单独的数码管闪烁显示,若用户按下K3按键可以改变校验方式(共有O、E、n三个取值)。
在此过程中,如果用户再次按下K2按键,可以进行波特率的设置:这时4位数码管的高两位闪烁,若用户按下K3按键可以改变波特率(共有96、48、24、12四个取值)。
在此过程中,如果用户再次按下K2按键,可以改变数据位位数:这时4位数码管的最低位闪烁,用户按下K3按键可以改变数据位的位数(共有8、7、6、5四个取值)。
在此过程中,如果用户再次按下K2按键,则系统又回到工作状态。
二﹑项目内容
基于QuartusII软件和串口通信的程序,通信串口作为信息传输通道,CPLD芯片作为接受信息和实现效果的工具,最终达到能够传输数据和显示相应数据的作用;1. 要求通过串口通信能够获得数据内容在QuartusII软件环境中开发;
2. 获得接收和发送的数据;
三、项目设计
项目的设计思路
首先利用利用老师所给的主框架图如下:
最初是从时钟模块着手的,这块据老师说是较简单的部分,在这一部分程序编写中主要是分频器和分频器分频的设计,
时钟模块的基本构成
根据设计要求,时钟模块主要为系统各部分提供各种频率的时钟信号,因此该模块主要由几个分频器构成。另外由于输出的发送和接收时钟信号的具体频率,受控制模块传来的信号控制,所以还需要一个数据选择器。
时钟模块的逻辑框图
按照前面的分析,时钟模块的逻辑框图如下:
控制模块的基本构成
根据设计要求,该系统可以分成这几个模块:去抖动模块(用于K2、K3按键)、一个表示系统状态的四进制计数器、一个3进制计数器用于表示校验方式、另外两个4进制计数器分别用于表示数据位位数和波特率,另外还有4个译码器以及少量门电路。
控制模块的逻辑框图
按照前面的分析,控制模块的逻辑框图如下:
数据分配器的逻辑功能
该模块的数据分配器,用于控制(去抖动后的)K3按键信号的传递对象,当控制信号是00时,输出信号全是1;当控制信号是01时,K3按键信号传递给校验方式计数器,另两个输出信号是1;当控制信号是10时,K3按键信号传递给波特率计数器,另两个输出信号是1;当控制信号是11时,K3按键信号传递给数据位数计数器,另两个输出信号是1。
译码器1的逻辑功能
译码器1用于控制,当输入信号是00时(工作状态),输出是00000(无闪烁);当输入信号是01时(设置校验方式),输出是10000(单独数码管闪烁);当输入信号是10时(设置波特率),输出是01100(4位数码管高2位闪烁);当输入信号是11时(设置波特率),输出是00001(4位数码管最低位闪烁)。
译码器2的逻辑功能
译码器2用于给单个数码管传送显示数据,而显示的内容为“n”、“O”、“E”,当输入为0x时(无校验),输出为1010(显示“n”);当输入为10时(偶校验),输出为1110(显示“E”); 当输入为11时(奇校验),输出为0000(显示“O”)。
译码器3的逻辑功能
译码器3用于给4位数码管的高2位传送显示数据,当输入为00时(9600波特率),输出为8’h96;当输入为01时(4800波特率),输出为8’h48;当输入为10时(2400波特率),输出为8’h24;当输入为11时(1200波特率),输出为8’h12。
译码器4的逻辑功能
译码器4用于给4位数码管的最低位传送显示数据,当输入为00时(8位数据位),输出为4’h8;当输入为01时(7位数据位),输出为4’h7;当输入为10时(6位数据位),输出为4’h6;当输入为11时(5位数据位),输出为4’h5;
接收控制模块的基本构成
接收控制模块主要由格雷码计数器、译码器、数据选择器、3分频器以及一些逻辑门电路构成。
接收模块的逻
原创力文档


文档评论(0)