概念
随着計算機網絡化和微機分級分布式應用系統的發展,通信的功能越來越重要。通信是指計算機與外界的信息傳輸,既包括計算機與計算機之間的傳輸,也包括計算機與外部設備,如終端、打印機和磁盤等設備之間的傳輸。
在通信領域内,數據通信中按每次傳送的數據位數,通信方式可分為:并行通信和串行通信。并行通信傳送八路信号,一次并行傳送傳送完整的一個字節信息。串行通信在一個方向上隻能傳送一路信号,一次隻能傳送一個二進制位,傳送一個字節信息時,隻能一位一位地依次傳送。
串口通信時,發送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。并行通信時數據的各個位同時傳送,可以實現字節為單位通信,但是通信線多占用資源多,成本高。
同步
同步通信是一種連續串行傳送數據的通信方式,一次通信隻傳送一幀信息。這裡的信息幀與異步通信中的字符幀不同,通常含有若幹個數據字符。
它們均由同步字符、數據字符和校驗字符(CRC)組成。其中同步字符位于幀開頭,用于确認數據字符的開始。數據字符在同步字符之後,個數沒有限制,由所需傳輸的數據塊長度來決定;校驗字符有1到2個,用于接收端對接收到的字符序列進行正确性的校驗。同步通信的缺點是要求發送時鐘和接收時鐘保持嚴格的同步。
異步
異步通信中,在異步通信中有兩個比較重要的指标:字符幀格式和波特率。數據通常以字符或者字節為單位組成字符幀傳送。字符幀由發送端逐幀發送,通過傳輸線被接收設備逐幀接收。發送端和接收端可以由各自的時鐘來控制數據的發送和接收,這兩個時鐘源彼此獨立,互不同步。
接收端檢測到傳輸線上發送過來的低電平邏輯"0"(即字符幀起始位)時,确定發送端已開始發送數據,每當接收端收到字符幀中的停止位時,就知道一幀字符已經發送完畢。
特點
1、節省傳輸線,這是顯而易見的。尤其是在遠程通信時,此特點尤為重要。這也是串行通信的主要優點。
2、數據傳送效率低。與并行通信比,這也這是顯而易見的。這也是串行通信的主要缺點。
形式和标準
調幅方式
串行數據在傳輸時通常采用調幅(AM)和調頻(FM)兩種方式傳送數字信息。遠程通信時,發送的數字信息,如二進制數據,首先要調制成模拟信息。幅度調制是用某種電平或電流來表示邏輯“1”,稱為傳号(mark);而用另一種電平或電流來表示邏輯“0”,稱為空号(space)。出現在傳輸線上的mark/space的串行數據形式。
使用mark/space形式通常有四種标準,TTL标準、RS-232标準、20mA電流環标準和60mA電流環标準。
①TTL标準:用+5V電平表示邏輯“1”;用0V電平表示邏輯“0”,這裡采用的是正邏輯。
②RS-232标準:用-3V—-15V之間的任意電平表示邏輯“1”;用+3V—+15V電平表示邏輯“0”,這裡采用的是負邏輯。
③20mA電流環标準。線路中存在20mA電流表示邏輯1,不存在20mA電流表示邏輯0。
④60mA電流環标準。線路中存在60mA電流表示邏輯1,不存在60mA電流表示邏輯0。
調頻方式
頻率調制方式是用兩種不同的頻率分别表示二進制中的邏輯1和邏輯0,通常使用曼徹斯特編碼标準和堪薩斯城标準。
①曼徹斯特編碼标準:這種标準兼有電平變化和頻率變化來表示二進制數的0和1。每當出現一個新的二進制位時,就有一個電平跳變。如果該位是邏輯1,則在中間還有一個電平跳變;而邏輯0僅有位邊沿跳變。所以邏輯1的頻率比邏輯0的頻率大一倍。曼徹斯特編碼标準通常用在兩台計算機之間的同步通信。
②堪薩斯城标準:它用頻率為1200Hz中的4個周期表示邏輯0,而用頻率為2400Hz中的8個周期表示邏輯1。
數字編碼方式
⑴NRZ編碼
NRZ編碼又稱為不歸零編碼,常用正電壓表示“1”,負電壓表示“0”,而且在一個碼元時間内,電壓均不需要回到零。其特點是全寬碼,即一個碼元占一個單元脈沖的寬度。
⑵曼徹斯特(Manchester)編碼
在曼徹斯特編碼中,每個二進制位(碼元)的中間都有電壓跳變。用電壓的正跳變表示“0”,電壓的負跳變表示“1”。由于跳變都發生在每一個碼元的中間位置(半個周期),接收端就可以方便地利用它作為同步時鐘,因此這種曼徹斯特編碼又稱為自同步曼徹斯特編碼。目前最廣泛應用的局域網—以太網,在數據傳輸時就采用這種數字編碼。
⑶微分曼徹斯特編碼
微分曼徹斯特編碼是曼徹斯特編碼的一種修改形式,其不同之處時:用每一位的起始處有無跳變來表示“0”和“1”,若有跳變則為“0”,無跳變則為“1”;而每一位中間的跳變隻用來作為同步的時鐘信号,所以它也是一中自同步編碼,同步曼徹斯特編碼和微分曼徹斯特編碼的每一位都是用不同電平的兩個半位來表示的,因此始終保持直流的平衡。不會造成直流的累積。
數據傳輸率
數據傳輸率是指單位時間内傳輸的信息量,可用比特率和波特率來表示。
⑴比特率:比特率是指每秒傳輸的二進制位數,用bps(bit/s)表示。
⑵波特率:波特率是指每秒傳輸的符号數,若每個符号所含的信息量為1比特,則波特率等于比特率。在計算機中,一個符号的含義為高低電平,它們分别代表邏輯“1”和邏輯“0”,所以每個符号所含的信息量剛好為1比特,因此在計算機通信中,常将比特率稱為波特率,即:
1波特(B)=1比特(bit)=1位/秒(1bps)例如:電傳打字機最快傳輸率為每秒10個字符/秒,每個字符包含11個二進制位,則數據傳輸率為:10Baud。11位/字符×10個字符/秒=110位/秒=110bps。計算機中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可達56Kbps.
⑶位時間Td
位時間是指傳送一個二進制位所需時間,用Td表示。Td=1/波特率=1/B
例如:B=110波特/秒,則Td = 1/110 ≈ 0.0091s
發送時鐘和接收時鐘
在串行通信中,二進制數據以數字信号的信号形式出現,不論是發送還是接收,都必須有時鐘信号對傳送的數據進行定位。在TTL标準表示的二進制數中,傳輸線上高電平表示二進制1,低電平表示二進制0,且每一位持續時間是固定的,由發送時鐘和接收時鐘的頻率決定。
⑴發送時鐘
發送數據時,先将要發送的數據送入移位寄存器,然後在發送時鐘的控制下,将該并行數據逐位移位輸出。通常是在發送時鐘的下降沿将移位寄存器中的數據串行輸出,每個數據位的時間間隔由發送時鐘的周期來劃分。
⑵接收時鐘
在接收串行數據時,接收時鐘的上升沿對接收數據采樣,進行數據位檢測,并将其移入接收器的移位寄存器中,最後組成并行數據輸出。
⑶波特率因子
接收時鐘和發送時鐘與波特率有如下關系:F=n × B 這裡F 是發送時鐘或接收時鐘的頻率;B是數據傳輸的波特率;n稱為波特率因子。設發送或接收時鐘的周期為Tc,頻率為F的位傳輸時間為Td,則: Tc=1/F , Td=1/B 得到:Tc=Td /n 在實際串行通信中,波特率因子可以設定。在異步傳送時,n=1,16,64,實際常采用n=16,即發送或接收時鐘的頻率要比數據傳送的波特率高n倍。在同步通信時,波特率因子n必須等于1。
協議
最被人們熟悉的串行通信技術标準是EIA-232、EIA-422和EIA-485,也就是以前所稱的RS-232、RS-422和RS-485。由于EIA提出的建議标準都是以“RS”作為前綴,所以在工業通信領域,仍然習慣将上述标準以RS作前綴稱謂。



















