实验四串口接收模块电路设计_第1页
实验四串口接收模块电路设计_第2页
实验四串口接收模块电路设计_第3页
实验四串口接收模块电路设计_第4页
实验四串口接收模块电路设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四实验四 串口接收模块电路设计串口接收模块电路设计 一 实验目的 一 实验目的 1 熟练使用 ISE 设计工具 2 理解串口传输协议 理解采用 自顶向下 设计思路 分解模块的方法 3 在 ISE 使用 Verilog HDL 设计串口接收模块 完成仿真 下载 二 原理分析二 原理分析 一 串口传输协议概述 设计完成异步串口通信通用异步收发是一种典型的异步串口通信 简称 UART 串 口通信时序如图 1 所示 图图 1 通用异步收发时序图通用异步收发时序图 由图 1 可以看出 在没有数据传送时 通信线会一直处于高电平 即逻辑 1 状态 当 有数据传送时 数据帧以起始位开始 以停止位结束 起始位为低电平 即逻辑 0 状态 停止位为高电平 即逻辑 1 状态 其持续时间可选为 1 位 1 5 位或 2 位 本次设计选择持本次设计选择持 续时间续时间 1 位 位 接收端在接收到停止位后 知道一帧数据已经传完 转为等待数据接收状态 只要再接收到 0 状态 即为新一帧数据的起始状态 数据帧的数据位低位 LSB 在前 高位 MSB 在后 根据不同的编码规则 数据位 可能为 5 位 6 位 7 位或者 8 位 本次设计数据位定位本次设计数据位定位 8 位位 校验位也可根据需要选择奇 校验 偶校验或者不要校验 本次设计不要校验位 本次设计不要校验位 二 串口时序分析 串口通讯常用 波特率 表述串口传输速率 常用的参数有 9600 bps 和 115200 bps 等 在硬件传输角度看 波特率表征了传输一位数据所需要的时间 例如 波特率是 9600 bps 传输一位数据的时间是 1 9600 0 000104166666666667 秒 如果 FPGA 系统时钟是 20MHZ 则一位数据传输时间相当于 1 9600 1 20M 2083 个 20MHZ 时钟周期 设一帧数据位数 1 开始位 8 数据位 1 校验位 1 结束位 11 位 所以 传输一帧数据的时间是 11 1 9600 0 00114583333333333333333333333333 秒 为了稳定采集串口数据帧的数据 需要在每位数据的 中间时刻 采样 由此 需要 在每位数据开始时刻对时钟进行计数 若系统时钟是 20MHZ 则在计数至 2083 2 1042 时 采样此时刻的数值 三 系统分析 三 系统分析 为实现串口接收电路 FPGA 应该完成 1 及时发现数据传输的开始 并判断每一位的开始 2 按照 在数据位中间采样 的要求 确认采样时刻 3 将采样得到串行数据转换为并行数据 4 将并行数据显示在下载板上 本次实验参数 串口传输数据率串口传输数据率 9600bps 每帧数据 每帧数据 11 位 位 按照 自顶向下 设计思 想 系统分为以下五个子模块 1 帧开始监测模块 detect module 输入端口 串行输入数据 RX Pin In 系统时钟 CLK 复位信号 RSTn 其中当 RSTn 0 时系统复位 输出端口 H2L Sig 参考代码 module detect module CLK RSTn RX Pin In H2L Sig input CLK input RSTn input RX Pin In output H2L Sig reg H2L F1 reg H2L F2 always posedge CLK or negedge RSTn if RSTn begin H2L F1 1 b1 H2L F2 1 b1 end else begin H2L F1 RX Pin In H2L F2 H2L F1 end assign H2L Sig H2L F2 endmodule 2 数据位中心定位模块 rx bps module 输入端口 系统时钟CLK 复位信号 RSTn 当RSTn 0 系统复位 数据位有效信号 Count Sig 当Count Sig 1 表示有效位传输 输出端口 BPS CLK 当计数至每一位的中间位置 BPS CLK 1 提示信号采集时间到 否 则不进行信号采集 设系统时钟设系统时钟20MHZ 20MHZ 则参考代码如下 module rx bps module CLK RSTn Count Sig BPS CLK input CLK input RSTn input Count Sig output BPS CLK reg 11 0 Count BPS always posedge CLK or negedge RSTn if RSTn Count BPS 12 d0 else if Count BPS 12 d2082 Count BPS 12 d0 else if Count Sig Count BPS Count BPS 1 b1 else Count BPS 12 d0 assign BPS CLK Count BPS 12 d1041 1 b1 1 b0 endmodule 3 数据装载模块 rx control module 输入端口 系统时钟CLK 复位信号 RSTn 当RSTn 0时 系统复位 帧开始信号H2L Sig 当H2L Sig 1 表示一帧信号开始 串口数据输入信号 RX Pin In 位中心定位信号 BPS CLK 串口接收使能信号 RX En Sig 当RX En Sig 1 系统正常工作 反正不接收数 据 输出端口 串口数据帧开始确认信号 Count Sig 当 Count Sig 1 表示串口输入帧开始 时刻 持续一个系统时钟周期 装载好的串口数据 RX Data 位宽为8bits 串口数据接收结束信号 RX Done Sig 当RX Done Sig 1 表示一帧串口数据 接收完毕 参考代码 module rx control module CLK RSTn H2L Sig RX Pin In BPS CLK RX En Sig Count Sig RX Data RX Done Sig input CLK input RSTn input H2L Sig input RX En Sig input RX Pin In input BPS CLK output Count Sig output 7 0 RX Data output RX Done Sig reg 3 0 i reg 7 0 rData reg isCount reg isDone always posedge CLK or negedge RSTn if RSTn begin i 4 d0 rData 8 d0 isCount 1 b0 isDone 1 b0 end else if RX En Sig case i 4 d0 if H2L Sig begin i i 1 b1 isCount 1 b1 end 4 d1 if BPS CLK begin i i 1 b1 end 4 d2 4 d3 4 d4 4 d5 4 d6 4 d7 4 d8 4 d9 if BPS CLK begin i i 1 b1 rData i 2 RX Pin In end 4 d10 if BPS CLK begin i i 1 b1 end 4 d11 if BPS CLK begin i i 1 b1 end 4 d12 begin i i 1 b1 isDone 1 b1 isCount 1 b0 end 4 d13 begin i 1 b0 isDone 1 b0 end endcase assign Count Sig isCount assign RX Data rData assign RX Done Sig isDone endmodule 这一代码采用有限状态机方式 在监测到串口数据帧开始时刻 如果系统接收使能信 号有效 展开对串口输入的几个阶段 帧开始 有效帧数据接收 接收帧校验位 接收帧 结束位 一帧接收结束 转回帧开始状态 4 显示模块 display 输入端口 sum 从串口接收到的8bits的一帧数据 输出端口 自定义 本模块根据下载板的资源 将接收到的8bits数据显示出来 可以采用数码管 发光 二极管等 5 顶层模块 top 将以上4个模块合理组合 构成一个系统 四 实验内容 四 实验内容 1 在理解串口协议 2 采用 VerilogHDL 设计分频模块 将下载板上 40MHz 时钟转换为所需要的 20MHZ 时钟 3 分析帧开始监测模块 detect module 数据位中心定位模块 rx bps module 数据装载模块 rx control module 的功能 完成 帧开始监测模块 detect module 数据装载模块 rx control module 两个模块的功能仿真 4 根据下载板资源 设计数据显示方案 并设计 display v 模块并仿真 5 在理解各个参考代码基础上 画出系统模块连接图 完成顶层模块 top v 的设计 6 根据下载板资源 锁定引脚 编译适配以上文件 最后进行下载和硬件测试 四 思考题 四 思考题 1 简述帧开始监测模块 detect module 数据位中心定位模块 rx bps module 数据装载模块 rx control module 的功能各是什么 这三个模块是如何配合实现了串口 数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论