UART(串口)收發(fā)模塊設(shè)計- 01
UART協(xié)議介紹
UART作為異步串口通信協(xié)議的一種,工作原理是將要傳輸?shù)臄?shù)據(jù)一位一位地傳輸。其中每一位(bit)的意義如下。
空閑位:在無數(shù)據(jù)傳輸?shù)臅r候,傳輸線上的電平為高電平,即為空閑位。
起始位:當(dāng)開始傳輸數(shù)據(jù)時,先發(fā)出1bit位寬的低電平,表示數(shù)據(jù)開始傳輸,即為起始位。
數(shù)據(jù)位:真正的需要發(fā)送的數(shù)據(jù),位寬可以為4到10bit。數(shù)據(jù)從低bit開始向外一位一位的發(fā)送。
奇偶校驗位(可不要):當(dāng)數(shù)據(jù)發(fā)送完畢后,再發(fā)送1位校驗位,以此來校驗數(shù)據(jù)傳送的正確性。
(偶校驗:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)
奇校驗:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為奇數(shù))
停止位:在最后發(fā)送一位高電平的停止位。
UART每一位的位寬時長由波特率決定,波特率既1s發(fā)送的數(shù)據(jù)位數(shù)。一般選擇的波特率有,9600,19200,115200等。
設(shè)計實例概述
本設(shè)計代碼鏈接:https://pan.baidu.com/s/1VJoSPJRSHYMhmx3rs2t4IA
提取碼:jsak
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
本實例設(shè)計的UART特性:
(1) 并沒有支持奇偶檢驗,故沒有奇偶校驗位
(2) 并不支持數(shù)據(jù)位寬可配,數(shù)據(jù)位位寬固定為8bit。
(3) 支持輸入時鐘與波特率可配。
原理圖如下,分兩個大模塊,一個數(shù)據(jù)接收控制模塊(Receive_Control),一個數(shù)據(jù)發(fā)送控制模塊(Send_Control):
端口說明:
接收控制模塊與發(fā)送控制模塊內(nèi)部都有一個波特率時鐘產(chǎn)生模塊(BuadRate_set),用于將電路輸入時鐘(clk)進行分頻產(chǎn)生波特率時鐘,用于接收和發(fā)送數(shù)據(jù)控制。
可以看到,BuadRate_set模塊有一個enable控制信號,只有當(dāng)enable信號為高時,BuadRate_set模塊才工作。在發(fā)送控制模塊里面,只有發(fā)送數(shù)據(jù)的時候才拉高其相應(yīng)的enable;在接收控制模塊里面,只有檢測到有數(shù)據(jù)發(fā)送進來的時候才拉高其相應(yīng)的enable。這是為了降低功耗。
后文預(yù)告
后文將會具體介紹內(nèi)部各個模塊的設(shè)計細節(jié)以及收發(fā)速度匹配和仿真驗證等問題。
-
控制模塊
+關(guān)注
關(guān)注
2文章
127瀏覽量
18737 -
uart
+關(guān)注
關(guān)注
22文章
1199瀏覽量
100829 -
異步串口
+關(guān)注
關(guān)注
0文章
11瀏覽量
9191
原文標(biāo)題:UART(串口)收發(fā)模塊設(shè)計- 01
文章出處:【微信號:LF-FPGA,微信公眾號:小魚FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論