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

DS3231在嵌入式環境文件系統中的應用*

2014-07-03 03:33:26徐健陳永冰劉勇賈玉柱
單片機與嵌入式系統應用 2014年11期
關鍵詞:嵌入式單片機系統

徐健,陳永冰,劉勇,賈玉柱

(海軍工程大學 導航工程系,武漢430033)

引 言

艦船自動舵參數采集傳輸系統設計中,大量的自動舵參數數據都存儲在外部介質SD卡中。為使存儲的采集數據可直接在PC機上讀取、處理,需要使用文件系統組織數據格式。文件系統是操作系統用于明確磁盤或分區上文件的方法和數據結構,是對文件的管理規則,也是操作系統的重要組成部分,而操作系統對處理器要求比較高,且占用一定的存儲空間,艦舵參數采集系統微處理器C8051F500沒有操作系統,這就需要在SD卡上建立文件系統。而建立文件系統就需要實時時鐘來管理數據文件的創建、修改、訪問等詳細時間信息。

通常用的單片機沒有實時時鐘部件,如果需要此功能就得使用定時器來實現,而一旦系統掉電時鐘就不能運行,嵌入式文件系統就沒有了時鐘,這與設計要求不相符。高精度實時時鐘芯片DS3231不僅能夠在一定溫度范圍內提供優于2 min/年的計時精度[1],而且包含電池輸入端,斷開主電源仍然可以保持精確計時。因此,本文提出通過DS3231時鐘芯片連續不斷地給嵌入式文件系統提供實時時鐘的方案。

1 存儲系統結構

SD卡存儲系統結構如圖1所示,C8051F500單片機是主控芯片,通過SPI接口與SD卡實現數據通信,采集的數據在FAT32文件系統管理下,以文件形式存儲于SD卡中,如.txt、.doc、.dat等。

2 FAT32文件系統的實現

目前常用的文件系統有兩類[2]:基于微軟 Windows操作系統的 FAT16、FAT32、NTFS、ex FAT文件系統;Linux系統下的EXT2、EXT3、EXT4。Windows操作系統使用廣泛,且SD卡容量比較大,因此這里選用FAT32文件系統。

圖1 存儲系統框圖

FAT32文件系統的實現方法可以分為[3]:直接法,分析FAT32文件系統的組織結構,遵循文件生成機制,編寫程序代碼實現功能;移植法,移植FAT文件系統模塊,調用其提供的應用接口函數,同樣可以實現功能。

目前比較流行使用的FAT文件系統模塊主要有[4]:周立功公司的zlg/FS、Micrium 公司的 μC/FS、Source-Forge.net網站上發布的開源項目efsl,以及日本電子愛好者設計并維護的FATFS文件系統模塊。以上4個文件系統模塊各有特點:zlg/FS因讀寫速率較慢,主要用于實驗教學;Micrium公司的μC/FS一般在商業上使用;efsl及FATFS都是免費開源軟件,FATFS相對成熟一些。

圖2 FATFS架構圖

本文采用了移植FATFS Module方法,FATFS Module專門為小型嵌入式系統而設計,采用標準的C語言編程,具備良好的硬件平臺獨立性,移植到8051、AVR等單片機上,只需簡單修改。它還支持FAT 12、FAT 16和 FAT 32,以及多個存儲介質,可以對多個文件進行讀/寫。FATFS整體框架如圖2所示。

頂層是應用層,調用FATFS Module提供的一系列API函數(如:f_open、f_read、f_write、f_close等),用戶即使不理解FAT協議,也可以利用應用接口函數輕松地讀/寫文件;中間層完整地實現FAT文件讀/寫協議,用戶無需對此進行任何修改;底層是用戶在移植過程中需要處理的接口,需要用戶編寫代碼,它包括存儲介質的讀/寫接口Disk I/O和文件創建修改時間所需的實時時鐘。

嵌入式文件系統的移植可以分為3步:編寫SD卡的通信函數,編寫RTC時鐘函數和FATFS的移植。

編寫RTC時鐘函數實際上就是給文件系統時鐘函數DWORD get_fattime(Void)賦值,連續提供給文件系統一個實時時鐘。DWORD get_fattime(Void)需要RTC函數支持,返回一個32位無符號整數,時鐘信息包含在這32位中,如圖3所示。

圖3 時鐘位

3 DS3231實時時鐘芯片

3.1 DS3231器件

DS3231是Maxim公司生產的一款低成本、超高精度的I2C總線實時時鐘芯片[5],該器件不僅能夠在一定溫度范圍內提供優于2 min/年的計時精度,而且省去了制造過程中晶振安裝和布線校準的工作。

DS3231實時時鐘(RTC),具有集成的溫補晶體振蕩器(TCX0)和1個32.768 k Hz的晶振,該晶振包含電池輸入端,斷開主電源仍然可以保持精確計時。集成晶體振蕩器可提供器件的長期精確度,并減少生產的元件數。DS3231提供商級和工業級溫度范圍,采用16引腳、300 mil的SO封裝[7]。RTC保持秒、分、時、星期、日期、月和年信息。當遇到少于31天的月份,將自動調整月末日期,包括閏年補償。時鐘可以工作于24小時模式或帶AM/PM指示的12小時。提供2個可編程日歷鬧鐘和1路可編程方波輸出。地址與數據通過I2C雙向串行傳輸。通過精密的、經過溫度補償的電壓基準和比較器來監視VCC狀態,檢測電源故障,提供復位輸出,并在必要時自動切換到備用電源。另外,RST監視引腳可作為手動按鈕輸入,以產生外部復位信號。

3.2 DS3231與單片機C8051F500的硬件連接

圖4為高精度實時時鐘芯片DS3231與主控制器C8051F500單片機的接口連接電路。

圖4 C8051F500單片機與DS3231時鐘芯片接口連接電路

DS3231的主要引腳功能說明:VCC用于主電源的DC引腳;INT/SQW為低電平有效中斷或方波輸出;RST是低電平有效復位引腳;GND為地;VBAT為備用電源輸入;SDA為串行數據輸入、輸出;SCL為串行時鐘輸入。

C8051F500通過I2C總線與DS3231連接,DS3231的VCC接系統電源VCC,VBAT為備用電源輸入,該引腳應該連接一個低泄漏電容去耦。INT/SQW為低電平有效中斷或方波輸出,該漏極開路輸出要求外接上拉電阻,如果不使用,可保持開路。微控制器主要通過I2C總線向時鐘芯片DS3231寫時間信息,DS3231以寫入的時間信息為基準精確走時。上電后,微控制器從時鐘芯片讀取時間信息并存入內存供系統使用,器件每隔64 s測量一次溫度,通過調節晶振的負載電容,使其在指定溫度達到2 ppm的精度[8],最終達到提高時鐘精度的目的。即使系統斷電一段時間后重新上電,時鐘芯片內的實時數據仍能被正確讀出。

3.3 與嵌入式文件系統有關的特性

3.3.1 DS3231電源供電方式

DS3231有兩個電源引腳VCC和VBAT[9],分別連接電源VCC和備用電池,它們之間的切換由溫度補償電壓基準(VPF)和監視VCC電平的比較器電路控制。當VCC高于VPF時,DS3231由VCC供電,當VCC低于VPF但高于VBAT時,DS3231由VCC供電;當VCC低于VPF和VBAT時,DS3231由VBAT供電;如果用一節容量為38 m Ah的電子表用紐扣鋰電池作備用電池,在系統掉電時電流損耗最大為3.5μA,則至少供電時間為:

t=38×10-3/3.5×10-6=10 857 h

按照這個理論,可以粗略估計備用電池供電時間,能夠滿足實際需要。

3.3.2 DS3231采用I2C總線通信方式

單片機C8051F500通過讀取時鐘芯片DS3231的值來給文件系統提供日期時間,也可以寫入DS3231一個任意的時間初始值,讓其依據設定值開始計時,這就要求研究這兩者之間的通信模式。DS3231工作于讀和寫兩種模式。

(1)DS3231寫模式

通過SDA線和SCL線來接收串行數據和時鐘[10],收到每個字節后,發送應答位,START和STOP條件作為串行數據傳輸的開始和結束。

軟件設計流程如圖5所示。首先調用START_IIC()函數使單片機產生開始條件,再通過SendByte()函數,發送DS3231寫地址,然后發出應答信號,接下來單片機向DS3231發送一個字地址(秒、分、時、日、月、年地址),產生應答信號后,再發送一個字節數據(秒、分、時、日、月、年數據)至DS3231設定初始化時間。產生應答信號后,調用STOP_IIC函數來使單片機產生終止數據寫入條件。

(2)DS3231讀模式

接收和處理字節的方式與寫模式相同,但是在這種模式下,方向位指示的傳輸方向是相反的。DS3231向SDA發送串行數據,并由SCL輸入串行時鐘。

軟件設計流程如圖6所示。單片機產生START條件后,通過SendByte()函數發送DS3231寫地址,產生應答信號后,發送一個字地址(秒、分、時、日、月、年地址);產生應答信號后再通過SendByte()函數發送DS3231讀地址;產生應答信號后,通過函數RcvByte()從DS3231讀取一個字節數據(秒、分、時、日、月、年數據)來獲取時間;產生應答信號后,最后調用STOP_IIC函數來使單片機產生終止數據讀取條件。

圖5 DS3231寫模式

圖6 DS3231讀模式

4 系統測試及結果

在系統測試中,C8051F500選用了22.118 400 MHz的外部晶振,存儲介質選用了金士頓8 GB SDHC卡,分別在主電源供電5 V和LITHIUM CELL GR1220紐扣電池供電3 V的情況下,對1980年之后的年、月、日、時、分、秒等時間信息進行設定任意初始值,并在PC機上查看了存儲在SD卡中的數據文件的創建、修改、訪問等具體時間信息。

測試結果表明,不論在主電源供電還是備用紐扣電池供電情況下,存儲在SDHC卡上的文件能夠精確顯示年、月、日、時、分、秒等時間信息。

結 語

本文提出的通過DS3231高精度時鐘芯片給嵌入式文件系統提供實時時間的方案具有可行性,解決了存儲在SD卡上的采集數據文件沒有實時時間的問題,并且在系統掉電情況下,通過一個紐扣鋰電池仍然能夠長時間連續不斷地提供精確的年、月、日、時、分、秒等時間信息,滿足了艦舵參數采集設計中對存儲在SD卡上的數據文件的創建、修改、訪問等時間信息的實際要求。

[1]方潔.基于DS3231的高精度時鐘接口設計[J].電子設計工程,2010(18):134-135.

[2]李世奇.基于Fat Fs文件系統的SD卡存儲器設計[J].測控技術,2011(12):79-81.

[3]張明亮.淺談FAT32文件系統[J].計算機與數字工程,2005(33):56-57.

[4]王芳成.嵌入式系統中FAT32文件系統的實現[J].電子測量技術,2009(32):122-126.

[5]常亮.嵌入式環境文件系統的研究設計[D].吉林:吉林大學,2009.

[6]陳劍鋒.ATmega8單片機與時鐘器件DS3231的接口設計[J].信息與電腦,2011(8):20-23.

[7]楊金生.基于ADμC842單片機的I2C總線通信實現方法[J].工業控制計算機,2012(9):58-62.

[8]龔光松.基于I2C總線的實時時鐘芯片設計[J].軟件導報,2012(11):97-99.

[9]孫雪梅.實時時鐘芯片在單片機系統中的應用[J].沈陽教育學院學報,2005(7):132-134.

[10]童海濤.一種可編程實時時鐘芯片的研究與設計[D].武漢:華中科技大學,2011.

猜你喜歡
嵌入式單片機系統
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
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 乱色熟女综合一区二区| 亚洲AⅤ无码日韩AV无码网站| 久久一色本道亚洲| 欧美精品二区| 中文字幕欧美日韩高清| 免费一级毛片在线观看| 久久99国产综合精品1| 精品一区二区三区无码视频无码| 亚洲人成网7777777国产| 国产三级国产精品国产普男人| 五月天香蕉视频国产亚| 激情五月婷婷综合网| 国产精品手机视频一区二区| 欧美综合中文字幕久久| 无码中字出轨中文人妻中文中| 久久精品这里只有精99品| 9丨情侣偷在线精品国产| 国产另类乱子伦精品免费女| 久久香蕉国产线看观| 国产成人区在线观看视频| 九九热这里只有国产精品| 色妞www精品视频一级下载| 国产91全国探花系列在线播放| 亚洲大尺码专区影院| 天天综合天天综合| 免费看久久精品99| 亚洲天堂在线免费| 国产精品无码影视久久久久久久| 欧美三级视频在线播放| 久久久久亚洲AV成人网站软件| 99热国产这里只有精品无卡顿"| 亚洲AV无码不卡无码| 91青青草视频在线观看的| 超碰免费91| 99资源在线| 2020国产精品视频| 亚洲一区二区三区麻豆| 色综合天天视频在线观看| 国产欧美精品一区二区| 成人久久精品一区二区三区| 久久成人免费| 香蕉99国内自产自拍视频| 亚洲视频影院| 亚洲伊人久久精品影院| 国产激情第一页| 日韩亚洲综合在线| 国产日产欧美精品| 欧美日韩中文字幕在线| 国产真实乱了在线播放| 91综合色区亚洲熟妇p| AV无码一区二区三区四区| 久久香蕉国产线看观看式| 米奇精品一区二区三区| 亚洲va视频| 亚洲高清无码精品| 成年看免费观看视频拍拍| 国产女同自拍视频| 欧美精品v| 男女男精品视频| 永久免费AⅤ无码网站在线观看| 人妻精品全国免费视频| 1024你懂的国产精品| 色国产视频| 亚洲欧美一区二区三区麻豆| 18黑白丝水手服自慰喷水网站| 亚洲制服丝袜第一页| 国产精品免费电影| 国产精品任我爽爆在线播放6080| 男女精品视频| 日韩性网站| 黄色不卡视频| 亚洲视频无码| 一级毛片无毒不卡直接观看| 狠狠躁天天躁夜夜躁婷婷| 99视频免费观看| 亚洲手机在线| 伊人久久青草青青综合| 国产资源免费观看| 午夜丁香婷婷| 国产第一福利影院| 亚洲无码A视频在线| 婷婷六月综合网|