FPGA学习之串口接收模块
【FPGA学习之串口接收模块】FPGA学习之串口接收模块
原文弊端,串口每次只能接受一个,再接受需要先关闭串口再打开才有效。(可能是软件问题,换一个之后OK)
首先是改波特率,例程为9600,改成115200.
115200 bps 传输速度使一位数据的周期是 0.0000086805s 。以 50Mhz 时钟频率
要得到上述的定时需要:
N = 0.0000086805 / ( 1 / 50Mhz ) = 434
1 module rx_bps_module 2 ( 3CLK, 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 17always @ ( posedge CLK or negedge RSTn ) 18if( !RSTn ) 19Count_BPS <= 13'd0; 20// else if(Count_BPS == 13'd5207 )// 9600bps传输一位数据时间 21else if(Count_BPS == 13'd433 )// 115200bps传输一位数据时间 22Count_BPS <= 13'd0; 23else if( Count_Sig )//计数信号使能 24Count_BPS <= Count_BPS + 1'b1; 25else 26Count_BPS <= 13'd0; //计数信号no使能 27 28/********************************/ 29assign BPS_CLK = ( Count_BPS == 12'd217 ) ? 1'b1 : 1'b0; //一个周期的二分之一时间时,产生一个高脉冲 30 31/*********************************/ 32 33 34 35 36 endmodule
文章图片
文章图片
转载于:https://www.cnblogs.com/gym-2017/p/6792455.html
推荐阅读
- 慢慢的美丽
- 开学第一天(下)
- 奔向你的城市
- 学无止境,人生还很长
- 由浅入深理解AOP
- “成长”读书社群招募
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 小影写在2018九月开学季