串行通信的基礎(chǔ)知識(shí)
——
1.1 數(shù)據(jù)傳送
單片機(jī)的串行通信使用的是異步串行通信,所謂異步就是指發(fā)送端和接收端使用的不是同一個(gè)時(shí)鐘。異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過傳輸線一幀一幀地接收。
1. 字符幀的幀格式
字符幀由四部分組成,分別是起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位。如圖1所示:
1) 起始位:位于字符幀的開頭,只占一位,始終位邏輯低電平,表示發(fā)送端開始發(fā)送一幀數(shù)據(jù)。
2) 數(shù)據(jù)位:緊跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3) 奇偶校驗(yàn)位:占一位,用于對(duì)字符傳送作正確性檢查,因此奇偶校驗(yàn)位是可選擇的,共有三種可能,即奇偶校驗(yàn)、偶校驗(yàn)和無校驗(yàn),由用戶根據(jù)需要選定。
4) 停止位:末尾,為邏輯“1”高電平,可取1、1.5、2位,表示一幀字符傳送完畢。
圖1 字符幀格式
異步串行通信的字符幀可以是連續(xù)的,也可以是斷續(xù)的。連續(xù)的異步串行通信,是在一個(gè)字符格式的停止位之后立即發(fā)送下一個(gè)字符的起始位,開始一個(gè)新的字符的傳送,即幀與幀之間是連續(xù)的。而斷續(xù)的異步串行通信,則是在一幀結(jié)束之后不一定接著傳送下一個(gè)字符,不傳送時(shí)維持?jǐn)?shù)據(jù)線的高電平狀態(tài),使數(shù)據(jù)線處于空閑。其后,新的字符傳送可在任何時(shí)候開始,并不要求整倍數(shù)的位時(shí)間。
2. 傳送的速率
串行通信的速率用波特率來表示,所謂波特率就是指一秒鐘傳送數(shù)據(jù)位的個(gè)數(shù)。每秒鐘傳送一個(gè)數(shù)據(jù)位就是1波特。即:1波特=1bps(位/秒)
在串行通信中,數(shù)據(jù)位的發(fā)送和接收分別由發(fā)送時(shí)鐘脈沖和接收時(shí)鐘脈沖進(jìn)行定時(shí)控制。時(shí)鐘頻率高,則波特率高,通信速度就快;反之,時(shí)鐘頻率低,波特率就低,通信速度就慢。
1.2 數(shù)據(jù)轉(zhuǎn)換
MCS-51單片機(jī)只能處理8位的并行數(shù)據(jù),所以在進(jìn)行串行數(shù)據(jù)的發(fā)送時(shí),要把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)。而在接收數(shù)據(jù)時(shí),只有把接收的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),單片機(jī)才能進(jìn)行處理。
能實(shí)現(xiàn)這種轉(zhuǎn)換的設(shè)備,稱為通用異步接收發(fā)送器(Universal Asynchronous Receiver /Transmitter)。這種設(shè)備已集成到單片機(jī)內(nèi)部,稱為串行接口電路。串行接口電路為用戶提供了兩個(gè)串行口緩沖寄存器(SBUF),一個(gè)稱為發(fā)送緩存器,它的用途是接收片內(nèi)總線送來的數(shù)據(jù),即發(fā)送緩沖器只能寫不能讀。發(fā)送緩沖器中的數(shù)據(jù)通過TXD引腳向外傳送。另一個(gè)稱為接收緩沖器,它的用途是向片內(nèi)總線發(fā)送數(shù)據(jù),即接收緩沖器只能讀不能寫。接收緩沖器通過RXD引腳接收數(shù)據(jù)。因?yàn)檫@兩個(gè)緩沖器一個(gè)只能寫,一個(gè)只能讀,所以共用一個(gè)地址99H。串行接口電路如圖2所示。
電工基礎(chǔ)相關(guān)文章:電工基礎(chǔ)知識(shí)試題
51單片機(jī)相關(guān)文章:51單片機(jī)教程
通信相關(guān)文章:通信原理
評(píng)論