UART(串口)收發(fā)模塊設(shè)計- 01
UART協(xié)議介紹
UART作為異步串口通信協(xié)議的一種,工作原理是將要傳輸?shù)臄?shù)據(jù)一位一位地傳輸。其中每一位(bit)的意義如下。
空閑位:在無數(shù)據(jù)傳輸?shù)臅r候,傳輸線上的電平為高電平,即為空閑位。
起始位:當開始傳輸數(shù)據(jù)時,先發(fā)出1bit位寬的低電平,表示數(shù)據(jù)開始傳輸,即為起始位。
數(shù)據(jù)位:真正的需要發(fā)送的數(shù)據(jù),位寬可以為4到10bit。數(shù)據(jù)從低bit開始向外一位一位的發(fā)送。
奇偶校驗位(可不要):當數(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控制信號,只有當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文章
138瀏覽量
19292 -
uart
+關(guān)注
關(guān)注
22文章
1275瀏覽量
103884 -
異步串口
+關(guān)注
關(guān)注
0文章
11瀏覽量
9299
原文標題:UART(串口)收發(fā)模塊設(shè)計- 01
文章出處:【微信號:LF-FPGA,微信公眾號:小魚FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
協(xié)議棧介紹
協(xié)議棧介紹--TCP/IP
協(xié)議棧介紹
用verilog實現(xiàn)UART協(xié)議理解何為接口以及如何進行模塊化設(shè)計
FPGA片內(nèi)FIFO的功能概述和模塊劃分
請問我怎樣設(shè)置實現(xiàn)串口UART通信?
UART串口通訊協(xié)議是什么
了解一下DMX512的基本協(xié)議
DMX512的基本協(xié)議相關(guān)資料分享
SKYLAB:簡單介紹兩款UART接口的WiFi模塊
如何設(shè)計和實現(xiàn)基于UART的機器人分布式控制通信協(xié)議概述

使用FPGA和模塊化設(shè)計方法實現(xiàn)UART的設(shè)計論文

振弦采集模塊UART 通訊協(xié)議

評論