h1_key

當(dāng)前位置:首頁(yè) >新聞資訊 > 技術(shù)文章>微控制器I/O不夠用?外部I/O擴(kuò)展器解決
微控制器I/O不夠用?外部I/O擴(kuò)展器解決
2023-04-10 378次

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

 

  選擇擴(kuò)展接口

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

  ●串行外設(shè)接口 (SPI)

  ●內(nèi)部集成電路 (I2C) 總線

  ●通用串行總線 (USB)

  ●通用異步接收器/發(fā)送器(UART)

  ●控制器區(qū)域網(wǎng)絡(luò) (CAN)

  ●Wi-Fi

  

  其中最適合與外部擴(kuò)展設(shè)備通信的接口是I2C和SPI。

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

 

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

 

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

  

 

1:STM32L011D4P7是一款A(yù)rm® Cortex®-M0+處理器,其I/O引腳數(shù)限制為11個(gè)(圖片來(lái)源:STMicroelectronics)

 

  一般情況下,經(jīng)驗(yàn)法則非常簡(jiǎn)單:添加以下功能時(shí)使用I2C總線:

  ●I/O

  ●PWM

  ●EEPROM

  ●看門狗定時(shí)器


  SPI 總線應(yīng)該用于增加諸如為SD卡提供高速存儲(chǔ)器訪問(wèn)等功能。

  擴(kuò)展通用I/O

  有相當(dāng)多的集成電路可支持通過(guò)I2C接口來(lái)擴(kuò)展輸入和輸出。以下是一些有趣的示例:

  ●Texas Instruments的TCA9534PWR

  ●NXP Semiconductors的PCA8574

  ●Semtech Corporation的SX1520I087TRT

  ·

  PCA8574是一款特別有趣的器件,因?yàn)樗话粋€(gè)用于執(zhí)行輸入和輸出的寄存器。單個(gè)寄存器極大地精簡(jiǎn)了配置器件以及讀寫引腳所需的軟件數(shù)量(圖2)。微控制器通過(guò)I2C與PCA8574通信,并根據(jù)A0至A2引腳的配置方式對(duì)此器件進(jìn)行尋址。這一特性增加了設(shè)計(jì)的靈活性,因此開(kāi)發(fā)人員可以為PCA8574選擇從設(shè)備地址,并且可在一個(gè)設(shè)計(jì)中使用多個(gè)從設(shè)備地址。

  

 

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


  默認(rèn)情況下,P0至P7在上電時(shí)配置為輸入。讀取單個(gè)內(nèi)部寄存器時(shí)將為器件上的各個(gè)引腳指定狀態(tài),無(wú)論該引腳配置為輸入還是輸出。PCA8574允許引腳同時(shí)用作輸入和輸出,因此對(duì)寄存器的寫入也會(huì)設(shè)置相應(yīng)的位輸出。

輸出驅(qū)動(dòng)由微弱的內(nèi)部電阻器上拉,該電阻器很容易因輸入值而過(guò)載。如果任何一個(gè)輸入狀態(tài)發(fā)生變化,INT引腳將切換為低電平,讓微控制器知道輸入狀態(tài)發(fā)生了變化。然后,微控制器可以調(diào)用I2C來(lái)讀取新值。

 

  拓展PWM

  PWM擴(kuò)展器是一款非常有用的擴(kuò)展器件。該器件在驅(qū)動(dòng)LED時(shí)特別有用。當(dāng)微控制器未執(zhí)行任何操作時(shí),可將其設(shè)為休眠模式,此時(shí)PWM擴(kuò)展器可負(fù)責(zé)驅(qū)動(dòng)LED狀態(tài)。

  關(guān)于如何使用PWM擴(kuò)展器的完美范例經(jīng)常出現(xiàn)在RGB按鈕電路中,該電路可使用E-Switch的PV6F240SSG RGB按鈕。

  

 

3:E-Switch的 PV6F240SSG RGB 按鈕

 

  Maxim Integrated的MAX7315便是一款適用于I2C接口的PWM擴(kuò)展芯片。MAX7315配有8個(gè)PWM端口,并具有LED強(qiáng)度控制功能,這樣可以輕松涵蓋驅(qū)動(dòng)RGB開(kāi)關(guān)所需的3個(gè)通道,使得單個(gè)器件能夠驅(qū)動(dòng)若干開(kāi)關(guān)和一些獨(dú)立的LED。此外,MAX7315還有第9個(gè)端口,可以用作轉(zhuǎn)換檢測(cè)中斷或通用輸出。

  MAX7315 I2C接口比NXP的PCA8574稍微復(fù)雜一些,因?yàn)樗鄠€(gè)寄存器。因此,開(kāi)發(fā)人員必須尋址從設(shè)備,提供其有興趣讀取或?qū)懭氲拇鎯?chǔ)器地址,然后執(zhí)行寫入或讀取。MAX7315的存儲(chǔ)器映射如圖4所示。

  

 

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


MAX7315 的寄存器映射非常簡(jiǎn)單,允許輕松訪問(wèn)高級(jí) PWM 功能。

 

  配有WDT、EEPROM和PWM的組合型擴(kuò)展器

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

  

 

  圖5:Cypress Semiconductor的CY8C9520是一款配有


EEPROM的20位、40位或60位I/O擴(kuò)展器。該擴(kuò)展器允許將擴(kuò)展引腳配置為輸入、輸出或PWM。(圖片來(lái)源:Cypress Semiconductor)

  除I/O擴(kuò)展外,CY8C9520還配有EEPROM,可用于存儲(chǔ)重要的應(yīng)用設(shè)置(如序列號(hào))以及其他重要的配置參數(shù)。

仔細(xì)查看圖5,您會(huì)看到GPort 2上的WD6引腳。該引腳是一個(gè)看門狗定時(shí)器輸出引腳,可在微控制器無(wú)法通信時(shí)用于復(fù)位微控制器,以及操控CY8C9529看門狗??撮T狗設(shè)置是完全可配置的,并且可用于為應(yīng)用程序代碼增加額外的穩(wěn)健性。

 

  擴(kuò)展微控制器功能的技巧和訣竅

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

  ●使用I2C連接外部設(shè)備。該接口只需兩個(gè)引腳,并且支持多個(gè)從設(shè)備。

  ●在將某個(gè)零件設(shè)計(jì)成硬件之前,先購(gòu)買一個(gè)開(kāi)發(fā)板,或?qū)⑿酒附拥綌U(kuò)展板上,測(cè)試其能否滿足您的系統(tǒng)需求。

  ●使用I2C總線工具與擴(kuò)展器件連接,并了解其工作情況,這樣可大幅提升軟件的開(kāi)發(fā)速度。

  ●在軟件開(kāi)發(fā)過(guò)程中,使用總線分析器監(jiān)視與外部設(shè)備的通信,最大限度縮短調(diào)試時(shí)間。

  ●如果可能,選擇配有外部看門狗定時(shí)器的器件,這可以作為一種工具,為系統(tǒng)設(shè)計(jì)增加穩(wěn)健性。

  ●在連接片外存儲(chǔ)器獲取數(shù)據(jù)(非配置數(shù)據(jù))時(shí),請(qǐng)使用SPI等高速接口。

  ●如果設(shè)備返回否定應(yīng)答 (NAK) 信號(hào),或者總線受到拖累,請(qǐng)確保微控制器的I2C驅(qū)動(dòng)程序可以處理此類問(wèn)題。對(duì)于這些驅(qū)動(dòng)程序來(lái)說(shuō),在收到意外響應(yīng)時(shí)忽略錯(cuò)誤并進(jìn)入無(wú)限循環(huán)的情況并不罕見(jiàn)。

 

  • XILINX賽靈思 XC7K160T-2FBG484E
  • 賽靈思(XILINX)作為行業(yè)的領(lǐng)軍企業(yè),其推出的 XC7K160T-2FBG484E 更是一款備受矚目的產(chǎn)品。XC7K160T-2FBG484E 屬于賽靈思 7 系列 FPGA(現(xiàn)場(chǎng)可編程門陣列),具有強(qiáng)大的性能和豐富的功能。
    2024-09-25 194次
  • XILINX賽靈思 XCKU085-2FLVA1517E
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯器件供應(yīng)商,其推出的 XCKU085-2FLVA1517E 以卓越的性能和豐富的功能,成為眾多電子工程師和設(shè)計(jì)師的首選。XCKU085-2FLVA1517E 屬于賽靈思 UltraScale 架構(gòu)系列產(chǎn)品,采用先進(jìn)的 20 納米工藝技術(shù)制造。這一工藝不僅帶來(lái)了更高的性能,還實(shí)現(xiàn)了更低的功耗,為各種復(fù)雜的電子系統(tǒng)設(shè)計(jì)提供了理想的解決方案。
    2024-09-25 171次
  • XILINX賽靈思 XCKU060-1FFVA1517C
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯解決方案供應(yīng)商,其 XCKU060-1FFVA1517C 更是一款備受矚目的產(chǎn)品。XCKU060-1FFVA1517C 屬于賽靈思 UltraScale 架構(gòu)系列,采用了先進(jìn)的 16 納米 FinFET 工藝技術(shù)。這一工藝帶來(lái)了諸多優(yōu)勢(shì),如更高的性能、更低的功耗以及更小的芯片尺寸。
    2024-09-25 194次
  • XILINX賽靈思 XCKU060-2FFVA1517E
  • 賽靈思(XILINX)作為行業(yè)的領(lǐng)軍企業(yè),其推出的 XCKU060-2FFVA1517E 更是一款備受矚目的產(chǎn)品。XCKU060-2FFVA1517E 屬于賽靈思 UltraScale 架構(gòu)系列的 FPGA(現(xiàn)場(chǎng)可編程門陣列)。它融合了先進(jìn)的技術(shù)和強(qiáng)大的性能,為各種復(fù)雜的應(yīng)用場(chǎng)景提供了高度靈活且可靠的解決方案。
    2024-09-25 160次
  • XILINX賽靈思 XC7Z035-3FFG676E
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯解決方案供應(yīng)商,其 XC7Z035-3FFG676E 更是一款備受矚目的產(chǎn)品。XC7Z035-3FFG676E 屬于賽靈思 Zynq - 7000 系列,該系列將處理器系統(tǒng)(PS)和可編程邏輯(PL)完美結(jié)合,為用戶提供了高度靈活的解決方案。這款器件采用了先進(jìn)的 28 納米工藝技術(shù),在性能、功耗和成本之間實(shí)現(xiàn)了出色的平衡。
    2024-09-25 161次

    萬(wàn)聯(lián)芯微信公眾號(hào)

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺(tái)
    關(guān)注公眾號(hào),優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問(wèn)題請(qǐng)移至我的售后服務(wù)提交售后申請(qǐng),其他需投訴問(wèn)題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部