經(jīng)典的串行端口使用 DB9 連接器。這 9 個(gè)引腳的引腳如下表 1 所示。
表1:帶DB9連接器的串行端口
RS-232 信號(hào)電平中的典型電壓電平為 +12V 和“12V”。“12V”電壓電平表示邏輯高或 1,+12V 電壓電平表示邏輯“0”或“0”。
嵌入式系統(tǒng)中的串行端口
幾乎所有嵌入式系統(tǒng)都提供兩個(gè)或多個(gè)串行端口,并且通常支持 TTL 邏輯電平。嵌入式系統(tǒng)可能需要與兩種外部設(shè)備接口,一種以TTL電平通信,另一種以RS232電平通信。
如果設(shè)備以 TTL 電平進(jìn)行通信, 則嵌入式系統(tǒng)和外部設(shè)備之間的連接是直接的。但如果設(shè)備需要 RS232 電平信號(hào),我們必須在處理器和設(shè)備之間插入 RS-232 線路驅(qū)動(dòng)器/接收器。
當(dāng)今的大多數(shù)設(shè)備只需要三根線:傳輸數(shù)據(jù)、接收數(shù)據(jù)和信號(hào)地。不使用硬件流控制。這簡化了硬件連接以及軟件設(shè)計(jì)。
典型的嵌入式系統(tǒng)
下面的圖 1顯示了使用 4 個(gè)串行端口的典型嵌入式系統(tǒng)。嵌入式系統(tǒng)的端口1用于引導(dǎo)加載程序和調(diào)試目的。該端口需要 RS232 線路驅(qū)動(dòng)器,因?yàn)樗鼘⑦B接到臺(tái)式機(jī)和/或筆記本電腦以進(jìn)行調(diào)試。通常,如果 PCB 板空間有限,則可以在板首次旋轉(zhuǎn)后移除此端口。
端口 2 用于與藍(lán)牙通信。由于藍(lán)牙設(shè)備不需要RS232電平信號(hào),因此它已直接連接到嵌入式系統(tǒng)。
端口 3 用于連接 GPS(定位系統(tǒng))設(shè)備。該設(shè)備通常不需要 RS232 級信令,因此,它已直接連接到嵌入式系統(tǒng)。
端口 4 用于連接通用外部設(shè)備。例如,外部 RFID 掃描儀。我們假設(shè)該設(shè)備需要 RS232 電平信號(hào)。我們將在嵌入式處理器和 RFID 掃描儀之間使用 RS232 線路驅(qū)動(dòng)器。
圖 1:具有 4 個(gè)串行端口的典型嵌入式系統(tǒng)。
根據(jù)應(yīng)用的不同,嵌入式系統(tǒng)可能需要 4 個(gè)以上的串行端口。其中一些需要 TTL 電平信號(hào),其他則需要 RS232 電平信號(hào)。
擴(kuò)展嵌入式系統(tǒng)中的串行端口
由于大多數(shù)嵌入式系統(tǒng)提供的串行端口數(shù)量少于所需數(shù)量,因此電路板設(shè)計(jì)人員必須找到某種方法來擴(kuò)展串行端口數(shù)量。幸運(yùn)的是,存在許多選項(xiàng),并且選擇將取決于設(shè)計(jì)人員對硬件設(shè)計(jì)的舒適程度以及附加軟件支持的數(shù)量。
USB 轉(zhuǎn)串口。如果處理器有 USB 主機(jī),這將是選擇。例如,設(shè)計(jì)人員可以將 4 端口 USB 集線器添加到現(xiàn)有 USB 主機(jī)。這將提供 4 個(gè) USB 端口。USB 集線器的一個(gè)例子是 Genesys Logic 的 GL850A IC。
例如,設(shè)計(jì)人員可以將這四個(gè)端口之一用于 USB,而其他三個(gè)端口可用于擴(kuò)展串行端口。USB轉(zhuǎn)串口橋可用于擴(kuò)展串口。USB 轉(zhuǎn)串口橋的一個(gè)例子是 Prolific 的 PL-2303 IC。下面的圖 2 顯示了一個(gè)示例實(shí)現(xiàn)。
圖2:使用USB集線器和USB轉(zhuǎn)串口橋擴(kuò)展串口
Prolific 的 PL-2303 提供 TTL 邏輯電平。如果需要 RS232 電平,則應(yīng)在 Prolific 的 PL-2303 IC 之后使用 RS-232 線路驅(qū)動(dòng)器/接收器。
通常 USB 集線器以及 USB 轉(zhuǎn)串口 I 的驅(qū)動(dòng)程序都是可用的,因此很少有軟件/硬件集成問題。
I2C 轉(zhuǎn)串口。在較小的微控制器中,USB 端口通常不可用,I2C 到串行端口轉(zhuǎn)換器是選擇。Philips SC16IS752IPW 是 I2C 轉(zhuǎn)串口轉(zhuǎn)換器的示例。下圖3展示了如何從一個(gè)I2C端口擴(kuò)展4個(gè)串口。
圖3:使用I2C轉(zhuǎn)串口橋擴(kuò)展串口
然而,這些類型的實(shí)現(xiàn)存在速度限制。由于 I2C 總線端的限制,沒有非常快的串行端口。因此,只有當(dāng)所需的串行端口連接到不需要超強(qiáng)性能的應(yīng)用程序時(shí),此實(shí)現(xiàn)才有效。
還值得注意的是,這種實(shí)現(xiàn)將需要軟件方面的驅(qū)動(dòng)程序開發(fā)。然而,總的來說,這對于小型微控制器以及一些大型微處理器實(shí)現(xiàn)來說是一個(gè)好方案。
地址/數(shù)據(jù)總線到串行端口(UART 控制器)。無論嵌入式系統(tǒng)的性質(zhì)如何,地址/數(shù)據(jù)總線到串行端口(UART 控制器)幾乎總是可用的。它幾乎總是可以在任何具有地址/數(shù)據(jù)總線支持的處理器系統(tǒng)中使用。
在缺點(diǎn)方面,與此處討論的其他一些替代方案相比,它提供的功能需要更多的電路板空間。然而,從好的方面來說,無論平臺(tái)是什么,它幾乎總是具有驅(qū)動(dòng)程序支持。例如,Philips Semiconductor 的 SC16C652IB48 UART 控制器提供兩個(gè)串行端口。
添加一個(gè)小型微控制器。如果我們需要提供除串口之外的一些功能,我們還可以添加一個(gè)小型微控制器。設(shè)計(jì)一個(gè)小型微控制器非常有用,它可以提供許多項(xiàng)目中使用的許多通用功能。
您應(yīng)該找到一個(gè)連接到主處理器而不犧牲可用串行端口的微控制器。例如,使用 SPI 連接的主處理器和小型微控制器提供兩個(gè)串行端口。
歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點(diǎn)個(gè)在看你最好看
原文標(biāo)題:在設(shè)計(jì)中擴(kuò)展串行端口的入門知識(shí)
文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1626文章
21678瀏覽量
602043
發(fā)布評論請先 登錄
相關(guān)推薦
評論