FPGA学习之串口接收模块

Posted 古月照今尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA学习之串口接收模块相关的知识,希望对你有一定的参考价值。

FPGA学习之串口接收模块

原文弊端,串口每次只能接受一个,再接受需要先关闭串口再打开才有效。(可能是软件问题,换一个之后OK)

首先是改波特率,例程为9600,改成115200.

115200 bps 传输速度使一位数据的周期是 0.0000086805s 。以 50Mhz 时钟频率
要得到上述的定时需要:
N = 0.0000086805 / ( 1 / 50Mhz ) = 434

 1 module rx_bps_module
 2 (
 3  CLK, RSTn,Count_Sig, BPS_CLK
 4 
 5 );
 6 input CLK;
 7 input RSTn;
 8 input Count_Sig;
 9 output BPS_CLK;
10 
11 /******************************/
12 
13 reg [12:0]Count_BPS; 
14 
15 /******************************/
16 
17  always @ ( posedge CLK or negedge RSTn )
18          if( !RSTn )
19           Count_BPS <= 13\'d0;
20          // else if(Count_BPS == 13\'d5207 )// 9600  bps  传输一位数据时间
21           else if(Count_BPS == 13\'d433 )// 115200  bps  传输一位数据时间
22               Count_BPS <= 13\'d0;
23          else if( Count_Sig )  //计数信号使能
24              Count_BPS <= Count_BPS + 1\'b1;
25          else
26              Count_BPS <= 13\'d0;//计数信号no使能
27         
28      /********************************/
29    assign BPS_CLK = ( Count_BPS == 12\'d217 ) ? 1\'b1 : 1\'b0;//一个周期的二分之一时间时,产生一个高脉冲
30 
31     /*********************************/
32 
33 
34 
35 
36 endmodule

 

以上是关于FPGA学习之串口接收模块的主要内容,如果未能解决你的问题,请参考以下文章

FPGA学习之数码管(封装)显示时间

FPGA学习之 异步FIFO

FPGA学习之 异步FIFO

FPGA学习之 异步FIFO

FPGA 串口通信

FPGA学习之Verilog语法