第3章 串行口通信編程基礎(chǔ).doc_第1頁(yè)
第3章 串行口通信編程基礎(chǔ).doc_第2頁(yè)
第3章 串行口通信編程基礎(chǔ).doc_第3頁(yè)
第3章 串行口通信編程基礎(chǔ).doc_第4頁(yè)
第3章 串行口通信編程基礎(chǔ).doc_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章串行口通信編程基礎(chǔ)15第3章串行口通信編程基礎(chǔ)3.1基本概念3.1.1串行口通信-同步傳輸和異步傳榆(1)同步傳輸方式采用同步傳輸時(shí),將許多字符組成一個(gè)信息組,這樣,字符可以一個(gè)接一個(gè)地傳輸,但是,在每組信息(通常稱為幀)的開始要加上同步字符,在沒有信息要傳輸時(shí),要填上空字符,因?yàn)橥絺鬏敳辉试S有間隙。在同步傳輸過程中,一個(gè)字符可以對(duì)應(yīng)5-8bits。當(dāng)然,對(duì)同一個(gè)傳輸過程,所有字符對(duì)應(yīng)同樣的比特?cái)?shù),比如說(shuō)n比特。這樣,傳輸時(shí),按每n比特劃分為一個(gè)時(shí)間片,發(fā)送端在一個(gè)時(shí)間片中發(fā)送一個(gè)字符,接收端則在一個(gè)時(shí)間片中接收一個(gè)字符。同步傳輸時(shí),一個(gè)信息幀中包含許多字符,每個(gè)信息幀用同步字符作為開始,一般將同步字符和空字符用同一個(gè)代碼。在整個(gè)系統(tǒng)中,由一個(gè)統(tǒng)一的時(shí)鐘控制發(fā)送端酌發(fā)送和空字符。接收瑞當(dāng)然是應(yīng)該能識(shí)別同步字符的,當(dāng)檢測(cè)到有一串比特和同步字符相匹配時(shí),就認(rèn)為開始一個(gè)信息幀,于是,把此后的比特作為實(shí)際傳輸信息來(lái)處理。(2)異步傳輸方式異步傳輸方式指比特被劃分成小組獨(dú)立傳送。發(fā)送方可以在任何時(shí)刻發(fā)送這些比特組,而接收方不知道它們會(huì)在什么時(shí)候到達(dá)。異步傳輸存在一個(gè)潛在的問題,即接收方并不知道數(shù)據(jù)會(huì)在什么時(shí)候到達(dá)。在它檢測(cè)到數(shù)據(jù)并作出響應(yīng)之前,第一個(gè)比特已經(jīng)過去了。因此這個(gè)問題需要通過通信協(xié)議加以解決。如每次異步傳輸都以一個(gè)開始比特開頭它通知接收方數(shù)據(jù)已經(jīng)到達(dá)了。這就給了接收方響應(yīng)、接收和緩存數(shù)據(jù)比特的時(shí)間。在傳輸結(jié)束時(shí),一個(gè)停止比特表示一次傳輸?shù)慕K止。異步傳輸被設(shè)計(jì)用于低速設(shè)備,比如鍵盤和某些打印機(jī)等。另外,它的開銷也比較多。如使用終端與一臺(tái)計(jì)算機(jī)進(jìn)行通信。按下一個(gè)字母鍵、數(shù)字鍵或特殊字符鍵就發(fā)送一個(gè)8blt的ASC代碼。在這種情況下,為解決接收問題每8bits就多傳送2bits。這樣,總的傳輸負(fù)載就增加25。對(duì)于數(shù)據(jù)傳輸量很小的低速設(shè)備來(lái)說(shuō),這影響不大。但對(duì)于那些數(shù)據(jù)傳翰量很大的高速設(shè)備來(lái)說(shuō),25的負(fù)載增值就相當(dāng)嚴(yán)重了。燕山大學(xué)工學(xué)學(xué)士學(xué)位論文163.1.2單工、雙工和全雙工通信在串行通信中,數(shù)據(jù)通常是在兩個(gè)站如(終端和微機(jī))之間進(jìn)行傳送,按照數(shù)據(jù)流的方向可分成3種基本的傳送方式:?jiǎn)喂?雙工和全雙工,3種傳輸方式的示意如圖23所示。(1)單工單工通信使用一根導(dǎo)線,信號(hào)的發(fā)送方和接收方有明確的方向性。也就是說(shuō)一個(gè)方向上進(jìn)行。這樣的例子很多,包搞機(jī)場(chǎng)監(jiān)視器、打印機(jī)、電視機(jī)。(2)半雙工若使用同一根傳輸線既作接收又作發(fā)送,雖然數(shù)據(jù)可以在兩個(gè)方向上傳送,但通信雙方不能同時(shí)收發(fā)數(shù)據(jù),這樣的傳送方式就是半雙工制。采用半雙工方式時(shí),通信系統(tǒng)每一端的發(fā)送器和接收器,通過收發(fā)開關(guān)轉(zhuǎn)接到通信線上,進(jìn)行方向的切換,因此,會(huì)產(chǎn)生時(shí)間延遲。收發(fā)開關(guān)實(shí)際上是由軟件控制的電子開關(guān)。當(dāng)計(jì)算機(jī)主機(jī)用串行接口連接顯示終端時(shí),在半雙工方式中,輸入過程和輸出過程使用同一通路。有些極算機(jī)和顯示終端之間采用半雙工方式工作,這時(shí)從鍵盤上輸入的字符在發(fā)送到主機(jī)的同時(shí)就被送到終端上顯示出來(lái),而不是用回送的辦法,這樣就避免了接收過程和發(fā)送過程同時(shí)進(jìn)行的悄況。目前多數(shù)終端和串行接口都為半雙工方式提供了換向能力,也為全以下方式提供了兩條獨(dú)立的引腳.實(shí)際使用時(shí)一般并不需要通信雙方同時(shí)既發(fā)送又接收,像打印機(jī)這類的單問傳送設(shè)備,半雙上甚至單工就能勝任,也無(wú)需倒向。(3)全雙工當(dāng)數(shù)據(jù)的發(fā)送和接收分流,分別由兩根不同的傳輸線傳送時(shí),通信雙方能在同一時(shí)刻進(jìn)行發(fā)送和接收操作。這樣的傳送方式就是全雙工制。在全雙工方式下,通信系統(tǒng)的每端都設(shè)置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時(shí)在兩個(gè)方向上傳送。全雙工方式無(wú)需進(jìn)行方向的切換,因此,沒有切換操作所產(chǎn)生的時(shí)間延遲,這對(duì)那些不能有時(shí)間延誤的交互式應(yīng)用(例如遠(yuǎn)程監(jiān)測(cè)和控制系統(tǒng))十分有利。這種方式要求通信雙方均有發(fā)送器和接收器,同時(shí),需要兩根數(shù)據(jù)線傳送數(shù)據(jù)信號(hào)(可能還需要控制線和狀態(tài)線,以及地線)。比如,計(jì)算機(jī)主機(jī)(設(shè)備一)用串行接口連接顯示終端,而顯示終端帶有鍵盤(兩者成為一體,為另一設(shè)備)。這樣,一方面鍵盤上輸入的字符送到主機(jī)內(nèi)存;另一方面,主機(jī)內(nèi)存的信息可以送到屏幕顯示。通常,往鍵盤第3章串行口通信編程基礎(chǔ)17上輸入一個(gè)字符以后,先不顯示,計(jì)算機(jī)主機(jī)收到字符后,立即回送到終端,然后終端再把這個(gè)字符顯示出來(lái)。這樣,前一個(gè)字符的回送過程和后一個(gè)字符的輸入過程是同時(shí)進(jìn)行的,即工作于全雙工方式。3.1.3數(shù)據(jù)編碼計(jì)算機(jī)是一種數(shù)字設(shè)備它通過接通和斷開固化在芯片上的微小電子開關(guān)來(lái)工作。所有的開關(guān)都只有兩種狀態(tài):開或關(guān)。用符號(hào)o或1表示比特,它是計(jì)算機(jī)能夠存儲(chǔ)的最小的信息單元。每個(gè)比特只能存儲(chǔ)0或1這兩個(gè)截然不同的微小信息單元,當(dāng)它們單獨(dú)存在時(shí)并沒有多大作用。但如果把它們放到一起,就會(huì)產(chǎn)生很多0和1的不同組合。比如說(shuō),兩個(gè)比特就可以有4種不同的組合(OO、01、10和11)。n個(gè)比特就有2n個(gè)組合。因此,可以將種組合與某個(gè)確定的內(nèi)容,比如一個(gè)字符或是一個(gè)數(shù)字聯(lián)系起來(lái),這種聯(lián)系一般稱為編碼。下面我們討論幾種常用的編碼方案。廣為流行的編碼是美國(guó)標(biāo)準(zhǔn)信息交換碼ASCII碼。這是一種7bits編碼,它為每一個(gè)鍵盤字符和一些特殊功能分配一個(gè)唯一的組合。大多數(shù)Pc,和很多其他的計(jì)算機(jī)都使用這種編碼。每一個(gè)代碼對(duì)應(yīng)一個(gè)可打印或不可打印字符??纱蛴∽址ㄗ帜浮?shù)字,以及逗號(hào)、括號(hào)和問號(hào)等特殊的標(biāo)點(diǎn)符號(hào)。不可打印并不是指那些禁止在報(bào)紙、電視或私人牌照亡出現(xiàn)的文字。它指的是某些代碼,被用來(lái)表示一個(gè)特殊的功能,比如換行字符、制表符、回車等。第二種最常用的編碼是擴(kuò)展的二進(jìn)制表示的十進(jìn)制編碼BCD碼,它主要用于IBM大型機(jī)和外圍設(shè)備。它是一種7bits代碼,因此包含256個(gè)不同字符。和ASCII碼一樣,它也有可打印字符和不可打印字符。比如,字母M的BCD碼為11010100。和前面一樣,可以把它看成1101-0100,并寫出代碼的十六進(jìn)制格式D4。3.1.4數(shù)據(jù)安全和完整串行數(shù)據(jù)在傳輸過程中,由于干擾可能引起信息出錯(cuò)。這種情況下,出現(xiàn)了誤碼。把如何發(fā)現(xiàn)傳輸中的錯(cuò)誤叫“檢錯(cuò)”。發(fā)現(xiàn)錯(cuò)誤后,如何消除錯(cuò)誤叫“糾錯(cuò)”。(1)奇偶校驗(yàn)大多數(shù)措誤檢測(cè)技術(shù)都發(fā)送其值與數(shù)據(jù)相關(guān)的附加比特。這樣,當(dāng)數(shù)據(jù)彬改變時(shí),附加比特將之值不再與新數(shù)據(jù)相符(至少理論燕山大學(xué)工學(xué)學(xué)士學(xué)位論文18上如此)。也許最常用的方法是奇偶校驗(yàn)(ParityChecking)、奇偶校驗(yàn)計(jì)算數(shù)據(jù)中為1的比特的個(gè)數(shù),再增加一個(gè)階加比特,使得1的個(gè)數(shù)為偶數(shù)(偶校驗(yàn))或奇數(shù)。該附加比特就叫做奇偶比特(ParityBit)。奇校驗(yàn)所有傳送的比特(含字符的各比特和校驗(yàn)比特)中,“1”的個(gè)數(shù)為奇。則按照這種規(guī)則。上例可表示為:00100,0101偶校驗(yàn)所有傳送的比特(含字符的各比特和校驗(yàn)比特)中,“1”的個(gè)數(shù)力偶數(shù)。上例同樣可以表示為:10100,0101奇偶校驗(yàn)?zāi)軌驒z測(cè)出信息傳輸過程中的部分誤碼(lbit誤碼能檢出1,2bits及2bits以上誤碼不能檢出),不能糾錯(cuò)。在發(fā)現(xiàn)錯(cuò)誤后,只能要求重發(fā)。但由于其實(shí)現(xiàn)簡(jiǎn)單,仍得到了廣泛使用。(2)循環(huán)冗余校驗(yàn)奇偶校驗(yàn)本身是不太可靠的然而,如果把幀組合成兩維比特陣列、每次發(fā)送一列。那么,奇偶校驗(yàn)就很可靠了。該方法的一個(gè)問題是,只有在所有列J都發(fā)送先畢后,錯(cuò)誤才能檢測(cè)出來(lái)。因此,接收方不知道那個(gè)列是不正確的。這樣就無(wú)從選擇,只有重發(fā)所打列對(duì)于單個(gè)鉛誤這是個(gè)很大的額外工作。若列重發(fā)時(shí)又發(fā)生f錯(cuò)誤,問題就復(fù)雜了。循外冗余校驗(yàn)(CRC,cyclicRedundancycheck)是一種將每個(gè)比特串看作一個(gè)多項(xiàng)式,通過多項(xiàng)式除法來(lái)檢測(cè)錯(cuò)誤的方法。通常,這種方法將比特串bnb1nb2nb3nb2b1b0解釋成多項(xiàng)式bnxnb1nx1nb2nx2nb2x2b1x1b0x0CRC的基本步驟為:(1)事先約定的生成多項(xiàng)式G(x)。(2)給定一個(gè)比特串,在其尾部追加幾個(gè)0(0的個(gè)數(shù)等于G(X)的次數(shù))形成

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論