当前位置: 首页 > news >正文

旅游网站设计页面广告设计素材免费的网站

旅游网站设计页面,广告设计素材免费的网站,优化流程,腾讯云建设一个网站要多少钱一、简介 因为我们本次进行串口回环的实验的对象是FPGA开发板和PC端#xff0c;所以在接收和发送模块中先编写接收模块#xff0c;这样可以在后面更好的进行发送模块的验证。#xff08;其实这里先编写哪个模块#xff09;都不影响#xff0c;这里看自己心情#xff0c;反…一、简介 因为我们本次进行串口回环的实验的对象是FPGA开发板和PC端所以在接收和发送模块中先编写接收模块这样可以在后面更好的进行发送模块的验证。其实这里先编写哪个模块都不影响这里看自己心情反正都可以独立进行仿真。 在上一篇文章中我们对于UART回环实现的总体系统框架做了一盒简单的构建所以在实现时我们也按照那个框架来。这里就先对于接收模块进行一个设计。 二、接收模块的基本设计 本次设计我们采用状态机的实现方式将状态机划分为四个第一个就是空闲状态表示设备没有接收数据第二个是开始状态表示设备接收到起始位第三个接收数据过程状态用于表示设备接收数据的过程最后一个就是停止位表示设备接受数据完成。 三、接收模块的波形图绘制 根据上面的状态机我们可以据此展开波形图的绘制分别就是对于信号进行打拍下降沿检测两个状态以及bit和波特率、输出数据等的表示。 使用三级打拍利用后两拍信号实现下降沿检测当检测到下降沿状态机由IDLE进入到START然后利用波特率计数器计数1bit的起始位来到DATA利用波特率计数器和bit计数器用于接收数据接收完数据之后进入STOP最后利用波特率计数器计数1bit的停止位状态又回到初始的IDLE状态。 四、代码实现 1、设计文件的编写 新建一个uart_rx.v文件如下在代码编写的过程中我们还需要注意的就是UART在进行通信时是串行通信二我们的设备中数据时并行的所以在代码中我们还要实现数据串并型的转换。 //---------模块及端口声名------------------------------------------- module uart_rx( input clk ,input rst_n ,input din_rx ,output [7:0] dout_data,output dout_flag ); //---------参数定义------------------------------------------------ parameter CLK_CLY50_000_000; parameter BAUD_115200115200; parameter BPS_CNT_MAXCLK_CLY/BAUD_115200; parameter IDLE 4b0001,START 4b0010,DATA 4b0100,STOP 4b1000; //---------内部信号定义-------------------------------------------- reg uart_rx_d1;//对异步信号进行同步处理 reg uart_rx_d2; reg uart_rx_d3;reg [3:0] state_c; reg [3:0] state_n; wire nedge;//起始位下降沿检测 reg [8:0] cnt_bps;//波特率计数器 wire add_cnt_bps; wire end_cnt_bps;reg [2:0] cnt_bit;//bit数据计数器 wire add_cnt_bit; wire end_cnt_bit;reg [7:0] uart_rx_r;//用于存储接收到的数据 reg rx_flag;//接收数据完成标志位 //第一段同步时序描述状态转移 always (posedge clk or negedge rst_n)begin if(!rst_n)beginstate_c IDLE ;end else begin state_c state_n;end end//第二段组合逻辑判断状态转移条件描述状态转移规律 always (*) begincase(state_c)IDLE : beginif (nedge) state_nSTART ;elsestate_nIDLE ;endSTART : beginif (end_cnt_bps) state_nDATA ;elsestate_nSTART ;endDATA : beginif (end_cnt_bit) state_nSTOP ;elsestate_nDATA ;endSTOP : beginif (end_cnt_bps) state_nIDLE ;elsestate_nSTOP ;enddefault : state_nIDLE ;endcase end //对uart_rx进行打拍同步处理 always (posedge clk or negedge rst_n)begin if(!rst_n)beginuart_rx_d1 1b1;uart_rx_d2 1b1;uart_rx_d3 1b1;end else begin uart_rx_d1 din_rx;uart_rx_d2 uart_rx_d1;uart_rx_d3 uart_rx_d2;end end //nedge下降沿检测 assign nedge~uart_rx_d2 uart_rx_d3;//波特率计数器 always (posedge clk or negedge rst_n)begin if(!rst_n)begincnt_bps 9d0;end else if(add_cnt_bps)begin if(end_cnt_bps)begin cnt_bps d0;endelse begin cnt_bps cnt_bps 1b1;end end end assign add_cnt_bps (state_c ! IDLE) ; assign end_cnt_bps add_cnt_bps (cnt_bps (BPS_CNT_MAX-1)) ;//bit计数器 always (posedge clk or negedge rst_n)begin if(!rst_n)begincnt_bit 9d0;end else if(add_cnt_bit)begin if(end_cnt_bit)begin cnt_bit d0;endelse begin cnt_bit cnt_bit 1b1;end end end assign add_cnt_bit (state_c DATA) end_cnt_bps ; assign end_cnt_bit add_cnt_bit (cnt_bit (8-1)) ;//将串行数据变为并行数据 always (posedge clk or negedge rst_n)begin if(!rst_n)beginuart_rx_r 1b0;end else if((state_cDATA)(cnt_bpsBPS_CNT_MAX/2-1))begin uart_rx_r{uart_rx_d3,uart_rx_r[7:1]};//uart_rx_r[cnt_bit]uart_rx_d3;end end//接收数据完成标志wei always (posedge clk or negedge rst_n)begin if(!rst_n)beginrx_flag 1b0;end else if(end_cnt_bit)begin rx_flag 1b1;end else begin rx_flag 1b0;end end assign dout_data uart_rx_r; assign dout_flag rx_flag; endmodule 2、测试文件的编写 timescale 1us/1us module uart_rx_tb();//********************************************************************// //****************** Parameter and Internal Signal *******************// //********************************************************************// //reg define reg clk ; reg rst_n ; reg din_rx ; wire [7:0] dout_data ; wire dout_flag ;uart_rx uart_rx_inst(/*input */ .clk (clk ),/*input */ .rst_n (rst_n ), /*input */ .din_rx (din_rx ),/*output reg */ .dout_data (dout_data ),/*output reg [7:0]*/ .dout_flag (dout_flag ) ); parameter CLOCK_CYCLE20; //产生时钟initial clk 1b0;always #10 clk ~clk;//产生激励initial begin rst_n 1b1;din_rx 1;//空闲为高电平#(CLOCK_CYCLE*2);rst_n 1b0;#(CLOCK_CYCLE*20);rst_n 1b1;#1002;//模拟UART接收模块的串行输入//起始位din_rx 0;#(434*CLOCK_CYCLE);//数据位8b1011_0011din_rx 1;//LSB#(434*CLOCK_CYCLE);din_rx 1;#(434*CLOCK_CYCLE);din_rx 0;#(434*CLOCK_CYCLE);din_rx 0;#(434*CLOCK_CYCLE);din_rx 1;#(434*CLOCK_CYCLE);din_rx 1;#(434*CLOCK_CYCLE);din_rx 0;#(434*CLOCK_CYCLE);din_rx 1;#(434*CLOCK_CYCLE);//停止位din_rx 1;#(434*CLOCK_CYCLE);#(CLOCK_CYCLE*100);$stop;endendmodule 五、波形图仿真 在波形图中我们观察到dout_data的数据和发送数据不一样这是因为UART是低位先发所以在波形图中我们看到的输入和输出数据时相反的这里需要我们注意一下。
http://www.hkea.cn/news/14486889/

相关文章:

  • 做网站的公司怎么找dw网站模板
  • 专业做化妆品外包材的招聘网站co域名网站
  • 网站开发模块分类企业网络营销论文
  • 如何刷网站排名国家企信网官网登录入口
  • 做pc端网站平台网站后台选择
  • 网站开发工具选择给网站做选题
  • H5酒店静态网站建设开题报告范文wordpress 可以提交信息入口
  • 中国站长工具在wordpress中图标
  • 小米商城网站建设分析东莞网站设计推荐易维达2
  • 如何自己做个网站百度明星人气榜入口
  • 做一个大型网站需要多少钱学网页设计工资多少
  • 江苏省建设工程招标网站中智软件开发有限公司
  • 广州电力建设有限公司网站网站开发学什么比较有优势
  • 商城网站都有哪 些功能新产品开发流程的六个步骤
  • 怎么样才能让网站宁波网站建设公司哪里有
  • 深圳网站推广优C2C电商网站
  • 做旅行义工网站蚁沪尚茗居全包价格
  • 哪些网站做推广好高端品牌优势
  • 自己做的网站跳转到购彩大厅做网站时的尺寸
  • 防护网施工方案湖南网站搜索排名优化公司
  • 手机网站设计公司立找亿企邦池州有哪些做网站的
  • 自己做网站需要几个软件龙岗区住房和建设局官方网站
  • p2p网站如何做推广响应式所长网址导航网页模板下载
  • 网站怎么建立视频陕西网站建设排名
  • 艾瑞网的网站架构中国龙岩网
  • 叫外包公司做网站不肯给源代码的专业企业网站设计服务公司
  • 苏州网站建设需要多少钱网站建设优化服务信息
  • 网站建设实训总结300wordpress app 登录
  • 网站内链是什么 怎么做河南省工程建设协会网站
  • 手机网站开发服务商西安网站开发公司有哪家