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
捕魚
主站蜘蛛池模板: 亚洲国产成人在线| 国产日韩欧美中文| 精品国产Av电影无码久久久| 一区二区三区国产精品视频| 国产成人精品无码一区二| 国产毛片基地| 国产精鲁鲁网在线视频| 久久一级电影| a色毛片免费视频| 亚洲第一黄色网| 国内精品伊人久久久久7777人| 高清不卡毛片| 久久久久亚洲AV成人人电影软件| 思思99思思久久最新精品| 91伊人国产| 喷潮白浆直流在线播放| 欧美成人精品一级在线观看| 3344在线观看无码| 日韩国产黄色网站| 国产簧片免费在线播放| 国产亚洲高清在线精品99| 欧美午夜理伦三级在线观看| 日本草草视频在线观看| 四虎国产永久在线观看| 亚洲综合二区| 国产精品无码久久久久久| 国产女人在线| 色综合天天综合中文网| 日韩在线2020专区| 亚洲最大看欧美片网站地址| 日日拍夜夜操| 五月婷婷精品| 91av国产在线| 国产视频自拍一区| 自慰网址在线观看| 亚洲高清无码久久久| 国产伦精品一区二区三区视频优播| 国产在线91在线电影| 精品一区二区无码av| 欧美激情综合| 欧类av怡春院| 无遮挡一级毛片呦女视频| 欧美成人午夜在线全部免费| 四虎永久免费在线| 无码日韩精品91超碰| www.youjizz.com久久| 亚洲中文字幕97久久精品少妇| 国产美女精品一区二区| 亚洲av日韩av制服丝袜| 久久久久人妻一区精品色奶水 | 国产午夜在线观看视频| 久操线在视频在线观看| 在线精品欧美日韩| 最新国语自产精品视频在| 激情视频综合网| 伊人AV天堂| 91精品视频网站| 国产综合另类小说色区色噜噜| 最近最新中文字幕免费的一页| 国产福利一区二区在线观看| 中文字幕 日韩 欧美| 欧美啪啪一区| 18禁不卡免费网站| 全部无卡免费的毛片在线看| 国产激情无码一区二区APP| 伊在人亚洲香蕉精品播放| 国产精品七七在线播放| 亚洲中文字幕日产无码2021| 青青网在线国产| 欧美国产日韩在线观看| 色丁丁毛片在线观看| 亚洲精品不卡午夜精品| 亚洲日韩精品无码专区| 国产综合精品日本亚洲777| 精品91视频| 欧美日韩资源| 久夜色精品国产噜噜| 日韩欧美国产中文| 亚洲精品国产综合99| 亚洲精品制服丝袜二区| 久久国产乱子伦视频无卡顿| 尤物国产在线|