基於STM32的多路電壓採集的設計與實現

2020-12-27 電子發燒友

1.引言

近年來,數據採集及其應用受到了人們越來越廣泛的關注,數據採集系統也有了迅速的發展,它可以廣泛的應用於各種領域。

數據採集技術是信息科學的重要分支之一,數據採集也是從一個或多個信號獲取對象信息的過程。數據採集是工業控制等系統中的重要環節,通常採用一些功能相對獨立的單片機系統來實現,作為測控系統不可缺少的部分,數據採集的性能特點直接影響到整個系統。

電壓的測量最為普遍性,研究設計並提高電壓測量精度的方法及儀器具有十分重要的意義。在電壓測量設計中,單片機作為控制器,是整個設計的核心。除此之外,設計中還必須有模數轉換器(ADC)。ADC用於直接採集模擬電壓並將模擬信號轉換成數位訊號,它直接影響著數據採集的精度和速度。

2.系統概述

本設計的微控制器採用STM32單片機。STM32系列單片機是基於ARM公司Cortex-M3內核設計的。它的時鐘頻率達到72MHz,是同類產品中性能較高的產品,具有高性能、低成本、低功耗的優點,是嵌入式應用設計中良好的選擇。設計中的A/D轉換器採用STM32內置ADC。STM32的ADC是一種12位逐次逼近型模擬數字轉換器。

它有多達18個通道,可測量16個外部和2個內部信號源。各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。轉換結果可以左對齊或右對齊方式存儲在16位數據寄存器中。其輸入時鐘最大可達到14MHz。

本設計可測量8通道電壓值,測量範圍為0-10V的電壓,顯示誤差為±0.001V。LCD實時顯示電壓值和波形圖,MicroSD卡對數據進行同步存儲。系統原理框圖如圖1所示。

圖1 系統原理框圖

3.系統硬體設計

本設計的硬體主要包括STM32模塊,LCD模塊,SD卡模塊和按鍵模塊。STM32模塊不僅作為核心控制器,還包括ADC設備,它主要包括STM32最小系統電路。LCD模塊主要包括LCD驅動接口電路。SD卡模塊主要是SD卡驅動電路。除此之外,還有用於程序下載調試的J-Link接口電路和電源電路等。

3.1、STM32最小系統

本模塊主要介紹STM32晶片和設計中用到的外設模塊。

STM32最小系統使用外部高速時鐘,外接8M晶振。STM32的兩個BOOT引腳都接低電平,以使用戶快閃記憶體存儲器為程序啟動區域。晶片採用J-Link下載模式,也可以進行硬體調試。STM32的電源引腳都接了濾波電容以確保單片機電源的穩定。

STM32F103VET6擁有3個ADC,這些ADC可以獨立使用,也可以使用雙重模式(提高採樣率)。STM32的ADC是12位逐次逼近型的模擬數字轉換器。它有18個通道可測量16個外部和2個內部信號源。各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。在程序正常執行的時候,中斷是可以打斷程序正常執行的。同這個類似,注入通道的轉換可以打斷規則通道的轉換,在注入通道被轉換完成之後,規則通道才得以繼續轉換。

本設計中ADC採集的數據使用DMA進行傳輸,以達到高速實時的目的。

3.2、ADC控制電路

STM32的數字/模擬轉換模塊(DAC)是12位數字輸入,電壓輸出的數字/模擬轉換器。本設計中使用DAC來控制ADC匹配電路的增益。在打開DAC模塊電源和配置好DAC所需GPIO的基礎上,往DAC通道的數據DAC_DHRx寄存器寫入數據,如果沒有選中硬體觸發,存入寄存器DAC_DHRx的數據會在一個APB1時鐘周期後自動傳至寄存器DAC_DORx。一旦數據從DAC_DHRx寄存器裝入DAC_DORx寄存器,在經過一定時間之後,輸出即有效,這段時間的長短依電源電壓和模擬輸出負載的不同會有所變化。

圖2  ADC匹配電路圖

TM32的ADC前加入匹配電路。在ADC控制電路中,輸入信號先經過射極電壓跟隨電路,然後經過分壓電路,使輸入信號滿足AD603的輸入要求。然後再經過射極電壓跟隨電路,輸入ADC輸入端。AD603的控制輸入使用STM32的DAC,可以滿足增益的要求。

匹配電路以AD603為核心.AD603為單通道、低噪聲、增益變化範圍線性連續可調的可控增益放大器。帶寬90MHz時,其增益變化範圍為-10dB~+30dB;帶寬為9M時範圍為10~50dB。

將VOUT與FDBK短路,即為寬頻帶模式(90MHz寬頻帶),AD603的增益設置為-11.07dB~+31.07dB。AD603的5、7腳相連,單片AD603的可調範圍為-10dB~30dB。AD603的增益與控制電壓成線性關係,其增益控制端輸入電壓範圍為±500mv,增益調節範圍為40dB,當步進5dB時,控制端電壓需增大:

ADC匹配電路的電路圖如圖2所示。

3.3、LCD控制電路

本設計所使用的LCD為2.4寸,320×240解析度。LCD模塊使用STM32的FSMC接口控制。FSMC(FlexibleStaticMemoryController)即可變靜態存儲控制器,是STM32系列中內部集成256KB以上Flash,後綴為xC、xD和xE的高存儲密度微控制器特有的存儲控制機制。通過對特殊功能寄存器的設置,FSMC能夠根據不同的外部存儲器類型,發出相應的數據/地址/控制信號類型以匹配信號的速度,從而使得STM32系列微控制器不僅能夠應用各種不同類型、不同速度的外部靜態存儲器,而且能夠在不增加外部器件的情況下同時擴展多種不同類型的靜態存儲器,滿足系統設計對存儲容量、產品體積以及成本的綜合要求。

在STM32內部,FSMC的一端通過內部高速總線AHB連接到內核Cortex-M3,另一端則是面向擴展存儲器的外部總線。內核對外部存儲器的訪問信號發送到AHB總線後,經過FSMC轉換為符合外部存儲器通信規約的信號,送到外部存儲器的相應引腳,實現內核與外部存儲器之間的數據交互。FSMC起到橋梁作用,既能夠進行信號類型的轉換,又能夠進行信號寬度和時序的調整,屏蔽掉不同存儲類型的差異,使之對內核而言沒有區別。FSMC可以連接NOR/PSRAM/NAND/PC卡等設備,並且擁有FSMC_A[25:0]共26條地址總線,FSMC[15:0]共16條數據總線。另外,FSMC擴展的存儲空間被分成8個塊。通過地址線選擇操作的塊。這樣,LCD將被看作一個擁有一塊地址空間的存儲器進行操作。

3.4、SD卡驅動電路

本設計中使用的SD卡為MicroSD,也稱TF卡。MicroSD卡是一種極細小的快閃記憶體卡,主要應用於行動電話,但因它的體積微小和儲存容量的不斷提升,現在已經使用於GPS設備、可攜式音樂播放器、數位相機和一些快閃記憶體盤中。MicroSD卡引腳圖如圖9所示。

MicroSD卡與SD卡一樣,有SPI和SDIO兩種操作時總線。SPI總線相對於SDIO總線接口簡單,但速度較慢。我們使用SDIO模式。

MicroSD卡在SDIO模式時有4條數據線。其實,MicroSD在SDIO模式時有1線模式和4線模式,也就是分別使用1根或4根數據線。當然,4線模式的速度要快於1線模式,但操作卻較複雜。本設計中使用的是SDIO的4線模式。MicroSD卡的硬體連接圖如圖3所示。

圖3  MicroSD卡的硬體連接圖

3.5、觸控螢幕電路

本設計在測量的通道和顯示設置上,除了使用按鍵設置,還使用觸控螢幕進行設置。觸控螢幕使用晶片TSC2046控制,其硬體連接圖如圖4所示。

在圖4中,TSC2046可以採集觸控螢幕的點坐標,從而確定觸摸的位置,進行人機互動。STM32單片機通過SPI總線與TSC2046通信,可以得到觸摸信息。本設計使用觸控螢幕進行測量通道數的設置和測量速度的設置。

圖4  TSC2046電路

4.系統軟體設計

4.1、軟體流程

軟體部分為了方便存儲數據的查看和讀取,在MicroSD卡部分使用了fatfs文件系統。FAFFS是面向小型嵌入式系統的一種通用的FAT文件系統。FATFS完全是由AISIC語言編寫並且完全獨立於底層的I/O介質。因此它可以很容易地不加修改地移植到其他的處理器當中,如8051、PIC、AVR、SH、Z80、H8、ARM等。FATFS支持FAT12、FAT16、FAT32等格式,所以我們利用前面寫好的SDIO驅動,把FATFS文件系統代碼移植到工程之中,就可以利用文件系統的各種函數,對已格式化的SD卡進行讀寫文件了。

以上是系統軟體設計的兩個主要部分,其他還有LCD驅動程序,ADC和DMA驅動程序,按鍵中斷程序等。

5.總結

STM32在速度、功耗方面性能都更加優越,其豐富的外設也更加方便設計。另外,STM32價格較低,在成本上也有優勢。STM32適合於控制電子設備的設計。設計中使用的ADC是STM32上的12位ADC,能夠滿足一定的測量精度,對於較高的測量要求,則需要使用更高精確度的ADC。但是使用高精度ADC和DSP晶片,將很大的增加開發成本。本設計完成了多路電壓測量的各項功能,但是還需要在使用中檢測其穩定可靠性,以使設計更加完善。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 基於ADS8343及51單片機的多路採集系統
    摘要:文中介紹了16位模數轉換晶片ADS8343的功能與特性,簡述了ADS8343的工作時序,利用C51單片機、RS232串口和計算機系統構成數據採集
  • 低成本多路輸出CMOS帶隙基準電壓源設計
    摘要:在傳統Brokaw帶隙基準源的基礎上,提出一種採用自偏置結構和共源共柵電流鏡的低成本多路基準電壓輸出的CMOS帶隙基準源結構,省去了一個放大器,並減小了所需的電阻阻值,大大降低了成本,減小了功耗和噪聲。
  • 基於DSP與AD7656的高速AD採集系統設計
    摘要:在某綜合控制計算機系統中為了實現對多路AD信號實時高精度採集,採用了以B為核心,與AD7656晶片相組合的高精度、實時A/D數據採集砹計實現方案。重點分析硬體接口電路的設計、PCB設計中應注意的問題和軟體設計實現流程。
  • 多路交通信號燈狀態監測系統的設計
    文中介紹了一種新型的多路交通信號燈狀態監測方法。該方法基於互感檢測原理,根據互感器次級輸出電流,經信號調理電路處理後送到處理器進行AD採樣,從而檢測信號燈驅動迴路的電流。並利用光耦合器電路實現對驅動迴路的電壓檢測。本設計中的多路交通信號燈狀態監測系統硬體基於MSP430F149單片機,利用內部集成ADC模塊實現多路信號的採集。
  • 基於兩路不等容編碼投切實現戶外高壓無功自動補償裝置的設計
    基於兩路不等容編碼投切實現戶外高壓無功自動補償裝置的設計 佚名 發表於 2020-12-15 09:51:00 1.
  • 鍋爐多路風壓風速監測儀的設計與應用
    本設計採用低成本的單片機和外圍監測電路,實現對工業燃煤鍋爐多通道風壓、風速、溫度的實時監測與顯示,並與上位機通訊,進行數據處理、列印與存儲。2.2 工作原理鍋爐多路風壓、風速在線監測系統的工作原理為:鍵盤/顯示模塊作為外設與CPU實現人一機信息交流;同時,CPU經通道控制模塊選擇採集通道,對被選擇通道的數據相繼進行信號採集、放大、A/D轉換後輸入CPU,在CPU內部經運算、比較、數值轉換處理後輸出到鍵盤/顯示模塊,顯示所要監測的相關數據。
  • 基於DSP的多路語音實時採集與壓縮處理系統
    在語音的數字通信和數字存儲等應用領域,需要對多路語音信號進行實時採集和壓縮處理。如某語音記錄設備,需要對8路語音信號進行實時採集和壓縮處理,而且要求對採集到的語音數據的壓縮率儘量高。一般地,當要求語音數據壓縮後的碼流在10 Kbps左右時,需要採用語音的模型編碼技術。而模型編碼算法的運算量很大。
  • stm32屬於arm嗎_arm和stm32的區別
    STM32是基於ARM® Cortex® M 3處理器內核的 32位快閃記憶體微控制器,為MCU用戶開闢了一個全新的自由開發空間,並提供了各種易於上手的軟硬體輔助工具。STM32 MCU融高性能、實時性、數位訊號處理、低功耗、低電壓於一身,同時保持高集成度和開發簡易的特點。
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   avr單片機特點:   1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。
  • 基於STM32的直流電機PID調速系統設計與實現
    順應調速系統智能化、簡單化的發展趨勢,本設計採用一款性價比高、功耗低的基於ARMCortex⁃M3內核的STM32單片機為控制核心,結合PID控制技術,實現了直流電機範圍大、精度高的調速性能。 1、系統的總體設計 該調速系統能夠實現對電機的啟動、制動、正反轉調速、測速和數據上傳等功能,可方便地實現直流電機的四象限運行。
  • 基於FPGA的振動信號採集處理系統設計
    本文設計了一種基於FPGA的振動信號採集處理系統,該系統通過振動信號採集電路、抗混疊濾波電路、AD採樣電路將電荷信號轉化為數位訊號送入FPGA,在FPGA處理設計中利用數據流控制方法並行實現了信號的採樣和處理,並在數據存儲和訪問過程中採用時鐘時標方法判斷信號採樣過程中的數據丟失情況
  • 基於STM32的Mifare IC卡讀寫卡器設計
    系統以STM32F103C8T6為主控晶片,讀寫卡晶片採用MFRC522晶片(支持14443A協議,其頻率為13.56MHz),採用SPI通訊方式實現與Mifare IC卡的通訊;利用雙線並繞的方式設計PCB天線,大幅提高了讀寫卡器的天線信號強度和生產成品率。上位機軟體基於VC6.0底層代碼編寫,方便地實現了對Mifare IC卡的讀寫。
  • 一種基於STM32的力反饋型康復機器人控制系統設計
    基於上肢康復訓練的要求,筆者研製一種基於STM32的力反饋型上肢康復訓練系統。在設計控制系統時,保證系統的安全性與穩定性是最基本的原則⑷。為了避免在突發情況下對患肢造成二次損傷,通常採用限定機器人末端和受訓患肢之間作用力大小的辦法。經過實驗驗證,本系統設計合理,性能穩定,可以實現康復機器人的平穩控制,具有的力反饋功能可以在保證系統安全性的前提下充分激發患者殘存的功能。
  • SAR與Σ-Δ型ADC架構的對比,多路復用應用面臨的挑戰
    它們從中選出一個轉換器架構和拓撲,並使用市場上提供的分立式或集成式元件實現信號鏈設計。 圖1顯示了多路復用DAS的簡化框圖,可進行監控並對多種傳感器類型進行順序採樣。某些情況下,信號鏈會利用多路復用器與ADC之間的緩衝放大器或可編程增益放大器。
  • 基於ZigBee無線網絡的電源電壓監控系統
    採用基於ZigBee 技術的無線傳感器網絡來組建這種電源監控系統,即可解決上述種種問題。現介紹ZigBee 技術的工作原理及實時監控系統的設計。ZigBee 協議棧結構由物理層、MAC 層、網絡層和應用層組成。ZigBee 標準規定,所有的ZigBee網絡節點分為Coordinator、Route、End Device 這3種類型。
  • 基於AD7792的pH在線監測傳感器採集電路設計
    此外,由於pH測量電極上產生的電動勢較小,最大只有幾百mV,因此對於pH值在線監測傳感器,在設計信號放大和採集電路時,必須考慮放大電路隨時間和溫度的漂移對pH值的影響,以獲得精確且結果可重複的PH值。1 低溫漂放大和採集電路設計1.1 DH測量系統原理框圖一般pH測量系統包括pH電極、信號放大電路、A/D採集電路、微控制器和通信接口,如圖1所示。
  • 電能質量監測系統的設計實現和車載應用
    萬用表、電流表、示波器等可在一定程度滿足應用需求,但均有其使用限制,例如萬用表和電流表只能實現部分電氣參數的實時測量,無法進行記錄;示波器由於輸入端為共地接口,難以滿足同時測試多路交流電壓的要求。專業廠商的專業電能質量記錄儀可滿足電能質量檢測需求,但價格高昂,難以滿足特定應用要求或定製化需求,例如車載運行記錄等。
  • ADC0809和51單片機的多路數據採集系統設計方案
    本文引用地址:http://www.eepw.com.cn/article/273793.htm  本文的主要任務是對0~5V的直流電壓進行測量並送到遠端的PC機上進行顯示。由於採集的是直流信號,對於緩慢變化的信號不必加採樣保持電路,因此選用市面上比較常見的逐次逼近型ADC0809晶片,該晶片轉換速度快,價格低廉,可以直接將直流電壓轉換為計算機可以處理的數字量。
  • 基於CPLD的數字光端機的設計
    本文詳細介紹了數字光端機的架構與工作原理,完成基於CPLD的無壓縮2路視頻傳輸,2路音頻傳輸和一路反向數據傳輸的數字光端機的設計。實驗證明,系統工作性能穩定可靠,實時傳輸效果好,可廣泛應用於安防行業。本文實現了基於CPLD的無壓縮2路視頻傳輸,2路音頻傳輸和一路反向數據傳輸的數字光端機設計。1 系統結構與工作原理數字光端機的發射端工作原理:首先對視頻圖像信號(PAL/NTSC制式)和音頻信號進行採集,轉換為低速模擬信號。
  • 基於STM32的重力感應無線智能遙控小車設計
    本設計首先採集手持遙控端的傾角信息並進行處理、生成指令,然後無線發送給智能小車,賦予智能小車更靈活的運動狀態和更寬廣的運動範圍。設計靈活,操作方便,控制穩定,製作成本低,可應用於視線可觀察但人體涉及不到的區域,可製作成高端智能玩具,或應用於工業控制,與實際相結合,有良好的現實意義和市場經濟價值。