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

EEPROM在儀表系統應用中的幾個問題

2010-06-22 08:17:56張延宇王琦
單片機與嵌入式系統應用 2010年3期
關鍵詞:單片機方法系統

張延宇,王琦

(河南大學 計算機與信息工程學院,開封475004)

張延宇(講師),研究方向為嵌入式系統、圖像處理技術;王琦(助教),研究方向為人工智能、嵌入式系統。

在儀器儀表及其他一些嵌入式系統中,通常需要存儲一些設置參數、現場數據,這些參數和數據要求系統掉電時不丟失,在下次加電工作時系統能夠自動恢復原先設定的數據。為了實現上述功能,通常需要給系統配置一定容量的EEPROM。本文以筆者設計某型號的智能流量計時,在應用EEPROM的過程中遇到的問題及解決方法為例,來說明EEPROM的應用方法。具體包括:系統中EEPROM的配置方法、EEPROM驅動程序的設計方法、延長EEPROM壽命的方法。

1 EEPROM的配置

當系統需要EEPROM功能時,如何進行配置是在系統設計初期選擇微控制器時就要考慮的問題。盡管越來越多的微控制器配備了內部的EEPROM,但是還有大量的微控制器(比如傳統的 MCS-51單片機、PIC系列大部分型號的產品、MC68HC05/08系列大部分型號的產品)沒有配置內部的EEPROM。因此,在選擇微控制器的時候就需要綜合考慮各種因素,以確定EEPROM的配置方案是采用內部EEPROM還是采用外擴的方式,這直接影響系統的可擴展性、安全性及綜合成本。

采用外擴EEPROM時,以串行通信方式居多,常見的串行通信方式有I2C、SPI、Microwire等幾種形式。采用外擴EEPROM時,可以根據系統的實際需求靈活選擇容量合適的EEPROM芯片,比如Atmel公司的AT24C01/02/04等不同容量的芯片,其中 AT24C1024B的容量為1 Mbit,選擇空間十分大。盡管采用外擴EEPROM具有廉價、靈活的特點,但其缺點是占用微控制器有限的引腳資源,電路結構復雜,同時保密性差。

筆者在設計流量計時綜合考慮各種因素,采用微控制器內置的EEPROM,選用的單片機是 Microchip公司的PIC16F876A,在其內部作為一個片內外設模塊配置了容量為256×8位的EEPROM,通過特殊功能寄存器對其進行讀寫。與外擴EEPROM的方式相比,此種方案具有電路結構簡單、開發方便、數據保密性好的優點。

2 EEPROM驅動程序的設計

EEPROM驅動程序的設計方法與EEPROM的配置方案、選用的微控制器及開發工具有關。筆者在設計流量計時采用的是微控制器內部自帶的EEPROM,選用的單片機是PIC16F876A,集成開發環境是Microchip公司的MAPLAB 8.3及HI-TECH公司的C編譯器PICC 9.5。下面詳細介紹一下EEPROM驅動程序的設計方法。

為了對單片機內部的EEPROM進行讀寫,單片機額外增加了4個特殊功能寄存器:地址寄存器EEADR、數據寄存器EEDATA、讀寫控制第一寄存器EECON1、寫控制第二寄存器EECON2。按照規定的操作步驟對這幾個寄存器進行操作,就可以完成對EEPROM一個字節的讀寫操作。但實際進行驅動程序設計時,可以直接利用PICC提供的EEPROM讀寫函數,函數原型為:

unsigned char eeprom_read(unsigned char addr);

EEPROM讀函數,addr為欲讀的單元的地址,返回值為指定單元的數據。

void eeprom_write(unsigned char addr,unsigned char value);

EEPROM寫函數,addr為欲寫入的單元的地址,value為欲寫入的數據。

上述兩個函數只能夠實現單個字節的讀寫,而在系統運行過程中通常要求寫入EEPROM中的數據為多字節。比如,流量計在運行過程中通常需要將累積量寫入EEPROM中,為了保證足夠的計數范圍和累積精度,在編程時將累積量定義為double型的變量,PICC默認的double型變量為24位,但可以通過改變編譯選項改為32位,筆者采用的是32位。那么如何將4字節的累積量寫入EEPROM和從EEPROM讀出呢?浮點數存儲時是存放在連續的字節中的,只要設法找到存儲位置就可以找到4個字節中每個字節的值,從而分別對其讀寫。編程實現時可以定義一指針變量,通過指針進行操作。

以下兩個函數是筆者自行編制的用于EEPROM讀寫的函數:

向EEPROM中寫入double型數據,addr為需要寫入的數據在EEPROM中的首地址,data為需要寫入的數據。

從EEPROM中讀出double型數據,addr為讀出數據在EEPROM中的首字節地址,函數返回值為double型數據。其他類型的數據在EEPROM中的讀寫方法與此類似,不再贅述。

3 延長EEPROM壽命的方法

向EEPROM中寫入數據實際是一個燒寫的過程,對EEPROM具有一定的破壞性,因此一個EEPROM單元的擦寫次數是受限的。具體擦寫次數視不同廠家、不同系列的芯片而定。Microchip公司的PIC16F876A內部EEPROM 的擦寫次數據為100萬次(數據文檔記錄),對于一些不需要頻繁改變的參數(比如流量計中上限流量、下限流量等設定參數)而言完全可以滿足要求。但是當用固定的4字節存放流量累積量時,是不能滿足要求的。因為,在綜合考慮各種因素后,要求流量計在運行時每10 s存放1次累積量,則EEPROM能安全運行的天數為:1×106/(360×24)≈117天,不能滿足要求。必須采用一定的方法延長EEPROM的讀寫壽命。

筆者采用的方法是在EEPROM中開辟一段空間滾動存放累積量,具體實現辦法是:將EEPROM中地址為1~160的單元用于滾動存放累積量,每4字節為一組,共40組,每組連續存放50次(根據需要可以改為其他數值),然后在下一組中存放。當在第40組(起始首字節地址為157)連續存放50次后,再回滾到第1組(起始首字節地址為1)開始存放。由全局變量SaveTime記錄在某一組連續存放的次數。EEPROM中地址為0的單元用于存放當前累積量有效值所在組的首字節地址(記為SaveAddr),當某一組連續存放50次,滾入下一組時更新SaveAddr的值。具體流程如圖1所示。

實現上述功能的函數為:

圖1 寫EEPROM流程

采用此種方法后,EEPROM的壽命可以延長40倍,為117天×40=4 680天≈12.8年,可以充分滿足要求。當采用此種方法寫累積量后,若需要讀出累積量則需要首先讀取EEPROM地址0的內容,得到有效累積量的存放首地址,然后再調用函數ee_double_read()進行讀取。

結 語

本文以筆者設計的某型號智能流量計為背景,總結了EEPROM在儀表及嵌入式系統中應用時需要注意的問題,以及相應解決方法。希望本文能夠對讀者有所啟發和幫助,起到拋磚引玉的作用。

[1]李學海.PIC單片機實用教程——提高篇[M].2版.北京:北京航空航天大學出版社,2007.

[2]Microchip.PIC16F87X Data Sheet,1999.

[3]HI-TECH Software.HI-TECH PICC Compiler M anual,2005.

猜你喜歡
單片機方法系統
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
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 青青草a国产免费观看| 国产乱人激情H在线观看| 国产精品网址你懂的| 精品人妻无码区在线视频| 日韩精品久久无码中文字幕色欲| 亚洲自拍另类| 国产福利一区视频| 亚洲国产成人精品一二区| 免费观看欧美性一级| 欧美人与性动交a欧美精品| 亚洲午夜片| 亚洲区第一页| 国产日韩欧美精品区性色| 国产男女免费视频| 全部免费毛片免费播放| 国产女人综合久久精品视| 欧美另类视频一区二区三区| 久久久久久尹人网香蕉 | 亚洲婷婷在线视频| 亚洲视频影院| 性网站在线观看| 国产成人精品一区二区不卡 | 国产成人午夜福利免费无码r| 中国国产A一级毛片| 少妇露出福利视频| 亚洲精品在线观看91| 免费中文字幕在在线不卡| 国产精品专区第一页在线观看| 91av成人日本不卡三区| 99热这里只有精品免费国产| 一本视频精品中文字幕| 麻豆精品视频在线原创| 国产高潮流白浆视频| 久久无码av三级| 欧美成人影院亚洲综合图| 中文天堂在线视频| 福利视频久久| 欧美激情第一欧美在线| 88av在线| 亚洲人成色在线观看| JIZZ亚洲国产| 国产成人做受免费视频| 最新亚洲人成无码网站欣赏网 | 国产最新无码专区在线| 精品国产亚洲人成在线| 国产在线一区视频| 亚洲无码日韩一区| 国产精品区视频中文字幕| 日本亚洲最大的色成网站www| 欧美亚洲一二三区| 国产精品精品视频| 亚洲二区视频| 91亚瑟视频| 亚洲国产精品国自产拍A| 另类专区亚洲| 亚洲男人天堂2020| 成人在线不卡视频| 狠狠五月天中文字幕| 欧美色亚洲| 一级毛片免费观看久| 在线无码九区| 久久国产精品国产自线拍| 国产美女精品人人做人人爽| 尤物在线观看乱码| 国产精品入口麻豆| 无码高潮喷水专区久久| 久久精品中文字幕免费| 女人av社区男人的天堂| 欧美成人精品高清在线下载| 91视频国产高清| 一级毛片免费的| 成人小视频网| 精品久久久久久成人AV| 真实国产乱子伦视频| 99免费在线观看视频| a级毛片网| 白浆视频在线观看| 国产第一页屁屁影院| 亚洲AV无码久久天堂| 亚洲综合一区国产精品| 不卡午夜视频| 在线亚洲天堂|