高效的物聯(lián)網(wǎng)(IoT)設(shè)計(jì)必須平衡通常相互作用的一系列要求。低成本很重要,但通常支持應(yīng)用程序所需的所有關(guān)鍵功能會(huì)增加MCU引腳數(shù)和內(nèi)存大小 - 這兩項(xiàng)功能可以降低成本。低功耗對(duì)于必須進(jìn)行電池操作的物聯(lián)網(wǎng)應(yīng)用也很重要。但是,添加功能和提高性能可以提高功率要求。顯然,在所有這些要求之間找到適當(dāng)?shù)钠胶饪赡苁且粋€(gè)問(wèn)題,但這只是工程師對(duì)尖端設(shè)計(jì)所期望的挑戰(zhàn)類型。
削減這種設(shè)計(jì)的最有效方法之一Gordian knot是尋找能夠以不同方式構(gòu)建問(wèn)題的系統(tǒng)架構(gòu)變更。例如,有效地使用串行接口可以減少M(fèi)CU所需的引腳數(shù)量,并有助于優(yōu)化電路板空間,功耗和性能。有效使用MCU SPI外設(shè)可以做到這一點(diǎn)。本文將展示一些說(shuō)明性的IoT應(yīng)用示例,其中SPI樣式的外設(shè)提供了新的架構(gòu)選項(xiàng),可顯著提高效率。
面向成本的嵌入式設(shè)計(jì)中的SPI連接
設(shè)計(jì)成本導(dǎo)向系統(tǒng)時(shí)最困難的任務(wù)之一是平衡功能和成本。在基于MCU的設(shè)計(jì)中,這個(gè)難題通常表現(xiàn)為需要向MCU添加額外的引腳,以便可以將額外的外設(shè)添加到系統(tǒng)中。外圍設(shè)備提供的額外功能是重要的差異化因素,希望使設(shè)計(jì)對(duì)于用戶而言比僅使用標(biāo)準(zhǔn)MCU的設(shè)計(jì)更有價(jià)值。畢竟,沒(méi)有外圍設(shè)備的MCU很難與其他基于MCU的設(shè)計(jì)區(qū)別開(kāi)來(lái)。
雖然在許多基于MCU的設(shè)計(jì)中確實(shí)是一個(gè)軟件將一個(gè)設(shè)計(jì)與另一個(gè)設(shè)計(jì)區(qū)分開(kāi)來(lái)通常情況下,軟件和外部硬件的創(chuàng)新組合更具吸引力。在面向成本的設(shè)計(jì)中,這可能更為重要,因?yàn)樵黾佑脩魞r(jià)值比僅保持低成本更重要。在快速增長(zhǎng)且具有競(jìng)爭(zhēng)力的物聯(lián)網(wǎng)市場(chǎng)中,找到合適的價(jià)值對(duì)于產(chǎn)品成功至關(guān)重要。
在以低成本平衡其他功能時(shí),最常見(jiàn)的架構(gòu)方法之一是使用低引腳數(shù)串行接口標(biāo)準(zhǔn)將MCU連接到外部外設(shè)。當(dāng)多個(gè)外設(shè)可以共享相同的低引腳數(shù)接口時(shí),它可以大大減少M(fèi)CU所需的引腳數(shù)量,從而可以使用低成本,低引腳數(shù)的MCU。低引腳數(shù)外設(shè)通常比其高引腳數(shù)的同類產(chǎn)品便宜,因此可以進(jìn)一步降低系統(tǒng)成本。較小的引腳數(shù)可以減少電路板空間,還可以減少所需的走線數(shù)量。這降低了制造復(fù)雜性,因?yàn)橛∷㈦娐钒迳闲枰?a target="_blank">信號(hào)層較少。
最流行的串行接口之一是串行外設(shè)接口(SPI)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)旨在簡(jiǎn)化外設(shè)與MCU的互連。如圖1所示,該接口在外設(shè)上只需要四個(gè)信號(hào) - 串行時(shí)鐘輸入(SCLK),主輸出從輸入(MOSI),主輸入從輸出(MISO)和從選擇(SSn) 。這四個(gè)信號(hào)足以支持總線,其中多個(gè)外設(shè)都連接到主機(jī)控制器。主機(jī)與所選外圍設(shè)備通信,并通過(guò)MOSI或MISO信號(hào)發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。傳輸長(zhǎng)度為8到16位,傳輸速度取決于實(shí)現(xiàn),但通??商峁?0到100 Mbps的比特率。 SPI通常用于具有低帶寬要求的外設(shè),如傳感器,閃存和模數(shù)轉(zhuǎn)換器。
圖1:SPI控制器和外設(shè)最小化互連。 (由Wavefront Marketing提供)
有關(guān)SPI標(biāo)準(zhǔn)的更多信息,Digi-Key有幾個(gè)產(chǎn)品培訓(xùn)模塊,討論SPI標(biāo)準(zhǔn)和支持SPI實(shí)現(xiàn)的各種器件。感興趣的讀者可以使用這些來(lái)深入了解SPI標(biāo)準(zhǔn)的細(xì)節(jié)。
MCU SPI外設(shè)控制
大多數(shù)現(xiàn)代MCU都有SPI控制器外設(shè),可以輕松高效地管理多個(gè)SPI總線??刂破魍ǔ?梢耘渲脼橹鳈C(jī)或外設(shè),MCU作為主機(jī)和外設(shè)都不常見(jiàn)。例如,在機(jī)箱管理應(yīng)用中,MCU可以作為機(jī)箱內(nèi)各種傳感器的主機(jī),同時(shí)還充當(dāng)主機(jī)箱控制器處理器的外圍設(shè)備,通常使用MCU作為遠(yuǎn)程傳感器的分布式聚合器來(lái)卸載重要的“低級(jí)別” “從主CPU處理。這可以提高主CPU的處理效率并降低整個(gè)控制子系統(tǒng)的功率。圖2顯示了恩智浦LPC1756F MCU的SPI控制器框圖,它說(shuō)明了大多數(shù)SPI控制器的主要元件。
圖2:恩智浦LPC1756 MCU SPI控制器框圖(由恩智浦提供)
移位寄存器塊用于與各種通信總線上的SPI外設(shè),可以是主機(jī)模式,也可以是外設(shè)模式。時(shí)鐘發(fā)生器和檢測(cè)器以主機(jī)模式提供時(shí)鐘源,并以外設(shè)模式接收時(shí)鐘。輸出使能邏輯用于確定SPI總線上信號(hào)的方向,具體取決于操作模式。 SPI寄存器接口提供對(duì)外設(shè)內(nèi)配置和數(shù)據(jù)寄存器的訪問(wèn)。最后,狀態(tài)控制塊管理外設(shè)的所有SPI操作。
恩智浦LPC1756F MCU還有另一個(gè)SPI控制器外設(shè)SPI0/1,除SPI外還支持4線和MICROWIRE接口。它還包括FIFO緩沖區(qū),可通過(guò)DMA訪問(wèn)。當(dāng)提供多個(gè)SPI選項(xiàng)時(shí),請(qǐng)確保將SPI外設(shè)控制器與外部設(shè)備的需求相匹配。例如,傳感器可能不需要DMA,但外部存儲(chǔ)器可以從SPI控制器內(nèi)的DMA功能中獲益。
SPI控制器硬件只是SPI解決方案的一部分。查看控制器隨附的軟件功能也很有用。通常,使用評(píng)估或開(kāi)發(fā)套件可以最好地演示支持軟件。例如,瑞薩RX600演示套件包含驅(qū)動(dòng)程序和示例代碼,可用于評(píng)估目標(biāo)SPI外設(shè)控制器的實(shí)現(xiàn)難易程度。該板包括SPI閃存和SPI EEPROM,因此可以使用驅(qū)動(dòng)程序和示例代碼來(lái)簡(jiǎn)化實(shí)現(xiàn)。該套件還具有觸摸屏LCD,因此如果目標(biāo)應(yīng)用程序?qū)?nèi)存用于圖形用戶界面,則可以使用大部分代碼。請(qǐng)記住您的目標(biāo)應(yīng)用程序以及如何使用SPI總線,以便盡可能多地利用開(kāi)發(fā)套件中提供的代碼。
SPI內(nèi)存
使用小型廉價(jià)MCU的缺點(diǎn)是,應(yīng)用程序可能沒(méi)有足夠的片上內(nèi)存。與使用更大,更昂貴的MCU相比,使用外部存儲(chǔ)器可能更具成本效益。實(shí)際上,由于外部存儲(chǔ)器通??梢蕴峁┍雀呷萘縈CU提供的存儲(chǔ)容量更多的存儲(chǔ)器,因此將使用外部存儲(chǔ)器的設(shè)計(jì)與使用片上存儲(chǔ)器的設(shè)計(jì)區(qū)分開(kāi)來(lái)要容易得多。通過(guò)足夠的存儲(chǔ),用戶界面可以更直觀,本地?cái)?shù)據(jù)可以更容易地存儲(chǔ),直到傳輸數(shù)據(jù)更加節(jié)能,視頻和音頻更容易支持,并且可以支持具有更多智能的用戶功能。如果您正在尋找增加設(shè)計(jì)價(jià)值的方法,外部存儲(chǔ)器是一個(gè)很好的選擇。
通過(guò)使用具有SPI總線的現(xiàn)代閃存,可以添加外部容量,而無(wú)需大量的MCU引腳。這可以降低成本并簡(jiǎn)化訪問(wèn)外部存儲(chǔ)器所需的軟件。例如,STMicroelectronics M95xxx EEPROM采用小型8 SOIC封裝的SPI總線。類似的器件可與其他串行接口一起使用,如圖3所示.MICROWIRE和I 2 C型接口使用2線或4線,因此它們可能適合減少M(fèi)CU引腳數(shù),但請(qǐng)注意時(shí)鐘頻率差異:SPI版本可以比其他兩個(gè)器件快10到20倍的速度運(yùn)行。這是SPI趨向于更受歡迎的原因之一,它可以支持更高的時(shí)鐘速率,因此應(yīng)用程序可以快速傳輸數(shù)據(jù),通常也可以更高效地傳輸數(shù)據(jù)。 (傳輸數(shù)據(jù)越快,器件上電所需的時(shí)間就越短。)
圖3:STMicroelectronics串行接口EEPROM的特性 - M24C/M95/M93C。 (由STMicroelectronics提供)
也可以使用采用閃存技術(shù)的SPI總線存儲(chǔ)器件。例如,美光科技M25P05是一款512-Kbit SPI NOR閃存,時(shí)鐘頻率為50 MHz。數(shù)據(jù)可以一次編程為1到256個(gè)字節(jié),這使得它在傳感器和日志記錄應(yīng)用中非常有用,因?yàn)樯倭康膶?xiě)操作是常態(tài)。它具有1μA的深度掉電模式,并提供各種小型低引腳數(shù)封裝,如SO8,VFQFPN8,TSSOP8和UFDFPN8。寫(xiě)保護(hù)功能允許將部分存儲(chǔ)器配置為只讀,并且額外的寫(xiě)保護(hù)信號(hào)支持額外的硬件保護(hù)模式,以防止數(shù)據(jù)在過(guò)度嘈雜的環(huán)境中損壞。低功耗和強(qiáng)大的數(shù)據(jù)保護(hù)在工業(yè)物聯(lián)網(wǎng)(IIoT)應(yīng)用中非常有用,其中遠(yuǎn)程能量收集傳感器通常放置在嘈雜的環(huán)境中。
小型專用存儲(chǔ)器也可用作SPI外設(shè)。例如,Microchip Technology提供用于存儲(chǔ)以太網(wǎng)MAC地址的小型SPI存儲(chǔ)器。 Microchip 25AA02E是一款2-Kbit EEPROM,可預(yù)編程使用與EUI-48和EUI-64兼容的全球唯一48位或64位節(jié)點(diǎn)地址。它采用小型8位SOIC,價(jià)格低廉,待機(jī)模式下僅消耗1μA,因此可以輕松添加到需要預(yù)算的以太網(wǎng)連接的嵌入式應(yīng)用中。
SPI外設(shè)
現(xiàn)在,SPI總線可以使用各種用于檢測(cè)和監(jiān)控的外設(shè)功能。也許MCU應(yīng)用中最通用的外設(shè)是模數(shù)轉(zhuǎn)換器(ADC)。通常需要將模擬傳感器輸出轉(zhuǎn)換為數(shù)字,如果片上ADC不提供所需功能,則可能需要外部ADC。此外,如果需要許多ADC輸入,使用具有許多輸入的外部器件可能更具成本效益,以保持MCU引腳數(shù)低。例如,ADI公司的AD7298BC SPI兼容ADC具有12位分辨率,8個(gè)輸入,片上溫度傳感器和1 MSPS的快速吞吐量。片上通道序列器可以通過(guò)預(yù)編程序列輕松監(jiān)控多個(gè)輸入,從而簡(jiǎn)化通道管理。它具有低于10μA的斷電電流和小型20引腳LFCSP的可用性,非常適合小板空間,低功耗應(yīng)用。
在物聯(lián)網(wǎng)應(yīng)用中,加速度計(jì)和陀螺儀傳感器可用于跟蹤,定位,安全和定位功能。通??梢越M合找到這些類型的傳感器以簡(jiǎn)化實(shí)施。此外,當(dāng)多個(gè)傳感器與本地MCU緊密耦合時(shí),可以組合來(lái)自多個(gè)傳感器的讀數(shù)以創(chuàng)建更智能的功能。例如,如果定義了允許的加速度和方向窗口,MCU可以將讀數(shù)與窗口設(shè)置進(jìn)行比較,除非讀數(shù)超出可接受的范圍,否則無(wú)需生成警報(bào)。這最大限度地減少了管理CPU的開(kāi)銷,通常是比MCU更耗電的設(shè)備。 STMicroelectronics LSM6DS0TR在單芯片上包含3D加速度計(jì)和3D陀螺儀傳感器。兩個(gè)傳感器可以同時(shí)使用,或者在加速度計(jì)激活時(shí)可以關(guān)閉陀螺儀。 SPI總線用于配置和獲取讀數(shù),并保持較小的引腳數(shù),因此可用于LGA-16L封裝。該設(shè)備的框圖(圖4)顯示了上部的加速度計(jì)和下部的陀螺儀。 SPI總線顯示在圖的右下方。
圖4:STMicroelectronics SPI加速度計(jì)和陀螺儀傳感器的框圖(由STMicroelectronics提供)
該器件最重要的功能之一是數(shù)據(jù)寄存器FIFO。 FIFO為每個(gè)陀螺儀的三個(gè)輸出通道 - 俯仰,偏航和滾動(dòng)提供32個(gè)16位數(shù)據(jù)槽。它還為三個(gè)加速度計(jì)輸出通道X,Y和Z中的每一個(gè)提供16位數(shù)據(jù)FIFO。這樣可以為系統(tǒng)節(jié)省一致的功率,因?yàn)镸CU不需要連續(xù)輪詢來(lái)自傳感器的數(shù)據(jù),但它可以喚醒僅在需要時(shí)啟動(dòng)并快速?gòu)腇IFO中突發(fā)數(shù)據(jù)。
基于MCU的設(shè)計(jì)中另一種流行的傳感器是霍爾效應(yīng)傳感器。該傳感器通常用于定位系統(tǒng),其中物體的角位置,旋轉(zhuǎn)速度和方向是重要的?;魻栃?yīng)允許使用由磁場(chǎng)產(chǎn)生的電流進(jìn)行非接觸式感測(cè)。一些霍爾效應(yīng)器件使用圓形垂直霍爾(CVH)技術(shù)來(lái)簡(jiǎn)化傳感和支持數(shù)字電路的集成。例如,Allegro Microsystems A1334霍爾效應(yīng)360度角度傳感器使用片上CVH傳感器以及模擬前端,基于EEPROM的可編程校準(zhǔn)參數(shù)和數(shù)字信號(hào)處理技術(shù)來(lái)簡(jiǎn)化傳感器的使用。 SPI總線可以輕松將傳感器連接到MCU。該器件的最大VCC為26.5 V,因此可用于汽車電池供電的轉(zhuǎn)向和電機(jī)控制應(yīng)用。確保您的傳感器支持您的應(yīng)用可能具有的任何惡劣環(huán)境條件,以避免縮短產(chǎn)品壽命或高故障率。
結(jié)論
通過(guò)為精明的設(shè)計(jì)師提供額外的架構(gòu)選項(xiàng),有效使用SPI式外設(shè)有助于優(yōu)化設(shè)備成本,電路板空間,功耗和物聯(lián)網(wǎng)應(yīng)用的性能。通過(guò)有效地使用SPI外設(shè)和片上MCU SPI控制器,設(shè)計(jì)人員通??梢哉业阶罴呀M合,以實(shí)現(xiàn)功能豐富,低成本的實(shí)現(xiàn)。
-
mcu
+關(guān)注
關(guān)注
146文章
17316瀏覽量
352403 -
嵌入式
+關(guān)注
關(guān)注
5091文章
19176瀏覽量
307192 -
IOT
+關(guān)注
關(guān)注
187文章
4230瀏覽量
197458
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論