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