雖然工程師經(jīng)常從集成手頭應(yīng)用所需外設(shè)的角度考慮微控制器(MCU),但在許多情況下,需要在 MCU 外部添加功能。例如,您可能需要將傳感器或執(zhí)行器放置在物理上靠近外部設(shè)備的位置,遠(yuǎn)離 MCU。或者,您可能會(huì)發(fā)現(xiàn)低端 MCU 與一些外圍設(shè)備相結(jié)合,可為給定應(yīng)用提供成本和系統(tǒng)占用空間的組合。無(wú)論如何,基于 I C 和 SPI(串行外設(shè)接口)等接口的 MCU 外設(shè)數(shù)量正在不斷增加。本文將研究一些典型的外設(shè),以及如何將它們與流行的 MCU 一起使用。
MCU 廣泛支持 I?C 和 SPI。在某些情況下,您將不得不選擇其中之一,因?yàn)?MCU 使用相同的片上資源來(lái)支持 IC 或 SPI。此外,您將需要一些軟件來(lái)處理串行總線協(xié)議,但幾乎每個(gè) MCU 供應(yīng)商都有現(xiàn)成的軟件支持。
IC 具有使用更少信號(hào)線和更少 MCU 引腳的優(yōu)勢(shì)。大多數(shù)實(shí)現(xiàn)都有一條雙向數(shù)據(jù)線和一條時(shí)鐘線,支持半雙工通信。通常,MCU 充當(dāng)可以連接到多個(gè)從設(shè)備的主設(shè)備,盡管某些實(shí)現(xiàn)確實(shí)支持在總線上有多個(gè)主設(shè)備的靈活性。主設(shè)備在傳輸開(kāi)始時(shí)使用地址位來(lái)定位特定的從設(shè)備,從而無(wú)需專用的從設(shè)備選擇信號(hào)。
SPI 總線通常至少需要三到四根線。SPI 使用單獨(dú)的日期線進(jìn)行全雙工通信。此外,它使用專用的從機(jī)選擇信號(hào)線,因此如果您的系統(tǒng)帶有許多 SPI 外設(shè),您可以使用它們作為選擇信號(hào)輕松耗盡 MCU 上的 I/O 端口。
基于更高的數(shù)據(jù)傳輸速度和全雙工通信,SPI 通常具有更高的性能。您會(huì)發(fā)現(xiàn) SPI 時(shí)鐘頻率在 20 至 40 MHz 范圍內(nèi)。大多數(shù) I?C 實(shí)施都在 10 到 100-kbit/s 范圍內(nèi),盡管一些實(shí)施使用的 MCU 運(yùn)行得更快。
動(dòng)機(jī)和特點(diǎn)
現(xiàn)在讓我們討論您可能希望使用通過(guò)串行接口連接到 MCU 的外圍設(shè)備的一些原因以及可用功能的類型。數(shù)據(jù)轉(zhuǎn)換器提供了您可能使用的外圍設(shè)備類型的主要示例。您可能會(huì)考慮使用外部轉(zhuǎn)換器的一個(gè)原因是,您可能需要比集成在您選擇的 MCU 上的轉(zhuǎn)換器提供的精度更高的精度。
考慮一下凌力爾特的一些轉(zhuǎn)換器。該公司提供I?C A/D 轉(zhuǎn)換器、I?C D/A 轉(zhuǎn)換器、SPI A/D 轉(zhuǎn)換器和SPI D/A 轉(zhuǎn)換器。此外,所有這些都具有比集成在典型 MCU 上的轉(zhuǎn)換器更高的精度。例如,考慮相對(duì)較新的瑞薩電子 RL78 MCU系列,該公司在 16 位 MCU 中的產(chǎn)品。迄今為止,大多數(shù)可用的系列成員都提供 8 位 A/D 轉(zhuǎn)換器,而有些則提供 10 位轉(zhuǎn)換器。相比之下,分立式凌力爾特 A/D 轉(zhuǎn)換器的精度范圍為 8 至 24 位,而 D/A 轉(zhuǎn)換器的精度范圍為 8 至 18 位。即使在 8 位或 16 位系統(tǒng)中,您也可以輕松擁有需要更高精度的單個(gè)傳感器。
考慮一個(gè)特定的產(chǎn)品示例——LTC245116 位 A/D 轉(zhuǎn)換器; I?C 的器件如圖 1 所示。轉(zhuǎn)換器依賴 delta-sigma 調(diào)制器作為轉(zhuǎn)換器內(nèi)核,每秒可以執(zhí)行 30 或 60 次轉(zhuǎn)換。16 位轉(zhuǎn)換器提供 4 個(gè)有效位的滿量程誤差,并在一個(gè)樣本轉(zhuǎn)換時(shí)間內(nèi)建立多路復(fù)用操作。此外,該器件非常小,尺寸為 2 x 3 mm,采用 8 引腳 SOT-23 封裝。
圖 1:Linear Technology 的 8 引腳 LTC2451 A/D 轉(zhuǎn)換器提供 16 位精度,并通過(guò) I?C 串行互連連接到 MCU。
小系統(tǒng)占用空間
外部外圍設(shè)備也可以提供一種實(shí)現(xiàn)系統(tǒng)占用空間的方法。這似乎違反直覺(jué),因?yàn)槲覀兺ǔ⒓赏鈬O(shè)備視為小型化之路。但是,繼續(xù)討論數(shù)據(jù)轉(zhuǎn)換器,讓我們討論一個(gè) MCU 和 Microchip 的 A/D 轉(zhuǎn)換器配對(duì)的示例。
Microchip提供一長(zhǎng)串I?C A/D 轉(zhuǎn)換器以及 D/A 轉(zhuǎn)換器和兩者的基于 SPI 的版本。以一個(gè)具體示例為例,MCP3021 10 位 A/D 轉(zhuǎn)換器基于 I?C 并使用逐次逼近轉(zhuǎn)換拓?fù)。該微型器件采?SOT-23 封裝,只有五個(gè)引腳,但它提供的精度比許多低端 MCU 轉(zhuǎn)換器中的精度更高。
您還可以選擇 Microchip 和其他供應(yīng)商的 6 引腳和 8 引腳 8 位 MCU。例如,Microchip PIC10 MCU系列包括許多采用 6 引腳 SOT-23 封裝的 MCU。微型 MCU 和同樣微型的數(shù)據(jù)轉(zhuǎn)換器的組合可能比集成了符合您應(yīng)用要求的轉(zhuǎn)換器的 MCU 更小,成本更低。
外設(shè)靈活性
您可以通過(guò)串行接口將哪些其他類型的外設(shè)添加到基于 MCU 的設(shè)計(jì)中?名單很長(zhǎng)。一個(gè)簡(jiǎn)單的例子是 I/O 端口擴(kuò)展器。許多低端 MCU 都受到引腳限制。此外,即使您有一個(gè)具有大量 I/O 的 MCU,您也可能會(huì)發(fā)現(xiàn)需要將一些 I/O 引腳物理地放置在遠(yuǎn)離 MCU 的位置——例如靠近傳感器。
恩智浦半導(dǎo)體提供PCA9502 I/O 端口擴(kuò)展器,可與 SPI 或 I?C 主機(jī)一起工作。該 IC 提供 8 條 I/O 線。此外,它非常緊湊,尺寸為 4.1 x 4.1 mm,采用 SOT616 封裝。NXP 還提供SC16IS740/50/60 UART,允許您在設(shè)計(jì)中添加速率為 5-Mbit/s 的串行接口。SC16IS750 和 SC16IS760 變體還包括一個(gè) 8 位 I/O 擴(kuò)展器。
盡管如此,更有用的外圍設(shè)備可能是那些具有特定應(yīng)用功能的外圍設(shè)備。例如,Microchip 提供范圍廣泛的I?C 數(shù)字電位器。您可以在溫度傳感應(yīng)用中將該產(chǎn)品與熱敏電阻結(jié)合使用。圖 2 描繪了一個(gè)示例,其中 Microchip MPC4018 電位器用于校準(zhǔn)熱敏電阻并考慮熱敏電阻的非線性操作。
圖 2:Microchip 的串聯(lián)數(shù)字電位器可用于多種應(yīng)用,例如校準(zhǔn)圖中所示電路中的非線性熱敏電阻。
對(duì)于更穩(wěn)健的以溫度為中心的應(yīng)用,Microchip 還提供基于 I?C 的溫度傳感器IC。例如,MCP9808 數(shù)字溫度傳感器在 –20°C 至 100°C 的范圍內(nèi)提供 ±0.5°C 的精度。此外,該 IC 采用多種 2 x 3-mm 封裝。
串行外圍設(shè)備的范圍一直延伸到用戶界面或人機(jī)界面 (HMI) 應(yīng)用程序。例如,Microchip 提供AR1000 觸摸屏控制器(圖 3)與 SPI 和 I?C 兼容。串行接口將 MCU 鏈接到控制器。AR1000 可連接來(lái)自多家供應(yīng)商的四線、五線和八線觸摸屏傳感器(圖 3)。IC 通過(guò)串行接口直接向 MCU 提供數(shù)字坐標(biāo)。
圖 3:Microchip AR1000 IC 鏈接到用于 HMI 應(yīng)用的觸摸屏傳感器。
如您所見(jiàn),串行互連在基于 MCU 的設(shè)計(jì)中提供了相當(dāng)大的靈活性。在某些情況下,SPI 和 I?C 可能純粹是一種有用的方式來(lái)實(shí)現(xiàn)您無(wú)法在 MCU 上集成的功能。但不要將您對(duì)串行總線的考慮限制在此類實(shí)例中。考慮外部外圍設(shè)備可能如何影響系統(tǒng)的占用空間、功耗和成本。此外,確保您不會(huì)因片上外設(shè)和實(shí)際接口之間的長(zhǎng)信號(hào)運(yùn)行而犧牲保真度,本地外設(shè)可以在保真度方面增加價(jià)值。您可能會(huì)發(fā)現(xiàn)分布式外圍設(shè)備具有諸如占用空間小和更準(zhǔn)確的系統(tǒng)規(guī)格等優(yōu)點(diǎn)。 |