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学习之串口接收模块的主要内容,如果未能解决你的问题,请参考以下文章