欢迎来到天天文库
浏览记录
ID:58877994
大小:1.72 MB
页数:22页
时间:2020-09-20
《UART控制器设计说明.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、..电子科技大学可编程逻辑器件原理、应用与实验课程实验报告实验名称UART控制器设计及验证成绩研究生院学院代培生班学号同作者实验日期2017年4月23日指导教师评语:指导教师:年月日实验报告容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果).....目录一任务简介11.1实验目的11.2开发工具平台1二模块设计22.1输入模块设计22.1.1机械按键消抖22.1.2矩阵键盘扫描32.1.3参量输入及显示输入52.2显示模块
2、62.3三态门控制模块82.4UART通信协议帧格式及波特率设置92.5UART通信模块102.5.1串口数据发送模块112.5.2串口数据接收模块12三系统介绍133.1系统结构介绍133.2系统子模块介绍153.3开发板实验结果17四总结20.....一任务简介1.1实验目的本次任务的目标为设计一个基于FPGA的串口通信控制器,具体技术要求如下:(1)实现与PC的双向通信;(2)可以通过输入模块在开发板上定义向PC发送的数据;(3)数据帧长度可调(6/7/8位);(4)通信波特率可调;(5)在数码管上实现波特率、输入数据、接收数据的显示。(6)按键A用于接收模
3、式和输入模式的选择,按键B用于选择输入模式为波特率设置还是发送数据设置,按键C为发送确认键,按键D用于选择数据帧长度,矩阵键盘(0~9)用于输入波特率因子和发送数据(十六进制显示);各种模式均有数码管显示相应容,其中数据帧长度由四个LED灯表示。(7)操作流程:1.通信参数设置:在开发板上选择数据帧长度、设置波特率、输入发送数据帧;在PC端的串口通信助手中设置波特率和数据帧长度;2.数据发送:按下C键向PC发送数据,在PC端确认接收的数据;3.数据接收:由PC端向开发板发送数据,在开发板上选择数据接收模式即可显示;4.默认设置:UART控制器默认波特率为9600,
4、默认发送数据为8’h18;(8)以上容均需在开发板上验证;实验截图在本文第三部分给出。1.2开发工具平台(1)基于CycloneIIEP2C5Q208C8核心的MAGIC3200_EP2C5开发板,具有四位扫描式数码管,RS232串口等外设,时钟CLK为50MHz;(2)开发软件为QuartusII13sp;(3)串口通信助手;(4)基于LP2303的USB-UART转接线,用于与笔记本电脑进行串口通信。MAGIC3200_EP2C5开发板USB-UART转接线.....RS232串口串口通信助手图1.1开发平台设备二模块设计2.1输入模块设计输入模块采用了矩阵键
5、盘和独立按键,独立按键用于模式选择和发送确认,矩阵键盘用于数据的输入。关于消抖部分,对于矩阵键盘来说只要设置合适的扫描频率就可以实现消抖的功能,而对于独立按键来说就必须设计相应的消抖模块。2.2.1机械按键消抖模块简介机械按键按下时的机械抖动会产生很多个下降沿,而在逻辑上希望机械按键按下一次只产生一个下降沿,因此要进行按键消抖。按键防抖动其实是通过延时判断来做的,因为这种毛刺持续时间都在ms级,当检测到按键状态有变化时,经过一定延时后再次进行确认。消抖模块如图2.1所示,din为机械按键输入,dout为消抖后的输出。图2.1消抖模块图关键程序图2.2为键盘消抖的状
6、态转移图,按键信号din按下时为低电平,平时为高电平。(1)状态S0:输入din信号产生跳变后,进入状态S0。如果din为0,进入S1状态。否则循环检测。(2)状态S1:如果再次检测到输入信号为逻辑0信号,则表明有按键按下,dout为0。状态机结束。状态机激励时钟周期为0.1s,以此实现延时,即按键按下后0.1s检测按键信号,若按键信号为低电平,则输出低电平完成消抖。.....图2.2消抖状态机消抖程序如下:always(posedgekeyclk)//状态机激励beginif(RESET==0)pre_s=s0;elsepre_s=next_s;endalway
7、s(pre_s,next_s,din)//检查按键begincase(pre_s)s0:begindout=1;if(din==0)next_s=s1;elsenext_s=s0;ends1:begindout=1;if(din==0)dout=0;elsenext_s=s0;enddefault:next_s=s0;endcaseend2.2.2矩阵键盘扫描简介及原理图键盘扫描最大的优点就是能节约I/O口。如果使用普通的方法,那么16个按键就需要16个I/O口,但通过扫描的方式来完成,却只需要8个,按键越多它所显现的优势也就越明显。矩阵键盘原理电路如图2.3。键
8、盘扫描将使
此文档下载收益归作者所有