FPGA串口波特率简析

以前用单片机,一直都是直接用就行,设置波特率时,直接写9600就行,一直没有仔细考虑过,今天打算用FPGA写个串口程序时才知道,原来根本就是没弄明白。一下是我的一些见解。如果诸位看官觉得不对,欢迎指正。

  通常我们通过串口助手设置的波特率其实是比特率。单片机或计算机在串口通信时的速率。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。当我们设置波特率为9600时,其实我们设置的是比特率9600bps。

  举例:用FPGA做串口,系统时钟为50MHZ,设置比特率为9600bps。50 000 000 ÷ 9600 = 5208.33  取整为5208,这样在系统时钟下,计数器=2604时,取反,这样计数5208时才是一个完整的周期。

 

参考网址 : http://wenku.baidu.com/link?url=cFojf2TvHpK_hf49IgeiO_8kF3IQwW0VVXSXicPh4o9BJaCEaFsDpBV4rotYyXBWSk3sc9ITSz5dxMTOmhQw0dXixDEFz3CqiXUnwfzrF0i

http://baike.baidu.com/link?url=oze20H8G8vWhiSLIOAWvCyVbyku08yYHwZDX1lHus0hJamQprD8CXWZ_tgiZfx_H2rJXst0vY7_XpA798FgQeq

http://www.cnblogs.com/zyqgold/p/3366989.html

posted @ 2016-03-24 16:48  临沐风影  阅读(1989)  评论(0编辑  收藏  举报