如何進行基于FPGA的UART傳輸時序分析,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、大城網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為大城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
下面是本節(jié)的主要內(nèi)容:
串口傳輸數(shù)據(jù)都是一幀數(shù)據(jù) 11 位,參考 https://blog.csdn.net/Pieces_thinking/article/details/99234401中的串口時序。
?????????????圖2 33 串口時序
????????????表2 7 串口時序說明表
?在串口的總線上“高電平”是默認的狀態(tài),當一幀數(shù)據(jù)的開始傳輸必須先拉低電平,這就是第 0 位的作用。第 0 位過后就是 8 個數(shù)據(jù)位,這八個數(shù)據(jù)位才是一幀數(shù)據(jù)中最有意義的東西。最后的兩位是校驗位和停止位,作用如同命名般一樣。
?串口傳輸還有另一個重要參數(shù)就是“波特率”。“波特率”在宏觀上理解就是串口傳輸?shù)膫鬏斔俣?;在微觀上“波特率”就是串口傳輸中“一個位的周期”,換句話說亦是“一個位所逗留的時間”。這個概念在后期編寫程序是很重要的。
?常用的波特率有 9600 bps 和 115200 bps ( bit per second )?!?600 bps” 表示每秒可以傳輸 9600 位。但是經(jīng)過公式計算“一個位的周期”就會暴露出來。
一個位的周期 = 1 / bps
= 1/ 9600
= 0.000104166666666667
??從上述的公式,我們明白一個事實 9600 bps ,傳輸一位數(shù)據(jù)占用 0.000104166666666667s 時間。如果是一幀 11 位的數(shù)據(jù),就需要
0.000104166666666667 x 11 = 0.00114583333333334
??那么一秒鐘內(nèi)可以傳輸
1 / 0.00114583333333334 = 872.727272727268
872.727272727268 個幀數(shù)據(jù)。
??當然這只是在數(shù)字上計算出來而已,但是實際上還有許多看不見的延遲因數(shù)。
?當使用115200 bps ,
一個位的周期 = 1 / bps
= 1/ 115200
= 0.000086805555555555555555555555555556
??傳輸一位數(shù)據(jù)占用 0.000086805555555555555555555555555556s 時間。如果是一幀 11 位的數(shù)據(jù),就需要
0.000086805555555555556 x 11 = 0.00095486111111111111111111
??那么一秒鐘內(nèi)可以傳輸
1 / 0.00095486111111111111111111 = 1047.2727272727272727272739459174
1047.2727272727272727272 個幀數(shù)據(jù)。
??如果用 50Mhz 的時鐘頻率去量化的話:
( 1/115200 ) / (1/50E+6) = 8.68E-6 / 20E-9
= 434
關(guān)于如何進行基于FPGA的UART傳輸時序分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。