0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在設(shè)計中擴展串行端口的入門知識

FPGA設(shè)計論壇 ? 來源:未知 ? 2023-08-18 17:25 ? 次閱讀


即使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ū)動器/接收器。
當(dāng)今的大多數(shù)設(shè)備只需要三根線:傳輸數(shù)據(jù)、接收數(shù)據(jù)和信號地。不使用硬件流控制。這簡化了硬件連接以及軟件設(shè)計。
典型的嵌入式系統(tǒng)
下面的圖 1顯示了使用 4 個串行端口的典型嵌入式系統(tǒng)。嵌入式系統(tǒng)的端口1用于引導(dǎo)加載程序和調(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 總線端的限制,沒有非??斓拇卸丝?。因此,只有當(dāng)所需的串行端口連接到不需要超強性能的應(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 連接的主處理器和小型微控制器提供兩個串行端口。

有你想看的精彩



至芯科技FPGA就業(yè)培訓(xùn)班——助你步入成功之路、8月12號西安中心開課、歡迎咨詢!
FPGA學(xué)習(xí):阻塞賦值和非阻塞賦值的可綜合性
FPGA從入門到高手





掃碼加微信邀請您加入FPGA學(xué)習(xí)交流群




歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點個在看你最好看





原文標題:在設(shè)計中擴展串行端口的入門知識

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598879
收藏 人收藏

    評論

    相關(guān)推薦

    CMOS可編程I/O端口擴展電路AiP82C55

    CMOS可編程I/O端口擴展電路AiP82C55
    的頭像 發(fā)表于 08-09 09:55 ?203次閱讀
    CMOS可編程I/O<b class='flag-5'>端口</b><b class='flag-5'>擴展</b>電路AiP82C55

    能否ESP結(jié)束之前通過串行端口停止傳入的UDP數(shù)據(jù)包的傳輸以解析下一個UDP數(shù)據(jù)包?

    丟棄ESP完成之前不需要的數(shù)據(jù)包,以便通過串行端口發(fā)送它以接收下一個數(shù)據(jù)包, 如果沒有,我必須按順序讀取所有傳入的數(shù)據(jù)包,需要的和不需要的, 而且波特率不足,主機處理器開銷大, 我能否
    發(fā)表于 07-16 06:18

    TUSB2036通用串行總線的2或3端口集線器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2036通用串行總線的2或3端口集線器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-09 10:43 ?0次下載
    TUSB2036通用<b class='flag-5'>串行</b>總線的2或3<b class='flag-5'>端口</b>集線器數(shù)據(jù)表

    TUSB2077A 7端口通用串行總線集線器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2077A 7端口通用串行總線集線器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-08 09:48 ?0次下載
    TUSB2077A 7<b class='flag-5'>端口</b>通用<b class='flag-5'>串行</b>總線集線器數(shù)據(jù)表

    TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TUSB2046x 4端口集線器,用于帶可選串行EEPROM接口的通用串行總線數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-25 09:36 ?0次下載
    TUSB2046x 4<b class='flag-5'>端口</b>集線器,用于帶可選<b class='flag-5'>串行</b>EEPROM接口的通用<b class='flag-5'>串行</b>總線數(shù)據(jù)表

    使用USBUART組件與主機PC通信,如果在串行端口打開的情況下終止固件,主機端為什么會報錯?

    我正在使用 USBUART 組件與主機 PC 通信,我一直尋找某種機制來關(guān)閉 MCU 端的串行端口,或者至少通知主機我將關(guān)閉端口。 我遇到過這樣一個問題:如果在
    發(fā)表于 06-03 08:41

    帶電壓級轉(zhuǎn)換的SDIO端口擴展器TXS02612數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《帶電壓級轉(zhuǎn)換的SDIO端口擴展器TXS02612數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-27 10:19 ?0次下載
    帶電壓級轉(zhuǎn)換的SDIO<b class='flag-5'>端口</b><b class='flag-5'>擴展</b>器TXS02612數(shù)據(jù)表

    嵌入式設(shè)計擴展串行端口入門知識

    大多數(shù)嵌入式系統(tǒng)都至少提供兩個串口。然而,有些系統(tǒng)需要更多。因此,這需要以某種方式擴展串行端口的數(shù)量。設(shè)計人員可用的一些選擇包括 USB 到串行端口
    發(fā)表于 05-03 09:30 ?169次閱讀
    <b class='flag-5'>在</b>嵌入式設(shè)計<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>

    CYBT-243053-EVAL上未檢測到串行端口的原因?

    直到今天,我一直在對評估板進行編程。 起初我編程成功了,然后 modus IDE 無法識別端口。 當(dāng)我 make fail 輸入端口號并嘗試重新編程時,它返回了無法讀取波特率的消息
    發(fā)表于 03-01 06:39

    verilog端口類型有哪三種

    Verilog ,端口類型有三種:輸入端口(input)、輸出端口(output)和雙向端口
    的頭像 發(fā)表于 02-23 10:28 ?1360次閱讀

    什么是串行端口?有哪幾種分類?

    什么是串行端口?有哪幾種分類? 串行端口是計算機中用于進行數(shù)據(jù)傳輸?shù)囊环N接口類型,通過單一的數(shù)據(jù)線逐位地傳輸數(shù)據(jù)。與串行
    的頭像 發(fā)表于 02-02 15:40 ?1531次閱讀

    求助,是否可以使用PIC監(jiān)控串行端口?

    是否可以使用 PIC 監(jiān)控串行端口?
    發(fā)表于 01-22 06:28

    請問如何使用BLE藍牙串行端口上打印數(shù)據(jù)?

    讓我學(xué)習(xí)? 以 Ce218137_ble_Proximity_RTOS 為例,我可以成功連接并查看 CySmart 的值變化。 但是我想要的是將它們打印串行端口中,然后從調(diào)諧器
    發(fā)表于 01-18 08:37

    STM32入門知識點匯總

    STM32入門知識要點總結(jié),適合初學(xué)者查看!
    發(fā)表于 10-07 06:04

    STM32Cube的Microsoft Azure IoT云軟件擴展入門

    電子發(fā)燒友網(wǎng)站提供《STM32Cube的Microsoft Azure IoT云軟件擴展入門.pdf》資料免費下載
    發(fā)表于 09-25 14:55 ?0次下載
    STM32Cube的Microsoft Azure IoT云軟件<b class='flag-5'>擴展</b><b class='flag-5'>入門</b>