隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯的重要.這里所說(shuō)的通信是只計(jì)算機(jī)與外界的信息交換.因此,通信既包括計(jì)算機(jī)與外部設(shè)備之間,也包括計(jì)算機(jī)和計(jì)算機(jī)之間的信息交換.由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸.對(duì)于那些與計(jì)算機(jī)相距不遠(yuǎn)的人-機(jī)交換設(shè)備和串行存儲(chǔ)的外部設(shè)備如終端、打印機(jī)、邏輯分析儀、磁盤等,采用串行方式交換數(shù)據(jù)也很普遍.在實(shí)時(shí)控制和管理方面,采用多臺(tái)微機(jī)處理機(jī)組成分級(jí)分布控制系統(tǒng)中,各 CPU 之間的通信一般都是串行方式.所以串行接口是微機(jī)應(yīng)用系統(tǒng)常用的接口. <BR> 許多外設(shè)和計(jì)算機(jī)按串行方式進(jìn)行通信,這里所說(shuō)的串行方式,是指外設(shè)與接口電路之間的信息傳送方式,實(shí)際上, CPU 與接口之間仍按并行方式工作. <BR> 1 串行通信的概念 <BR> <BR> 所謂 " 串行通信 " 是指外設(shè)和計(jì)算機(jī)間使用一根數(shù)據(jù)信號(hào)線 ( 另外需要地線 , 可能還需要控制線 ), 數(shù)據(jù)在一根數(shù)據(jù)信號(hào)線上一位一位地進(jìn)行傳輸,每一位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度.如圖 1-1 所示.這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,當(dāng)然,其傳輸速度比并行傳輸慢. <BR> 由于 CPU 與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有 " 接收移位寄存器 " (串→并)和 " 發(fā)送移位寄存器 " (并→串). 在數(shù)據(jù)輸入過(guò)程中,數(shù)據(jù) 1 位 1 位地從外設(shè)進(jìn)入接口的 " 接收移位寄存器 " ,當(dāng) " 接收移位寄存器 " 中已接收完 1 個(gè)字符的各位后,數(shù)據(jù)就從 " 接收移位寄存器 " 進(jìn)入 " 數(shù)據(jù)輸入寄存器 " . CPU 從 " 數(shù)據(jù)輸入寄存器 " 中讀取接收到的字符.(并行讀取,即 D7~D0 同時(shí)被讀至累加器中). " 接收移位寄存器 " 的移位速度由 " 接收時(shí)鐘 " 確定. <BR> 在數(shù)據(jù)輸出過(guò)程中, CPU 把要輸出的字符(并行地)送入 " 數(shù)據(jù)輸出寄存器 " , " 數(shù)據(jù)輸出寄存器 " 的內(nèi)容傳輸?shù)?" 發(fā)送移位寄存器 " ,然后由 " 發(fā)送移位寄存器 " 移位,把數(shù)據(jù) 1 位 1 位地送到外設(shè). " 發(fā)送移位寄存器 " 的移位速度由 " 發(fā)送時(shí)鐘 " 確定. <BR> 接口中的 " 控制寄存器 " 用來(lái)容納 CPU 送給此接口的各種控制信息,這些控制信息決定接口的工作方式. <BR> " 狀態(tài)寄存器 " 的各位稱為 " 狀態(tài)位 " ,每一個(gè)狀態(tài)位都可以用來(lái)指示數(shù)據(jù)傳輸過(guò)程中的狀態(tài)或某種錯(cuò)誤.例如,用狀態(tài)寄存器的 D5 位為 "1" 表示 " 數(shù)據(jù)輸出寄存器 " 空,用 D0 位表示 " 數(shù)據(jù)輸入寄存器滿 " ,用 D2 位表示 " 奇偶檢驗(yàn)錯(cuò) " 等. <BR> 能夠完成上述 " 串 <- -> 并 " 轉(zhuǎn)換功能的電路,通常稱為 " 通用異步收發(fā)器 " ( UART : Universal Asynchronous Receiver and Transmitter ) , 典型的芯片有: Intel 8250/8251,16550 . <BR>
|