串口的工作原理
引言
串行端口一直被視作計算機最基礎的外部連接設備之一,在過去的20多年時間里,它一直是大多數計算機不可或缺的組成部分。雖然許多較新的系統在采用USB連接設備后,已經徹底放棄了串行端口,但大多數調制解調器都仍然在使用,一些打印機、掌上型電腦 和數碼相機也是如此。不過,計算機所帶的串行端口一般都不會超過兩個。
PC背面的兩個串行端口 |
從本質上說,串行端口可提供標準的連接器和協議,允許我們將調制解調器等設備連接到計算機上。
串行端口怎樣傳輸數據
當今人們使用的所有計算機操作系統都支持串行端口,因為其“入駐”計算機已有數十年的歷史了。而并行端口的發明要晚得多,速度也比串行端口快得多。USB端口的歷史只有數年,它很可能在接下來的幾年內全面取代串行端口和并行端口。
之所以取名為“串行”端口,是因為這種端口會將數據“串行化”。更具體地說,它一次獲取一個字節的數據并傳輸該字節的8位。這樣做的優勢在于,串行端口只需要一條線路就能傳輸8個位,而并行端口則需要8條。相應的劣勢在于,其傳輸數據的用時是擁有八條線路時的8倍。此外,串行端口還可以降低線纜成本,使線纜更加小巧。
在發送數據的每個字節之前,串行端口會發送一個開始位,這是一個值為0的單個位。在發送完數據的每個字節之后,它將發送一個停止位,表示該字節已傳輸完成。此外,它還可以發送奇偶校驗位。
串行端口也稱為通信(COM)端口,是一種雙向端口。在雙向通信中,每個設備都可以接收數據和傳輸數據。串行設備使用不同的針腳來接收和傳輸數據——如果使用相同的針腳,通信將限制為半雙工模式,這表示信息一次只能在一個方向上傳播。使用不同的針腳可以實現全雙工通信,在這種模式中,信息可以同時在兩個方向上傳播。
這個40針的雙列直插封裝(DIP)芯片是美國國家半導體公司NS16550D UART芯片的一種型號。 |
串行端口依靠特殊的控制器芯片通用異步接收/傳輸器(UART)來實現自己的功能。UART芯片從計算機的系統總線獲得并行輸出,然后將其轉換成串行形式,以便通過串行端口傳輸。為了提高效率,大多數UART芯片都內置有16到64千字節的緩沖區。利用這個緩沖區,芯片便可以在處理要流向串行端口的數據的同時,緩存從系統總線流入的數據。大多數標準串行端口的最大傳輸速率為115Kbps(千比特每秒),增強型串行端口(ESP)和超級增強型串行端口(Super ESP)等高速串行端口可以實現460Kbps的數據傳輸速率。
串行連接設備
適用于串行端口的外部連接器可以是9針腳的,也可以是25針腳的。最初,串行端口的主要用途是將調制解調器連接到計算機上。針腳的功能分配反映了這一點。下面,讓我們詳細了解一下在連接調制解調器時,每個針腳都有何作用。
9針和25針串行連接器特寫 |
9針連接器:
- 載波檢測——確定調制解調器是否連接到了可用的電話線路。
- 接收數據——計算機接收調制解調器發送過來的信息。
- 傳輸數據——計算機向調制解調器發送信息。
- 數據終端就緒——計算機通知調制解調器自己已準備好通話。
- 信號地線——針腳接地。
- 數據集就緒——調制解調器通知計算機自己已準備好通話。
- 請求發送——計算機詢問調制解調器是否可以發送信息。
- 同意發送——調制解調器通知計算機可以發送信息。
- 振鈴指示器——發起呼叫后,計算機指示檢測到振鈴的信號(發送自調制解調器)已收到。
25針連接器:
- 未使用
- 傳輸數據——計算機向調制解調器發送信息。
- 接收數據——計算機接收調制解調器發送過來的信息。
- 請求發送——計算機詢問調制解調器是否可以發送信息。
- 同意發送——調制解調器通知計算機可以發送信息。
- 數據集就緒——調制解調器通知計算機自己已準備好通話。
- 信號地線——針腳接地。
- 已接收線路信號檢測器——確定調制解調器是否連接到了可用的電話線路。
- 未使用:傳輸當前回路返回值(+)
- 未使用
- 未使用:傳輸當前回路數據(-)
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用:接收當前回路數據(+)
- 未使用
- 數據終端就緒——計算機通知調制解調器自己已準備好通話。
- 未使用
- 振鈴指示器——發起呼叫后,計算機指示檢測到振鈴的信號(發送自調制解調器)已收到。
- 未使用
- 未使用
- 未使用:接收當前回路返回值(-)
通過針腳發送的電壓可以是以下兩種狀態之一:開或關。開(二進制值“1”)表示該針腳正在傳輸-3到 -25伏之間的信號,而關(二進制值“0”)表示該針腳正在傳輸+3到+25伏之間的信號。
流控制
串行通信一個很重要的方面就是流控制的概念。利用流控制,一個設備便能夠通知另一個設備暫時停止發送數據。啟用流控制需要用到命令“請求發送”(RTS)、“同意發送”(CTS)、“數據端就緒”(DTR) 和“數據集就緒”(DSR)。
雙串行端口插卡 |
讓我們通過示例看看流控制的工作方式:您有一個以56Kbps的速度進行通信的調制解調器。計算機和調制解調器之間的串行連接以115Kbps的速度傳輸數據,這是前一個速度的兩倍多。這表示,調制解調器從計算機獲得的數據多于它能夠通過電話線路傳輸的數據。即使調制解調器有128K的緩沖區來存儲數據,它仍將很快耗盡緩沖區空間,以至于無法妥善處理流入的所有數據。
借助流來進行控制,調制解調器可以在來自計算機的數據流耗盡自己的緩沖區之前,讓該數據流停止。計算機將持續在“請求發送”針腳上發送信號,同時檢查“同意發送”針腳上的信號。如果沒有“同意發送”響應,則計算機停止發送數據,直至收到“同意發送”信號才恢復發送。這將使得調制解調器能夠保持數據流的平穩流動。
評論
查看更多