国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的AD采集與SD卡數(shù)據(jù)存儲(chǔ)

2016-06-14 01:13杜佳良丁亞?wèn)|趙俊杰
電腦知識(shí)與技術(shù) 2016年12期
關(guān)鍵詞:數(shù)據(jù)存儲(chǔ)

杜佳良+丁亞?wèn)|+趙俊杰

摘要:設(shè)計(jì)一種基于STM32的AD信號(hào)采集并且將采集相關(guān)信息在SD卡上存儲(chǔ)的系統(tǒng)。利用計(jì)算機(jī)軟件將SD卡上的文本格式數(shù)據(jù)信息轉(zhuǎn)換成EXCEL格式,方便用戶對(duì)信息進(jìn)行查詢管理,在實(shí)際工程中具有很高的應(yīng)用價(jià)值。

關(guān)鍵詞:STM32;SD卡;數(shù)據(jù)存儲(chǔ)

中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0235-03

Abstract:Based on STM32,designing an analog to digital acquisition and related information will be collected on the SD card storage system. Using computer software to convert the text format data on the SD card into EXCEL format, user-friendly information query has a high value in the actual project.

Key words: STM32; SD card; data storage

隨著工業(yè)自動(dòng)化的發(fā)展,控制設(shè)備在各領(lǐng)域得到了廣泛的應(yīng)用。在一個(gè)控制系統(tǒng)中,外界的傳感器相當(dāng)于一個(gè)系統(tǒng)的“鼻子”和“眼睛”,往往決定系統(tǒng)中下一步的動(dòng)作,是一個(gè)系統(tǒng)的關(guān)鍵?,F(xiàn)在的32位處理器基本都具有ADC模塊,免去了使用8位單片機(jī)需要外搭A(yù)DC電路的過(guò)程,簡(jiǎn)化電路設(shè)計(jì)并提高了轉(zhuǎn)換的快速性和準(zhǔn)確性?,F(xiàn)在加工制造業(yè)的迅速發(fā)展,對(duì)系統(tǒng)數(shù)據(jù)的實(shí)時(shí)性也提出了更高的要求,迫切需要一種簡(jiǎn)單方便的方式對(duì)大量數(shù)據(jù)進(jìn)行存儲(chǔ)。大型控制系統(tǒng)通常會(huì)采用485通訊、以太網(wǎng)的方式將數(shù)據(jù)直接傳送到上位機(jī),建立數(shù)據(jù)庫(kù),而對(duì)于一些小型控制設(shè)備,這會(huì)大大增加設(shè)備的成本,相比之下,利用單片機(jī)和存儲(chǔ)介質(zhì)就地存儲(chǔ)就顯得更有優(yōu)勢(shì)。

1系統(tǒng)的整體分析

STM32F103VET6單片機(jī)是一款基于Cortex-M3內(nèi)核的增強(qiáng)型處理器,工作頻率可以達(dá)到72MHz,其內(nèi)部具有3個(gè)12位的ADC采用通道,每個(gè)ADC共用了多達(dá)21個(gè)外部通道接口,可以實(shí)現(xiàn)單次或連續(xù)外部數(shù)據(jù)采樣[1]。SD卡是目前最常用的大容量數(shù)據(jù)存儲(chǔ)介質(zhì),支持2種操作模式:SDIO模式和SPI模式[2]。SPI模式通常可以采用MCU自帶的SPI接口或者用普通的I/O口模擬SPI通訊,通訊速度相對(duì)較慢,而SDIO模式以其傳輸速度快,兼容性好等優(yōu)點(diǎn)被廣泛應(yīng)用于安卓設(shè)備、相機(jī)等移動(dòng)設(shè)備,支持SDIO卡、復(fù)合SDIO卡、SD存儲(chǔ)卡和MMC卡,支持1位和4位SD模式[3]。STM32具有一個(gè)SDIO接口,能夠?qū)D卡快速進(jìn)行數(shù)據(jù)讀寫。

2硬件電路設(shè)計(jì)

系統(tǒng)硬件部分主要有ADC采樣調(diào)理電路和SD卡硬件連接電路組成。為了提高數(shù)據(jù)的精確度,需要給STM32提供了一個(gè)外部電壓基準(zhǔn)源。此外,外部傳感器輸入電壓可能與ADC采樣范圍之間存在電壓跨度不相等的情況,往往并不能直接輸入到MCU的AD采樣引腳,需要對(duì)信號(hào)進(jìn)行調(diào)理,使傳感器與ADC的組合達(dá)到最好的精度。結(jié)合以上兩種考慮,采用TI公司的REF2030芯片為ADC采樣和運(yùn)放調(diào)理電路提供基準(zhǔn)電壓。REF2030是一款低漂移、低功率、雙路輸出的電壓基準(zhǔn)芯片,提供了一個(gè)3.0V可供ADC使用的基準(zhǔn)電壓VREF和一個(gè)1.5V可用于偏置輸入雙極性信號(hào)的高精度電壓VBIAS。芯片使能引腳可以在不需要ADC采樣時(shí)使芯片處于低功耗狀態(tài)。 根據(jù)運(yùn)算放大器的工作原理,上述運(yùn)放電路輸入與輸出端的關(guān)系為:

此外,STM32內(nèi)部具有RTC功能,能夠?yàn)榭刂葡到y(tǒng)提供時(shí)間。在對(duì)采集到的數(shù)據(jù)進(jìn)行保存過(guò)程中,記錄系統(tǒng)時(shí)間,能夠更好地幫助技術(shù)人員分析數(shù)據(jù)。在系統(tǒng)斷電后,外部紐扣電池可以通過(guò)VBAT引腳對(duì)RTC時(shí)鐘繼續(xù)供電。

3 軟件設(shè)計(jì)

3.1 系統(tǒng)工作流程

為了方便采集到的數(shù)據(jù)能夠直接在PC機(jī)上查看,需要對(duì)SD卡存儲(chǔ)介質(zhì)采用文件系統(tǒng)管理方式,我們采用常見(jiàn)的FAT32文件系統(tǒng)格式。目前FAT文件系統(tǒng)模塊主要有:周立功公司的zlg/FS、美國(guó)Micrium公司的uC/FS、SourceForge.net網(wǎng)站提供的Embeded File System Library以及日本電子愛(ài)好者設(shè)計(jì)維護(hù)的FATFS文件系統(tǒng)模塊[1]。FAT32文件系統(tǒng)以簇為最小分配單位,主要由引導(dǎo)區(qū)、文件分配表表、數(shù)據(jù)區(qū)三大部分組成,引導(dǎo)區(qū)保留了每簇對(duì)應(yīng)的扇區(qū)數(shù)及引導(dǎo)參數(shù),文件分配表保存各簇使用情況信息,本文設(shè)計(jì)時(shí)使用日本的FATFS文件管理模塊??刂葡到y(tǒng)的工作流程如圖2所示。要以FAT32文件系統(tǒng)格式進(jìn)行文件創(chuàng)建及信息儲(chǔ)存,必須將SD卡格式轉(zhuǎn)換成FAT32文件系統(tǒng)格式,這就是SD卡的初始化。在確定SD卡通信正常后即開(kāi)始初始化,其過(guò)程包括:讀取原有FAT表、查找空間簇并確定起始簇號(hào)、將新的FAT表寫回SD卡、讀取目錄項(xiàng)信息、將文件信息賦給文件信息結(jié)構(gòu)體、將新的目錄寫回到SD卡,初始化完成后即可進(jìn)行SD卡的讀寫操作。AD采樣信號(hào)出發(fā)后向SD卡觸發(fā)寫命令,命令中包含寫地址,寫地址必須與SD卡物理地址相對(duì)應(yīng),SD卡接收到數(shù)據(jù)后驗(yàn)證地址,并進(jìn)行CRC校驗(yàn),發(fā)出響應(yīng)命令。

3.2 程序編寫

在SD卡初始化后,利用RTC時(shí)鐘獲得當(dāng)前日期,創(chuàng)建一個(gè)以當(dāng)前日期命名的文本格式文件,用結(jié)構(gòu)指針fnew關(guān)聯(lián)該文本文件,再次操作文件就是通過(guò)結(jié)構(gòu)指針來(lái)完成。具體方法是在獲取當(dāng)前日期后將其轉(zhuǎn)換為字符串類型并在字符串末尾加上“.text”,然后利用f_open()函數(shù)創(chuàng)建,在文件的首行,寫入標(biāo)題信息,包括采樣時(shí)間、采樣通道、通道名稱、采樣數(shù)據(jù)和采樣觸發(fā)模式等。然后關(guān)閉文本格式文件,完成了系統(tǒng)的初始化,等待ADC采樣時(shí)刻的到來(lái)。

EXCEL是大家極為熟悉的一種辦公軟件,其強(qiáng)大的表格數(shù)據(jù)處理能力為我們?nèi)粘5臄?shù)據(jù)統(tǒng)計(jì)、整理、計(jì)算帶來(lái)了極大的方便。EXCEL具有文本格式導(dǎo)入向?qū)Чδ?,可以?duì)文本格式中行列排列整齊的數(shù)據(jù)導(dǎo)入到EXCEL中。具體過(guò)程如下:首先在菜單欄中點(diǎn)擊打開(kāi),在下拉菜單文件類型中選擇文本文件格式即可啟動(dòng)文本導(dǎo)入向?qū)?,在高?jí)設(shè)置中選擇全部文本,文件類型選擇固定寬度。最后在數(shù)據(jù)預(yù)覽中,左右拖動(dòng)豎線對(duì)EXCEL中的單元格網(wǎng)格進(jìn)行調(diào)整并選定列數(shù)據(jù)類型,如圖3所示。點(diǎn)擊完成即可將即可發(fā)現(xiàn)文本格式中的數(shù)據(jù)已經(jīng)成功的展現(xiàn)在EXCEL中。此時(shí)的文件格式仍然是文本文件,需要再另存為.xls文件,最后將表格中的列寬度調(diào)到合適大小,采用數(shù)據(jù)即完美展現(xiàn)在Excel中,如圖4所示。

4 結(jié)語(yǔ)

SD卡作為目前一種大容量的數(shù)據(jù)存儲(chǔ)設(shè)備,在嵌入式系統(tǒng)中應(yīng)用越來(lái)越廣泛。本文利用STM32實(shí)現(xiàn)了通過(guò)SDIO接口與SD卡進(jìn)行數(shù)據(jù)傳輸,創(chuàng)建文本格式,并提出了數(shù)據(jù)的管理方式,便于實(shí)現(xiàn)文本格式文件到EXCEL的轉(zhuǎn)換,方便數(shù)據(jù)管理,具有較高的實(shí)用價(jià)值。

參考文獻(xiàn):

[1] 劉火良,楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013:124.

[2] 徐建功,趙捷.基于STM32F103XX微處理器的Micro SD卡讀寫[J],現(xiàn)代電力電子技術(shù),2010(20):26-28,32.

[3] 黃嘵曦,黃世震.基于ARM的SDIO驅(qū)動(dòng)設(shè)計(jì)[J],計(jì)算機(jī)與數(shù)字工程,2010,38(1):159-163.

[4] 周躍,沈捷.基于SD卡的數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)[J],化工自動(dòng)化及儀表,2012,39(1):95-98.

猜你喜歡
數(shù)據(jù)存儲(chǔ)
大數(shù)據(jù)時(shí)代檔案信息建設(shè)的認(rèn)識(shí)和實(shí)踐
任丘市| 绩溪县| 萍乡市| 繁昌县| 依兰县| 荔波县| 佳木斯市| 河北区| 雅江县| 北辰区| 孝义市| 闸北区| 龙川县| 英德市| 青海省| 平山县| 桐庐县| 诏安县| 德惠市| 西乌珠穆沁旗| 襄城县| 东明县| 阿荣旗| 永济市| 榕江县| 清流县| 隆化县| 永州市| 溧水县| 罗江县| 依安县| 南郑县| 肇源县| 青州市| 岑巩县| 芜湖市| 万宁市| 禄劝| 左贡县| 兴仁县| 常德市|