<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于STM32的多路電壓測(cè)量設(shè)計(jì)方案

          基于STM32的多路電壓測(cè)量設(shè)計(jì)方案

          作者: 時(shí)間:2013-09-16 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/174695.htm

          3.3 LCD電路

          本設(shè)計(jì)所使用的LCD為2.4寸,320×240分辨率。LCD模塊使用STM32的FSMC接口

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

          在STM32內(nèi)部,F(xiàn)SMC的一端通過(guò)內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲(chǔ)器的外部總線。內(nèi)核對(duì)外部存儲(chǔ)器的訪問(wèn)信號(hào)發(fā)送到AHB總線后,經(jīng)過(guò)FSMC轉(zhuǎn)換為符合外部存儲(chǔ)器通信規(guī)約的信號(hào),送到外部存儲(chǔ)器的相應(yīng)引腳,實(shí)現(xiàn)內(nèi)核與外部存儲(chǔ)器之間的數(shù)據(jù)交互。F S M C起到橋梁作用,既能夠進(jìn)行信號(hào)類型的轉(zhuǎn)換,又能夠進(jìn)行信號(hào)寬度和時(shí)序的調(diào)整,屏蔽掉不同存儲(chǔ)類型的差異,使之對(duì)內(nèi)核而言沒(mé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ò)展的存儲(chǔ)空間被分成8個(gè)塊。通過(guò)地址線選擇操作的塊。這樣,LCD將被看作一個(gè)擁有一塊地址空間的存儲(chǔ)器進(jìn)行操作。

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

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

          MicroSD卡與SD卡一樣,有SPI和SDIO兩種操作時(shí)總線。SPI總線相對(duì)于SDIO總線接口簡(jiǎn)單,但速度較慢。我們使用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所示。

          3.5 觸摸屏電路

          本設(shè)計(jì)在的通道和顯示設(shè)置上,除了使用按鍵設(shè)置,還使用觸摸屏進(jìn)行設(shè)置。

          觸摸屏使用芯片TSC2046控制,其硬件連接圖如圖4所示。

          在圖4中,TSC2046可以采集觸摸屏的點(diǎn)坐標(biāo),從而確定觸摸的位置,進(jìn)行人機(jī)交互。

          STM32通過(guò)SPI總線與TSC2046通信,可以得到觸摸信息。本設(shè)計(jì)使用觸摸屏進(jìn)行通道數(shù)的設(shè)置和速度的設(shè)置。

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

          4.1 軟件流程

          系統(tǒng)軟件部分使用C語(yǔ)言編程,同時(shí)使用STM32官方提供的固件庫(kù),使用的版本為3.5版。STM32固件庫(kù)也稱固件函數(shù)庫(kù)或標(biāo)準(zhǔn)外設(shè)庫(kù),是一個(gè)固件函數(shù)包,它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的性能特征。該函數(shù)庫(kù)還包括每一個(gè)外設(shè)的驅(qū)動(dòng)描述和應(yīng)用實(shí)例,為開(kāi)發(fā)者訪問(wèn)底層硬件提供了一個(gè)中間API,通過(guò)使用固件函數(shù)庫(kù),無(wú)需深入掌握底層硬件細(xì)節(jié),開(kāi)發(fā)者就可以輕松應(yīng)用每一個(gè)外設(shè)。因此,使用固態(tài)函數(shù)庫(kù)可以大大減少用戶的程序編寫(xiě)時(shí)間,進(jìn)而降低開(kāi)發(fā)成本。每個(gè)外設(shè)驅(qū)動(dòng)都由一組函數(shù)組成,這組函數(shù)覆蓋了該外設(shè)所有功能。簡(jiǎn)單的說(shuō),使用標(biāo)準(zhǔn)外設(shè)庫(kù)進(jìn)行開(kāi)發(fā)最大的優(yōu)勢(shì)就在于可以使開(kāi)發(fā)者不用深入了解底層硬件細(xì)節(jié)就可以靈活規(guī)范的使用每一個(gè)外設(shè)。

          軟件部分為了方便存儲(chǔ)數(shù)據(jù)的查看和讀取,在MicroSD卡部分使用了fatfs文件系統(tǒng)。

          FAFFS是面向小型嵌入式系統(tǒng)的一種通用的FAT文件系統(tǒng)。FATFS完全是由AISI C語(yǔ)言編寫(xiě)并且完全獨(dú)立于底層的I/O介質(zhì)。因此它可以很容易地不加修改地移植到其他的處理器當(dāng)中,如8051、PIC、AVR、SH、Z80、H8、ARM等。

          FATFS支持FAT12、FAT16、FAT32等格式,所以我們利用前面寫(xiě)好的SDIO驅(qū)動(dòng),把FATFS文件系統(tǒng)代碼移植到工程之中,就可以利用文件系統(tǒng)的各種函數(shù),對(duì)已格式化的SD卡進(jìn)行讀寫(xiě)文件了。

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

          4.2 軟件文件結(jié)構(gòu)

          文件main.c是整個(gè)程序的入口文件,也是主要文件。global.c和global.h主要是共用的函數(shù)和全局性的宏定義。LCD_Disp.c和LCD_Disp.h是基于STM32固件庫(kù)的對(duì)LCD的底層驅(qū)動(dòng)函數(shù)。Lcdfunc.c和lcdfunc.h是為了主程序更方便的操作LCD而編寫(xiě)的一些常用的復(fù)雜的對(duì)LCD底層函數(shù)的封裝函數(shù)。sdio_sdcard.c和sdio_sdcard.h是基于STM32固件庫(kù)的對(duì)MicroSD卡的底層驅(qū)動(dòng)函數(shù)。fat文件系統(tǒng)在STM32上的使用需要針對(duì)具體類型的硬件進(jìn)行配置,所以它是基于MicroSD卡的底層驅(qū)動(dòng)程序的。fatfunc.c和fatfunc.h是對(duì)fat文件操作接口的一些封裝,是針對(duì)本設(shè)計(jì)中對(duì)文件的操作編寫(xiě)的。其余的按鍵中斷和ADC等操作的函數(shù)是直接基于STM32固件庫(kù)的,并直接被主程序調(diào)用。

          5.總結(jié)

          STM32在速度、功耗方面性能都更加優(yōu)越,其豐富的外設(shè)也更加方便設(shè)計(jì)。另外,STM32價(jià)格較低,在成本上也有優(yōu)勢(shì)。STM32適合于控制電子設(shè)備的設(shè)計(jì)。設(shè)計(jì)中使用的ADC是STM32上的12位ADC,能夠滿足一定的測(cè)量精度,對(duì)于較高的測(cè)量要求,則需要使用更高精確度的ADC.但是使用高精度ADC和DSP芯片,將很大的增加開(kāi)發(fā)成本。本設(shè)計(jì)方案完成了多路電壓測(cè)量的各項(xiàng)功能,但是還需要在使用中檢測(cè)其穩(wěn)定可靠性,以使設(shè)計(jì)更加完善。

          接地電阻相關(guān)文章:接地電阻測(cè)試方法


          adc相關(guān)文章:adc是什么


          接地電阻測(cè)試儀相關(guān)文章:接地電阻測(cè)試儀原理

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 控制 測(cè)量 單片機(jī)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();