999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32的FatFS在數據采集系統中的應用

2015-07-02 00:17:24
單片機與嵌入式系統應用 2015年6期
關鍵詞:單片機系統

秦 偉

(中煤科工集團重慶研究院有限公司,重慶400037)

?

秦 偉

(中煤科工集團重慶研究院有限公司,重慶400037)

針對單片機大容量數據采集系統,設計了一種以STM32F107微控制器為核心,以大容量SD卡為存儲介質的數據采集系統。簡述了開源的FatFS文件系統在STM32處理器上的移植及其底層驅動函數的編寫,利用24位∑-Δ模/數轉換器實現了高精度數據采集,利用FatFS文件系統實現了采集數據的大容量存儲和管理,為數據后續處理和傳輸提供了便利。

STM32;FatFS文件系統;SD卡;高精度數據采集

引 言

近年來,數據采集及其應用得到了人們越來越廣泛的關注,數據采集系統也有了迅速的發展,特別是以單片機為核心的數據采集系統,由于其超高的性價比,已經廣泛應用于很多領域。但是傳統的以51單片機為核心的數據采集系統受限于有限的存儲空間和通信方式,存在實時性差、采集容量小等缺點,已無法滿足數據量越來越大的現代社會的需求,大容量數據存儲已成為微控制器應用的瓶頸。為突破容量的限制,一般采用外擴存儲器,比如U盤、SD卡等,并移植文件系統便于對數據進行后續管理和處理。

1 采集系統方案設計

本系統由模擬量輸入模塊、USB傳輸模塊、大容量存儲模塊和人機交互模塊組成,系統框圖如圖1所示。模擬信號經信號調理輸入模塊處理后,通過模數轉換器ADC轉換為數字信號,再由STM32微控制器進行濾波等數據處理后,存儲在SD卡里,并通過串口傳輸到上位機進行數據分析。

圖1 采集系統方案圖

1.1 STM32F107微控制器[1]

系統采用了ST公司基于ARM Cortex-M3內核的32位增強型閃存微控制器STM32F107作為控制核心。Cortex-M3內核專門用于滿足集高性能、低功耗、實時應用、具有競爭性價格于一體的嵌入式領域的要求,采用哈佛結構,能夠達到1.25 DMIPS/MHz和0.19 mW/MHz,有單周期乘法指令和硬件除法指令。該芯片最高工作頻率可達到72 MHz,具有256 KB的閃存以及64 KB的SRAM,以及性能出眾的片上外設(如USB、USART、SPI、I2C、GPIO、PWM、10/100M Ethernet MAC等),最大限度地實現集成,豐富的片上資源大大簡化了系統硬件,同時降低了系統功耗,待機電流僅為2 μA 。

1.2 24位A/D轉換器控制原理[2]

圖2 A/D轉換器讀取時序圖

1.3 SD卡簡介[4]

SD卡是一種為滿足安全性、容量、性能和使用環境等各方面的需求而設計的一種新型Flash存儲器件。SD卡允許在兩種模式下工作,即SD模式和SPI模式,本系統采用SPI模式。SD卡使用卡內智能控制模塊進行Flash操作控制,包括協議、安全算法、數據存取、ECC算法、 缺陷處理和分析、電源管理、時鐘管理。SD卡被廣泛使用在便攜裝置,如數碼相機、個人數碼設備和多媒體播放器等,目前SD卡容量已經進入以G為單位的時代。

1.4 FatFS文件系統[5]

圖3 FatFs 模塊層次結構圖

FatFS是一種開源的FAT 文件系統模塊,專門為小型的嵌入式系統而設計。它完全采用標準C格式語法編寫,完全獨立于I/O 層,只需做簡單的修改即可移植到8051、PIC、AVR、SH、Z80、H8 和ARM 等系列單片機上。FatFS的特點是分離緩沖FAT結構的每個文件,可以快速訪問多個文件,支持多個驅動器和分區,支持FAT12、FAT16和FAT32,支持8.3格式的文件名,優化了8/16位微控制器。FatFS的設計思想是小塊的數據可以通過Buffer存儲,大塊的數據直接存取,提高了存取速度和效率。FatFS模塊層次結構如圖3所示。

2 SD卡操作

SD卡協議采用命令的方式進行數據操作[6],因此SD卡和STM32F107的通信采用發送應答機制,每發送一個命令,SD卡都會給出一個應答,以告知主機該命令的執行情況,或者返回主機請求的數據。SPI模式下常用的命令如表1所列。

2.1 SD卡初始化操作[7]

因為系統使用的是SPI模式,所以先得讓卡進入SPI模式,方法如下:在SD卡收到復位(CMD0)時,CS引腳為低電平,則SPI模式被啟用。不過在發送復位命令之前,要發送至少74個時鐘周期,以保證SD卡內部供電電壓的上升。在卡初始化的時候,時鐘周期最大不能超過400 kHz,初始化完成后,才能切換到SPI高速模式。初始化流程如圖4所示。

2.2 SD卡讀寫操作

通過SD卡初始化,可以得知卡的類型(V1、V2、V2HC或MMC),完成初始化后,可以開始通過命令讀寫數據。SD卡讀取數據通過命令CMD17來實現,流程如圖5所示。

圖4 SD卡初始化流程圖

命 令參 數回 應描 述CMD0(0x00)NONER1復位SD卡CMD8(0x08)VHS+CheckpatternR7發送接口狀態命令CMD9(0x09)NONER1讀取卡特定數據寄存器CMD10(0x0A)NONER1讀取卡標志數據寄存器CMD16(0x10)塊大小R1設置塊大小(字節數)CMD17(0x11)地址R1讀取一個塊的數據CMD24(0x18)地址R1寫入一個塊的數據CMD41(0x29)NONER3發送給主機容量支持信息和激活卡初始化過程CMD55(0x37)NONER1告訴SD卡,下一個是特定應用命令CMD58(0x3A)NONER3讀取OCR寄存器

圖5 SD卡讀取數據流程圖

SD卡寫數據和讀取數據差不多,只不過是通過命令CMD24來實現。

3 FatFS文件系統移植[8]

FatFS文件系統,最頂層是應用層,使用時無需理會FatFS內部結構和復雜的Fat協議,只需要調用FatFS模塊提供的API接口函數即可,比如f_open、f_read、f_write和f_close等,就像在PC機上讀寫文件那樣簡單。中間層是FatFS模塊,實現了Fat文件讀寫協議,使用時不作修改,包含頭文件即可。

需要編寫移植代碼的是FatFS模塊提供的底層接口,它包括存儲介質讀寫接口(disk I/O)和供給文件創建修改時間的實時時鐘(RTC)。

從網站上下載FatFS的R0.09a版本源代碼,解壓后有兩個文件夾:doc和src。前者是FatFS的說明文檔,后者是源代碼文件夾,移植時,只需要修改兩個文件:ffconf.h和diskio.c。

首先,修改數據類型,修改integer.h,使其中定義的數據類型與keil mdk4.74編譯器相對應。

其次,修改文件ffconf.h,按照需求配置相關功能。例如,_VOLUMES用于設置FatFS支持的邏輯設備數目,本系統只有一個存儲設備(SD卡),所以_VOLUMES設置為1,其他設置可參考注釋進行修改。

最后,編寫底層函數,因為FatFS模塊完全與磁盤I/O層分開,因此需要下面的函數來實現底層物理磁盤的讀寫與獲取當前時間。打開diskio.c,進行底層驅動編寫,編寫6個接口函數,如圖6所示。

圖6 底層接口函數

DSTATUS disk_initialize()函數初始化磁盤驅動器,本系統采用SD卡作為存儲介質,因此該函數主要就是對SD卡進行初始化操作,初始化成功后返回狀態0。需要注意的是應用程序不能調用此函數,否則文件卷上的FAT結構可能會損壞。

DSTATUS disk_status()函數返回當前驅動器的狀態,例如磁盤驅動初始化是否成功,驅動器中有無設備,設備是否寫保護等。

DRESULT disk_read()函數從磁盤驅動器上讀取扇區內容,調用SPI讀取單個或多個塊的內容。

DRESULT disk_write()函數調用SPI向磁盤寫入一個或多個扇區。

DRESULT disk_ioctl()函數通過底層SPI驅動可以讀取存儲設備中的一些特殊寄存器(SD卡中的OCR、CID、RCA等),獲得相關信息后,后續操作才能執行成功,比如格式化操作等。

DWORD get_fattime()函數獲取當前時間。

通過以上3個步驟,完成了對FatFS文件系統的移植,在應用程序中可以調用該文件系統的API函數。

4 硬件電路設計

4.1 SD卡電路連接

圖7為SD卡的硬件連接電路圖。使用了STM32F107的SPI3,引腳PC3為SD卡片選,配置為推挽輸出;PC12為MOSI,配置為推挽復用;PC11為MISO,配置為推挽復用,PC2引腳用來檢測SD是否插入,配置為輸入模式,硬件上拉;PC10引腳為SPI時鐘信號,配置為推挽輸出。

圖7 SD卡硬件連接圖

4.2 采集電路設計

采集電路包括輸入信號濾波、限幅、單端轉差分等預處理電路,ADC和STM32F107之間通過SPI1接口連接,電路圖如圖8所示。A/D轉換完成后,會在DOUT引腳產生一個下降沿,觸發STM32F107的外部中斷,在中斷程序里,通過SPI1讀取數據。讀取多個數據完成后,再寫入到SD卡。

結 語

本文完成了開源軟件FatFS文件系統在STM32F107微控制器上的移植,設計了基于24位高精度A/D轉換器。

圖9 采集電路原理圖

ADS1252的數據采集電路,將SD卡作為存儲介質,對基于單片機的大容量數據采集系統具有借鑒意義。

[1] ST.STM32F10xxx 參考手冊中文版[EB/OL]. [2015-01].http://download.csdn.net/detail/winnerben/2887762.

[2] 張中平.∑-Δ模數轉換器的原理及應用[J].電子器件,2003,12,26(4).

[3] Texas Instruments.ADS1252 datasheet [EB/OL].(2009-09-27)[2015-01].http://download.csdn.net.

[4] ScanDisk Corpate.SD memory card specification part 1:physical layer specification version 1.0,2000.

[5] 鄧劍.FAT文件系統原理及實現[J].計算機與數字工程,2005,9(33):105-108.

[6] ScanDisk Corpate.SD memory card specification part 5:SPI bus protocol,2000.

[7] 周熠.基于SPI協議的MMC卡讀寫機制的實現[J].計算機仿真,2005,1(22):97-99.

[8] FatFS官方應用詳解[EB/OL].[2015-01].http://www.docin.com/p-723009741.html.

秦偉(工程師),主要研究方向為礦山救援技術和工程物探儀器。

Marvell新一代ZigBee無線微控制器SoC促進智能家居和IoT創新

美滿電子科技(Marvell)近日推出新一代業界領先的88MZ300 802.15.4/ZigBee無線微控制器SoC。該SoC是Marvell面向IoT解決方案的無線微控制器系列的最新成員。這款高性能、低功耗、高性價比的SoC提供卓越的射頻(RF)性能,與Marvell前一代88MZ100 SoC相比,傳輸距離延長一倍以上,功耗降低50%,同時由于芯片的高集成度而最大限度地減少了所需外部器件數量。88MZ300 SoC支持包括即將出臺的ZigBee 3.0和Thread協議在內的開放標準,連同ZigBee至Wi-Fi橋接參考設計以及由硬件制造商和系統集成合作伙伴組成的生態系統,能夠幫助設備制造商(OEM)迅速將最新的創新性物聯網應用推向市場。

Marvell公司副總裁兼移動與物聯網業務部總經理Philip Poulidis表示:“Marvell不斷展示家庭自動化、聯網照明及IoT領域的創新,88MZ300 ZigBee無線微控制器在性能和成本上引領802.15.4技術。88MZ300與Kinoma以及不久前推出的智能家居云中心(Smart Home Cloud Center)相結合,為家庭自動化和IoT市場提供了一款整體解決方案。我們期望隨著88MZ300的采用,會出現一系列激動人心的新產品。”

88MZ300以Marvell大獲成功的88MZ100 ZigBee無線微控制器為基礎開發,提供XIP(Execute In Place)功能,允許直接在閃存中執行代碼,從而降低了系統成本,同時實現了可擴展的存儲器架構,為代碼較長的應用以及未來的軟件升級提供了方便。這對設備制造商很有好處,因為設備制造商設計產品時需要應對協議標準不斷演變的問題。88MZ300接收(RX)電流為8.5 mA,待機電流為1 μA,因此功耗超低;另外該SoC可用1.8~3.6 V 的各種電源工作,因此允許使用小型電池,并延長了電池壽命。此外,88MZ300提供2.4 GHz Wi-Fi與藍牙共存性能,顯著改善了數據鏈路質量,減少了信息損失,進而提升了用戶體驗。基于88MZ300的IoT解決方案不僅提供成熟可靠、基于開放標準的網絡協議棧,還提供與Marvell智能家居云中心平臺以及Kinoma軟件兼容的交鑰匙型硬件設計。

Qin Wei

(China Coal Technology Engineering Group Chongqing Research Institute,Chongqing 400037,China)

Aiming at the large-capacity data acquisition system,the paper designs a system which takes STM32F107 microcontroller as the core,and adopts SD card as the storage medium.The article outlines the transplant of the open source Fat file system on the STM32 processor and the programming of the low-level driver functions.The system achieves high-precision data acquisition by using the 24-bits Σ-Δ ADC,and uses the Fat file system to achieve a large-capacity storage and management for the collected data,which provides a convenience for the subsequent processing and transmission of the data.

STM32;Fat file system;SD card;high-precision data acquisition

TP274.2

A

迪娜

2015-01-05)

猜你喜歡
單片機系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于PowerPC+FPGA顯示系統
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
半沸制皂系統(下)
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 99视频免费观看| 99无码中文字幕视频| 超碰aⅴ人人做人人爽欧美| 精品福利视频导航| 欧美特黄一免在线观看| 亚洲日韩图片专区第1页| 国产成人亚洲精品无码电影| 亚洲Av激情网五月天| 亚洲欧美另类日本| 青草免费在线观看| 中文字幕精品一区二区三区视频| jizz在线免费播放| 在线精品亚洲一区二区古装| 欧洲精品视频在线观看| 日本少妇又色又爽又高潮| 欧美亚洲欧美区| 首页亚洲国产丝袜长腿综合| a毛片在线免费观看| 国产第一页免费浮力影院| 一本一本大道香蕉久在线播放| 91在线丝袜| 成人中文在线| 综合五月天网| 天天综合亚洲| 国产91小视频| 青青久视频| 亚洲人成在线精品| 国产剧情国内精品原创| 日本一区中文字幕最新在线| 久久91精品牛牛| 亚洲AⅤ波多系列中文字幕| 亚洲黄色网站视频| 91精品国产麻豆国产自产在线| 91亚洲免费视频| 在线观看国产精品第一区免费| 亚洲无卡视频| 亚洲第一黄色网| 色综合热无码热国产| 久久不卡精品| 91精品啪在线观看国产91| 五月婷婷丁香综合| 18禁色诱爆乳网站| 毛片网站在线播放| 国产无码精品在线播放 | 91青青草视频在线观看的| 午夜啪啪福利| 91青青草视频在线观看的| 国产精品亚洲专区一区| 国产精品片在线观看手机版 | 亚洲人成网站观看在线观看| 福利国产微拍广场一区视频在线| 2021国产精品自产拍在线| 日韩精品久久久久久久电影蜜臀| 国产精品.com| 亚洲热线99精品视频| 日本人妻一区二区三区不卡影院| 一本久道久久综合多人| 五月天香蕉视频国产亚| 亚洲国产精品成人久久综合影院| 国产人前露出系列视频| 97国产精品视频人人做人人爱| 欧美国产在线一区| 国产亚洲美日韩AV中文字幕无码成人 | 久久久成年黄色视频| 欧美精品aⅴ在线视频| 日本久久网站| 性视频一区| 亚洲成A人V欧美综合天堂| 9啪在线视频| 97一区二区在线播放| 久久精品无码中文字幕| 亚洲成人动漫在线观看| 91热爆在线| 午夜色综合| 在线欧美一区| 亚洲三级a| 人妻无码中文字幕第一区| 日韩无码黄色网站| 国产精品亚洲一区二区三区z| 久久国产热| 亚洲综合色婷婷中文字幕| 综合色在线|