基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第1頁
基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第2頁
基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第3頁
基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第4頁
基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于STM32的多路電壓采集的設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用1.引言

近年來,數(shù)據(jù)采集及其應(yīng)用受到了人們越來越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應(yīng)用于各種領(lǐng)域。

數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支之一,數(shù)據(jù)采集也是從一個(gè)或多個(gè)信號獲取對象信息的過程。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),通常采用一些功能相對獨(dú)立的單片機(jī)系統(tǒng)來實(shí)現(xiàn),作為測控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點(diǎn)直接影響到整個(gè)系統(tǒng)。

電壓的測量為普遍性,研究設(shè)計(jì)并提高電壓測量精度的方法及儀器具有十分重要的意義。在電壓測量設(shè)計(jì)中,單片機(jī)作為控制器,是整個(gè)設(shè)計(jì)的。除此之外,設(shè)計(jì)中還必須有模數(shù)轉(zhuǎn)換器(ADC)。ADC用于直接采集模擬電壓并將模擬信號轉(zhuǎn)換成數(shù)字信號,它直接影響著數(shù)據(jù)采集的精度和速度。

2.系統(tǒng)概述

本設(shè)計(jì)的微控制器采用STM32單片機(jī)。STM32系列單片機(jī)是基于ARM公司Cortex-M3內(nèi)核設(shè)計(jì)的。它的時(shí)鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能較高的產(chǎn)品,具有高性能、低成本、低功耗的優(yōu)點(diǎn),是嵌入式應(yīng)用設(shè)計(jì)中良好的選擇。設(shè)計(jì)中的A/D轉(zhuǎn)換器采用STM32內(nèi)置ADC。STM32的ADC是一種12位逐次逼近型模擬數(shù)字轉(zhuǎn)換器。

它有多達(dá)18個(gè)通道,可測量16個(gè)外部和2個(gè)內(nèi)部信號源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。轉(zhuǎn)換結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。其輸入時(shí)鐘可達(dá)到14MHz。

本設(shè)計(jì)可測量8通道電壓值,測量范圍為0-10V的電壓,顯示誤差為±0.001V。LCD實(shí)時(shí)顯示電壓值和波形圖,MicroSD卡對數(shù)據(jù)進(jìn)行同步存儲。系統(tǒng)原理框圖如圖1所示。

圖1系統(tǒng)原理框圖

3.系統(tǒng)硬件設(shè)計(jì)

本設(shè)計(jì)的硬件主要包括STM32模塊,LCD模塊,SD卡模塊和按鍵模塊。STM32模塊不僅作為控制器,還包括ADC設(shè)備,它主要包括STM32系統(tǒng)電路。LCD模塊主要包括LCD驅(qū)動(dòng)接口電路。SD卡模塊主要是SD卡驅(qū)動(dòng)電路。除此之外,還有用于程序調(diào)試的J-Link接口電路和電源電路等。

3.1、STM32系統(tǒng)

本模塊主要介紹STM32芯片和設(shè)計(jì)中用到的外設(shè)模塊。

STM32系統(tǒng)使用外部高速時(shí)鐘,外接8M晶振。STM32的兩個(gè)BOOT引腳都接低電平,以使用戶閃存存儲器為程序啟動(dòng)區(qū)域。芯片采用J-Link模式,也可以進(jìn)行硬件調(diào)試。STM32的電源引腳都接了濾波電容以確保單片機(jī)電源的穩(wěn)定。

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

本設(shè)計(jì)中ADC采集的數(shù)據(jù)使用DMA進(jìn)行傳輸,以達(dá)到高速實(shí)時(shí)的目的。

3.2、ADC控制電路

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

圖2ADC匹配電路圖

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

匹配電路以AD603為.AD603為單通道、低噪聲、增益變化范圍線性連續(xù)可調(diào)的可控增益放大器。帶寬90MHz時(shí),其增益變化范圍為-10dB~+30dB;帶寬為9M時(shí)范圍為10~50dB。

將VOUT與FDBK短路,即為寬頻帶模式(90MHz寬頻帶),AD603的增益設(shè)置為-11.07dB~+31.07dB。AD603的5、7腳相連,單片AD603的可調(diào)范圍為-10dB~30dB。AD603的增益與控制電壓成線性關(guān)系,其增益控制端輸入電壓范圍為±500mv,增益調(diào)節(jié)范圍為40dB,當(dāng)步進(jìn)5dB時(shí),控制端電壓需增大:

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

3.3、LCD控制電路

本設(shè)計(jì)所使用的LCD為2.4寸,320TImes;240分辨率。LCD模塊使用STM32的FSMC接口控制。FSMC(FlexibleStaTIcMemoryController)即可變靜態(tài)存儲控制器,是STM32系列中內(nèi)部集成256KB以上Flash,后綴為xC、xD和xE的高存儲密度微控制器特有的存儲控制機(jī)制。通過對特殊功能寄存器的設(shè)置,F(xiàn)SMC能夠根據(jù)不同的外部存儲器類型,發(fā)出相應(yīng)的數(shù)據(jù)/地址/控制信號類型以匹配信號的速度,從而使得STM32系列微控制器不僅能夠應(yīng)用各種不同類型、不同速度的外部靜態(tài)存儲器,而且能夠在不增加外部器件的情況下同時(shí)擴(kuò)展多種不同類型的靜態(tài)存儲器,滿足系統(tǒng)設(shè)計(jì)對存儲容量、產(chǎn)品體積以及成本的綜合要求。

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

3.4、SD卡驅(qū)動(dòng)電路

本設(shè)計(jì)中使用的SD卡為MicroSD,也稱TF卡。MicroSD卡是一種極細(xì)小的快閃存儲器卡,主要應(yīng)用于移動(dòng)電話,但因它的體積微小和儲存容量的不斷提升,現(xiàn)在已經(jīng)使用于GPS設(shè)備、便攜式音樂播放器、數(shù)碼相機(jī)和一些快閃存儲器盤中。MicroSD卡引腳圖如圖9所示。

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

MicroSD卡在SDIO模式時(shí)有4條數(shù)據(jù)線。其實(shí),MicroSD在SDIO模式時(shí)有1線模式和4線模式,也就是分別使用1根或4根數(shù)據(jù)線。當(dāng)然,4線模式的速度要快于1線模式,但操作卻較復(fù)雜。本設(shè)計(jì)中使用的是SDIO的4線模式。MicroSD卡的硬件連接圖如圖3所示。

圖3MicroSD卡的硬件連接圖

3.5、觸摸屏電路

本設(shè)計(jì)在測量的通道和顯示設(shè)置上,除了使用按鍵設(shè)置,還使用觸摸屏進(jìn)行設(shè)置。觸摸屏使用芯片TSC2046控制,其硬件連接圖如圖4所示。

在圖4中,TSC2046可以采集觸摸屏的點(diǎn)坐標(biāo),從而確定觸摸的位置,進(jìn)行人機(jī)交互。STM32單片機(jī)通過SPI總線與TSC2046通信,可以得到觸摸信息。本設(shè)計(jì)使用觸摸屏進(jìn)行測量通道數(shù)的設(shè)置和測量速度的設(shè)置。

圖4TSC2046電路

4.系統(tǒng)軟件設(shè)計(jì)

4.1、軟件流程

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

以上是系統(tǒng)軟件設(shè)計(jì)的兩個(gè)主要部分,其他還有LCD驅(qū)動(dòng)程序,ADC和DMA驅(qū)動(dòng)程序,按鍵中斷程序等。

5.總結(jié)

STM32在速度、功耗方面性能都

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論