即使USB出現,串行端口也不會消亡。對于術語“串行端口”,我們通常指的是或多或少符合RS-232 標準或相應的TTL 信號的硬件。
串口在軟硬件集成初期易于調試。即使在 USB 出現之后,許多外部設備仍然連接到串行端口。藍牙模塊、GPS模塊、醫療設備通過串口相互連接進行數據傳輸。
大多數嵌入式系統都至少提供兩個串口。然而,有些系統需要更多。因此,這需要以某種方式擴展串行端口的數量。設計人員可用的一些選擇包括 USB 到串行端口、I2C 到串行端口、地址/數據總線到串行端口(UART 控制器)。
串行端口入門
從硬件角度來看,串行端口至少有三個引腳:發送器、接收器和接地。附加引腳用于硬件流控制,可以使用也可以不使用。在典型的嵌入式系統中,僅使用三個引腳,并且沒有硬件流控制。
經典的串行端口使用 DB9 連接器。這 9 個引腳的引腳如下表 1 所示。
表1:帶DB9連接器的串行端口
RS-232 信號電平中的典型電壓電平為 +12V 和“12V”。“12V”電壓電平表示邏輯高或 1,+12V 電壓電平表示邏輯“0”或“0”。
嵌入式系統中的串行端口
幾乎所有嵌入式系統都提供兩個或多個串行端口,并且通常支持 TTL 邏輯電平。嵌入式系統可能需要與兩種外部設備接口,一種以TTL電平通信,另一種以RS232電平通信。
如果設備以 TTL 電平進行通信, 則嵌入式系統和外部設備之間的連接是直接的。但如果設備需要 RS232 電平信號,我們必須在處理器和設備之間插入 RS-232 線路驅動器/接收器。
當今的大多數設備只需要三根線:傳輸數據、接收數據和信號地。不使用硬件流控制。這簡化了硬件連接以及軟件設計。
典型的嵌入式系統
下面的圖 1顯示了使用 4 個串行端口的典型嵌入式系統。嵌入式系統的端口1用于引導加載程序和調試目的。該端口需要 RS232 線路驅動器,因為它將連接到臺式機和/或筆記本電腦以進行調試。通常,如果 PCB 板空間有限,則可以在板首次旋轉后移除此端口。
端口 2 用于與藍牙通信。由于藍牙設備不需要RS232電平信號,因此它已直接連接到嵌入式系統。
端口 3 用于連接 GPS(定位系統)設備。該設備通常不需要 RS232 級信令,因此,它已直接連接到嵌入式系統。
端口 4 用于連接通用外部設備。例如,外部 RFID 掃描儀。我們假設該設備需要 RS232 電平信號。我們將在嵌入式處理器和 RFID 掃描儀之間使用 RS232 線路驅動器。
圖 1:具有 4 個串行端口的典型嵌入式系統。
根據應用的不同,嵌入式系統可能需要 4 個以上的串行端口。其中一些需要 TTL 電平信號,其他則需要 RS232 電平信號。
擴展嵌入式系統中的串行端口
由于大多數嵌入式系統提供的串行端口數量少于所需數量,因此電路板設計人員必須找到某種方法來擴展串行端口數量。幸運的是,存在許多選項,并且選擇將取決于設計人員對硬件設計的舒適程度以及附加軟件支持的數量。
USB 轉串口。如果處理器有 USB 主機,這將是選擇。例如,設計人員可以將 4 端口 USB 集線器添加到現有 USB 主機。這將提供 4 個 USB 端口。USB 集線器的一個例子是 Genesys Logic 的 GL850A IC。
例如,設計人員可以將這四個端口之一用于 USB,而其他三個端口可用于擴展串行端口。USB轉串口橋可用于擴展串口。USB 轉串口橋的一個例子是 Prolific 的 PL-2303 IC。下面的圖 2 顯示了一個示例實現。
圖2:使用USB集線器和USB轉串口橋擴展串口
Prolific 的 PL-2303 提供 TTL 邏輯電平。如果需要 RS232 電平,則應在 Prolific 的 PL-2303 IC 之后使用 RS-232 線路驅動器/接收器。
通常 USB 集線器以及 USB 轉串口 I 的驅動程序都是可用的,因此很少有軟件/硬件集成問題。
I2C 轉串口。在較小的微控制器中,USB 端口通常不可用,I2C 到串行端口轉換器是選擇。Philips SC16IS752IPW 是 I2C 轉串口轉換器的示例。下圖3展示了如何從一個I2C端口擴展4個串口。
圖3:使用I2C轉串口橋擴展串口
然而,這些類型的實現存在速度限制。由于 I2C 總線端的限制,沒有非常快的串行端口。因此,只有當所需的串行端口連接到不需要超強性能的應用程序時,此實現才有效。
還值得注意的是,這種實現將需要軟件方面的驅動程序開發。然而,總的來說,這對于小型微控制器以及一些大型微處理器實現來說是一個好方案。
地址/數據總線到串行端口(UART 控制器)。無論嵌入式系統的性質如何,地址/數據總線到串行端口(UART 控制器)幾乎總是可用的。它幾乎總是可以在任何具有地址/數據總線支持的處理器系統中使用。
在缺點方面,與此處討論的其他一些替代方案相比,它提供的功能需要更多的電路板空間。然而,從好的方面來說,無論平臺是什么,它幾乎總是具有驅動程序支持。例如,Philips Semiconductor 的 SC16C652IB48 UART 控制器提供兩個串行端口。
添加一個小型微控制器。如果我們需要提供除串口之外的一些功能,我們還可以添加一個小型微控制器。設計一個小型微控制器非常有用,它可以提供許多項目中使用的許多通用功能。
您應該找到一個連接到主處理器而不犧牲可用串行端口的微控制器。例如,使用 SPI 連接的主處理器和小型微控制器提供兩個串行端口。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19440瀏覽量
231321 -
驅動器
+關注
關注
53文章
8290瀏覽量
147154 -
控制器
+關注
關注
112文章
16468瀏覽量
179639 -
TTL電路
+關注
關注
2文章
65瀏覽量
15143 -
RS-232接口
+關注
關注
0文章
43瀏覽量
14366
原文標題:在設計中擴展串行端口的入門知識
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
串行通信基礎知識與UART驅動構件使用方法
串行端口監控精靈是什么
端口擴展器降低折疊手機的成本及尺寸
串行端口完成COM端口和USB虛擬及嵌入式系統端口的應用第二版應用指南
![<b class='flag-5'>串行</b><b class='flag-5'>端口</b>完成COM<b class='flag-5'>端口</b>和USB虛擬及嵌入式系統<b class='flag-5'>端口</b>的應用第二版應用指南](https://file.elecfans.com/web1/M00/81/BF/pIYBAFwvEV2ADXAhAAB0ge1UqBU865.png)
使用擴展芯片實現端口擴展的實例資料合集免費下載
![使用<b class='flag-5'>擴展</b>芯片實現<b class='flag-5'>端口</b><b class='flag-5'>擴展</b>的實例資料合集免費下載](https://file.elecfans.com/web1/M00/9E/A9/pIYBAF05XySADDwYAAHnNu66nXw017.png)
使用MxTNI的串行端口
![使用MxTNI的<b class='flag-5'>串行</b><b class='flag-5'>端口</b>](https://file.elecfans.com//web2/M00/94/B5/poYBAGP_D6CAJhG9AABK1-mH5-k483.gif)
串行端口擴展器-帶有PIC MCU的額外SPI和UART端口
![<b class='flag-5'>串行</b><b class='flag-5'>端口</b><b class='flag-5'>擴展</b>器-帶有PIC MCU的額外SPI和UART<b class='flag-5'>端口</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在設計中擴展串行端口的入門知識
在嵌入式設計中擴展串行端口的入門知識
![<b class='flag-5'>在</b>嵌入式設計<b class='flag-5'>中</b><b class='flag-5'>擴展</b><b class='flag-5'>串行</b><b class='flag-5'>端口</b>的<b class='flag-5'>入門</b><b class='flag-5'>知識</b>](https://file1.elecfans.com/web2/M00/D2/45/wKgaomYjGnmAQF-3AADqKe7Rp-Y977.png)
評論