一 并行通信與串行通信
終端與其他設備(如其他終端、計算機和外部設備)通過數(shù)據(jù)傳輸進行通信。數(shù)據(jù)傳輸可以通過兩種方式進行,即并行通信和串行通信。
1.并行通信
在計算機和終端之間的數(shù)據(jù)傳輸通常是靠電纜或信道上的電流或電壓變化實現(xiàn)的。如果一組數(shù)據(jù)的各數(shù)據(jù)位在多條線上同時被傳送,這種傳輸被稱為并行通信,如圖1所示。

并行數(shù)據(jù)傳送的特點是:各數(shù)據(jù)位同時傳送,傳送速度快、速率高,多用在實時、快速的場合。
并行傳送的數(shù)據(jù)寬度可以是1位~128位,甚至更寬,但是有多少數(shù)據(jù)位就需要多少根數(shù)據(jù)線,因此傳送的成本高。在集成電路芯片的內部,同一插件板上各部件之間,同一機箱內各插件板之間的數(shù)據(jù)傳送都是并行的。
并行數(shù)據(jù)傳送只適用于近距離的通信,通常小于30CM。
2.串行通信
串行通信是指通信的發(fā)送方和接收方之間數(shù)據(jù)信息的傳輸是在單根數(shù)據(jù)線上,以每次一個二進制的0、1為最小單位逐位進行傳輸,如圖2所示。

串行數(shù)據(jù)傳送的特點是:數(shù)據(jù)傳送按位順序進行,最少只需要一根傳輸線即可完成,節(jié)省傳輸線。與并行通信相比,串行通信還有較為顯著的優(yōu)點,傳輸距離長,可以從幾米到幾千米。在長距離內串行數(shù)據(jù)傳送速率會比并行數(shù)據(jù)傳送速率快,串行通信的通信時鐘頻率容易提高,串行通信的抗干擾能力十分強,其信號間的互相干擾完全可以忽略。但是串行通信傳送速率比并行通信慢得多,并行通信時間為T,則串行時間為NT。
正是由于串行通信的接線少、成本低,因此它在數(shù)據(jù)采集和控制系統(tǒng)中得到了廣泛的應用,產品也多種多樣。RS-232的通信距離一般為15米,波仕電子的RS-232可以達到500米(產品型號EX232)以上。RS-485的通信距離一般為1200米,波仕電子可以做到1800米(產品型號:485C、485A)甚至4800米(產品型號:G485EX)。
二 串行通信工作模式
通過單線傳輸信息是串行數(shù)據(jù)通信的基礎。數(shù)據(jù)通常是在兩個站(點對點)之間進行傳送,按照數(shù)據(jù)流的方向可分成3種傳送模式:單工、半雙工、全雙工。
1.單工形式:早期的電流環(huán)
單工形式的數(shù)據(jù)傳送是單向的。通信雙方中,一方固定為發(fā)送端,另一方則固定為接收端。信息只能沿一個方向傳送,使用一根傳輸線,如圖3所示。

單工形式一般用在只向一個方向傳送數(shù)據(jù)的場合。如計算機與打印機之間的通信是單工形式,因為只有計算機向打印機傳送數(shù)據(jù),而沒有相反的數(shù)據(jù)傳送。還有在某些通信信道中,如單工無線發(fā)送等。
2.半雙工形式:RS-485
半雙工通信使用同一根傳輸線,即可發(fā)送數(shù)據(jù)又可接收數(shù)據(jù),但不能同時發(fā)送和接收。在任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此半雙工形式即可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線,如圖4所示。

半雙工通信中每端需有一個收/發(fā)切換電子開關,通過切換來決定數(shù)據(jù)向哪個方向傳輸。因為有切換,所以會產生時間延遲,信息傳輸效率低些。但是對于像打印機這樣單方向傳輸?shù)耐鈬O備,用半雙工方式就能滿足要求了,不必采用全雙工方式,可省一根傳輸線。
波仕電子的RS-232/RS-485轉換器使用了獨特的零延時自動收發(fā)轉換技術,直接從RS-485信號中用硬件方法提取收發(fā)切換控制信號,并且具備零延時的性能。零延時指收發(fā)切換過程轉變時間為0,在使用時與RS-232通信一樣。
3.全雙工形式:RS-232、RS-422
全雙工數(shù)據(jù)通信分別由兩根可以在兩個不同的站點同時發(fā)送和接收的傳輸線進行傳送,通信雙方都能在同一時刻進行發(fā)送和接收操作,如圖5所示。

在全雙工方式中,每一端都有發(fā)送器和接收器,有兩條傳送線,可在交互式應用和遠程監(jiān)控系統(tǒng)中使用,信息傳輸效率較高。
三 異步傳輸與同步傳輸
串行傳輸中,數(shù)據(jù)是一位一位按照到達的順序依次傳輸?shù)模课粩?shù)據(jù)的發(fā)送和接收都需要時鐘來控制。發(fā)送端通過發(fā)送時鐘確定數(shù)據(jù)位的開始和結束,接收端需要在適當?shù)臅r間間隔對數(shù)據(jù)流進行采樣來正確的識別數(shù)據(jù)。接收端和發(fā)送端必須保持步調一致,否則數(shù)據(jù)傳輸就會出現(xiàn)差錯。為了解決以上問題,串行傳輸可采用以下兩種方法:異步傳輸和同步傳輸。
異步傳輸
異步傳輸方式中,字符是數(shù)據(jù)傳輸單位。在通信的數(shù)據(jù)流中,字符間異步,字符內部各位間同步。異步通信方式的“異步”主要體現(xiàn)在字符與字符之間通信沒有嚴格的定時要求。異步傳送中,字符可以是連續(xù)地、一個個地發(fā)送,也可以是不連續(xù)地,隨機地進行單獨發(fā)送。在一個字符格式的停止位之后,立即發(fā)送下一個字符的起始位,開始一個新的字符的傳輸,這叫做連續(xù)的串行數(shù)據(jù)發(fā)送,即幀與幀之間是連續(xù)的。斷續(xù)的串行數(shù)據(jù)傳送是指在一幀結束之后維持數(shù)據(jù)線的“空閑”狀態(tài),新的起始位可在任何時刻開始。一旦傳送開始,組成這個字符的各個數(shù)據(jù)位將被連續(xù)發(fā)送,并且每個數(shù)據(jù)位持續(xù)的時間是相等的。接收端根據(jù)這個特點與數(shù)據(jù)發(fā)送端保持同步,從而正確地恢復數(shù)據(jù)。收/發(fā)雙方則以預告約定的傳輸速率,在時鐘的作用下,傳送這個字符中的每一位。
同步傳輸
在同步傳輸方式中,比特塊以穩(wěn)定的比特流的形式傳輸,數(shù)據(jù)被封裝成更大的傳輸單位,稱為幀。每個幀中含有多個字符代碼,而且字符代碼與字符代碼之間沒有間隙以及起始位和停止位。和異步傳輸相比,數(shù)據(jù)傳輸單位的加長容易引起時鐘漂移。為了保證接收端能夠正確地區(qū)分數(shù)據(jù)流中的每個數(shù)據(jù)位,收發(fā)雙主必須通過某種方法建立起同步的時鐘?梢栽诎l(fā)送器和接收器之間提供一條獨立的時鐘線路,由線路的一端(發(fā)送器或者接收器)定期地在每個比特時間中向線路發(fā)送一個短脈沖信號,另一端則將這些有規(guī)律的脈沖作為時鐘。這種技術在短距離傳輸時表現(xiàn)良好,但在長距離傳輸中,定時脈沖可能會和信息信號一樣受到破壞,從而出現(xiàn)定時誤差。另一種方法是通過采用嵌有時鐘信息的數(shù)據(jù)編碼位向接收端提供同步信息。
四 握手信號
握手信號實際上是控制信號,用來控制數(shù)據(jù)的傳送。通過握手信號,發(fā)送方可以通知接收方是否有數(shù)據(jù)要發(fā)送。接收方通過握手信號通知發(fā)送方它是否已經準備好了接收信號。握手信號遵循某種協(xié)議。
當發(fā)送方和接收方處理數(shù)據(jù)的不一樣時,可能會造成數(shù)據(jù)丟失。在傳輸中,如果發(fā)送方的發(fā)送速度大于接收方的接收速度,同時接收方處理數(shù)據(jù)的速度不夠快的話,那么接收端的緩沖區(qū)必定在一定時間后溢出,從而造成以后發(fā)送過來的數(shù)據(jù)不能進入緩沖區(qū)而丟失。發(fā)送方何時可以繼續(xù)發(fā)送數(shù)據(jù),何時必須暫停發(fā)送,從而讓接收方有時間處理數(shù)據(jù),稱為流量控制,必須靠握手信號來解決這個問題。例如,打印機和計算機進行通信時,一些打印機打印速度可能跟不上計算機發(fā)送數(shù)據(jù)的速度,就必須要通過握手信號通知計算機暫停發(fā)送數(shù)據(jù)。
1 硬件握手
在硬件握手中,發(fā)送方通過將某一個導線拉到高電平或者低電平。來表示發(fā)送方可以發(fā)送數(shù)據(jù)。接收方已經準備好接收數(shù)據(jù)之后,也把某一個導線拉到高電平或者是低電平,來通知發(fā)送方,發(fā)送方一直在檢測這個信號。接收方可以在任何時候把這個信號變?yōu)闊o效,甚至是在接受一個數(shù)據(jù)塊過程中。當發(fā)送方檢測到這個信號變?yōu)闊o效之后,就必須停止本次發(fā)送,直到這個信號變?yōu)橛行А?/FONT>
2軟件握手
在軟件握手中,以數(shù)據(jù)線上的數(shù)據(jù)信號來代替實際的硬件電路。這種方法用在直接連接或者通過調制解調器連接的兩臺計算機之間進行雙向通信的場合。
對于軟件握手現(xiàn)在已經建立了一些標準協(xié)議,其中最常用的是通信協(xié)議。通信協(xié)議是指通信雙方的一種約定,包括對數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題作出統(tǒng)一規(guī)定,通信雙方必須共同遵守,也叫做通信控制規(guī)程或稱傳輸控制規(guī)程,它屬于OSI七層參考模型中的數(shù)據(jù)鏈路層。
3 自動握手
波仕電子的RS-232/RS-485轉換器使用了獨特的零延時自動收發(fā)轉換技術。RS-485為半雙工通信,收與發(fā)不能同時進行,需要進行收與發(fā)的切換。一般這需要使用RS-232的一根握手信號線并在軟件上進行控制。波仕電子的RS-232/RS-485轉換器則省去了這根握手信號線,直接從RS-485信號中用硬件方法提取這個控制信號,并且具備零延時的性能。零延時指收發(fā)切換過程轉變時間為0,在使用時與RS-232通信一樣。
五 通信參數(shù)
串行端口的通信方式是將字節(jié)拆分成一個接著一個的位再傳送出去。接到此電位信號的一方再將此一個一個的位組合成原來的字節(jié),如此形成一個字節(jié)的完整傳送。
在傳輸進行的過程中,雙方明確傳送信息的具體方式,否則雙方就沒有一套共同的譯碼方式,從而無法了解對方所傳過來的信息的意義。因此雙方為了進行通信,必須遵守一定的通信規(guī)則,這個共同的規(guī)則就是通信端口的初始化。
通信端口的初始化必須對以下幾項參數(shù)進行設置。
1.數(shù)據(jù)的傳輸速度
串行通信的傳輸受到通信雙方配備性能及通信線路的特性所左右,收、發(fā)雙方必須按照同樣的速率進行串行通信,即收、發(fā)雙方采用同樣的數(shù)據(jù)傳輸率。數(shù)據(jù)傳輸率批量的是串行通信中每一秒所傳送的數(shù)據(jù)位數(shù),單位是bit/s。經?梢钥吹绞称坊騇ODEM的規(guī)格書上都寫著19200bit/s、38400bit/s······,所指的就是數(shù)據(jù)傳輸率。
就儀器或工業(yè)場合來說,4800bit/s、9600bit/s是最常見的數(shù)據(jù)傳輸率,現(xiàn)在的個人計算機 所提供的串行端口的數(shù)據(jù)傳輸率都可達到115200bit/s(甚至有921600bit/s),若傳輸距離較近而設備也提供時,使用最高的數(shù)據(jù)傳輸率也可以。
例如,在某異步串行通信中,每傳送一個字符需要8位,如果采用數(shù)據(jù)傳輸率4800bit/s進行傳送,則每秒可以傳送600個字符。
數(shù)據(jù)的傳送單位
一般串行通信端口所傳送的數(shù)據(jù)是字符型,若用來傳輸文件,則會使用二進制的數(shù)據(jù)類型。當使用字符型時,工業(yè)界使用到的有ASCII字符碼及JIS字符碼;ASCII使用了8位形成一個字符,而JIS碼則以7位形成一個字符。歐美的設備多使用8位的字節(jié),而日本的設備多使用7位為一個字節(jié)。以實際的RS-232傳輸上看來,由于工業(yè)界常使用的PLC大多只是傳送文字碼,因此只要7位就可以將ASCII的0~127碼表達出來(2=128,共有128種組合方式),所有的可見字符也落在此范圍內,所以只要7個數(shù)據(jù)位就夠了。不同的情形下(依據(jù)使用的協(xié)議),會使用到不同的傳送單位。使用多少位合成一個字節(jié)必須先行確定。
起始位與停止位
由于異步串行傳輸中并沒有使用同步脈沖作基準,故接收端完全不知道傳送端何時將進行數(shù)據(jù)的傳送。發(fā)送端準備要開始傳送數(shù)據(jù)時,發(fā)送端會在所送出的字符前后分別加上高電位的起始位(邏輯0)及低電位的停止位(邏輯1),它們分別是所謂的起始位和停止位。也就是說,當傳送端要開始傳送數(shù)據(jù)時,便將傳輸線上的電位由低電位提升至高電位;而當傳送結束后,再將電位降至低電位。接收端會因起始位的觸發(fā)(因電壓由低電位升至高電位)而開始接收數(shù)據(jù),并因停止位的通知(因電壓維持在低電位)而明確數(shù)據(jù)的字符信號已經結束,當加入了起始位及停止位才比較容易達到多字符的接收能力。起始位固定為1位,而停止位則有1、1.5、2位等多種選擇,如何選擇呢?只要通信雙方協(xié)議通過即可,沒有強制規(guī)定。
校驗位
為了預防錯誤的發(fā)生,使用校驗位作為檢查的機制。校驗位即是用來檢查所傳送數(shù)據(jù)的正確性的一種核對碼,這之中又分成奇校驗與偶校驗兩種,分別是檢查字符碼中1數(shù)目是奇數(shù)或偶數(shù)。以偶校驗為例,“A”的ASCII碼是41H(16進制),將它以二進制表示時,是01000001其中1的數(shù)目是2,因此校驗位便是0,使1的數(shù)目保持偶數(shù);同樣,校驗位是奇校驗時,“A”的校驗位便是1,使1的數(shù)目保持在奇數(shù)。接收者重新計算奇偶校驗位,如果新的計算值正確,那么表示正常。如果新的計算值錯誤,那么接收端就會收到一些指示,表示此次接收的數(shù)據(jù)有誤。
|