即使USB出現(xiàn),串行端口也不會消亡。對于術(shù)語“串行端口”,我們通常指的是或多或少符合RS-232 標準或相應(yīng)的TTL 信號的硬件。
串口在軟硬件集成初期易于調(diào)試。即使在 USB 出現(xiàn)之后,許多外部設(shè)備仍然連接到串行端口。藍牙模塊、GPS模塊、醫(yī)療設(shè)備通過串口相互連接進行數(shù)據(jù)傳輸。
大多數(shù)嵌入式系統(tǒng)都至少提供兩個串口。然而,有些系統(tǒng)需要更多。因此,這需要以某種方式擴展串行端口的數(shù)量。設(shè)計人員可用的一些選擇包括 USB 到串行端口、I2C 到串行端口、地址/數(shù)據(jù)總線到串行端口(UART 控制器)。
串行端口入門
從硬件角度來看,串行端口至少有三個引腳:發(fā)送器、接收器和接地。附加引腳用于硬件流控制,可以使用也可以不使用。在典型的嵌入式系統(tǒng)中,僅使用三個引腳,并且沒有硬件流控制。
經(jīng)典的串行端口使用 DB9 連接器。這 9 個引腳的引腳如下表 1 所示。
表1:帶DB9連接器的串行端口
RS-232 信號電平中的典型電壓電平為 +12V 和“12V”?!?2V”電壓電平表示邏輯高或 1,+12V 電壓電平表示邏輯“0”或“0”。
嵌入式系統(tǒng)中的串行端口
幾乎所有嵌入式系統(tǒng)都提供兩個或多個串行端口,并且通常支持 TTL 邏輯電平。嵌入式系統(tǒng)可能需要與兩種外部設(shè)備接口,一種以TTL電平通信,另一種以RS232電平通信。
如果設(shè)備以 TTL 電平進行通信, 則嵌入式系統(tǒng)和外部設(shè)備之間的連接是直接的。但如果設(shè)備需要 RS232 電平信號,我們必須在處理器和設(shè)備之間插入 RS-232 線路驅(qū)動器/接收器。
當今的大多數(shù)設(shè)備只需要三根線:傳輸數(shù)據(jù)、接收數(shù)據(jù)和信號地。不使用硬件流控制。這簡化了硬件連接以及軟件設(shè)計。
典型的嵌入式系統(tǒng)
下面的圖 1顯示了使用 4 個串行端口的典型嵌入式系統(tǒng)。嵌入式系統(tǒng)的端口1用于引導加載程序和調(diào)試目的。該端口需要 RS232 線路驅(qū)動器,因為它將連接到臺式機和/或筆記本電腦以進行調(diào)試。通常,如果 PCB 板空間有限,則可以在板首次旋轉(zhuǎn)后移除此端口。
端口 2 用于與藍牙通信。由于藍牙設(shè)備不需要RS232電平信號,因此它已直接連接到嵌入式系統(tǒng)。
端口 3 用于連接 GPS(定位系統(tǒng))設(shè)備。該設(shè)備通常不需要 RS232 級信令,因此,它已直接連接到嵌入式系統(tǒng)。
端口 4 用于連接通用外部設(shè)備。例如,外部 RFID 掃描儀。我們假設(shè)該設(shè)備需要 RS232 電平信號。我們將在嵌入式處理器和 RFID 掃描儀之間使用 RS232 線路驅(qū)動器。
圖 1:具有 4 個串行端口的典型嵌入式系統(tǒng)。
根據(jù)應(yīng)用的不同,嵌入式系統(tǒng)可能需要 4 個以上的串行端口。其中一些需要 TTL 電平信號,其他則需要 RS232 電平信號。
擴展嵌入式系統(tǒng)中的串行端口
由于大多數(shù)嵌入式系統(tǒng)提供的串行端口數(shù)量少于所需數(shù)量,因此電路板設(shè)計人員必須找到某種方法來擴展串行端口數(shù)量。幸運的是,存在許多選項,并且選擇將取決于設(shè)計人員對硬件設(shè)計的舒適程度以及附加軟件支持的數(shù)量。
USB 轉(zhuǎn)串口。如果處理器有 USB 主機,這將是選擇。例如,設(shè)計人員可以將 4 端口 USB 集線器添加到現(xiàn)有 USB 主機。這將提供 4 個 USB 端口。USB 集線器的一個例子是 Genesys Logic 的 GL850A IC。
例如,設(shè)計人員可以將這四個端口之一用于 USB,而其他三個端口可用于擴展串行端口。USB轉(zhuǎn)串口橋可用于擴展串口。USB 轉(zhuǎn)串口橋的一個例子是 Prolific 的 PL-2303 IC。下面的圖 2 顯示了一個示例實現(xiàn)。
圖2:使用USB集線器和USB轉(zhuǎn)串口橋擴展串口
Prolific 的 PL-2303 提供 TTL 邏輯電平。如果需要 RS232 電平,則應(yīng)在 Prolific 的 PL-2303 IC 之后使用 RS-232 線路驅(qū)動器/接收器。
通常 USB 集線器以及 USB 轉(zhuǎn)串口 I 的驅(qū)動程序都是可用的,因此很少有軟件/硬件集成問題。
I2C 轉(zhuǎn)串口。在較小的微控制器中,USB 端口通常不可用,I2C 到串行端口轉(zhuǎn)換器是選擇。Philips SC16IS752IPW 是 I2C 轉(zhuǎn)串口轉(zhuǎn)換器的示例。下圖3展示了如何從一個I2C端口擴展4個串口。
圖3:使用I2C轉(zhuǎn)串口橋擴展串口
然而,這些類型的實現(xiàn)存在速度限制。由于 I2C 總線端的限制,沒有非??斓拇卸丝?。因此,只有當所需的串行端口連接到不需要超強性能的應(yīng)用程序時,此實現(xiàn)才有效。
還值得注意的是,這種實現(xiàn)將需要軟件方面的驅(qū)動程序開發(fā)。然而,總的來說,這對于小型微控制器以及一些大型微處理器實現(xiàn)來說是一個好方案。
地址/數(shù)據(jù)總線到串行端口(UART 控制器)。無論嵌入式系統(tǒng)的性質(zhì)如何,地址/數(shù)據(jù)總線到串行端口(UART 控制器)幾乎總是可用的。它幾乎總是可以在任何具有地址/數(shù)據(jù)總線支持的處理器系統(tǒng)中使用。
在缺點方面,與此處討論的其他一些替代方案相比,它提供的功能需要更多的電路板空間。然而,從好的方面來說,無論平臺是什么,它幾乎總是具有驅(qū)動程序支持。例如,Philips Semiconductor 的 SC16C652IB48 UART 控制器提供兩個串行端口。
添加一個小型微控制器。如果我們需要提供除串口之外的一些功能,我們還可以添加一個小型微控制器。設(shè)計一個小型微控制器非常有用,它可以提供許多項目中使用的許多通用功能。
您應(yīng)該找到一個連接到主處理器而不犧牲可用串行端口的微控制器。例如,使用 SPI 連接的主處理器和小型微控制器提供兩個串行端口。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19103瀏覽量
228825 -
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8102瀏覽量
145825 -
控制器
+關(guān)注
關(guān)注
112文章
16111瀏覽量
177083 -
TTL電路
+關(guān)注
關(guān)注
2文章
60瀏覽量
15056 -
RS-232接口
+關(guān)注
關(guān)注
0文章
42瀏覽量
14260
原文標題:在設(shè)計中擴展串行端口的入門知識
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論