串行接口是 RS-232詳細(xì)教程
出處:維庫電子市場網(wǎng) 發(fā)布于:2023-02-03 16:10:05
RS-232 標(biāo)準(zhǔn)初由 EIA(電子工業(yè)協(xié)會)于 1969 年發(fā)布,目的只有一個:將終端(數(shù)據(jù)終端設(shè)備,DTE)互連到數(shù)據(jù)通信設(shè)備(數(shù)據(jù)通信設(shè)備,DCE),如調(diào)制解調(diào)器。當(dāng) RS-232 用于將終端連接到調(diào)制解調(diào)器時,它只是連接兩個設(shè)備(調(diào)制解調(diào)器和終端)中的相應(yīng)引腳。原始標(biāo)準(zhǔn)規(guī)范 (RS-232C / CCITT V.24) 規(guī)定傳輸速度為 20 000 位/秒,電纜距離為 15 m / 50 英尺。
然而。RS-232 通常用于將終端互連到計算機(jī)或計算機(jī)互連到外圍設(shè)備。該標(biāo)準(zhǔn)從未指定此類選項,因此這種接口通常需要特別考慮(有時是特殊定制電纜,如“零調(diào)制解調(diào)器”或類似電纜)。一些應(yīng)用程序還使用具有更高數(shù)據(jù)速率的接口(例如,PC 支持高達(dá) 115200 bps)和/或更長的電纜(長達(dá) 100 米可以在較慢的距離上使用良好的電纜很好地工作)。RS232 定義了電氣和物理標(biāo)準(zhǔn)。RS232C 表示它使用 DB25 連接器(引腳分配圖)而不是 DB9 (TIA 574) 或 RJ45(RS232D 標(biāo)準(zhǔn)中提到的 8 位模塊化連接器)進(jìn)行接線。
RS-232 是一種可插拔信號接口,它使用 D 形 25 針連接器(某些實現(xiàn)也使用非標(biāo)準(zhǔn)連接器,如現(xiàn)代 PC 中的 9 針)。為了可靠運行,RS-232 接線不要超過 50 英尺。很多時候,較長的電纜將以有限的速度和有限的可靠性工作。初的 RS-232 標(biāo)準(zhǔn)只規(guī)定了 19200 bps 的數(shù)據(jù)速度,但許多現(xiàn)代 PC 中的 RS-232 端口可以更高(115200 bps 是 PC 的典型限制)。
RS-232 的基本特征是信號作為單一電壓傳輸,參考 25 針連接器上的針腳 7(9 針連接器上的針腳 5)上的公共接地。輸出信號電平通常在+12v 和-12v 之間擺動(標(biāo)準(zhǔn)指定+6..+15V 和-6..15V)。在 RS-232 中,任何高于 +3V 的東西都被認(rèn)為是邏輯 0,任何低于 -3V 的東西都被認(rèn)為是邏輯 1。+3v 和 -3v 之間的“死區(qū)”旨在吸收線路噪聲。在各種類似 RS-232 的定義中,這個死區(qū)可能會有所不同,但它們的設(shè)計始終使它們能夠與符合標(biāo)準(zhǔn)的發(fā)射器很好地配合使用(與不完全符合標(biāo)準(zhǔn)定義的發(fā)射器一起工作可能會有所不同)。例如,V.10 的定義有一個從 +0.3v 到 -0.3v 的盲區(qū)。許多為 RS-232 設(shè)計的接收器對 1 伏或更小的電壓差很敏感。實際上,通常設(shè)計 RS-232 端口,以便端口在邏輯 1 和 0 之間做出決定的電平設(shè)置在 0V 和 +3V 之間的某個位置。這樣,沒有電源的設(shè)備(0V 信號)不會導(dǎo)致不確定信號條件的問題。典型的 PC 串口就是這樣構(gòu)建的。
關(guān)于一些非標(biāo)準(zhǔn)實現(xiàn)的注意事項:有一些“RS-232 兼容”設(shè)備在其輸出端使用降低的 +/-5V 輸出信號電平。那些不符合 RS-232 規(guī)范,但實際上可以使用短電纜運行。周圍有一些 DIY 電子電路只為串行端口提供 +5V 和 0V,它們肯定不符合原始標(biāo)準(zhǔn),但實際上可以使用帶有短電纜的典型 PC 串行端口。在實踐中,“RS-232 兼容”似乎意味著產(chǎn)品制造商沒有任何辦法使該設(shè)備無法與符合 RS-232 標(biāo)準(zhǔn)的其他設(shè)備一起使用。有時,當(dāng)您將兩個“兼容 RS-232”的設(shè)備連接在一起時,
RS-232 接口中的數(shù)據(jù)分別在引腳 2 和引腳 3 上發(fā)送和接收。數(shù)據(jù)集就緒 (DSR) 是來自數(shù)據(jù)集(即調(diào)制解調(diào)器或 DSU/CSU)的指示。類似地,DTR 向數(shù)據(jù)集指示 DTE 處于打開狀態(tài)。數(shù)據(jù)載波檢測 (DCD) 指示傳輸數(shù)據(jù)的載波已開啟。引腳 4 和 5 承載 RTS 和 CTS 信號。在大多數(shù)情況下,RTS 和 CTS 在整個通信會話中一直處于開啟狀態(tài)。然而,當(dāng) DTE 連接到多點線路時,RTS 用于打開和關(guān)閉調(diào)制解調(diào)器上的載波。在多點線路上,必須同時只有一個站點在傳輸。當(dāng)一個站想要傳輸時,它會提高 RTS。調(diào)制解調(diào)器打開載波,通常等待幾毫秒以使載波穩(wěn)定,然后提高 CTS。DTE 在看到 CTS 啟動時進(jìn)行傳輸。
25 針 RS-232 連接器還具有初為時鐘線定義的針腳。時鐘信號僅用于同步通信。調(diào)制解調(diào)器或 DSU 從數(shù)據(jù)流中提取時鐘,并向 DTE 提供穩(wěn)定的時鐘信號。請注意,發(fā)送和接收時鐘信號不必相同,甚至不必采用相同的波特率。今天的大多數(shù) RS-232 實現(xiàn)不支持同步通信(例如普通 PC RS-232 端口不實現(xiàn)同步通信)。
連接 RS-232 設(shè)備時,請記住流量控制握手有三種可能性:無握手(無)、硬件流量控制 (RTS/CTS) 和 Xon/Xoff(特殊流量控制字符)。
RS-232 的歷史很長。在 1960 年代初期,一個標(biāo)準(zhǔn)委員會,即今天的電子工業(yè)協(xié)會 (EIA),為數(shù)據(jù)通信設(shè)備制定了通用接口標(biāo)準(zhǔn)。當(dāng)時,數(shù)據(jù)通信被認(rèn)為是指位于中央的大型計算機(jī)與遠(yuǎn)程計算機(jī)終端之間的數(shù)字?jǐn)?shù)據(jù)交換。這些設(shè)備通過電話語音線路連接,因此需要在兩端各安裝一個調(diào)制解調(diào)器來進(jìn)行信號轉(zhuǎn)換。人們認(rèn)為需要一個標(biāo)準(zhǔn)來實現(xiàn)不同制造商生產(chǎn)的設(shè)備的互連,從而促進(jìn)大規(guī)模生產(chǎn)和競爭的好處。基于這些想法,RS232 標(biāo)準(zhǔn)誕生了。它規(guī)定了信號電壓、信號時序、信號功能、信息交換協(xié)議和機(jī)械連接器。RS-232 規(guī)范在 1990 年代初更名為“EIA232 標(biāo)準(zhǔn)”。他們的標(biāo)準(zhǔn)仍然由 EIA/TIA 維護(hù)。歐洲也對這個領(lǐng)域進(jìn)行了標(biāo)準(zhǔn)化。ITU(國際電信聯(lián)盟-前身為CCITT)在V.24中定義了信號屬性(名稱),在V.28中定義了電氣屬性。RS232 和 V.24(或 V.28)之間幾乎沒有實際區(qū)別。
大多數(shù)RS-232端口實現(xiàn)的是UART芯片。UART 是通用異步收發(fā)器的縮寫。通用異步接收發(fā)送器 (UART) 協(xié)議通常用于在設(shè)備之間發(fā)送低速數(shù)據(jù)。使用術(shù)語異步是因為沒有必要在發(fā)送數(shù)據(jù)的同時發(fā)送時鐘信息。UART 鏈接通常為 38400 波特或更低,并且是基于字符的。因為發(fā)送器和接收器異步操作,所以不需要連接發(fā)送和接收時鐘。相反,接收器對傳入的數(shù)據(jù)流進(jìn)行過采樣(通常為 8、16 或 32 倍)并使用其中一些樣本來確定位值。傳統(tǒng)上,當(dāng) UART 移位寄存器在 RXD 引腳上接收傳入數(shù)據(jù)時,使用 16 個樣本中的中間 3 個。該位的值由這些樣本中的大多數(shù)決定;如果都不一致,則打開噪聲指示(可能是噪聲計數(shù)器)。當(dāng)一個完整的字符被輸入時,接收移位寄存器的內(nèi)容在進(jìn)入接收緩沖區(qū)之前被傳輸?shù)浇邮?FIFO。UART 發(fā)送移位寄存器在 TXDx 上發(fā)送傳出數(shù)據(jù)。
如果發(fā)送器和接收器使用相同的參數(shù)(例如奇偶校驗方案和字符長度),則兩個 UART 可以使用該系統(tǒng)進(jìn)行通信。不發(fā)送數(shù)據(jù)時,將發(fā)送連續(xù)的數(shù)據(jù)流(空閑狀態(tài))。由于起始位始終為零,因此接收器可以檢測到實際數(shù)據(jù)何時再次在線。使用異步字符的的協(xié)議是 RS-232 標(biāo)準(zhǔn),它指定了波特率、握手協(xié)議和機(jī)械/電氣細(xì)節(jié)。UART 模式寄存器中的控制位定義 UART 字符的長度和格式。按以下順序接收位:
1. 起始位
2. 5 到 8 個數(shù)據(jù)位(LSB 在前)
3. 地址/數(shù)據(jù)位(可選)
4. 校驗位(可選)
5.停止位
除了發(fā)送字符數(shù)據(jù)外,UART 還指定了一個全零中斷字符(零條件下的行比一個字符的長度長),通常用于標(biāo)記字符傳輸序列的結(jié)尾(某些協(xié)議可以使用此一些其他特殊用途).
所有標(biāo)準(zhǔn)都提供握手信號,但有些系統(tǒng)只需要三根物理線:Tx 數(shù)據(jù)、Rx 數(shù)據(jù)和地線。多年來圍繞 UART 的異步字符幀建立了許多專有標(biāo)準(zhǔn),其中一些實現(xiàn)了多點配置,其中多個站,每個站都有一個特定的地址,可以出現(xiàn)在網(wǎng)絡(luò)上。
實際上每臺計算機(jī)都包含一個 UART 來管理串行端口。UART 是一種用于串行通信的集成電路,包含一個發(fā)送器(并行到串行轉(zhuǎn)換器)和一個接收器(串行到并行轉(zhuǎn)換器),每個單獨計時。UART 的并行端通常連接到計算機(jī)的總線。當(dāng)計算機(jī)向 UART 的傳輸數(shù)據(jù)寄存器 (TDR) 寫入一個字節(jié)時,UART 將開始在串行線上傳輸它。UART 的狀態(tài)寄存器包含一個標(biāo)志位,計算機(jī)可以讀取該標(biāo)志位以查看 UART 是否準(zhǔn)備好傳輸另一個字節(jié)。另一個狀態(tài)寄存器位表示 UART 是否已從串行線路接收到一個字節(jié),在這種情況下,計算機(jī)應(yīng)從接收數(shù)據(jù)寄存器 (RDR) 中讀取它。如果在讀取前一個字節(jié)之前接收到另一個字節(jié),UART 將通過另一種狀態(tài)發(fā)出“溢出”錯誤信號。串行線路上的數(shù)據(jù)由 UART 根據(jù) UART 控制寄存器的設(shè)置進(jìn)行格式化。如果 UART 包含自己的時鐘電路或“波特率發(fā)生器”,這也可以確定發(fā)送和接收波特率。如果接收到格式不正確的數(shù)據(jù),UART 可能會發(fā)出“幀錯誤”或“奇偶校驗錯誤”信號。通常,UART 中的時鐘將以波特率(每秒比特數(shù))的 16 倍運行,以允許接收器進(jìn)行中心采樣 - 即在其分配的時間段的中間讀取每個比特。這使得 UART 更能容忍輸入數(shù)據(jù)的時鐘速率(“抖動”)的變化。80 年代后期 UART 的一個例子是 Intel 8450。它用于臺 IBM PC 計算機(jī)。在 90 年代,較新的 UART 是在片上數(shù)據(jù)緩沖空間開發(fā)的。這允許更高的傳輸速度而不會丟失數(shù)據(jù),也不需要計算機(jī)如此頻繁地關(guān)注。例如,Intel 16550 有一個 16 字節(jié)的 FIFO。UART 與外界的串行連接通常通過單獨的線路驅(qū)動器和線路接收器集成電路進(jìn)行,這些集成電路提供驅(qū)動串行線路所需的電源和電壓,并提供一些線路噪聲保護(hù)。曾經(jīng) 1488 發(fā)射器和 1489 接收器是進(jìn)行這些轉(zhuǎn)換的常用 IC。現(xiàn)在通常使用 MAX232 和許多類似的 IC,它們可以使用單個 +5V 電源工作(從 +5V 內(nèi)部產(chǎn)生所需的更高電壓)。這允許更高的傳輸速度而不會丟失數(shù)據(jù),也不需要計算機(jī)如此頻繁地關(guān)注。例如,Intel 16550 有一個 16 字節(jié)的 FIFO。UART 與外界的串行連接通常通過單獨的線路驅(qū)動器和線路接收器集成電路進(jìn)行,這些集成電路提供驅(qū)動串行線路所需的電源和電壓,并提供一些線路噪聲保護(hù)。曾經(jīng) 1488 發(fā)射器和 1489 接收器是進(jìn)行這些轉(zhuǎn)換的常用 IC?,F(xiàn)在通常使用 MAX232 和許多類似的 IC,它們可以使用單個 +5V 電源工作(從 +5V 內(nèi)部產(chǎn)生所需的更高電壓)。這允許更高的傳輸速度而不會丟失數(shù)據(jù),也不需要計算機(jī)如此頻繁地關(guān)注。例如,Intel 16550 有一個 16 字節(jié)的 FIFO。UART 與外界的串行連接通常通過單獨的線路驅(qū)動器和線路接收器集成電路進(jìn)行,這些集成電路提供驅(qū)動串行線路所需的電源和電壓,并提供一些線路噪聲保護(hù)。曾經(jīng) 1488 發(fā)射器和 1489 接收器是進(jìn)行這些轉(zhuǎn)換的常用 IC。現(xiàn)在通常使用 MAX232 和許多類似的 IC,它們可以使用單個 +5V 電源工作(從 +5V 內(nèi)部產(chǎn)生所需的更高電壓)。與外界的串行連接通常通過單獨的線路驅(qū)動器和線路接收器集成電路進(jìn)行,它們提供驅(qū)動串行線路所需的功率和電壓,并提供一些保護(hù)以防止線路上的噪聲。曾經(jīng) 1488 發(fā)射器和 1489 接收器是進(jìn)行這些轉(zhuǎn)換的常用 IC?,F(xiàn)在通常使用 MAX232 和許多類似的 IC,它們可以使用單個 +5V 電源工作(從 +5V 內(nèi)部產(chǎn)生所需的更高電壓)。與外界的串行連接通常通過單獨的線路驅(qū)動器和線路接收器集成電路進(jìn)行,它們提供驅(qū)動串行線路所需的功率和電壓,并提供一些保護(hù)以防止線路上的噪聲。曾經(jīng),1488 發(fā)射器和 1489 接收器是進(jìn)行這些轉(zhuǎn)換的常用 IC。現(xiàn)在通常使用 MAX232 和許多類似的 IC,它們可以使用單個 +5V 電源工作(從 +5V 內(nèi)部產(chǎn)生所需的更高電壓)。
RS-232 作為電氣接口有一些嚴(yán)重的缺點。首先,該接口預(yù)設(shè)了 DTE 和 DCE 之間的公共接地。這是一個合理的假設(shè),其中短電纜連接同一房間中的 DTE 和 DCE,但如果線路較長且設(shè)備之間的連接可能位于不同的電氣總線上,則可能不正確。不同設(shè)備接地電位的巨大差異可能會導(dǎo)致通信錯誤、設(shè)備損壞甚至電纜燒毀等各種情況。如果您需要在惡劣環(huán)境或遠(yuǎn)距離進(jìn)行可靠通信,則需要經(jīng)常使用 RS-232 信號光隔離器(可從工業(yè)電子供應(yīng)商處獲得)。
其次,單線上的信號不可能有效地屏蔽噪聲。通過屏蔽整條電纜可以減少外部噪聲的影響,但內(nèi)部產(chǎn)生的噪聲仍然是一個問題。隨著波特率和線路長度的增加,電纜之間的電容效應(yīng)會引入嚴(yán)重的串?dāng)_,直到達(dá)到數(shù)據(jù)本身不可讀的程度??梢酝ㄟ^使用低電容電纜和控制信號中的轉(zhuǎn)換率來減少串?dāng)_(即,使信號更圓而不是方形,從而減少串?dāng)_)。RS-232 和類似接口的標(biāo)準(zhǔn)通常將 RS-232 限制為 20kbps 或更低,線路長度為 15m(50 英尺)或更短。這些限制大多可以追溯到 20kbps 被認(rèn)為是非常高的線路速度、電纜很粗、電容很高的時代。然而,在實踐中,RS-232 遠(yuǎn)比 15m 線路上 20kbps 的傳統(tǒng)指定限制要強(qiáng)得多。通常您可以使用更長的電纜或更高的速度而不會出現(xiàn)太多問題。對于普通電纜,如果屏蔽和接地良好,電纜長度的 15m 限制可以延長到 30m 左右,如果電纜也是低電容電纜,則可以延長到 100m 左右。有趣的是,大型機(jī)和中端計算機(jī)上的大多數(shù) RS-232 端口能夠提供比其額定 19.2kbps 更高的速度。通常這些“低速”端口將在 56kbps 及以上的速度下無錯誤地運行。PC 上的 RS-232 端口通常以 115kbps 的速度運行。對于普通電纜,如果屏蔽和接地良好,電纜長度的 15m 限制可以延長到 30m 左右,如果電纜也是低電容電纜,則可以延長到 100m 左右。有趣的是,大型機(jī)和中端計算機(jī)上的大多數(shù) RS-232 端口能夠提供比其額定 19.2kbps 更高的速度。通常這些“低速”端口將在 56kbps 及以上的速度下無錯誤地運行。PC 上的 RS-232 端口通常以 115kbps 的速度運行。對于普通電纜,如果屏蔽和接地良好,電纜長度的 15m 限制可以延長到 30m 左右,如果電纜也是低電容電纜,則可以延長到 100m 左右。有趣的是,大型機(jī)和中端計算機(jī)上的大多數(shù) RS-232 端口能夠提供比其額定 19.2kbps 更高的速度。通常這些“低速”端口將在 56kbps 及以上的速度下無錯誤地運行。PC 上的 RS-232 端口通常以 115kbps 的速度運行。
上一篇:電源線接線技巧
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 簡述計算機(jī)總線的分類2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10
- I2C 總線加上拉電阻的必要性2025/8/25 16:42:09