01
外部總線概述
Bus" target="_blank">ExternalBus(外部總線) ,通常所說的總線(Bus)指片外總線,是 CPU 與內存 RAM、ROM 和輸入 / 輸出設備接口之間進行通訊的通路,也稱系統總線 . 外部總線又稱為通信總線,用于計算機之間、計算機與遠程終端、計算機與外部設備以及計算機與測量儀器儀表之間的通信。該類總線不是計算機系統已有的總線,而是利用電子工業或其他領域已有的總線標準。外部總線又分為并行總線和串行總線,并行總線主要有 IEEE-488 總線,串行總線主要有 RS232C、RS422C、RS485、IEEE1394 以及 USB 總線等。
02
IEEE-488 總線概述
IEEE-488 總線是并行總線接口標準。IEEE-488 總線用來連接系統,如微計算機、數字電壓表、數碼顯示器等設備及其他儀器儀表均可用 IEEE-488 總線裝配起來。它按照位并行、字節串行雙向異步方式傳輸信號,連接方式為總線方式,儀器設備直接并聯于總線上而不需中介單元,但總線上最多可連接 15 臺設備。最大傳輸距離為 20 米,信號傳輸速度一般為 500KB/s,最大傳輸速度為 1MB/s。
IEEE 488 是一種并行的外總線,它是 20 世紀 70 年代由 HP 公司制定的。HP 公司為了解決各種儀器儀表與各類計算機的接口時,由于互相不兼容而帶來的連接麻煩,而研制了通用接口總線 HP—IB 總線。1975 年 IEEE 以 IEEE 488 標準總線予以推薦,1977 年國際電工委員會 (IEC)也對該總線進行認可與推薦,定名為 IEC—IB。所以這種總線同時使用了 IEEE—488,IEC—IB (IEC 接口總線),HP—IB (HP 接口總線)或 GP—IB (通用接口總線)多種名稱。由于 IEEE 488 總線的推出,當用 IEEE 488 標準建立一個由計算機控制的測試系統時,不要再加一大堆復雜的控制電路,IEEE 488 系統以機架層疊式智能儀器為主要器件,構成開放式的積木測試系統。因此 IEEE 488 總線是當前工業上應用最廣泛的通信總線之一。
03
IEEE-488 總線工作方式
IEEE 488 總線接口結構如圖 8.22 所示 . 利用 IEEE 488 總線將微型計算機和其它若干設備連接在一起??梢圆捎么羞B接,也可以采用星型連接。
圖 8.22 IEEE 488 總線接口結構
在 IEEE 488 系統中的每一個設備可按如下 3 種方式工作。
(1) “聽者”方式這是一種接收器,它從數據總線上接收數據,一個系統在同一時刻,可以有兩個以上的“聽者”在工作??梢猿洚敗奥犝摺惫δ艿脑O備有:微型計算機、打印機、繪圖儀等。
(2) “講者”方式這是一種發送器,它向數據總線發送數據,一個系統可以有兩個以上的“講者”,但任一時刻只能有一個講者在工作。具有“講者”功能的設備有:微型計算機、磁帶機、數字電壓表、頻譜分析儀等。
(3) “控制者”方式這是一種向其它設備發布命令的設備,例如對其它設備尋址,或允許“講者”使用總線??刂普咄ǔS晌⑿蜋C擔任。一個系統可以有不止一個控制者,但每一時刻只能有一個控制者在工作。
在 IEEE 488 總線上的各種設備可以具備不同的功能。有的設備如微型計算機可以同時具有控制者、聽者、講者 3 種功能。有的設備只具有收、發功能,而有的設備只具有接收功能,如打印機。在某一時刻系統只能有一個控制者,而當進行數據傳送時,某一時刻只能有一個發送器發送數據,允許多個接收器接收數據。也就是可以進行一對多的數據傳送。
一般應用中,例如,微型機控制的數據測量系統,通過 IEEE 488 將微型機和各種測試儀器連接起來,這時,只有微型機具備控制、發、收 3 種功能,而總線上的其它設備都沒有控制功能,但仍有收、發功能。當總線工作時,由控制者發布命令,規定哪個設備為發送器、哪個為接收器,而后發送器可以利用總線發送數據,接收器從總線上接收數據。
04
IEEE-488 總線的使用約定
(1) 數據傳輸速率≤1 MB/s。
(2) 連接在總線上的設備 (包括作為主控器的微型機)≤15 個。
(3) 設備間的最大距離≤20 m。
(4) 整個系統的電纜總長度≤220 m,若電纜長度超過 220 m,則會因延時而改變定時關系,從而造成工作不可靠。這種情況應附加調制解調器
(5) 所有數據交換都必須是數字化的。
(6) 總線規定使用 24 線的組合插頭座,并且采用負邏輯,即用小于+0.8V 的電平表示邏輯“1”;用大于 2V 的電平表示邏輯“0”。
05
RS232C 總線的概述
RS-232-C 是美國電子工業協會 EIA(Electronic Industry Association)制定的一種串行物理接口標準。RS 是英文“推薦標準”的縮寫,232 為標識號,C 表示修改次數。RS-232-C 總線標準設有 25 條信號線,包括一個主通道和一個輔助通道,在多數情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現,如一條發送線、一條接收線及一條地線。RS-232-C 標準規定的數據傳輸速率為每秒 50、75、 100、150、300、600、1200、2400、4800、9600、19200 波特。RS-232-C 標準規定,驅動器允許有 2500pF 的電容負載,通信距離將受此電容限制,例如,采用 150pF/m 的通信電纜時,最大通信距離為 15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是 RS-232 屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于 20m 以內的通信。
06
RS232C 的電氣特性
EIA-RS-232C 協議對電器特性、邏輯電平和各種信號線功能都作了規定。
在 TxD 和 RxD 上:邏輯 1(MARK)=-3V~-15V
邏輯 0(SPACE)=+3~+15V
在 RTS、CTS、DSR、DTR 和 DCD 等控制線上:
信號有效(接通,ON 狀態,正電壓)=+3V~+15V
信號無效(斷開,OFF 狀態,負電壓)=-3V~-15V
以上規定說明了 RS-323C 標準對邏輯電平的定義。
對于數據(信息碼):
邏輯“1"(傳號)的電平低于-3V,邏輯“0"(空號)的電平高于+3V;對于控制信號;接通狀態(ON)即信號有效的電平高于+3V,斷開狀態(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于 3V 時,電路可以有效地檢查出來,介于-3~+3V 之間的電壓無意義,低于-15V 或高于+15V 的電壓也認為無意義,因此,實際工作時,應保證電平在±(3~15)V 之間。
EIA-RS-232C 協議與 TTL 轉換:
RS-232C 協議是用正負電壓來表示邏輯狀態,與 TTL 以高低電平表示邏輯狀態的規定不同。因此,為了能夠同計算機接口或終端的 TTL 器件連接,必須在 EIA-RS-232C 協議與 TTL 電路之間進行電平和邏輯關系的變換。實現這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉換器件,如 MC1488、SN75150 芯片可完成 TTL 電平到 EIA 電平的轉換,而 MC1489、SN75154 可實現 EIA 電平到 TTL 電平的轉換。MAX232 芯片可完成 TTL??EIA 雙向電平轉換。
07
RS232C 總線連接器的機械性
連接器:由于 RS-232C 協議并未定義連接器的物理特性,因此,出現了 DB-25、DB-15 和 DB-9 各種類型的連接器,其引腳的定義也各不相同。下面分別介紹兩種連接器。
?。?)DB-25:PC 和 XT 機采用 DB-25 型連接器。DB-25 連接器定義了 25 根信號線,分為 4 組:
①異步通信的 9 個電壓信號(含信號地 SG)2,3,4,5,6,7,8,20,22
②20mA 電流環信號 9 個(12,13,14,15,16,17,19,23,24)
?、劭?6 個(9,10,11,18,21,25)
④保護地(PE)1 個,作為設備接地端(1 腳)
注意,20mA 電流環信號僅 IBM PC 和 IBM PC/XT 機提供,至 AT 機及以后,已不支持。
(2)DB-9 連接器
在 AT 機及以后,不支持 20mA 電流環接口,使用 DB-9 連接器,作為提供多功能 I/O 卡或主板上 COM1 和 COM2 兩個串行接口的連接器。它只提供異步通信的 9 個信號。DB-25 型連接器的引腳分配與 DB-25 型引腳信號完全不同。因此,若與配接 DB-25 型連接器的 DCE 設備連接,必須使用專門的電纜線。
電纜長度:在通信速率低于 20kb/s 時,RS-232C 協議所直接連接的最大物理距離為 15m(50 英尺)。
最大直接傳輸距離說明:RS-232C 協議規定,若不使用 MODEM,在碼元畸變小于 4%的情況下,DTE 和 DCE 之間最大傳輸距離為 15m(50 英尺)。可見這個最大的距離是在碼元畸變小于 4%的前提下給出的。為了保證碼元畸變小于 4%的要求,接口標準在電氣特性中規定,驅動器的負載電容應小于 2500pF。
08
RS422 總線概述
RS-422 是串行數據接口標準,最初都是由電子工業協會(EIA)制訂并發布的,RS-422 由 RS-232 發展而來,它是為彌補 RS-232 之不足而提出的。為改進 RS-232 通信距離短、速率低的缺點,RS-422 定義了一種平衡通信接口,將傳輸速率提高到 10Mb/s,傳輸距離延長到 4000 英尺(速率低于 100kb/s 時),并允許在一條平衡總線上連接最多 10 個接收器。一種單機發送、多機接收的單向、平衡傳輸規范,被命名為 TIA/EIA-422-A 標準。
09
RS232、RS485 和 RS485 的之間的區別
RS-232、RS-422 與 RS-485 標準只對接口的電氣特性做出規定,而不涉及接插件、電纜或協議,在此基礎上用戶可以建立自己的高層通信協議。例如:視頻服務器都帶有多個 RS422 串行通訊接口,每個接口均可通過 RS422 通訊線由外部計算機控制實現記錄與播放。視頻服務器除提供各種控制硬件接口外,還提供協議接口,如 RS422 接口除支持 RS422 的 Profile 協議外,還支持 Louth、Odetics 、BVW 等通過 RS422 控制的協議。
RS-232、RS-422 與 RS-485 都是串行數據接口標準,都是由電子工業協會(EIA)制訂并發布的,RS-232 在 1962 年發布。RS-422 由 RS-232 發展而來,為改進 RS-232 通信距離短、速率低的缺點,RS-422 定義了一種平衡通信接口,將傳輸速率提高到 10Mbps,傳輸距離延長到 4000 英尺(速率低于 100Kbps 時),并允許在一條平衡總線上連接最多 10 個接收器。RS-422 是一種單機發送、多機接收的單向、平衡傳輸規范,被命名為 TIA/EIA-422-A 標準。為擴展應用范圍,EIA 又于 1983 年在 RS-422 基礎上制定了 RS-485 標準,增加了多點、雙向通信能力,即允許多個發送器連接到同一條總線上,同時增加了發送器的驅動能力和沖突保護特性,擴展了總線共模范圍,后命名為 TIA/EIA-485-A 標準。
1. S-232 串行接口標準
目前 RS-232 是 PC 機與通信工業中應用最廣泛的一種串行接口。RS-232 被定義為一種在低速率串行通訊中增加通訊距離的單端標準。RS-232 采取不平衡傳輸方式,即所謂單端通訊。收、發端的數據信號是相對于信號地。典型的 RS-232 信號在正負電平之間擺動,在發送數據時,發送端驅動器輸出正電平在+5~+15V,負電平在 -5~-15V 電平。當無數據傳輸時,線上為 TTL,從開始傳送數據到結束,線上電平從 TTL 電平到 RS-232 電平再返回 TTL 電平。接收器典型的工作電平在+3~+12V 與 -3~-12V。由于發送電平與接收電平的差僅為 2V 至 3V 左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約 15 米,最高速率為 20Kbps。RS-232 是為點對點(即只用一對收、發設備)通訊而設計的,其驅動器負載為 3kΩ~7kΩ。所以 RS-232 適合本地設備之間的通信。
2. RS-422 與 RS-485 串行接口標準
?。?)平衡傳輸
RS-422、RS-485 與 RS-232 不一樣,數據信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為 A,另一線定義為 B。通常情況下,發送驅動器 A、B 之間的正電平在+2~+6V,是一個邏輯狀態,負電平在 -2V~6V,是另一個邏輯狀態。另有一個信號地 C,在 RS-485 中還有一“使能”端,而在 RS-422 中這是可用可不用的?!笆鼓堋倍耸怯糜诳刂瓢l送驅動器與傳輸線的切斷與連接。當“使能”端起作用時,發送驅動器處于高阻狀態,稱作“第三態”,即它是有別于邏輯“1”與“0”的第三態。
?。?)RS-422 電氣規定
由于接收器采用高輸入阻抗和發送驅動器比 RS232 更強的驅動能力,故允許在相同傳輸線上連接多個接收節點,最多可接 10 個節點。即一個主設備(Master),其余為從設備(Salve),從設備之間不能通信,所以 RS-422 支持點對多的雙向通信。RS-422 四線接口由于采用單獨的發送和接收通道,因此不必控制數據方向,各裝置之間任何必須的信號交換均可以按軟件方式(XON/XOFF 握手)或硬件方式(一對單獨的雙絞線)實現。RS-422 的最大傳輸距離為 4000 英尺(約 1219 米),最大傳輸速率為 10Mbps。其平衡雙絞線的長度與傳輸速率成反比,在 100Kbps 速率以下,才可能達到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般 100 米長的雙絞線上所能獲得的最大傳輸速率僅為 1Mbps。RS-422 需要一終接電阻,要求其阻值約等于傳輸電纜的特性阻抗。在矩距離傳輸時可不需終接電阻,即一般在 300 米以下不需終接電阻。終接電阻接在傳輸電纜的最遠端。
?。?)RS-485 電氣規定
由于 RS-485 是從 RS-422 基礎上發展而來的,所以 RS-485 許多電氣規定與 RS-422 相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485 可以采用二線與四線方式,二線制可實現真正的多點雙向通信。RS-485 總線,在要求通信距離為幾十米到上千米時,廣泛采用 RS-485 串行總線標準。RS-485 采用平衡發送和差分接收,因此具有抑制共模干擾的能力。加上總線收發器具有高靈敏度,能檢測低至 200mV 的電壓,故傳輸信號能在千米以外得到恢復。RS-485 采用半雙工工作方式,任何時候只能有一點處于發送狀態,因此,發送電路須由使能信號加以控制。RS-485 用于多點互連時非常方便,可以省掉許多信號線。應用 RS-485 可以聯網構成分布式系統,其允許最多并聯 32 臺驅動器和 32 臺接收器。RS-485 與 RS-422 的不同還在于其共模輸出電壓是不同的,RS-485 是 -7V 至+12V 之間,而 RS-422 在 -7V 至+7V 之間;RS-485 滿足所有 RS-422 的規范,所以 RS-485 的驅動器可以用在 RS-422 網絡中應用。RS-485 與 RS-422 一樣,其最大傳輸距離約為 1219 米,最大傳輸速率為 10Mbps。平衡雙絞線的長度與傳輸速率成反比,在 100Kbps 速率以下,才可能使用規定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般 100 米長雙絞線最大傳輸速率僅為 1Mbps。
10
串行總線協議轉換器
在計算機控制系統中,主機通常提供 RS-232C 標準接口。但在控制系統分布較遠的情況下,單獨由 RS232C 不能實現遠距離的通信任務,這時需要進行與 RS485 或 RS422 的轉換。完成這種轉換的器件很多,分為有源和無源兩種,有源轉換器需提供標準電源,無源轉換器利用 RS232C 內部的電源信號供電。
11
通用串行總線的概述
通用串行總線總線 的供應商(Universal Serial Bus, USB),是一種用于將適用 USB 的外圍設備連接到主機的外部總線結構,主要用在中速和低速的外設。通用串行總線同時又是一種通信協議,支持主機和 USB 的外圍設備之間的數據傳輸。通用串行總線支持每秒 12 兆比特的數據速度。
使用通用串行總線,新的設備可以被添加到你的計算機上,而不需要添加適配卡或者甚至是需要將計算機關閉。通用串行總線外圍總線標準是由康柏,IBM,DEC ,Inter,微軟,NEC,以及北方電信開發的,還有所有的計算機和設備供應商免費提供的技術。
12
通用串行總線的傳輸方式
通用串行總線提供了四種傳輸方式,以適應各種設備的需要。
1、控制傳輸方式:控制傳輸是雙向傳輸,數據量通常較小,主要用來進行查詢、配置和給通用串行總線設備發送通用的命令??刂苽鬏斨饕迷谥饔嬎銠C和通用串行總線外設中端點0之間。
2、等時傳輸方式:等時傳輸提供了確定的帶寬和間隔時間。它被用于時間嚴格并具有較強容錯性的流數據傳輸,或者用于要求恒定的數據傳送率的即時應用中。例如進行語音業務傳輸時,使用等時傳輸方式是很好的選擇。
3、中斷傳輸方式:中斷方式傳送是單向的并且對于主機來說只有輸入的方式。中斷傳輸方式主要用于定時查詢設備是否有中斷數據要傳送,該傳輸方式應用在少量的、分散的、不可預測的數據傳輸。鍵盤、游戲桿和鼠標就屬于這一類型。
4、大量傳輸方式:主要應用在沒有帶寬和間隔時間要求的大量數據的傳送和接收,它要求保證傳輸。打印機和掃描儀屬于這種類型。
13
通用串行總線特點
通用串行總線最初是由英特爾與微軟公司倡導發起,其最大的特點是支持熱插拔(Hot plug)和即插即用 (Plug&Play)。當設備插入時,主機枚舉(enumerate)此設備并加載所需的驅動程序,因此使用遠比 PCI 和 ISA 總線方便。
通用串行總線速度比平行埠并聯總線(Parellel Bus,例如 EPP、LPT)與串聯埠總線(Serial Port,例如 RS-232)等傳統電腦用標準總線快上許多。原標準中 USB 1.1 的最大傳輸帶寬為 12Mbps,USB 2.0 的最大傳輸帶寬為 480Mbps。
通用串行總線的設計為非對稱式的,它由一個主機(host)控制器和若干通過 hub 設備以樹形連接的設備組成。一個控制器下最多可以有 5 級 hub,包括 Hub 在內,最多可以連接 127 個設備,而一臺計算機可以同時有多個控制器。和 SPI-SCSI 等標準不同,USB hub 不需要終結器。
通用串行總線可以連接的外設有鼠標、鍵盤、gamepad、游戲桿、掃描儀、數碼相機、打印機、硬盤和網絡部件。對數碼相機這樣的多媒體外設 USB 已經是缺省接口;由于大大簡化了與計算機的連接,USB 也逐步取代并口成為打印機的主流連接方式。2004 年已經有超過 1 億臺 USB 設備;到 2005 年顯示器和高清晰度數字視頻外設是僅有的 USB 未能染指的外設類別,因為他們需要更高的傳輸速率。
14
通用串行總線的電氣特性
詳細的 USB 的電器特性的相關內容是在 USB 規范。而在此,僅列出用戶所需注意的一些特性。如圖 1 所示,呈現了在全速設備與 PC 主機之間電氣特性的連接。除了 Vcc(+5 V)與接地線外,需要特別注意的是 D+與 D- 的差動數據信號線。首先,在連接至 USB 收發器之前必須先串接 9O~44Ω的電阻。而后根據不同的 USB 設各的傳輸速度(全速或低速),改變在設各端的提升電阻 1.5×(1±5%)kΩ的位置。這個提升電阻,也可視為設各端電阻。對于全速設備(12 Mbps),就將提升電阻接至 D+信號線與電源之間的位置。如果是低速設各(1.5 Mbps),就將提升電阻接到 D 一信號線與電源之間的位置,如圖 1.15 所示。這個電壓源的范圍為 3.0~3.6 V。但對于 USB 2。0 的高速傳輸,這個提升電阻被省略,改以自動切換的方式。最后,D+與 D- 兩條信號線在 PC 主機的根集線器或集線器端同時接上 15 kΩ的下拉電阻并連至接地端。用戶也可視這些下拉電阻為集線器端電阻。
圖 1 全速設備與 PC 主機之間電氣特性的連接圖
圖 2 低速設備與 PC 主機之間電氣特性的連接圖
整個 PC 主機與設備之間的電氣特性是如何操作的呢?首先,在設備未連接至 PC 主機的根集線器或集線器的連接端口時,D+與 D- 兩條信號線因為下拉電阻的關系,幾乎都視為接地,但是若有一個設各剛連接上時,由于提升電阻(1.5 kΩ)與下拉電阻(15 kΩ)形成了一個分壓器;因此其中有一條數據信號線(D+或 D-)的電位將被提升至電壓 Vdc 的 90%左右。此時,當集線器檢測到其中的一條數據信號線趨近 3 Vcc,而另外一條仍維持接地狀態時就可確定有一設備已連接上。PC 主機會不斷地每隔一般時間來查詢根集線器,檢查 D+與 D 一的電位變化,以了解設備的連接狀態。