版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UART串口接收模块设计实验目标:实现FPGA接收其他设备通过UART协议发送过来的数据。知识点:1、 URAT通信协议工业环境下数据接收实现。2、 In system sources and probes editor(ISSP)调试工具的使用。UART发送端发送一个字节数据时序图: 对于其中的每一位进行采样,一般情况下每一位数据的中间点是最稳定的,因此一般应用中,采集中间时刻时的数据即可,如下图所示:但是在工业应用中,往往有非常强的电磁干扰,只采样一次就作为该数据的电平判定,是不保险的,有可能恰好采集到被干扰的信号而导致结果出错,因此需要使用多次采样求概率的方式进行。以下为改进型的单bit
2、数据接收方式示意图:在这张图中,将每一位数据又平均分成了16小段,对于Bit_x这一位数据,考虑到数据在刚刚发生变化和即将发生变化的这一时期,数据极有可能不稳定的(用红色标出的两段),在这两个时间段采集数据,很有可能得到错误的结果,因此这两段时间的电平无效,采集时直接忽略。而中间这一时间段(用绿色标出),数据本身是比较稳定的,一般都代表了正确的结果。但是也不排除该段数据受强电磁干扰而出现错误的电平脉冲,因此对这一段电平,进行多次采样,并求高低电平发生的概率,6次采集结果中,取出现次数多的电平作为采样结果。例如,采样6次的结果分别为1/1/1/1/0/1/,则取电平结果为1,若为0/0/1/0/
3、0/0,,则取电平结果为0,当6次采样结果中1和0各占一半(各3次),则可判断当前通信线路环境非常恶劣,数据不具有可靠性。串口发送模块包含两个主要组件:1、 起始位检测进程(低电平,下降沿)2、 波特率产生模块3、 数据接收模块串口接收模块整体结构图:波特率时钟计算:系统时钟周期为System_clk_period波特率波特率周期波特率分频计数值System_clk_period = 20计数值9600104167ns104167/ System_clk_period/16325-11920052083ns52083/ System_clk_period/16163s
4、26041/ System_clk_period/1681s17361/ System_clk_period/1654-11152008680ns8680/ System_clk_period/1627-1Modelsim仿真图:·在testbench文件中我们为设计输入了假定的信号,在仿真图中我们可以看到data_byte_r在Rx_done标志位产生的时候成功的将仿真数据data_byte_t接收到其中。实现了串口接收数据的功能,其余各状态表现正常。Rtl功能图附录:源程序:一, 顶层功能代码module uart_rx_top(Clk,Rst_n,Rs
5、232_Rx);input Clk;input Rst_n;input Rs232_Rx;reg 7:0data_rx_r;wire 7:0data_rx;wire Rx_Done;uart_byte_rx uart_byte_rx(.Clk(Clk),.Rst_n(Rst_n),.baud_set(3'd0),.Rs232_Rx(Rs232_Rx),.data_byte(data_rx),.Rx_Done(Rx_Done);issp issp(.probe(data_rx_r),.source();always(posedge Clk or negedge Rst_n)if(!Rst
6、_n)data_rx_r <= 8'd0;else if(Rx_Done)data_rx_r <= data_rx;elsedata_rx_r <= data_rx_r;endmodule二 testbench仿真文件timescale 1ns/1nsdefine clk_period 20module uart_byte_rx_tb;reg Clk;reg Rst_n;reg Rs232_Rx;wire 7:0data_byte_r;wire Rx_Done;reg 7:0data_byte_t;reg send_en;reg 2:0baud_set;wire Rs
7、232_Tx;wire Tx_Done;wire uart_state;uart_byte_rx uart_byte_rx(.Clk(Clk),.Rst_n(Rst_n),.baud_set(baud_set),.Rs232_Rx(Rs232_Tx),.data_byte(data_byte_r),.Rx_Done(Rx_Done);uart_byte_tx uart_byte_tx(.Clk(Clk),.Rst_n(Rst_n),.data_byte(data_byte_t),.send_en(send_en),.baud_set(baud_set),.Rs232_Tx(Rs232_Tx),
8、.Tx_Done(Tx_Done),.uart_state(uart_state);initial Clk = 1;always#(clk_period/2)Clk = Clk;initial beginRst_n = 1'b0;data_byte_t = 8'd0;send_en = 1'd0;baud_set = 3'd4;#(clk_period*20 + 1 );Rst_n = 1'b1;#(clk_period*50);data_byte_t = 8'haa;send_en = 1'd1;#clk_period;send_en = 1'd0;(posedge Tx_Done)#(clk_period*5000);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年资料员之资料员基础知识考试题库300道【完整版】
- 2026年二级注册建筑师之建筑结构与设备考试题库500道附完整答案(易错题)
- 2026年抖音考试题库附参考答案(综合卷)
- 2026年投资项目管理师之宏观经济政策考试题库300道附答案【a卷】
- 2025年昭通新华书店有限公司招聘工作人员(3人)参考题库附答案
- 2026年初级管理会计之专业知识考试题库300道【能力提升】
- 2025辽宁鞍山师范学院招聘急需紧缺高层次人才20人参考题库附答案
- 2025湖南师范大学数据与信息化建设管理处非事业编制用工招聘参考题库附答案
- 2025年宣城旌德县旅发置业有限公司招聘2名考试备考题库附答案
- 2025湖南省招标有限责任公司广州分公司主要负责人社会化招聘1人备考题库附答案
- 2025年重庆青年职业技术学院非编合同制工作人员招聘68人备考题库及一套答案详解
- 2025年常熟市交通产业投资集团有限公司(系统)招聘14人备考题库含答案详解
- 临沂市公安机关2025年第四季度招录警务辅助人员备考题库新版
- 2025年新版中医药学概论试题及答案
- 深圳市龙岗区2025年生物高一上期末调研模拟试题含解析
- 栏杆劳务分包合同范本
- 2025年黄帝内经章节题库及答案
- 具身智能+医疗康复中多模态感知与自适应训练系统研究报告
- 广东省深圳市宝安区2026届高一上生物期末联考试题含解析
- 自动化生产线调试与安装试题及答案
- GB/T 7986-2025输送带滚筒摩擦试验
评论
0/150
提交评论