<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32微控制器的物聯網節點設計

h1654155282.3538 ? 來源:陳翠 ? 作者:電路城 ? 2019-09-29 15:05 ? 次閱讀

隨著物聯網IoT網絡日趨復雜,物聯網端點邊緣處理的復雜度亦水漲船高。因而可能需要使用新系統來升級現有的端點,這個系統的微控制器需要更快的時鐘速度、更大的存儲器,處理器內核要更強大。

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

本文將簡要介紹傳感器誤差和ADC誤差,并討論使用數據查找表來校正此類誤差的優勢。此外,本文還將闡釋在基于STMicroelectronics的STM32L496VG微控制器的系統中,如何使用ONSemiconductor的外部LE25S161PCTXG串行外設接口(SPI)閃存芯片,來實現實用的、高性價比數據閃存查找表。

傳感器誤差

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

某些傳感器誤差或許是可預測的線性誤差。這類誤差補償很簡單,只需對傳感器輸出加上或減去某個常數即可。有時這類誤差可能會隨傳感器量程而變化。例如,從零到三分之一量程,可能需要加上某個常數;從三分之一到二分之一量程,可能就需要不同的常數。

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

與模擬傳感器一樣,諸如ADC之類常用微控制器模擬外設可能也需要定期進行在系統校準。ADC誤差并不總是可預測,即便可以使用算法校正初始誤差,誤差也可能隨著時間推移而發生變化,并可能變得無法通過算法來輕松校正。這可能會導致系統無法再以所需精度繼續運行,從而導致高昂的更換成本。

使用數據查找表進行模擬傳感器誤差校正的優勢

數據查找表是一種實用、有效的方法,可以快速執行一些常見計算,諸如三角函數等復雜計算,或者字節的位反轉或格雷碼轉換等簡單計算。與在固件中執行位反轉相比,使用256字節的查找表進行字節位反轉速度明顯更快。將此查找表存儲在程序或數據閃存中很安全,因為它占用空間很小而且永遠不需要更改。

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

用于校正24位數據的校準查找表片段可能如表1所示。

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

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

如果該閃存扇區與程序存儲器共用空間,則可能需要重新編譯代碼。即使查找表位于獨立專用扇區,日后存儲器要求可能會更改或需要擴展,從而導致部分查找表扇區空間重新調整用于其他代碼。這使現場傳感器校準變得復雜,而且要求通過網絡下載重新編譯的代碼,也會使物聯網端點無法獨立進行自校準。如果涉及多個傳感器,那么問題將進一步復雜化。

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

在基于微控制器的系統中,使用這種大型數據查找表的最佳解決方案是使用外部閃存。這為添加數兆字節的查找表提供了簡便方法,而不會犧牲內部閃存程序存儲器。同時,系統也能輕松重寫查找表,而不會影響微控制器的內部閃存。

對于高性能系統,添加外部并行閃存來擴展程序和數據存儲器是常用方法。但是,這要求微控制器具有外部數據總線。額外的地址和數據總線以及所需的控制信號需要占用微控制器36個或更多引腳。這項要求限制了應用可用的微控制器。此外,外部總線會占用更多印刷電路板空間,可能還會增加系統的電磁干擾(EMI)。

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

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

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

若要讀取存儲于此器件中的簡單兩列查找表,最簡單的方法是獲取傳感器讀數,添加存儲器偏移,然后讀取該地址位置對應的存儲器內容。該地址對應的存儲器內容表示傳感器校正讀數。

高性能物聯網端點要求時鐘速度更快、處理器性能更出色、SPI更靈活。針對這些應用,STMicroelectronics推出了STM32L4高性能微控制器系列。例如,STM32L496VG是STM32L4產品系列中的一款微控制器,工作頻率為80MHz,具有帶浮點單元(FPU)的Arm?Cortex?-M4內核。該器件具有8Mbit的閃存和320KB的SRAM,支持1.71至3.6V的工作電壓,與ONSemiconductor的LE25S161PCTXG的1.65至1.95V工作電壓重疊。

STM32L496VG帶有全套適合高性能物聯網端點的外設,包括帶有日歷功能的實時時鐘(RTC)、三個采樣率達每秒5MSPS的ADC、雙通道數模轉換器DAC)、兩個控制器局域網(CAN)接口和四個I2C接口(圖2)。此外,還有三個標準SPI接口和一個四通道SPI接口。

STM32L496G-DISCO開發板為STM32L496VG的開發提供了有力支持(圖3)。這款物聯網終端開發板功能全面,包括立體聲微機電系統(MEMS)麥克風、8位攝像頭連接器、八個LED、四向操縱桿和240x240像素彩色LCD。連接器引腳可用作ADC輸入、四通道SPI引腳和大多數I/O。

STM32L496VG的四通道SPI支持40MHz最大SPI時鐘,同時也支持標準和存儲器映射SPI模式。四通道SPI支持雙通道SPI模式,最大數據傳輸速率為80Mb/s。

STMicroelectronics的四通道SPI可與串行數據閃存器件快速連接。在標準SPI模式下,所有操作均使用SPI寄存器執行。數據通過讀寫SPI數據寄存器進行傳輸。收到數據后會產生中斷。這與STM32L496VG的三種標準SPI工作模式相同。標準SPI模式支持單通道、雙通道和四通道數據傳輸。ONSemiconductor的LE25S161支持單通道和雙通道SPI模式,并且在雙通道SPI模式下可與STM32L496VG輕松連接(圖4)。

若選擇ONSemiconductor和STMicroelectronics的元器件,實現數據查找表就變得非常簡單。四通道SPI還具有FIFO,可用于批量數據傳輸。但是,如果查找表一次只需訪問一個存儲器位置,則建議禁用FIFO,原因是不需要這項功能,甚至可能會造成不必要的延遲。

具有存儲器映射模式的四通道SPI

四通道SPI還支持存儲器映射模式,可將外部串行閃存映射到微控制器的程序或數據存儲空間,從而使微控制器固件能夠訪問外部SPI閃存,幾乎與訪問微控制器內部存儲器無異,進而使四通道SPI操作對固件是透明的。

如果無需頻繁訪問查找表,則與標準SPI模式相比,使用存儲器映射模式實現查找表的優勢可能就完全無法凸顯,只是簡化了應用固件而已。但是,如需頻繁中斷應用,則可能會反復暫停SPI傳輸以處理中斷。若一個四通道SPI查找操作中斷另一個查找操作,那么情況可能會變得相當復雜。

與標準SPI模式相比,存儲器映射模式能夠更快速有效地應對頻繁訪問查找表和高中斷率的應用。這種方法簡化了固件,防止因不同優先級的四通道SPI同時訪問而導致的問題,以及減少中斷沖突。

然而,實現存儲器映射查找表有一點不足,即可能會污染數據緩存。雖然STM32L496沒有數據緩存,但某些針對高性能實時應用的微控制器卻具有這種功能。然而,訪問查找表很可能會導致緩存丟失。因為對于大多數應用而言,鮮少需要在同一個線程或子例程中兩次訪問查找表的同一位置,所以在最初設計中查找表數據并無需緩存,并且緩存數據可能會導致重要數據從數據緩存中移除。盡管只有性能要求極高的應用會出現該問題,但也正是這些高性能應用在一開始就需要數據緩存。

針對查找表數據緩存污染的解決方案很少。若硬件允許,可將查找表所在區域標記為不可緩存。另一種解決方案是在訪問查找表之前禁用數據緩存,然后在訪問之后重新啟用。如果緩存切換(啟用/禁用)造成的性能損失尚可接受,那么這種方法也就可以接受了。有些數據緩存支持特定架構的緩存控制指令,這種方式可以防止緩存污染。為特定應用尋求數據緩存配置的最佳方法時,務必對系統性能進行基準測試。

串行閃存應布置在印刷電路板上,印制線長度不應超過120mm。為避免干擾,SPI時鐘信號路徑應至少是印刷電路板印制線寬度的三倍,并且遠離其他信號。兩個雙向數據信號線路間的距離應保持在10mm以內,以避免偏移。

總結

在物聯網端點中,外部SPI閃存器件是實現大型數據查找表的有效解決方案。這種方法可輕松實現在系統重新編程和升級,并且最大限度地減少微控制器資源的使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    6813

    瀏覽量

    147679
  • STM32
    +關注

    關注

    2240

    文章

    10675

    瀏覽量

    348913
收藏 人收藏

    評論

    相關推薦

    微控制器系統設計中的嵌入式軟件

    微控制器技術現狀智能化、互聯網、聯網和云計算讓控制器(MCU)無處不在MCU8/16/32的位數界限變得模糊MCU與嵌入式處理
    發表于 03-08 16:33

    【Tisan聯網申請】基于聯網開發板遠程參數監控及控制器

    申請理由:基于聯網開發板遠程參數監控及控制器 遠程監控電力設備一些電力參數 在適當或緊急情況加以控制本人有3年
    發表于 10-21 10:17

    CC3100 SimpleLink? Wi-Fi? 和聯網解決方案,用于微控制器 (MCU) 應用

    CC3100 SimpleLink? Wi-Fi? 和聯網解決方案,用于微控制器 (MCU) 應用
    發表于 02-24 09:25

    聯網應用驅動MCU市場增長

    聯網(IOT)應用中使用的微控制器單元(MCU)正在興起,對整個MCU市場的增長產生了積極的影響。全球領先的關鍵信息和分析供應商IHS稱,聯網汽車、可穿戴電子產品、樓宇自動化等
    發表于 06-29 11:45

    意法半導體(ST)將其獨有的開發生態環境與阿里AliOS操作系統完美結合,打造中國第一個云節點聯網平臺

    AliOS正式發布后,意法半導體穩健的STM32微控制器平臺(MCU)會支持該操作系統。STM32微控制器平臺(MCU)是目前市場上產品陣容最強大的ARM?Cortex?-M
    發表于 10-17 15:54

    基于ARM Cortex-M7的STM32H7微控制器正式量產

    Arm平臺安全架構(PSA)采用高性價比、領先技術全面提升聯網市場的安全技術支持基于STM32H7系列開發的Arm? Cortex?-M7微控制器整合PSA概念和先進的安全功能服務中
    發表于 10-30 14:29

    意法半導體推出STM32L5超低功耗微控制器 加強聯網安全防御能力

    L系列上使用的經過市場檢驗的多種低功耗模式。意法半導體微控制器事業部總經理Ricardo De Sa Earp表示:“憑借TrustZone技術和其它定制化保護功能,STM32L5系列可大幅強化小
    發表于 10-17 10:37

    基于微控制器的Web服務解決聯網數據采集需求

    ,必須使用具備相應界面的特定微控制器(MCU)作為橋接轉換- 可以使用以太網絡處理有線連接,在無線方面,可以透過Wi- Fi、ZigBee或者藍牙協定。隨著聯網應用越來越多樣化,而且每種應用都有其特定的操作門檻。因此,
    發表于 07-19 06:45

    聯網微控制器的需求趨勢和應用技巧分享

    聯網微控制器需求趨勢+應用技巧
    發表于 01-27 07:00

    基于STM32的CAN總線通信節點控制設計

    說明:這是我的畢業設計,基于STM32的CAN總線通信節點設計。用的是STM32F103微控制器,LCD1602液晶顯示,MQ-4甲烷氣體傳感
    發表于 07-19 07:18

    STM32微控制器

    意法半導體(ST)是世界上最大的半導體公司之一,是MCU微控制器的領先者。STM32微控制器是目前的主流產品。如STM32F0 系列產品基于超低功耗的 ARM Cortex-M0 處理
    發表于 07-23 10:11

    使用MCU微控制器實現對聯網設備的控制

    **PacketTracer模擬器物聯網教程2—MCU微控制器編程**一、目的使用MCU微控制器實現對聯網設備的
    發表于 11-01 07:36

    新型PG22微控制器的相關資料分享

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

    STM32微控制器的相關資料分享

    文章目錄一、STM32微控制器概述1、控制器主要參數:2、內部資源情況:3、STM32總線系統4、存儲映射5、
    發表于 11-26 07:56

    STM32微控制器的安全基礎知識

    本應用筆記介紹了 STM32 微控制器的安全基礎知識。微控制器中的安全性涵蓋了幾個方面,其中包括固件知識產權保護、設備私有數據保護以及服務執行保證。在
    發表于 09-07 07:36
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>