串行通信的基礎(chǔ)知識(shí)總結(jié)
單片機(jī)與單片機(jī)或與其他計(jì)算機(jī)之間通常有兩種信息交換方式:并行通信和串行通信。
1.串行通信與并行通信的比較
在并行通信中,數(shù)據(jù)的所有二進(jìn)制位在多條并行的傳輸線上同時(shí)傳送,如圖4-14a所示。在串行通信中,數(shù)據(jù)的所有二進(jìn)制位在一條傳輸線上一位一位地按順序逐個(gè)傳送,如圖4-14b所示。
圖4-14兩種通信方式
a)并行通信b)串行通信
并行通信的優(yōu)點(diǎn)是速度快、效率高,缺點(diǎn)是傳輸線較多、長距離傳輸?shù)某杀据^高并且可靠性差,只適用于近距離傳輸。與并行通信相比,串行通信的缺點(diǎn)是速度慢、效率低,優(yōu)點(diǎn)是傳輸線較少、長距離傳輸?shù)某杀据^低,適用于遠(yuǎn)距離傳輸。
2.串行通信的數(shù)據(jù)傳輸模式
根據(jù)數(shù)據(jù)流的方向,串行通信可分為單工、半雙工和全雙工三種傳輸模式,如圖4-15所示。
圖4-15串行通信的傳輸模式
a)單工b)半雙工c)全雙工
在單工模式下,數(shù)據(jù)僅能從發(fā)送器傳送至接收器,傳輸方向單一,不能反方向傳輸。在半雙工模式下,僅有一根數(shù)據(jù)傳輸線,數(shù)據(jù)可以沿兩個(gè)方向傳輸,但在任意時(shí)刻數(shù)據(jù)僅能沿一個(gè)方向傳輸。在全雙工模式下,通信設(shè)備之間有兩根傳輸線,可以同時(shí)完成兩個(gè)不同方向的數(shù)據(jù)傳輸。
3.串行通信的速度
串行通信的數(shù)據(jù)傳輸速度被稱為波特率(Baudrate),即每秒鐘傳送的二進(jìn)制位的個(gè)數(shù),單位為位/秒(bit/s)。例如,若單片機(jī)每秒鐘傳送960個(gè)字符,而每個(gè)字符包含10位(bit),則傳輸波特率為960×10bit/s=9600bit/s=9600波特。常用波特率有2400波特、4800波特、9600波特、19200波特、38400波特和115200波特等。
串行通信的類型
串行通信又分為異步通信和同步通信兩種類型。
(1)異步串行通信
在異步通信中,數(shù)據(jù)以字符為單位在一根傳輸線上傳送。同一字符中各位之間的傳輸時(shí)間間隔是固定的。相鄰字符之間的傳輸時(shí)間間隔由發(fā)送方控制,是不固定的,既可以連續(xù)傳送,也可以間斷傳送。
由于字符之間的傳輸時(shí)間間隔不固定,所以必須在字符傳輸時(shí)附加必要的格式信息,以便接收方判斷字符傳輸?shù)拈_始和結(jié)束。附加了格式信息的字符數(shù)據(jù)被稱作字符幀。一個(gè)字符幀通常包含起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位,相鄰字符幀之間的是空閑位,如圖4-16所示。字符幀中各位的作用如下:
圖4-16異步串行通信的字符幀格式
1)起始位:字符幀的起始位,為低電平“0”,代表一個(gè)完整字符幀的開始。
2)數(shù)據(jù)位:包含5~8位,在起始位之后,按低位在前、高位在后的順序傳輸。
3)奇偶校驗(yàn)位:只占用一位,在數(shù)據(jù)位之后,可以沒有該位。奇偶校驗(yàn)的功能也可以被其他功能取代,例如,在串口的多機(jī)通信中,可以用該位指示字符幀傳送的是從機(jī)地址(即從機(jī)編號(hào))還是實(shí)際數(shù)據(jù)。
4)停止位:以高電平“1”表示一個(gè)字符幀的結(jié)束,停止位可以占1位或2位。
5)空閑位:不傳送數(shù)據(jù)時(shí),傳輸線上傳送空閑位,為高電平“1”。傳輸線上由空閑位“1”變?yōu)槠鹗嘉弧?”時(shí),開始傳送一個(gè)新的字符幀。
在異步通信中,為保證通信成功,數(shù)據(jù)的發(fā)送方和接收方必須采用的相同的波特率。
(2)同步串行通信
同步通信將若干個(gè)數(shù)據(jù)字符連接成數(shù)據(jù)塊,以數(shù)據(jù)塊為單位傳送信息。如圖4-17所示,同步通信的字符幀由同步字符、數(shù)據(jù)塊和校驗(yàn)字符三部分構(gòu)成。其中,數(shù)據(jù)塊中的數(shù)據(jù)字符個(gè)數(shù)由傳輸任務(wù)決定,不受限制;同步字符的個(gè)數(shù)為1個(gè)(單同步字符)或2個(gè)(雙同步字符);校驗(yàn)字符有1或2個(gè),用于接收端驗(yàn)證接收數(shù)據(jù)的正確性。在同步通信中,接收方和發(fā)送方必須采用精確、同步的時(shí)鐘和相同的波特率。同步通信速度遠(yuǎn)高于異步通信。
圖4-17同步串行通信格式