經典的串行端口使用 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 連接的主處理器和小型微控制器提供兩個串行端口。



歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點個在看你最好看
原文標題:在設計中擴展串行端口的入門知識
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
-
FPGA
+關注
關注
1660文章
22408瀏覽量
636197
發布評論請先 登錄
MAX7310:2線接口8位I/O端口擴展器的詳細解析
MAX6967:10端口恒流LED驅動器與I/O擴展器的深度解析
MAX6966:10端口恒流LED驅動器與I/O擴展器深度解析
MAX6957:2.5V至5.5V,20端口和28端口LED顯示驅動器及I/O擴展器的深入解析
MAX6946:10端口恒流LED驅動器與I/O擴展器的技術解析
MAX6947:10端口恒流LED驅動與I/O擴展器的深度解析
解析TUSB2036:通用串行總線2或3端口集線器的卓越之選
MAX7312 2線接口、16位、輸入/輸出端口擴展器,帶有中斷和熱插入保護技術手冊
MAX7310 2線接口、8位、輸入/輸出端口擴展器,帶有復位技術手冊
MAX7301 4線接口、2.5V至5.5V、20端口或28端口輸入/輸出擴展器技術手冊
MAX7300 2線接口、2.5V至5.5V、20端口或28端口輸入/輸出擴展器技術手冊
MAX7311 2線接口、16位輸入/輸出端口擴展器,帶有中斷和熱插入保護技術手冊
MAX7318 2線接口、16位輸入/輸出端口擴展器,帶有中斷和熱插入保護技術手冊
在設計中擴展串行端口的入門知識
評論