欧美成人黄色网_欧美精品久久_国产在线一区二区三区_免费视频久久久_亚洲二区视频_欧美大片免费高清观看

產品分類

當前位置: 首頁 > 工業電子產品 > 半導體產品 > 微控制器MCU

類型分類:
科普知識
數據分類:
微控制器MCU

通過應用外部器件解決微控制器 I/O 擴展問題

發布日期:2022-04-22 點擊率:53

設計人員經常面臨兩個微控制器 I/O 問題。第一個問題是,最適合應用的微控制器不具備合適的 I/O 能力組合。第二個問題是,已推出的產品線需要增加 I/O。

出現第一個問題時,開發人員經常不得不購買更昂貴且功能更強的微控制器。而面對第二個問題時,切換到新的微控制器以及隨之而來的軟件移植所需的成本及時間可能會多得令人難以承受。

要同時解決這兩個問題,一種潛在的解決方案是使用外部 I/O 擴展器件,這種器件通常可連接到微控制器的 SPI 或 I2C 總線。這樣就能避免在引腳數以及可能的性能和封裝方面,對微控制器做出過多的規定。同時,這種方法還能讓產品設計具有前瞻性,以應對功能蠕變、目標市場擴張、客戶功能請求和微控制器選擇不當(這種情況時有發生)等問題。

本文將討論典型的微控制器 I/O 要求,并介紹一些合適的外部擴展器件,然后說明如何使用這些片外資源來增加通用輸入和輸出、存儲器存儲、脈沖寬度調制 (PWM) 甚至看門狗定時器功能。

選擇擴展接口

微控制器配有多個不同的片載外設接口,可用于與外部設備通信。根據微控制器的不同,這些接口可能包括(僅列舉幾例):

  • 串行外設接口 (SPI)

  • 內部集成電路 (I2C) 總線

  • 通用串行總線 (USB)

  • 通用異步接收器/發送器 (UART)

  • 控制器區域網絡 (CAN)

  • Wi-Fi

其中最適合與外部擴展設備通信的接口是 I2C 和 SPI。

I2C 是一種兩線總線,傳統的運行速率為 100 千位/秒 (kb/s) 或 400 kb/s,但也有一些可支持 1 Mb/s 或更快速度的高速設備。其中一條線是專用的時鐘引腳,而另一條線則用于主設備和從設備之間的雙向通信。通常情況下,微控制器充當主設備,外部設備充當從設備。從設備可使用 7 位或 10 位尋址方案進行尋址。

SPI 是一種三線總線接口,運行速率介于 1 Mb/s和 12 Mb/s 之間。SPI 總線配有專用的主設備輸出數據線、從設備輸出數據線和時鐘。微控制器同樣配置為主設備,使用“從設備選擇”線與從設備通信。每個與微控制器連接的從設備都需要一個專用輸出引腳,用于選擇它進行通信。不難想象,如果開發人員有很多想要連接的外部設備,他們可能很快就會用盡 I/O 線,然后選擇從設備。

例如,如果開發人員使用 STMicroelectronics 的 STM32L011D4P7,可供使用的 I/O 線共有 11 條(圖 1)。僅 SPI 數據和時鐘就需要三條 I/O 線,剩下的八條線除了與從設備通信,還需要執行系統所需的所有其他功能。雖然這完全可以滿足許多應用的要求,但某些時候,設計人員仍可能需要對 I/O 進行擴展。

STMicroelectro<em></em>nics 的 STM32L011D4P7 Arm? Cortex?-M7 處理器圖片

圖 1:STM32L011D4P7 是一款 Arm? Cortex?-M0+ 處理器,其 I/O 引腳數限制為 11 個。(圖片來源:STMicroelectronics)

一般情況下,經驗法則非常簡單:添加以下功能時使用 I2C 總線:

  • I/O

  • PWM

  • EEPROM

  • 看門狗定時器

SPI 總線應該用于增加諸如為 SD 卡提供高速存儲器訪問等功能。

擴展通用 I/O

有相當多的集成電路可支持通過 I2C 接口來擴展輸入和輸出。以下是一些有趣的示例:

  • Texas Instruments 的 TCA9534PWR

  • NXP Semiconductors 的 PCA8574

  • Semtech Corporation 的 SX1520I087TRT

PCA8574 是一款特別有趣的器件,因為它只包含一個用于執行輸入和輸出的寄存器。單個寄存器極大地精簡了配置器件以及讀寫引腳所需的軟件數量(圖 2)。微控制器通過 I2C 與 PCA8574 通信,并根據 A0 至 A2 引腳的配置方式對此器件進行尋址。這一特性增加了設計的靈活性,因此開發人員可以為 PCA8574 選擇從設備地址,并且可在一個設計中使用多個從設備地址。

NXP 的 PCA8574 8 位 I/O I2C 擴展器示意圖

圖 2:NXP 的 PCA8574 是一款準雙向 8 位 I/O I2C 擴展器。該擴展器只有一個 I2C 寄存器可供讀寫,從而在其引腳上執行 I/O 功能,因此是一款非常簡單、精巧的器件。(圖片來源:NXP Semiconductors)

默認情況下,P0 至 P7 在上電時配置為輸入。讀取單個內部寄存器時將為器件上的各個引腳指定狀態,無論該引腳配置為輸入還是輸出。PCA8574 允許引腳同時用作輸入和輸出,因此對寄存器的寫入也會設置相應的位輸出。

輸出驅動由微弱的內部電阻器上拉,該電阻器很容易因輸入值而過載。如果任何一個輸入狀態發生變化,INT 引腳將切換為低電平,讓微控制器知道輸入狀態發生了變化。然后,微控制器可以調用 I2C 來讀取新值。

擴展 PWM

PWM 擴展器是一款非常有用的擴展器件。該器件在驅動 LED 時特別有用。當微控制器未執行任何操作時,可將其設為休眠模式,此時 PWM 擴展器可負責驅動 LED 狀態。

關于如何使用 PWM 擴展器的完美范例經常出現在 RGB 按鈕電路中,該電路可使用 E-Switch 的 PV6F240SSG RGB 按鈕或 Schurter Electronic Components 的 3-101-399 SPST RGB 按鈕(圖 3)。

Schurter 的 RGB 按鈕圖片

圖 3:Schurter 的 RGB 按鈕在按鈕周圍配有紅綠藍 LED,可允許開發人員創建亮色圖案。這些類型的器件非常適合由 PWM 擴展芯片進行驅動。(圖片來源:Schurter)

Schurter 的 RGB 按鈕在 SPST 按鈕周圍配有紅綠藍 LED,可允許開發人員創建亮色圖案。這些類型的應用非常適合 PWM 擴展芯片。

Maxim Integrated 的 MAX7315 便是一款適用于 I2C 接口的 PWM 擴展芯片。MAX7315 配有 8 個 PWM 端口,并具有 LED 強度控制功能,這樣可以輕松涵蓋驅動 RGB 開關所需的 3 個通道,使得單個器件能夠驅動若干開關和一些獨立的 LED。此外,MAX7315 還有第 9 個端口,可以用作轉換檢測中斷或通用輸出。

MAX7315 I2C 接口比 NXP 的 PCA8574 稍微復雜一些,因為它包含多個寄存器。因此,開發人員必須尋址從設備,提供其有興趣讀取或寫入的存儲器地址,然后執行寫入或讀取。MAX7315 的存儲器映射如圖 4 所示。

寄存器地址代碼(十六進制)自動增量地址Rad 輸入端口0x000x00(無變化)閃爍相位 0 輸出0x010x01(無變化)端口配置0x030x03(無變化)閃爍相位 1 輸出0x090x09(無變化)主設備,O8 強度0x0E0x0E(無變化)配置0x0F0x0F(無變化)輸出強度 P1、P00x100x11輸出強度 P3、P20x110x12輸出強度 P5、P40x120x13輸出強度 P7、P60x130x10

圖 4:MAX7315 PWM 控制器配有 8 個輸出端口,其中包括 LED 強度功能。該器件的寄存器映射非常簡單,允許輕松訪問高級 PWM 功能。(圖片來源:Maxim Integrated)

MAX7315 的寄存器映射非常簡單,允許輕松訪問高級 PWM 功能。

配有 WDT、EEPROM 和 PWM 的組合型擴展器

如圖所示,I2C 總線 I/O 擴展器在用作獨立器件時可能非常強大。也就是說,這種擴展器只包含諸如 I/O 或 PWM 等特定功能。例如 Cypress Semiconductor 的 CY8C9520A 多端口 I/O 擴展器,這類擴展器在一個 IC 封裝中包含了多個外設擴展。CY8C9520A 共有三種擴展形式:20 位、40 位或 60 位擴展。然后可將這些引腳配置為輸入、輸出或 PWM(圖 5)。

Cypress Semico<em></em>nductor 的 CY8C9520 示意圖

圖 5:Cypress Semiconductor 的 CY8C9520 是一款配有 EEPROM 的 20 位、40 位或 60 位 I/O 擴展器。該擴展器允許將擴展引腳配置為輸入、輸出或 PWM。(圖片來源:Cypress Semiconductor)

除 I/O 擴展外,CY8C9520 還配有 EEPROM,可用于存儲重要的應用設置(如序列號)以及其他重要的配置參數。

仔細查看圖 5,您會看到 GPort 2 上的 WD6 引腳。該引腳是一個看門狗定時器輸出引腳,可在微控制器無法通信時用于復位微控制器,以及操控 CY8C9529 看門狗。看門狗設置是完全可配置的,并且可用于為應用程序代碼增加額外的穩健性。

擴展微控制器功能的技巧和訣竅

目前有許多技術可幫助擴展微控制器的功能。以下是一些有幫助的技巧和訣竅:

  • 使用 I2C 連接外部設備。該接口只需兩個引腳,并且支持多個從設備。

  • 在將某個零件設計成硬件之前,先購買一個開發板,或將芯片焊接到擴展板上,測試其能否滿足您的系統需求。

  • 使用 I2C 總線工具與擴展器件連接,并了解其工作情況,這樣可大幅提升軟件的開發速度。

  • 在軟件開發過程中,使用總線分析器監視與外部設備的通信,最大限度縮短調試時間。

  • 如果可能,選擇配有外部看門狗定時器的器件,這可以作為一種工具,為系統設計增加穩健性。

  • 在連接片外存儲器獲取數據(非配置數據)時,請使用 SPI 等高速接口。

  • 如果設備返回否定應答 (NAK) 信號,或者總線受到拖累,請確保微控制器的 I2C 驅動程序可以處理此類問題。對于這些驅動程序來說,在收到意外響應時忽略錯誤并進入無限循環的情況并不罕見。

結論

當設計進展到微控制器無法繼續提供更多 I/O 時,開發人員無需將現有的設計推倒重來。相反,他們可以使用外設芯片,以便為系統增加額外的功能。

 

下一篇: PLC、DCS、FCS三大控

上一篇: 使用 LoRaWAN 系統級

推薦產品

更多
主站蜘蛛池模板: 成人精品一区日本无码网 | 美女免费污网站在线播放 | 99久久精品日本一区二区免费 | 精品69久久久久久99 | 久久综合精品不卡一区二区 | 欧美黑人又粗又大久久久 | 国产日韩欧美不卡在线二区 | 国产三级无码内射在线看 | 国产大片黄在线看免费 | 两个人看的www高清免费观看 | 狼友av永久网站免费观看孕交 | 精品动漫一区二区 | 四房播播网站 | 91在线欧美精品观看 | 久久精品国产999久久久 | 亚洲熟女乱色综合亚洲av | 秋霞午夜限制土鳖免费观看 | 老司机免费视频高清在线 | 男人的天堂av高清在线 | 欧洲vat一区二区三区 | 色视频综合无码一区二区三区 | 成人免费大片a毛片 | 精品国产乱码久久久久久婷婷 | 特级淫片aaaa毛片aa视频 | 97色伦图片97综合影院 | 欧美日韩高清不卡免费观看 | 天天摸夜夜摸夜夜狠狠摸 | 婷婷五月婷婷五月 | 国产综合亚洲欧美日韩一区二区 | 99国产精品自在自在久久 | 在线播 | 无码内射中文字幕岛国片 | 四虎网址大全 | 欧美一级人与动毛片免费播放 | 伊人久久精品亚洲午夜 | 综合欧美日韩一区二区三区 | xf在线a精品一区二区视频网站 | 国产后入又长又硬 | 2019亚洲午夜无码天堂 | 69久成人做爰视频 | 91色爱|