0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

如何使用STM32微控制器進(jìn)行高性能物聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)計(jì)

5CTi_cirmall ? 來源:未知 ? 作者:易水寒 ? 2019-06-22 10:21 ? 次閱讀

隨著物聯(lián)網(wǎng) (IoT) 網(wǎng)絡(luò)日趨復(fù)雜,物聯(lián)網(wǎng)端點(diǎn)邊緣處理的復(fù)雜度亦水漲船高。因而可能需要使用新系統(tǒng)來升級(jí)現(xiàn)有的端點(diǎn),這個(gè)系統(tǒng)的微控制器需要更快的時(shí)鐘速度、更大的存儲(chǔ)器,處理器內(nèi)核要更強(qiáng)大。

此外,也許還需要高精度傳感器模數(shù)轉(zhuǎn)換器 (ADC),并且這些器件可能還需要定期校準(zhǔn)。對(duì)于線性誤差,使用公式即可輕松補(bǔ)償。然而,非線性誤差與傳感器讀數(shù)之間不存在任何固定偏差模式,因此不能簡(jiǎn)單地用數(shù)學(xué)方法進(jìn)行補(bǔ)償。通常,補(bǔ)償固件非線性誤差的最簡(jiǎn)單方法就是,使用數(shù)據(jù)查找表將所需的校正數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中。

本文將簡(jiǎn)要介紹傳感器誤差和 ADC 誤差,并討論使用數(shù)據(jù)查找表來校正此類誤差的優(yōu)勢(shì)。此外,本文還將闡釋在基于 STMicroelectronics 的 STM32L496VG 微控制器的系統(tǒng)中,如何使用 ON Semiconductor 的外部 LE25S161PCTXG 串行外設(shè)接口 (SPI) 閃存芯片,來實(shí)現(xiàn)實(shí)用的、高性價(jià)比數(shù)據(jù)閃存查找表。

傳感器誤差

對(duì)于能檢測(cè)溫度、壓力和電壓等模擬量的傳感器,都可能存在非線性誤差。在項(xiàng)目開發(fā)階段,對(duì)照精確基準(zhǔn)來測(cè)試傳感器,并將傳感器數(shù)字輸出與基準(zhǔn)值進(jìn)行比較,這一點(diǎn)尤為重要。由此開發(fā)人員可以盡早確定是否存在任何傳感器基準(zhǔn)值偏離,以及就應(yīng)用要求而言這些偏差可否接受。然后開發(fā)人員就能決定是否有必要補(bǔ)償任何偏差,如有必要,則是否應(yīng)該在硬件或固件中補(bǔ)償偏差。

某些傳感器誤差或許是可預(yù)測(cè)的線性誤差。這類誤差補(bǔ)償很簡(jiǎn)單,只需對(duì)傳感器輸出加上或減去某個(gè)常數(shù)即可。有時(shí)這類誤差可能會(huì)隨傳感器量程而變化。例如,從零到三分之一量程,可能需要加上某個(gè)常數(shù);從三分之一到二分之一量程,可能就需要不同的常數(shù)。

這些誤差均可進(jìn)行預(yù)測(cè),顯然也很容易校正,但是,精確讀數(shù)的偏差可能會(huì)隨時(shí)間推移而發(fā)生變化。此外,由于傳感器暴露于極端溫度、環(huán)境濕度大或傳感器老化等原因,日后可能還會(huì)出現(xiàn)新的誤差。是否需要校正這些誤差則始終取決于應(yīng)用?;蛟S有必要在極端溫度、壓力和濕度條件下測(cè)試系統(tǒng),以確定傳感器性能。汽車、軍事和某些工業(yè)系統(tǒng)等應(yīng)用需要對(duì)這些環(huán)境進(jìn)行檢測(cè)。然而,如今許多新的物聯(lián)網(wǎng)端點(diǎn)已然延伸至傳感器應(yīng)用范圍之外,因此傳感器測(cè)試可能成為一項(xiàng)新要求。

與模擬傳感器一樣,諸如 ADC 之類常用微控制器模擬外設(shè)可能也需要定期進(jìn)行在系統(tǒng)校準(zhǔn)。ADC 誤差并不總是可預(yù)測(cè),即便可以使用算法校正初始誤差,誤差也可能隨著時(shí)間推移而發(fā)生變化,并可能變得無法通過算法來輕松校正。這可能會(huì)導(dǎo)致系統(tǒng)無法再以所需精度繼續(xù)運(yùn)行,從而導(dǎo)致高昂的更換成本。

使用數(shù)據(jù)查找表進(jìn)行模擬傳感器誤差校正的優(yōu)勢(shì)

數(shù)據(jù)查找表是一種實(shí)用、有效的方法,可以快速執(zhí)行一些常見計(jì)算,諸如三角函數(shù)等復(fù)雜計(jì)算,或者字節(jié)的位反轉(zhuǎn)或格雷碼轉(zhuǎn)換等簡(jiǎn)單計(jì)算。與在固件中執(zhí)行位反轉(zhuǎn)相比,使用 256 字節(jié)的查找表進(jìn)行字節(jié)位反轉(zhuǎn)速度明顯更快。將此查找表存儲(chǔ)在程序或數(shù)據(jù)閃存中很安全,因?yàn)樗加每臻g很小而且永遠(yuǎn)不需要更改。

此外,將數(shù)據(jù)查找表用于存儲(chǔ)傳感器數(shù)據(jù)校準(zhǔn),也是一種行之有效的方法。像內(nèi)置 ADC 這樣的微控制器模擬外設(shè)可能需要定期校準(zhǔn),方法與模擬傳感器校準(zhǔn)完全相同。大多數(shù)微控制器中的 ADC 精度均可達(dá)到 ±2 或 ±3 個(gè)最低有效位 (LSB)。盡管對(duì)于大多數(shù)應(yīng)用而言這已足夠,但是對(duì)于要求高精度的系統(tǒng),定期校準(zhǔn) ADC 意義重大。

用于校正 24 位數(shù)據(jù)的校準(zhǔn)查找表片段可能如表 1 所示。

此例中,原始輸入值是需要進(jìn)行誤差校正的源讀數(shù)。然后,原始值將作為 24 位地址用于查找相應(yīng)的 32 位校正值,其中最高有效字節(jié)始終為 00h。如果查找表不是從地址零開始的,則可以為原始輸入值添加偏移。

在決定查找表的存儲(chǔ)位置之前,務(wù)必確定查找表的大小及是否需要重寫。這兩點(diǎn)都重要。若永遠(yuǎn)不需要重寫,則可以將查找表存儲(chǔ)于微控制器的可用片上閃存中。但是如果傳感器需要定期重新校準(zhǔn),那么就要重寫內(nèi)部閃存,即要求擦除數(shù)據(jù)表所在的整個(gè)閃存扇區(qū)并重新編程

如果該閃存扇區(qū)與程序存儲(chǔ)器共用空間,則可能需要重新編譯代碼。即使查找表位于獨(dú)立專用扇區(qū),日后存儲(chǔ)器要求可能會(huì)更改或需要擴(kuò)展,從而導(dǎo)致部分查找表扇區(qū)空間重新調(diào)整用于其他代碼。這使現(xiàn)場(chǎng)傳感器校準(zhǔn)變得復(fù)雜,而且要求通過網(wǎng)絡(luò)下載重新編譯的代碼,也會(huì)使物聯(lián)網(wǎng)端點(diǎn)無法獨(dú)立進(jìn)行自校準(zhǔn)。如果涉及多個(gè)傳感器,那么問題將進(jìn)一步復(fù)雜化。

對(duì)于片上閃存程序存儲(chǔ)器而言,使用大型查找表(如含 16,777,216 個(gè)條目)進(jìn)行 24 位數(shù)字?jǐn)?shù)據(jù)校準(zhǔn)是不現(xiàn)實(shí)的,甚至無法實(shí)現(xiàn)。如果隔一個(gè)條目存儲(chǔ)一次,并將缺失條目插入現(xiàn)有的表數(shù)據(jù),則可將查找表大小減半。這種方法帶來的性能損失較小,精度損失可能為 ±1 LSB。但是,即便是含 8,388,608 個(gè)條目的查找表也不可能存儲(chǔ)在內(nèi)部閃存中。

在基于微控制器的系統(tǒng)中,使用這種大型數(shù)據(jù)查找表的最佳解決方案是使用外部閃存。這為添加數(shù)兆字節(jié)的查找表提供了簡(jiǎn)便方法,而不會(huì)犧牲內(nèi)部閃存程序存儲(chǔ)器。同時(shí),系統(tǒng)也能輕松重寫查找表,而不會(huì)影響微控制器的內(nèi)部閃存。

對(duì)于高性能系統(tǒng),添加外部并行閃存來擴(kuò)展程序和數(shù)據(jù)存儲(chǔ)器是常用方法。但是,這要求微控制器具有外部數(shù)據(jù)總線。額外的地址和數(shù)據(jù)總線以及所需的控制信號(hào)需要占用微控制器 36 個(gè)或更多引腳。這項(xiàng)要求限制了應(yīng)用可用的微控制器。此外,外部總線會(huì)占用更多印刷電路板空間,可能還會(huì)增加系統(tǒng)的電磁干擾 (EMI)。

對(duì)于大多數(shù)系統(tǒng),最佳解決方案是使用外部串行數(shù)據(jù)閃存。這類閃存使用串行外設(shè)接口 (SPI) 進(jìn)行數(shù)據(jù)傳輸,只需占用四個(gè)微控制器引腳。

ON Semiconductor 的 LE25S161PCTXG 就是這種閃存器件的典型實(shí)例。這款 16 Mbit 串行閃存器件支持 70 MHz 的 SPI 時(shí)鐘。同時(shí),還支持雙通道 SPI 模式,數(shù)據(jù)傳輸速度最快可達(dá) 140 Mb/s。內(nèi)部狀態(tài)寄存器可用于配置器件的讀、寫和低功耗模式。

LE25S161PCTXG 的 SPI 信號(hào)通常用于時(shí)鐘、數(shù)據(jù)和片選(圖1)。它還具有兩個(gè)額外引腳。WP\ 是低電平有效寫保護(hù)信號(hào),用于防止寫入器件的狀態(tài)寄存器。這可用于防止低優(yōu)先級(jí)固件任務(wù)未經(jīng)授權(quán)重寫設(shè)備。HOLD\ 可暫停正在進(jìn)行的數(shù)據(jù)傳輸。如果微控制器在數(shù)據(jù)傳輸過程中必須執(zhí)行中斷,這一功能將十分有用。數(shù)據(jù)傳輸將暫停直至中斷處理完畢,然后從中斷處繼續(xù)傳輸。

若要讀取存儲(chǔ)于此器件中的簡(jiǎn)單兩列查找表,最簡(jiǎn)單的方法是獲取傳感器讀數(shù),添加存儲(chǔ)器偏移,然后讀取該地址位置對(duì)應(yīng)的存儲(chǔ)器內(nèi)容。該地址對(duì)應(yīng)的存儲(chǔ)器內(nèi)容表示傳感器校正讀數(shù)。

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

    關(guān)注

    48

    文章

    7831

    瀏覽量

    153258
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2921

    文章

    45641

    瀏覽量

    384543
  • STM32
    +關(guān)注

    關(guān)注

    2282

    文章

    10983

    瀏覽量

    360969

原文標(biāo)題:基于STM32微控制器的高性能物聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)計(jì)

文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    基于ARM Cortex-M7的STM32H7微控制器正式量產(chǎn)

    的PSA平臺(tái)讓設(shè)備識(shí)別和軟件空中下載更新(OTA)等自主聯(lián)網(wǎng)設(shè)備的核心安全功能更經(jīng)濟(jì),擴(kuò)展性更強(qiáng)。我們已經(jīng)將其集成到包括STM32H7高性能系列在內(nèi)的
    發(fā)表于 10-30 14:29

    聯(lián)網(wǎng)微控制器的需求趨勢(shì)和應(yīng)用技巧分享

    聯(lián)網(wǎng)微控制器需求趨勢(shì)+應(yīng)用技巧
    發(fā)表于 01-27 07:00

    STM32微控制器

    在各行業(yè)領(lǐng)域。意法半導(dǎo)體MCU型號(hào)STM32F030K6T6微控制器采用高性能的內(nèi)核M0的48兆赫茲32位RISC
    發(fā)表于 07-23 10:11

    使用MCU微控制器實(shí)現(xiàn)對(duì)聯(lián)網(wǎng)設(shè)備的控制

    **PacketTracer模擬器物聯(lián)網(wǎng)教程2—MCU微控制器編程**一、目的使用MCU微控制器實(shí)現(xiàn)對(duì)聯(lián)網(wǎng)設(shè)備的
    發(fā)表于 11-01 07:36

    新型PG22微控制器的相關(guān)資料分享

    – 新型PG22微控制器支持大批量、低功耗的消費(fèi)和工業(yè)產(chǎn)品 –中國(guó),北京 - 2021年3月4日 - Silicon Labs(亦稱“芯科科技”)宣布推出EFM32PG22(PG22)32位微控制器
    發(fā)表于 11-11 08:49

    GD32E5高性能微控制器

    GD32E5高性能微控制器,采用臺(tái)積電低功耗40納米(40nm)嵌入式閃存工藝構(gòu)建,具備業(yè)界領(lǐng)先的處理能力、功耗效率、連接特性和經(jīng)濟(jì)的開發(fā)成本。推動(dòng)嵌入式開發(fā)向高精度工業(yè)控制領(lǐng)域擴(kuò)展,解決數(shù)字電源
    發(fā)表于 12-16 08:13

    STM32G031x4/x6/x8微控制器的參考手冊(cè)

    STM32G031x4/x6/x8主流微控制器基于高性能Arm? Cortex?-M0+32位RISC內(nèi)核,工作頻率高達(dá)64 MHz。它們具有高度集成度,適用于消費(fèi)電子、工業(yè)和家電領(lǐng)域的各種應(yīng)用,并可用于
    發(fā)表于 11-25 07:50

    高性能16位XA微控制器系列

      飛利浦半導(dǎo)體日前宣布推出高性能16位XA微控制器系列的新成員XA-C3,專門用于“控制器區(qū)域網(wǎng)路(CAN)”應(yīng)用,如高性能工業(yè)和汽車系統(tǒng)。
    發(fā)表于 09-20 12:21 ?5次下載

    基于ARM?Cortex?-M7內(nèi)核的高性能微控制器STM32F7系列特色分析

    對(duì)于微處理界第一顆基于ARMCortex-M7內(nèi)核的高性能微控制器STM32F7系列,相信很多人對(duì)它都不陌生了。比如STM32F7系列微控制器
    發(fā)表于 11-29 16:11 ?4757次閱讀

    基于STM32微控制器聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)計(jì)

    聯(lián)網(wǎng)端點(diǎn)中,外部SPI閃存器件是實(shí)現(xiàn)大型數(shù)據(jù)查找表的有效解決方案。這種方法可輕松實(shí)現(xiàn)在系統(tǒng)重新編程和升級(jí),并且最大限度地減少微控制器資源的使用。
    的頭像 發(fā)表于 09-29 15:05 ?3533次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>微控制器</b>的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>節(jié)點(diǎn)</b>設(shè)計(jì)

    聯(lián)網(wǎng)微控制器的功能介紹

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個(gè)聯(lián)網(wǎng)項(xiàng)目選擇合適的微控制器,則需要一些正確
    發(fā)表于 01-01 09:24 ?2673次閱讀

    聯(lián)網(wǎng)微控制器需求趨勢(shì)及應(yīng)用技巧

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個(gè)聯(lián)網(wǎng)項(xiàng)目選擇合適的微控制器,則需要一些正確
    的頭像 發(fā)表于 01-20 16:25 ?740次閱讀

    聯(lián)網(wǎng)微控制器需求趨勢(shì)+應(yīng)用技巧

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個(gè)聯(lián)網(wǎng)項(xiàng)目選擇合適的微控制器,則需要一些正確
    發(fā)表于 02-02 06:45 ?3次下載
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的<b class='flag-5'>微控制器</b>需求趨勢(shì)+應(yīng)用技巧

    STM32微控制器的工作原理和應(yīng)用 STM32微控制器的命名規(guī)則

    STM32微控制器是一種基于ARM Cortex-M內(nèi)核的高性能、低功耗、低成本的微控制器。它廣泛應(yīng)用于各種嵌入式系統(tǒng),包括工業(yè)控制、消費(fèi)電
    發(fā)表于 09-07 16:38 ?2761次閱讀

    STM32微控制器的技術(shù)特點(diǎn)和性能指標(biāo)

      STM32微控制器是ST公司推出的一款基于ARM Cortex-M內(nèi)核的32位微控制器,具有高性能、低功耗、高集成度等特點(diǎn),廣泛應(yīng)用于各種嵌入式系統(tǒng)。本文將對(duì)
    發(fā)表于 09-25 17:16 ?4919次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品