串行通信可以分為兩種類型:同步通信、異步通信
1.異步通信的特點(diǎn)及信息幀格式:
以起止式異步協(xié)議為例,下圖顯示的是起止式一幀數(shù)據(jù)的格式:
起止式異步通信的特點(diǎn)是:一個(gè)字符一個(gè)字符地傳輸,每個(gè)字符一位一位地傳輸,并且傳輸一個(gè)字符時(shí),總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時(shí)間間隔要求。每一個(gè)字符的前面都有一位起始位(低電平,邏輯值),字符本身由5-7位數(shù)據(jù)位組成,接著字符后面是一位校驗(yàn)位(也可以沒有校驗(yàn)位),最后是一位或一位半或二位停止位,停止位后面是不定長(zhǎng)的空閑位。停止位和空閑位都規(guī)定為高電平(邏輯值1),這樣就保證起始位開始處一定有一個(gè)下跳沿。
從圖中可看出,這種格式是靠起始位和停止位來(lái)實(shí)現(xiàn)字符的界定或同步的,故稱為起止式協(xié)議。
異步通信可以采用正邏輯或負(fù)邏輯,正負(fù)邏輯的表示如下表所示:
邏輯0 | 邏輯1 | |
正邏輯 | 低電平 | 高電平 |
負(fù)邏輯 | 高電平 | 低電平 |
異步通信的信息格式如下邊的表所示:
起始位 | 邏輯0 | 1位 |
數(shù)據(jù)位 | 邏輯0或1 | 5,6,7,8位 |
校研位 | 邏輯0或1 | 1位或無(wú) |
停止位 | 邏輯1 | 1位,1.5位或2位 |
空閑位 | 邏輯1 | 任意數(shù)量 |
注:表中位數(shù)的本質(zhì)含義是信號(hào)出現(xiàn)的時(shí)間,故可有分?jǐn)?shù)位,如1.5。
例:傳送8位數(shù)據(jù)45H(0100,0101B),奇校驗(yàn),1個(gè)停止位,則信號(hào)線上的波形象圖2所示那樣:異步通信的速率:若9600bps,每字符8位,1起始,1停止,無(wú)奇偶,則實(shí)際每字符傳送10位,則960字符/秒。
2.異步通信的接收過(guò)程
接收端以“接收時(shí)鐘”和“波特率因子”決定一位的時(shí)間長(zhǎng)度。下面以波特率因子等于16(接收時(shí)鐘每16個(gè)時(shí)鐘周期,使接收移位寄存器移位一次)、正邏輯為例說(shuō)明,如圖3所示。
(2)當(dāng)計(jì)到8個(gè)時(shí)鐘時(shí),對(duì)輸入信號(hào)進(jìn)行檢測(cè),若仍為低電平,則確認(rèn)這是“起始位”B,而不是干擾信號(hào)。
?。?)接收端檢測(cè)到起始位后,隔16個(gè)接收時(shí)鐘,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D0位數(shù)據(jù)。若為邏輯1, 作為數(shù)據(jù)位1;若為邏輯0,作為數(shù)據(jù)位0。
?。?)再隔16個(gè)接收時(shí)鐘,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D1位數(shù)據(jù)。….,直到全部數(shù)據(jù)位都輸入。
(5)檢測(cè)校驗(yàn)位P(如果有的話)。
?。?)接收到規(guī)定的數(shù)據(jù)位個(gè)數(shù)和校驗(yàn)位后,通信接口電路希望收到停止位S(邏輯1),若此時(shí)未收到邏輯1,說(shuō)明出現(xiàn)了錯(cuò)誤,在狀態(tài)寄存器中置“幀錯(cuò)誤”標(biāo)志。若沒有錯(cuò)誤,對(duì)全部數(shù)據(jù)位進(jìn)行奇偶校驗(yàn),無(wú)校驗(yàn)錯(cuò)時(shí),把數(shù)據(jù)位從移位寄存器中送數(shù)據(jù)輸入寄存器。若校驗(yàn)錯(cuò),在狀態(tài)寄存器中置奇偶錯(cuò)標(biāo)志。
?。?)本幀信息全部接收完,把線路上出現(xiàn)的高電平作為空閑位。
?。?)當(dāng)信號(hào)再次變?yōu)榈蜁r(shí),開始進(jìn)入下一幀的檢測(cè)。
3、異步通信的發(fā)送過(guò)程
發(fā)送端以“發(fā)送時(shí)鐘”和“波特率因子”決定一位的時(shí)間長(zhǎng)度。
?。?)當(dāng)初始化后,或者沒有信息需要發(fā)送時(shí),發(fā)送端輸出邏輯1,即空閑位,空閑位可以有任意數(shù)量。
?。?)當(dāng)需要發(fā)送時(shí),發(fā)送端首先輸出邏輯0,作為起始位。
?。?)接著,發(fā)送端首先發(fā)送D0位,直到各數(shù)據(jù)位發(fā)送完。
?。?)如果需要的話,發(fā)送端輸出校驗(yàn)位。
?。?)最后,發(fā)送端輸出停止位(邏輯1)。
?。?)如果沒有信息需要發(fā)送時(shí),發(fā)送端輸出邏輯1,即空閑位,空閑位可以有任意數(shù)量。如果還有信息需要發(fā)送,轉(zhuǎn)入第(2)步。
對(duì)于以上發(fā)送、接收過(guò)程應(yīng)注意以下幾點(diǎn):
?。?)接收端總是在每個(gè)字符的頭部(即起始位)進(jìn)行一次重新定位,因此發(fā)送端可以在字符之間插入不等長(zhǎng)的空閑位,不影響接收端的接收。
?。?)發(fā)送端的發(fā)送時(shí)鐘和接收端的接收時(shí)鐘,其頻率允許有一定差異,當(dāng)頻率差異在一定范圍內(nèi),不會(huì)引起接收端檢測(cè)錯(cuò)位,能夠正確接收。并且這種頻率差異不會(huì)因多個(gè)字符的連續(xù)接收而造成誤差累計(jì)(因?yàn)槊總€(gè)字符的開始(起始位處)接收方均重新定位)。只有當(dāng)發(fā)送時(shí)鐘和接收時(shí)鐘頻率差異太大,引起接收端采樣錯(cuò)位,才造成接收錯(cuò)誤。
?。?)起始位、校驗(yàn)位、停止位、空閑位的信號(hào),由“發(fā)送移位寄存器”自動(dòng)插入。在接收方,“接收移位寄存器”接收到一幀完整信息(起始、數(shù)據(jù)、校驗(yàn)、停止)后,僅把數(shù)據(jù)的各位送至“數(shù)據(jù)輸入寄存器”,即CPU從。
評(píng)論