久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于單片機的IC卡智能水表控制系統(tǒng)設計論文 [打印本頁]

作者: yanjunaaa    時間: 2018-5-10 09:41
標題: 基于單片機的IC卡智能水表控制系統(tǒng)設計論文

摘要

本文完成了系統(tǒng)的硬件電路設計和軟件設計。硬件電路采用模塊化設計,包括用水量檢測電路、IC卡接口電路、電磁閥驅動電路、報警電路、LED顯示電路等,詳細分析了各模塊的工作原理;系統(tǒng)軟件采用匯編語言編制,給出了具體的程序流程圖。

系統(tǒng)具有自動供停水、插卡智能識別、身份驗證、掉電保護、LED顯示、電磁閥門智能開關控制、防干擾、防拆卸等功能。


第1章  緒論

本章介紹了本研究課題的背景及意義,闡述了其發(fā)展狀況。對當前水資源形勢、傳統(tǒng)水表和IC卡智能水表的特點及其水表的未來發(fā)展趨勢作了概況。另外,簡要說明了本文所做的工作。

1.1 本研究課題的背景及意義

環(huán)境與發(fā)展,是當今國際社會普遍關注的重大問題,保護環(huán)境是全人類的共同任務。水資源作為生態(tài)環(huán)境中的重要資源,是人類生活的生產中不可取代的資源,對一個國家的生存和發(fā)展也是極為重要的。水資源是一切生命的源泉,是人類不可缺少的物質條件,沒有水人類就不能生存,沒有水人類賴以自下而上的物質生產就不能發(fā)展。

由于歷史的原因,我國大部分城市居民使用自來水,都是在區(qū)域性水站供水基礎上,逐步發(fā)展成為以單位住宅區(qū)或以樓棟、單元為一戶由自來水公司抄表收費的。目前,這種經營方式已越來越不適應社會主義市場經濟發(fā)展的要求,成為人民物資生活迅速提高和供水企業(yè)落后的經營方式之間產生的主要矛盾。

    隨著社會經濟的發(fā)展和人們生活水平的日益提高,智能化電子產品已逐步深入家庭,我們提出了IC卡智能水表的方案。

IC卡智能水表是一種利用現(xiàn)代微電子技術、現(xiàn)代傳感技術、智能IC卡技術對用水量進行計量并進行用水數據傳遞及結算交易的新型水表。這與傳統(tǒng)水表一般只具有流量采集和機械指針顯示用水量的功能相比,是一個很大的進步。IC卡智能水表除了可對用水量進行記錄和電子顯示外,還可以按照約定對用水量自動進行控制,同時可以進行用水數據存儲的功能。由于其數據傳遞和交易結算通過IC卡進行,因而可以實現(xiàn)由工作人員上門操表收費到用戶自己去營業(yè)所交費的轉變。IC卡交易系統(tǒng)還具有交易方便,計算準確,可利用銀行進行結算的特點。

IC卡智能水表及其管理系統(tǒng)的出現(xiàn),將從根本上解決了已上問題。采用IC卡智能水表進行交易結算,不但實現(xiàn)了用水收費的電子化,而且還改變了先用水后收費的不合理狀況,使的供水部門能預先收取部分費用,有利于公用事業(yè)的發(fā)展。IC卡智能水表具有成本低、可靠性高、使用壽命長及安全性好等優(yōu)點,可提高居民用水收費的管理水平,確保供水部門能及時收取水費。因此,IC卡智能水表成為相關科研單位關注的重點,具有很好的經濟效益與社會效益[1] [2]。

1.2 本研究課題的發(fā)展趨勢

隨著微電子技術的快速發(fā)展,加上國家相關政策的推動,民用計量儀表的智能化將是一個必然的發(fā)展方向。這不僅是中國的一種趨勢,也將成為世界性的趨勢。而在近十年里,單體式智能IC卡類儀表又將會是發(fā)展主流。
    從理論上說,網絡式智能儀表系統(tǒng)應當是更好的一種計量管理模式,并且是最終發(fā)展方向。但是目前,由于網絡式智能儀表系統(tǒng)的建立條件不成熟,且沒有相關系統(tǒng)相配合,所以,單獨在一個部門大規(guī)模推動建立網絡式智能儀表系統(tǒng)的優(yōu)點顯現(xiàn)不出來。而且,僅僅為了提取用水信息就要構建一個信息網絡,從經濟角度講也不合算。
  
    那么,現(xiàn)在普遍采用的單體式智能儀表模式與將來的網絡化管理模式是否會發(fā)生沖突呢,我的看法是不會,相反,還會促進網絡化管理模式的形成。因為,單體式智能儀表模式與將來的網絡模式并不矛盾。因為不管什么網絡模式,最終必須要有智能終端與其進行聯(lián)結。現(xiàn)在采用的單體式智能儀表將來就可以作為網絡管理系統(tǒng)的智能儀表終端。所以,它們不是一種沖突關系,而是一種相承關系。如果現(xiàn)在就能充分意識到這一點,并尋找合理的技術方案,在將來實現(xiàn)網絡化時就會占有主動的地位。
  根據以上的分析,我認為,現(xiàn)在采用的單體式智能儀表發(fā)展模式是合理的,是適合現(xiàn)時需求并具有主流特征的。當然,在密集度較高的建筑群里采用的一線四表控制系統(tǒng)也是值得推廣和具有合理發(fā)展前景的。

為了推動IC卡智能水表的發(fā)展,全國有許多研究機構投入力量對IC卡類智能產品進行了開發(fā)研究,很多自來水公司也積極參與了此項開發(fā)工作并成功的開發(fā)出了自己的產品。從理論角度看,IC卡智能水表已經進入了成熟期。但是,為什么現(xiàn)在IC卡智能水表的推動工作還很困難呢?這不難理解。因為從實際情況看,現(xiàn)在的IC卡智能水表確實還存在著許多影響其大規(guī)模推廣使用的問題。這些問題集中起來主要是1. 價格太高;2. 質量不可靠;3. 存在安全隱患。

隨著科學技術的不斷發(fā)展, IC卡智能水表將會不斷發(fā)展完善。比如,現(xiàn)在這種在老式水表上取信號的模式,將會由先進的水流量信號提取裝置代替,機械計量和機械顯示部分會被淘汰,而表和閥將會集中在一體等等。總的說來,IC卡智能水表是一種先進的計量儀表,對這種先進儀表的大規(guī)模推廣使用將會有力促進中國供用水管理的現(xiàn)代化進程。中國在這個方面的超前發(fā)展會使這種計量模式得到優(yōu)先完善,并有可能成為中國的一個有競爭力的產品出口到其它國家[2][3]。

1.3 本文的工作

詳細分析課題任務,對IC卡智能水表的發(fā)展現(xiàn)狀進行分析,并對現(xiàn)代傳感器技術、IC卡技術和智能水表控制的原理進行了深入的研究,并將其綜合。然后根據課題任務的要求設計出實現(xiàn)控制任務的硬件結構及其原理圖和相關軟件程序,并進行訪真調試。下面對本設計的主要研究工作做個簡述。

1. 根據設計要求,提出幾種方案,對它們進行了全面的論證;

2. 根據系統(tǒng)需要,合理選擇微處理器,并且詳細地闡述了它的基本功能特性;

3. 介紹了相關現(xiàn)代傳感技術,選擇出信號采集的最佳方案;

4. 根據低功耗要求,對電磁閥的選擇與設計進行了深入的研究;

5. 詳細分析了E2PROM的工作原理;

6. 對IC卡技術做了簡明扼要的分析,并對其軟件的讀寫原理進行了詳細的討論;

7. 應用LED顯示技術,可隨時查詢累計用水總量、可用水量;

8. 改進了普遍應用電源方案,詳細地介紹了超級電容技術及其在本設計中的應用;

9. 對整個系統(tǒng)的軟、硬件進行了深入的分析,并且繪制了相關硬件電路圖、軟件流程圖,還編寫了相關軟件程序。

第2章 設計思想與方案論證

    本章對智能水表的設計思想做了詳細的介紹,并在設計思想的基礎上提出了三種智能水表的設計方案,還針對它們各自的工作原理和優(yōu)缺點進行了簡要分析。最終確定為采用基于AT89C2051單片機的IC卡智能水表方案。

2.1 設計思想

智能水表區(qū)別于傳統(tǒng)的人工抄表就是應該具有一定的智能控制功能。針對目前供水部門與用戶的實際情況,本設計對智能水表應該具有的功能提出了以下設計思想:

1. 統(tǒng)計功能:當用戶插入有效卡時,將購買水量與剩余水量自動相加,并且存入E2PROM以防丟失;當用戶用水時,將剩余水量與用水量 自動相減,并且存入E2PROM以防丟失。

2. 自動供停水功能:當剩余水量為0時,自動關閉閥門;購水后,閥門開啟。

3. 顯示功能:采用6位LED顯示,可隨時查詢累計用水總量及可用剩余水量。

4. 報警功能:當剩余水量減少到一定量時,報警提示用戶購水。
  5. 掉電自動保護數據功能:掉電后,數據依然可以被保存。當恢復供電后,數據自動恢復。

6. 一戶一卡的功能:通過設立用戶信息和用戶校驗碼的方式實現(xiàn)一戶一卡。即一個水表只能使用一個用戶專用卡,插入其他卡片無效。
  7. 欠電自動關閉系統(tǒng)的功能:當電池電壓或電池容量掉到規(guī)定數值后,意味著電池可能已經快沒有電了,此時,水表應會自動將閥門關閉并使系統(tǒng)處于休眠狀態(tài),并報警提示。
  8. 防拆卸功能:在表體和接頭管件上設置鉛封口并可進行防偽鉛封處理,以防止隨意拆卸水表的行為。即使被拆卸后,單片機立即關閉閥門,以防偷水。

2.2 方案比較

   針對上述設計思想,提出了三種智能水表的設計方案。下面對它們的工作原理及其優(yōu)缺點進行了簡要地分析。

1. 方案一:脈沖發(fā)訊集中抄收式智能水表系統(tǒng)

工作原理:由表具不斷發(fā)出脈沖信號,經采集器對脈沖信號進行采集、累加、存儲和數據上傳。

優(yōu)點:發(fā)訊式集抄系統(tǒng)目前在國內已普遍采推廣應用方便,價格較低,只要生產廠商、系統(tǒng)集商嚴格把好每一環(huán)節(jié)的質量關,且發(fā)訊不隨時間產生疲勞損傷,此系統(tǒng)不失為一種可供選擇的、適于一定歷史時期的過渡產品。

缺點:(1) 初始化及維護工作量大;(2) 磁鐵強磁場干擾;(3) 電能耗費。

2. 方案二:基于CAN總線的智能水表自動抄收系統(tǒng)

工作原理:自動抄收系統(tǒng)主要由小區(qū)管理中心計算機(主控機)、水表數據采集器、采集服務器、中繼站等幾個部分組成,是一種智能化多用戶能耗集中自動抄收系統(tǒng)。其原理是將原能耗計量表的流量轉換為脈沖信號,經信號傳輸線至系統(tǒng)總線,由接口電路通過有線傳輸或主機直接抄讀,最后經微機管理,實現(xiàn)耗能數據的自動處理。

優(yōu)點:CAN現(xiàn)場總線的方式來傳送數據,以克服市場已有傳送方式所存在的不足之處,其傳送方式可實現(xiàn)10公里范圍的小區(qū)抄收工作,同時性能比同類系統(tǒng)穩(wěn)定可靠。采用點對點、一點對多點、全局廣播等幾種方式,數據收發(fā)靈活,可實現(xiàn)全分布式多機系統(tǒng),且無主從機之分,便于實現(xiàn)設備異常主動報警。節(jié)點故障自動關閉,不影響網絡性能,提高了系統(tǒng)的穩(wěn)定性,且不關閉總線即可任意掛接或拆除節(jié)點,方便了系統(tǒng)的調試和維護。

缺點:前期經濟投入太多,需要大量的專業(yè)網絡維護人員,維護工作量大。設計過于復雜,太難,且不容易實現(xiàn)[4]。

3. 方案三:基于89C2051單片機的IC卡智能水表系統(tǒng)

工作原理:以接觸IC卡或非接觸射頻卡作為媒介,將各種信息輸入表中控制系統(tǒng)來自動開關閥門(供水或停水),由用戶到自來水公司網點先預購買水量,再將用水量通過IC卡輸入表中控制系統(tǒng),等水量用盡即自動關閥并中斷水的供應,報警器在設定水量用完之前會自動報警以提醒用戶購水,達到“先買水、后用水”的目的。

優(yōu)點:在用戶不繳費的情況下可自動斷水,有效控制收費單位的資金回籠,不需要人工上門抄表、收費,減少抄表員。

缺點:(1) 電磁閥在長期開啟狀態(tài)下由于水垢和水中雜質而影響閥門關閉,使用戶在不繳費的情況下繼續(xù)用水,而收費單位還一無所知,一旦發(fā)現(xiàn)也無法向用戶追繳多用水費;(2) IC卡表也是由發(fā)訊脈沖進行累加計量,如果人為強磁干擾或強電瞬間電擊,也會造成芯片損壞,從而無法計量;(3) 鋰電池在長期使用中是否能達到設計年限還有待考證,到期后由誰負責更換是個問題。

隨著微電子技術、現(xiàn)代傳感器技術的快速發(fā)展,以上該方案的缺點我們通過可行的具體方案基本可以解決了。該方案所設計的IC卡智能水表主要由開關閥門控制模塊、流量采樣模塊、微處理器、電源模塊、IC卡讀寫模塊、數據存儲器模塊、顯示模塊等組成[2]。

2.3 方案選擇

從投入成本來看,方案二需要建立一整套的網絡系統(tǒng),所需設備多,前期所需經濟投入最大,方案一次之,方案三最低。

從設計的難易程度來看,方案三融合了微電子技術、現(xiàn)代傳感器技術、IC卡技術等,這些技術都已經相當成熟,最容易實現(xiàn),方案二最難,方案一次之。

從維護成本來看,方案二是由一個專用的網絡系統(tǒng)組建而成,需要專業(yè)的網絡技術維護人員,它的維護成本最高,方案一次之,方案三最低。

從長期效益來看,隨著技術的成熟,社會各行各業(yè)網絡化進程的加速,方案二必定是今后的發(fā)展趨勢,它所達到的效益最佳,方案三次之,方案一最差。

綜合考慮以上三種方案,根據現(xiàn)在的各種實際情況、現(xiàn)有技術水平和設計要求,我們選擇了第三種方案基于89C2051單片機的IC卡智能水表系統(tǒng)來進行設計。

第3章  IC卡智能水表的硬件設計

本章是本文的核心內容,主要介紹的是系統(tǒng)硬件部分的設計。我們采用了模塊化的設計方法,針對系統(tǒng)的工作原理和各個硬件模塊的原理和電路進行了具體的介紹。還對各種器件的選擇(如微處理器、傳感器等)做了詳細的分析。

3.1 主系統(tǒng)的構成

根據設計要求,所要設計的系統(tǒng)除了解決最基本的正常供水還應具有一定的智能功能。主系統(tǒng)的框架圖如圖3.1所示。由圖中可以看出,系統(tǒng)由這樣一些功能模塊組成:微處理器、流量傳感器、信號處理模塊、IC卡接口電路、E2PROM數據存儲電路、顯示電路、報警電路、電源模塊、電磁閥驅動電路以及其他輔助電路。所有模塊的設計均考慮了低功耗的要求,本系統(tǒng)采用外接3節(jié)5號電池供電,內部采用超級電容作為備用。系統(tǒng)時鐘采用外接晶振方式,約為6MHz。

                                     圖3.1  主系統(tǒng)框圖

IC卡智能水表工作原理:首先由用戶購買IC卡(即用戶卡),并攜IC卡至收費工作站交費購水,工作人員將購買水量等信息寫入卡中。用戶將卡插入IC卡水表,卡表內單片機識別IC卡密碼并確認無誤后,將卡中購買水量與表內剩余水量相加后,寫入卡表內存儲器,同時必須將IC卡內購水值清零。當用戶用水時,由流量傳感器采進來的信號以脈沖形式觸發(fā)單片機的外部中斷,換醒單片機,進行用水處理。

用戶在用水過程中,卡表內剩余水量相應減少。當剩余水量低于一定量,如5m3,卡表報警提示用戶購水。當E2PROM中存儲的水量用完時,單片機自動關閉電磁閥。用戶只有重新購水,才能使電磁閥打開。此外,在發(fā)生人為故意破壞時,閥門也會關閉[2]。

3.2 微處理器

    微處理器是本設計中的核心器件。我們一般都選用單片機來進行控制。下面給出了對它的選型與功能介紹。

3.2.1 單片機的選型

單片機的選型從以下幾個方面考慮:

1. 單片機的系統(tǒng)適應性

適應性指單片機能否完成應用系統(tǒng)的控制功能,它主要從以下幾個方面體現(xiàn)。

(1) 單片機的CPU是否有合適的處理能力。

(2) 單片機是否有系統(tǒng)所需要的I/O端口數。

(3) 單片機是否含有系統(tǒng)所需的中斷源和定時器。

(4) 單片機片內是否有系統(tǒng)所需的外接口。

(5) 單片機的極限性能是否能夠滿足要求。

2. 單片機的市場供應情況

3. 單片機的可開發(fā)性

本設計系統(tǒng)至少需要14個I/O端口數,其中需要2個外部中斷源,一個全雙工串行通信口,需要2K字節(jié)可重擦寫程序存儲器。

結合上述選型依據,雖然其通用的80C51系列的單片機具有電源電壓適應范圍寬、抗干擾能力和驅動能力強、價格便宜等特點。然而對本設計來說,根據其系統(tǒng)所要應用的需要:主要是其應用的引腳、應用所需要的容量以及在制作過程中所要考慮的體積、價格及供應等因素。顯然AT89C2051單片滿足I/O端口數、所需要的容量等要求。AT89C2051單片機與80C51單片機相比具有體積小、價格低等優(yōu)點。同時AT89C2051單片機和80C51單片機是完全兼容的,它與80C51的顯著區(qū)別在于它內部有一個閃存。另外考慮到在調試過程中實驗器材的現(xiàn)實情況,本設計系統(tǒng)將選用AT89C2051單片機作為主控芯片。

3.2.2 單片機AT89C2051簡介

AT89C2051是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含2k bytes的可反復擦寫的只讀程序存儲器(Flash)和128bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲的技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元。

功能特性概述:

AT89C2051提供以下標準功能:2K字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,15個I/O口線,兩個16位定時/計數器,一個5向量兩極中斷結構,一個全雙工串行通信口,內置一個精密比較器,片內振蕩器及時鐘電路。同時,AT89C2051克將至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,定時/計數器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。

圖3.2是AT89C2051的引腳結構圖,有雙列直插封裝(DIP)方式和方行封裝方式。

3.2.3 晶振與復位電路的設計

單片機內部帶有時鐘電路,因此,只需要在片處通過XTAL1、XTAL2引腳接入定時控制單元(晶體振蕩和電容),即可構成一個穩(wěn)定的自激振蕩器。

振蕩器的工作頻率一般在1.2~12MHz之間,當然在一般情況下頻率越快越好。可以保證程序運行速度即保證了控制的實時性。一般采用石英晶振作定時控制元件;在不需要高精度參考時鐘時,也可以用電感代替晶振;有時也可以引入外部時脈信號。

C1、C2雖然沒有嚴格要求,但電容的大小影響振蕩器的振蕩的穩(wěn)定性和起振的快速性。在設計電路板時,晶振,電容等均應盡可能靠近芯片,以減小分布電容,保證振蕩器振蕩的穩(wěn)定性。

在本設計中,我們采用的外接晶振頻率約6MHz,因此機器周期約2μs。

RESET引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間應持續(xù)24個振蕩脈沖周期(即兩個機器周期)以上。如使用頻率為6MHZ的晶振,則復位信號持續(xù)時間應超過4μs才能完成復位操作。產生復位信號的電路圖如下所示[5]。

圖3.3 復位電路和時鐘電路

3.3 傳感器的選擇

轉化基于傳統(tǒng)水表流量檢測原理,在本設計中采用將傳統(tǒng)的機械轉動計量方式轉化為電脈沖信號的方案。因此,需要找到一種可以將機械位移為電脈沖信號的傳感器。

3.3.1 霍爾接近開關傳感器

集成式霍爾開關傳感器是基于霍爾效應原理,當霍爾效應片垂直于磁場時,對霍爾效應片施加控制電流時,在垂直于電流和磁場方向上就產生電動勢,稱之為霍爾電動勢。由霍爾片和處理電路構成了集成化霍爾開關傳感器,其基本原理是將由霍爾效應片所產生的電動勢由內部差分放大器進行放大,然后被送往施密特觸發(fā)器。當外加磁場的強度小于霍爾開關的磁場工作強度時,差分放大器的輸出電壓不足以開啟施密特觸發(fā)器,霍爾開關處于關閉狀態(tài)。當外加磁場的強度大于霍爾開關的磁場工作強度時,差分放大器的輸出電壓達到或大于施密特觸發(fā)器的開啟電壓閾值,霍爾開關處于開啟狀態(tài)。

    集成式霍爾開關傳感器的主要優(yōu)點是:可靠性強、抗干擾性能好、溫度特性優(yōu)良、電源電壓范圍寬、輸出電流能力強、兼容性好、能與CMOS集成電路直接接口,動作響應時間短以及體積小巧、壽命長和使用方便等。

    但是,從對上述對霍爾開關傳感器的原理描述中可以看出,霍爾開關傳感器中必須對霍爾效應片輸入控制電流、同時其內部還有差分放大器等具有較大功耗的器件,典型的集成式霍爾開關傳感器耗電為mA級,因此,霍爾開關傳感器不適合應用在本低功耗設計中。

3.3.2 光電檢測傳感器

    當光照射在半導體材料的PN結上時PN結的兩側將產生光生電動勢,如外部用導線連接,將有光電流流過,通常的光電檢測傳感器都是基于這一原理。

    目前的光電檢測傳感器就是利用上述原理,以光電二極管為例,把發(fā)光二極管和光電二極管相對放置便組成了光電檢測電路,當被檢測物體通過二者之間時,由于光電二極管所接受的光的強度發(fā)生變化,其產生的光電動勢也發(fā)生變化,將這種變化進行放大和處理,就能產生反映有無物體通過二者之間的電壓脈沖信號。

然而,由于在此結構中必須用到發(fā)光二極管(對于不需要發(fā)光二極管的光電檢測傳感器,功耗得到了降低,但是,其容易收到環(huán)境光線變化的影響,可靠性和檢測精確度較低),因此,其功耗電也較高,不宜用在本低功耗設計中。

3.3.3 Wiegand(韋根)傳感器

1. Wiegand傳感器組成

Wiegand傳感器由三部分組成:(1)Wiegand線;(2)檢測線圈,將其纏繞在Wiegand線上,或放置在Wiegand線附近;(3)磁鐵。常用結構示意如圖3.4所示。

圖3.4  Wiegand傳感器組成

2. Wiegand傳感器工作原理

Wiegand線是由一根鐵磁材料制成的永磁體,由外殼和內芯組成,如圖3.5所示。在強磁場的作用下,內芯與外殼有相同的磁極性。將Wiegand線放在與線芯極性相反的外部弱磁場附近,能使線芯的極性發(fā)生改變,線放在與線芯極性相反的外部弱磁場附近,能使線芯的極性發(fā)生改變,而外殼的極性不變。隨著外磁場強度的增加,外殼的極性也隨之發(fā)生變化,這樣置于Wiegand線附近的線圈就能檢測出極性的轉換,并產生電壓脈沖輸出。通常Wiegand線與檢測線圈是裝配在一起構成Wiegand組件。

3. Wiegand傳感器工作方式

根據Wiegand線外部磁場引入的方式不同,Wiegand傳感器有兩種驅動方式:非對稱驅動方式和對稱驅動方式。非對稱驅動方式開始把Wiegand組件置于一種稱為滲透磁場的強磁場中,此時Wiegand線的外殼和內芯按同一方向極化,如圖3.6(a) 所示;再把組件置于一種稱為復位磁場的弱磁場中,此時內芯的極性反向,而外殼的極性不變,如圖3.6(b) 所示;然后把組件置于滲透磁場中,Wiegand線內芯與外殼的極性又恢復到圖3.6(a)的情況,由于Wiegand線中磁場的變化,導致在檢測線圈中一個周期內產生單一方向的電壓脈沖,如圖3.6(c)所示。

圖3.6  非對稱驅動方式

在對稱驅動方式中,采用兩塊磁場強度大小相等但極性相反的磁鐵,一塊磁鐵首先將Wiegand線的外殼和內芯按同一方向進行滲透,如圖3.7(a)所示;再將Wiegand線切換到第二塊磁鐵,在這過程中,首先線芯的極性改變,如圖3.7(b)所示;然后外殼的極性發(fā)生改變,這一作用在檢測線圈中產生一個方向的電壓脈沖輸出,如圖3.7(c) 所示;接著,再將Wiegand線轉回到第一塊磁鐵,首先內芯的極性改變?yōu)槠鹗嫉臉O性,如圖3.7(d) 所示;其次外殼的極性也隨之改變?yōu)槠鹗嫉臉O性,這一過程產生相反方向的電壓脈沖輸出如圖3.7(e) 所示[6]。

圖3.7  對稱驅動方式

4. WG系列韋根傳感器原理及其特點

WG系列韋根傳感器是利用韋根效應制成的一種新型磁敏傳感器。其工作原理是傳感器中磁性雙穩(wěn)態(tài)功能合金材料在外磁場的激勵下,磁化方向瞬間發(fā)生翻轉,從而在檢測線圈中感生出電信號,實現(xiàn)磁電轉換。

它具有以下特點:

(1) 傳感器工作時無須使用外加電源,適用于微功耗儀表,如電子水表、電子氣表和其它智能型儀表。

(2) 使用雙磁極交替觸發(fā)工作方式,觸發(fā)磁場極性變化一周,傳感器輸出一對正負雙向脈沖電信號,信號周期為磁場交變周期。

(3) 輸出信號幅值與磁場的變化速度無關,可實現(xiàn)“零速”傳感。

(4) 無觸點、耐腐蝕、防水,壽命長。

(5) 利用電話線、同軸線可實現(xiàn)電信號遠傳。

由于WG系列韋根傳感器具有以上的眾多的特點,特別是其幾乎不需要外界能量的輸入。因此,選擇它作為本低功耗設計的傳感器。在這里,我們選擇了南京艾馳電子科技有限公司的WG系列韋根傳感器產品,其型號為WG101。具體使用方法為:在水表的計量齒輪上安裝小磁鋼,當用戶用水,齒輪轉動,小磁鋼將會轉過Wiegand絲傳感器,這時傳感器產生一個高電平脈沖信號,經過整形、放大處理后輸入至單片機進行計數計量。選擇此傳感器作輸入信號測量的傳感器,既滿足了準確計量的基本要求,又滿足了低功耗設計的需要,是本低功耗設計的重要組成部分。

3.4 信號處理模塊的設計

    WG系列WG101韋根傳感器所產生的正向脈沖信號一般為1V~2V之間。為了保證系統(tǒng)能更加穩(wěn)定的工作,必須對傳感器所產生的脈沖信號進行放大、整形處理。我們采用下面的一個簡單電路(如圖3.8所示)可以很好的達到脈沖信號的放大、整形作用。經過處理后的電平信號,送單片機的外部中斷(P3.2)進行計數處理。當計滿N(N表示為設定的轉數值),用水總量加1,剩余水量減1(“1”在本設計中代表0.1m3的水)。

由于WG系列韋根傳感器使用雙磁極交替觸發(fā)工作方式(即對稱驅動方式),當水表葉輪轉動一周,觸發(fā)磁場極性變化一周,韋根傳感器輸出一對正負雙向脈沖電信號。當韋根傳感器輸出為正向脈沖時,NPN管導通,脈沖檢測信號W_IN輸出為高電平;當韋根傳感器輸出為負向脈沖時,NPN管截止,脈沖檢測信號W_IN輸出為低電平。即水表葉輪轉動一周,脈沖檢測信號W_IN存在一個由高到低的跳變。由于我們設定外部中斷(P3.2)為跳變觸發(fā)方式,即電平發(fā)生由高到低的跳變時觸發(fā)。因此,水表葉輪轉動一周,外部中斷產生一次中斷[5]。

圖3.8  信號處理電路圖

3.5 電磁閥的選擇與設計

    對于水表而言,閥門是被控對象,控制著進水的開/關狀態(tài)。目前可控制的閥門主要是電磁閥,但常規(guī)的電磁閥是靠電的通/斷來控制閥門的開/關的,即要讓閥門一直關著,就必須一直通電,因此耗電較大,不符合本水表低功耗的要求。因此,必須對現(xiàn)有電平開關式電磁閥進行改進,采用雙穩(wěn)態(tài)電磁閥,即閥門的開/關控制由電脈沖來實現(xiàn)。使得對閥門開/關只需瞬時供電,從而減少耗電量。在這里我們選擇:執(zhí)行機構采用繼電器HRS2H-S-DC3V,驅動帶自鎖的脈沖電磁閥MP15A-3V,兩者僅需+3V電源供電。正常供水情況下,電磁閥自鎖于常開狀態(tài),驅動機構不消耗電能,只有當購買的噸位數用完時,才由固態(tài)繼電器驅動電磁閥關閉開關,并自鎖于常閉狀態(tài),重新購水插卡后,再次送電開啟。

當水量為零時,控制閥自動關閉,水路即被切斷,此時用戶須重新持卡購水。在正常情況下控制閥處于接通狀態(tài),只有當特殊事件發(fā)生時,控制閥才從接通狀態(tài)變?yōu)殛P閉狀態(tài)。三種事件狀態(tài)下控制閥的通斷情況如圖3.9所示[7]。

圖3.9  控制閥的關斷情況

值得注意的是,由于繼電器和脈沖開關電磁閥都是較大容量的感性負載,因而在切斷這些感性負載時,會產生很大的電流和電壓變化率,從而形成瞬變噪聲干擾,成為系統(tǒng)中電磁干擾的主要原因,引外,繼電器通斷所造成的電火花和很強的電弧也產生了很大的電磁干擾。因此,在系統(tǒng)中必須設計相應的抗干擾電路來消除此電磁干擾,本系統(tǒng)所采用的抗干擾措施主要有以下兩點:

1. 采用光電耦合器進行隔離(如圖3.10所示)

當P1.1輸出為高電平時候NPN管Q1導通,在光電耦合器SW-GD(型號為4N25)中的發(fā)光二級管發(fā)光,三級管導通。此時,電阻R10上就存在一個高電平使NPN管Q1導通。繼電器即得電產生動作。D1為續(xù)流保護的作用。

圖3.10  光電耦合器隔離電路

從圖3.10中可以看出,單片機控制的I/O口和繼電器控制端口之間用光電耦合器進行了隔離,這樣,由于繼電器通斷所造成的電火花和電弧就不會影響到單片機系統(tǒng)了[8]。

2. 在電磁閥供電端跨接壓敏電阻抗干擾

    壓敏電阻是一種非線性電阻性元件,它對外加的電壓十分敏感,外加電壓的微小變動,其阻值會發(fā)生明顯的變化,因此電壓的微增量可引起大的電流增量。

  壓敏電阻又分為碳化硅壓敏電阻、硅壓敏電阻、鍺壓敏電阻以及氧化鋅壓敏電阻,其中較為常用的是氧化鋅(ZnO)壓敏電阻,其電氣性能如圖3.11所示。

圖3.11  氧化鋅壓敏電阻的電氣性能

從圖3.11中可以看出。壓敏電阻具有類似穩(wěn)壓管的非線性特性,在一般工作電壓(外加電壓低于臨界電壓值)下,壓敏電阻呈高阻狀態(tài),僅有uA數量級的漏電流流過壓敏電阻,相當于開路狀態(tài)。當有電壓(當電壓達到臨界值以上)時,壓敏電阻即迅速變?yōu)榈妥杩梗憫獣r間為毫微秒數量級),電流急劇上升,電阻急劇下降,過電壓以過電電流的形式被壓敏電阻吸收掉,相當于過電壓部分被短路。當浪涌過電壓過后,電路電壓恢復到正常工作電壓,壓敏電阻又恢復到高阻狀態(tài)。可以利用壓敏電阻的上述特性來吸收各種干擾過電壓。由于ZnO壓敏電阻特性曲線較陡,具有漏電流很小、平均功耗小、溫升小、通流容量大、伏安特性對稱、電壓范圍寬、體積小等優(yōu)點,可廣泛用于直流和交流回路中吸收不同極性的過電壓。

在本設計中的具體使用方法為將壓敏電阻并聯(lián)到電磁閥的供電電壓上,這樣,電磁閥開關所產生的浪涌過電壓就被壓敏電阻所吸收了。壓敏電阻的使用大大降低了電磁閥開關所造成的電磁干擾對單片機系統(tǒng)的影響。

3.6 片外數據存儲器的設計

在系統(tǒng)的設計過程中,考慮到智能水表在使用過程中可能出現(xiàn)失電的情況。當這種情況發(fā)生時,系統(tǒng)應該保存失電前的一些數據。比如,存儲用戶設定的水量系數N(轉/噸),累計用水總量和剩余水量等。而這些數據如果存儲在單片機的數據存儲器中,單片機失電重啟動后存儲的相關數據已經消失了。為了完成此功能,必須在單片機外部加一個E2PROM,完成這些數據的存儲。本設計系統(tǒng)中加入了I2C總線的E2PROM。

I2C總線簡介:I2C總線由PHILIPS提出,是一種用于IC器件之間連接的二線制總線。它通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件:不管是單片機、存儲器、LCD驅動器還是鍵盤接口。采用I2C總線標準的單片機或IC器件,其內部不僅有I2C接口電路,而且將內部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接 。

其協(xié)議定義的I2C總線數據格式如下:

開始

7/10器件地址

R/

ACK

SUBADD

ACK

DATA

ACK

……

停止


AT24C01是美國ATMEL公司的低功耗CMOS串行E2PROM,它是內含128×8位存儲空間,具有工作電壓寬(2.5~5.5V)、擦寫次數多(大于10000次)、寫入速度快(小于10ms)等特點[2] [9]。在系統(tǒng)中,用AT24C01存儲用戶的設定水量轉數N、水表檢測脈沖數M、累計用水總量和剩余水量等。當系統(tǒng)斷電以后,系統(tǒng)將把有用的信息保存在AT24C01中,使其不被丟失。其實際電路連接圖如圖3.12所示:電阻R24、R25為上拉電阻。由于我們只用一片E2PROM,所以A2=A1=A0=0。它的工作原理我們將在第四章詳細介紹。

圖3.12 AT24C01與單片機接口電路

3.7 IC卡及其接口電路的設計

下面簡要介紹AT24C0X系列的IC卡的基本特性與引腳功能,并分析AT24C0X與AT89C205l單片機的在本設計中的具體接法。

3.7.1 基于AT24C0X系列的IC卡

AT24C0X系列IC卡是美國ATMEL公司生產的存儲式IC卡。產品型號有AT24C01/

02/04/08/16/32/64,存儲容量分別為1kbits/2 kbits /4 kbits /8 kbits /16 kbits /32 kbits /64 kbits;2.5~5V低電壓供電;雙線串行接口;雙向數據傳送;支持ISO/IEC7816-3同步協(xié)議;寫/擦除次數>1 000 000次;數據保存期>100年。它是目前國內使用最多的IC卡之一。

AT24C0X系列IC卡的引出端符合ISO/IEC7816-2標準。C1:VCC,工作電壓;C3:SCL(CLK),串行時鐘;C5:GND;C7:SDA(I/O),串行數據(輸入/輸出);C2,C6:NC,未接。IC卡引腳如圖3.13所示,其中引腳T,P為微動開關的兩觸點。此微動開關在無IC卡狀態(tài)時,處于斷開狀態(tài);有卡插入時,IC卡卡座上的微動開關動合,因此,此開關往往是用來判斷是否插IC卡的傳感器件[2]。

圖3.13  IC卡示意圖

3.7.2 IC卡的接口電路的設計

24系列為低功耗COMS E2PROM 器件,使用單+5v電源,電源電壓范圍為2.5~6V,

內有高壓泵電路,寫入、擦除操作由內部定時器自動完成,具有擦除/寫入周期10萬次壽命和數據安全保存100年的有效期,二線串行接口,和各類微處理器接口十分簡單等特點。本設計的AT89C205l單片機與IC卡240X接口如圖3.14所示。圖中IC-CARD為標準IC卡座,其T、P端用作到位檢測開關,將T端連接89C2051的外中斷輸入腳P3.3()。由于引腳T,P為微動開關的兩觸點,所以,當有IC卡插入時,微動開關閉合,P1.5腳電平被拉低,單片機通過判讀P1.5腳,做好讀卡準備,無卡時,P1.5腳為高。P1.6、P1.7用作數據線(SDA)和時鐘線(SCL),用軟件模擬時序的方法來實現(xiàn)對IC卡的讀寫。當有IC卡插入時,P1.5腳電平被拉低,單片機通過判讀P1.5腳,做好讀卡準備,無卡時,P1.5腳為高。R19、R20、R21為限流電阻[2] [10]。

圖3.14  IC卡接口電路

3.8 人機交互接口的設計

人機互交接口包括了報警電路與顯示電路的設計。下面具體給出了在本設計中采用的報警電路和顯示電路,并分析了它們的工作原理。另外,還對顯示電路在本系統(tǒng)中應用的顯示原理進行了詳細的分析。

3.8.1 報警電路的設計

根據系統(tǒng)需要,我們設計了一個報警電路。當剩余水量不足、電池欠壓等情況下,都需要報警。本報警電路很簡單,我們采用1個NPN型三級管,1個蜂鳴器和1個電阻組成。如下圖3.15所示,當P1.4輸出一個高電平時,NPN型三級管Q4導通,蜂鳴器馬上得電發(fā)聲,產生報警[11]。

圖3.15  報警電路

3.8.2 顯示電路的設計

顯示電路作為水表的輸出接口,顯示剩余水量、用水總量等信息。它們的有效工作時間都比較短。用戶看完后,沒有必要讓它一直顯示;為此,可水表上裝一個開關按鈕提供信號。即按一下按鈕時,水表開始顯示剩余水量;再次按下按鈕時,水表顯示用水總量;再次按下按鈕時,水表顯示關閉。如顯示10s后,按鈕沒有動作,亦使它們停止工作,從而達到節(jié)電的目的。

在小型的控制系統(tǒng)中,通常用LED數碼管作為顯示器件。LED數碼管的顯示方式通常可分為2種:靜態(tài)方式和動態(tài)方式。靜態(tài)顯示方式的優(yōu)點是亮度高、沒有閃動、穩(wěn)定,缺點是功耗大、占PCB面積大、成本高。為了在人機對話設計中降低硬件成本,節(jié)約單片機的I/O口資源,我們采用將通過串行動態(tài)掃描,即位碼和段碼交替發(fā)送的方式設計了一種新穎的顯示模塊,經調試,效果良好。

圖3.16  串口顯示電路圖

顯示電路的具體電路如圖3.16所示。它由單片機AT89C2051,2片74HC164,6個LED數碼管,6個220歐姆左右的限流電阻組成。74HC164是8位串入并出移位寄存器。它的每一個輸出管腳具有+/-20mA的驅動能力。對于小型LED數碼管,還要串聯(lián)200~360Ω的限流電阻。本設計提出的動態(tài)顯示電路采用2片74HC164,可以驅動1~8只共陰極數碼管,這里我們采用6位顯示。其中一片U3作為段碼驅動,另一片U1作為位碼驅動。2片74HC164采用級聯(lián)方式連接,只占用單片機AT89C2051的2個I/O端口。位碼驅動U1的數據輸入端口、時鐘輸入端口分別連接AT89C2051的RXD和TXD端口。段碼驅動U3的數據輸入端口、時鐘輸入端口分別連接位碼驅動U1的Q7和AT89C2051的TXD端口。選擇AT89C2051的串行口方式為0方式,即移位寄存器方式。如果要求在6位LED數碼管的最低位顯示一個字符時,首先從DMbufer中取出要顯示的數,通過譯碼表譯出這個字符的段碼值并將段碼值寫入U3中。根據這個字符在LED、顯示器的位置(這里為最低位)。確定它的位碼值是FEH(1111 1110)將位碼值寫入WMbuffer中(注意:段碼驅動U3為高電平有效、位碼驅動U1為低電平有效)。在顯示程序中,首先將位碼值寫入串行數據寄存器(SBUF)。在AT89C2051TXD端口的時鐘作用下,AT89C2051RXD端口送出這個字符的位碼值到段碼驅動U3。當AT89C2051送完一個字節(jié)的位碼值后,發(fā)送中斷標志位TI置位。檢測到TI=1后,清零TI,接著將段碼寫入SBUF,AT89C2051再送段碼值到段碼驅動B,同時段碼驅動U3的位碼值被送入位碼驅動U1中,延時2ms,即可顯示這個字符了。如果要求在低二位顯示第2個字符,則WMbufer(1111 1110)不帶進位位左移一位(1111 1101)并送WMbufer。再通過譯碼表取得第2個字符的段碼值送入U3,重復上述過程即可。以上過程循環(huán)N次,即可完成1~6位字符的顯示工作。在主程序中循環(huán)調用顯示程序,反復掃描LED數碼管,使之達到近似靜態(tài)的顯示效果[5][12][13]。

3.9 電源的設計

    電源是電路部分的動力源,象是飛機的發(fā)動機,人的心臟。電源的質量如何直接決定電路是否能正常工作。在本設計中,我們采用的是外接3節(jié)5號電池供電。為了保證系統(tǒng)的正常工作及其安全性,我們設計了一套可行的電池能量檢測方案和備用電源方案。下面進行了詳細的介紹。

3.9.1 電池能量的檢測

如果想要做出合理的電源管理方案,就需要單片機能夠隨時檢測電路中電池的能量(具體表現(xiàn)是實際的電壓值)。但是在本設計中,單片機判別電池的能量,由于不用象手機那樣隨時顯示電池的容量,根據水表的特殊性,只要檢測到一個固定值,給用戶一個報警提示就可以了,這個電量值的選擇需要滿足一個量,即讓用戶再有三天的余量,加上關閥電量就可以了。

低電壓檢測對單片機系統(tǒng)來講是個十分重要的問題,它在某種程度上起到了保障系統(tǒng)可靠運行,避免數據出錯的作用,智能水表的設計中同樣如此。具體地講,應該在系統(tǒng)掉電到一個門限電壓(該門限電壓應高于CPU的最低運行電壓)時,通過相應的電壓檢測電路把信號傳遞給CPU,CPU及時對系統(tǒng)進行軟件復位。電壓檢測器可以選用合泰公司的HT70XX系列產品,此產品價位較低,而且規(guī)格十分齊全。在這里我們選用芯片HT7039來監(jiān)視系統(tǒng)供電電平Vcc,它對電壓變化十分敏感,在Vcc大于3.9V時,芯片輸出高電平,當Vcc低于3.9V時,芯片輸出馬上變?yōu)榈碗娖剑瑥亩梢匝杆俚呐袛嘞到y(tǒng)是否掉電。系統(tǒng)除了有靈敏的電源監(jiān)控之外,還可以采用3.6V的鋰電池作為后備電源來支持閥的動作,在正常工作時,鋰電池不參與供電,僅在掉電后提供閥工作的電源,以保證掉電后的一系列正常動作[14]。

3.9.2 超級電容的應用
   傳統(tǒng)的智能水表在控制水閥開啟和關斷時,普遍采用的方法是內裝鋰電池。鋰電池的優(yōu)點是重量輕、能量大、自放電率低等。雖然如此,由于智能水表都沒有設計再充電電路,鋰電池使用到一定時間后,將無法為控制電路提供能量,不得不更換電池。上門為用戶更換電池或水表,這對于水表生產廠家和自來水公司來說都是一件繁瑣的事情。更危險的是,電池電量不足的情況出現(xiàn)是隨機的,如果不精確和及時的監(jiān)測電池電量,將無法可靠地關斷水閥,造成無法計費、逃水現(xiàn)象等情況出現(xiàn)。這是內部安裝了鋰電池的智能水表的致命缺點,直接影響到它的推廣和使用。針對這一問題,水表生產廠家設計了很多方案,如:盡量降低功耗,在靜態(tài)時控制漏電流在10μA以內,保證電池可以連續(xù)使用5年以上,這對電路的設計和元器件的選型提出了更高的要求,增加了設計難度和成品檢測的工序,如加上可靠的電池電量監(jiān)測電路,也會使成本增加。
    為了解決這一制約智能水表發(fā)展的瓶頸問題,已有不少廠家嘗試了一種全新的方案,那就是用超級電容(Super-Capacitor)代替鋰電池應用于智能水表。超級電容是近幾年才批量生產的一種無源器件,性能介于電池與普通電容之間,具有電容的大電流快速充放電特性,同時也有電池的儲能特性,并且重復使用壽命長,放電時利用移動導體間的電子(而不依靠化學反應)釋放電流,從而為設備提供電源,見圖3.17

以美國庫柏(Cooper)超級電容為例,與鋰離子電池進行比較,有如下一些明顯特性:
  1. 超低串聯(lián)等效電阻(ESR),功率密度(Power Density)是鋰離子電池的數十倍以上,適合大電流放電,(一枚4.7F電容能釋放瞬間電流18A以上)為水表控制電機閥或電磁閥的可靠開啟提供了保障。
  2. 超長壽命,充放電大于50萬次,是鋰離子電池的500倍,是鎳氫和鎳鎘電池的1000倍,如果對超級電容每天充放電20次,連續(xù)使用可達68年。
  3. 可以大電流充電,充放電時間短,對充電電路要求簡單,無記憶效應。
  4. 免維護,可密封。
  5. 溫度范圍寬-40~+70℃,普通電池是-20~60℃。
  與內裝鋰電池的智能水表相比,這種方案是用超級電容替換鋰電池封裝在水表中,同時外接干電池供電。平時干電池提供水表電路所需能量和對超級電容的充電,在需要開啟水閥時,由外接干電池提供能量將水閥開啟;在需要關斷水閥時,如果外接電池不能提供能量將水閥關斷,那么超級電容將在此刻提供能量來關斷水閥。如同一個儲水箱,平時將水存儲起來,在停水時才起作用。
               

圖3.18是應用示意圖。正常情況下,電池通過電阻R14、二級管D1向負載和超級電容充電。電阻R14的作用是限制電流過大,因為超級電容內阻很小,充電時電流較大可能造成電池損壞。二級管D1防止反向電流。當電池電壓過低,或突然斷電時(如取下電池),由超級電容繼續(xù)為電路提供電源,同時,超級電容存儲的能量足以關斷閥門。

這種方案明顯優(yōu)于以前的設計,優(yōu)點如下:將電池從水表中分離出來,從而可以不考慮電池壽命對水表的影響,大大延長了水表的使用時間;另一方面,超級電容的大電流放電特性保障了水閥關斷的可靠性,在外接干電池電量不足時,仍能利用存儲在超級電容上的能量將水閥關斷;以前一味追求的漏電流指標,主要是為了保障電池的使用壽命,改用超級電容后,漏電流指標變得不再重要。如果電池電量不足,用戶可以隨時更換。這樣,不僅使電路設計簡化,減少產品的出廠檢驗工序,還使產品的成本降低[15]。
    這種方案克服了現(xiàn)階段智能水表的缺點,為智能水表的發(fā)展找到了一條新的途徑。目前國內已有多家水表生產廠應用該方案,實踐證明,它是切實可行的。所以本設計亦采用了這種方案。在本設計中,我們選用了深圳市索普康電子有限公司的超級電容,其型號為5R5H105、產品規(guī)格為3.3V0.22F。

3.10 檢測模塊的設計

    檢測模塊主要對以下四種情況進行檢測 (1) 水表被拆卸;(2) 電池欠壓或取出電池;(3) 有按鍵按下;(4) 有IC卡插入。當有以上四種情況之一時,外部中斷(P3.5)產生中斷。當產生中斷后,中斷程序馬上依次檢測P3.6口(F_KEY)、P3.2口(V_MONI)、P3.3口(OPEN_D)、P1.5口(SW_T),如圖3.19所示,以確認是哪種情況產生的中斷后作出相應處理。該電路由一個電壓檢測器HT7039、兩個與非門、一個或非門、一個常閉開關和一個常開開關組成。例如,當電池欠壓或取出電池時,HT7039輸出為低電平,U8輸出為高電平,那么U9輸出為低電平(即P3.5為低電平),產生中斷。其他情況同理可得[11] [14]。

第4章 IC卡智能水表的軟件設計

本軟件我們用MCS-51匯編語言編制,采用了結構化,模塊化的程序設計方法。它由主程序、外部中斷0子程序、外部中斷1子程序、IC卡與片外數據存儲器的讀寫軟件設計、顯示子程序等模塊組成。本章還給出了詳細的流程圖。具體程序見附錄B。

4.1 主程序的設計

主程序主要完成系統(tǒng)的初始化,各種情況的判斷如電壓情況、按鍵是否按下、水量判斷等,在適當情況下還要進行顯示、關閉閥門等操作,平時處于睡眠狀態(tài)。當表內剩余水量小于5 m3時,表內蜂鳴器發(fā)出提示報警,以提醒用戶剩余水量不多,請速購水;當表內剩余水量為0 m3時,切斷閥門,停止供水,直到新的水量被購來為止。從而達到用水必須預先交費的目的,省去了人工抄表收費環(huán)節(jié)。主程序的流程圖如圖4.1所示[16-18]。具體程序見附錄B。

4.2 外部中斷0子程序

外部中斷0子程序也即水表脈沖計量程序,它只要是對用戶水量進行處理。當用戶在進行用水操作時,由流量傳感器產生的脈沖信號使進入中斷響應程序。

根據機械水表的測量原理,水的流量與水表齒輪的轉速可以近似成一定的線性關系。顯然,水表齒輪所轉的圈數與傳感器產生的脈沖信號是一一對應的關系。根據這一原理,我們可確定流量的計算公式為:

                                                              (4.1)

在式(4.1)中,Q為流量,單位為m3 ;K為基表系數,單位為m3/r;N為轉數,單位為r。在這里,由于K(基表系數)是一個常數。因此,Q與N是一一對應關系。我們采用了6位數據顯示,其中只含有一位小數。當Q為0.1 m3時,由于K已知,N即可以求出。在本系統(tǒng)編程中,我們設定M為測得脈沖數,N為Q為0.1 m3時對應的轉數值,“剩余水量-1,用水總量+1”中的“1”表示0.1 m3的水量[3]。其具體流程圖如圖4.2所示。具體程序見附錄B。

圖4.2  外部中斷子程序

4.3 外部中斷1子程序

以下四種情況均可以使產生中斷 (1) 水表被拆卸;(2) 電池欠壓或取出電池;(3) 有按鍵按下;(4) 有IC卡插入。當產生中斷后,中斷程序馬上依次檢測P3.6口、P3.2口、P3.3口、P1.5口(原理圖見總電路圖中檢測模塊),以確認是哪種情況產生的中斷后作出相應處理。其具體流程圖如圖4.3所示,具體程序見附錄B。

圖4.3  外部中斷子程序

4.4 IC卡的讀寫軟件設計

系統(tǒng)軟件設計的流程應為確認有卡插入后,延時,待IC卡供電電路穩(wěn)定,讀IC卡標志位,并與系統(tǒng)中保存的標志比較,確認后,讀數據區(qū)。為提高可靠性,IC卡中的數據在兩個不連續(xù)區(qū)作備份,第二組數據作校驗。為防止有損壞的字節(jié)和其它因素影響數據不可靠,建議將每次寫入的數據再讀出比較,判斷寫入的數據是否正確,從而達到保證

對IC書寫操作的無誤。下面詳細地介紹了它的工作原理。

4.4.1 SDA和SCL信號

SDA和SCL雙向總線采用I2C-bus(inter-intergrad circuit bus)匯流總線技術,所有的控制命令和數據傳輸均由這兩條雙向總線執(zhí)行,采用SDA和SCL,兩條總線就可實現(xiàn)對E2PROM進行讀寫,并且在讀寫過程中其信息傳遞的波特率可以從0到100kbps,其數據傳輸及時鐘脈沖時序圖如圖4.4所示。

圖4.4  數據傳輸及時鐘時序圖

IC卡的讀寫其實也就是對IC卡片內E2PROM進行讀寫。所以在AT24CXX系列IC卡的應用中,與邏輯控制有關的引出端線只有2條:SCL和SDA。所有的地址、數據及讀/寫控制命令等信號均從SDA端輸入/輸出。為了區(qū)分SDA線上的數據、地址、操作命令以及各種狀態(tài)的“開始”與“結束”,卡片內設計了多個邏輯控制單元。其中,啟動與停止邏輯單元產生控制讀/寫操作的“開始”和“停止”標志信號。

“開始”狀態(tài):當SCL處于高電平時,SDA從高電平轉向低電平,即產生“開始”標志信號;

“停止”狀態(tài):當SCL處于高電平時,SDA從低電平轉向高電平,即產生“停止”標志信號,如圖4.7所示。

            

SDA和SCL通常各自通過一個電阻拉到高電平。當SCL為高電平時,對應的SDA上的數據有效;而當SCL為低電平時,允許SDA上的數據變化。

數據輸入/輸出應該應答邏輯單元產生數據輸入/輸出操作應答信號。操作時所有的地址和數據均為8位碼串行輸入/輸出于卡片。卡片每收到一個8位碼長的地址碼或數據字后,都以置SDA線為低電平方式“確認”應答信號。其波形如圖4.8所示。

圖4.8  輸入輸出的確認時序

4.4.2 IC卡的寫操作

在器件地址碼之后,緊跟著的是字節(jié)地址碼。地址碼長度為8位。時序中的數據為寫字節(jié)時,由IC卡讀/寫器中的單片機在SDA發(fā)送一個8位碼長的數據;卡片每收到一個數據字節(jié)后,都要通過SDA回送一個“確認”信號(ACK)。寫操作時序如圖4-9所示。

圖4.9  寫操作時序

4.4.3 IC卡的讀操作

    讀操作有3種:立即地址讀、隨機地址讀及順序地址讀;

立即地址讀:如果最后1次操作的地址在n,則現(xiàn)行地址為n+1。其時序如圖4.10中的第2部分;

圖4.10  讀操作時序

隨機地址讀:從選定的地址單元開始讀,時序如圖4.10所示。時序中器件地址和字地址概念同寫操作,不同的是,IC卡讀/寫器中的單片機在給出數據字地址碼之后,不發(fā)任何數據字,而是在卡片發(fā)出“確認”應答之后,又發(fā)出一個“開始”狀態(tài),進入“立即地址讀”操作;單片機讀入1個數據后,使SDA處于高電平,隨后產生一個“停止”狀態(tài),結束本次操作。

順序地址讀 :可以從“立即地址讀”和“隨機地址讀”開始。當IC卡讀/寫器中的單片機收到第1個數據字后,不發(fā)“停止”狀態(tài),而是回答一個“確認”信號。一旦卡片收到單片機發(fā)出的“確認”信號,則將卡片內地址計數器的地址自動加1,并將此地址單元中的數據從SDA線上串行輸出。只要單片機收到數據字后回答“確認”信號,順序讀操作就繼續(xù)進行,直到單片機送出“停止”信號為止。

在本設計的軟件編程中,我們采用了隨機地址讀和順序地址讀兩種操作方式。

4.4.4 IC卡芯片的控制字節(jié)和器件尋址

   控制字節(jié)的的配置如表4.1與圖4.11所示。控制字節(jié)是跟隨在主器件發(fā)出的開始條件后面,器件首先接收到的字節(jié)。控制字節(jié)的前四位由4位控制碼組成,當控制碼為1010時,表示對IC卡的和寫操作。

表4.1  控制字節(jié)的配置

操作

控制碼

塊選擇

讀/寫(R/

1010

快地址

1

1010

塊地址

0


由于對IC卡而言,A2,A1,A0地址線均為0;因此,綜合上面所敘:寫地址為0A0H,讀地址為0A1H[2] [10]。

圖4.11 控制字節(jié)的配置

4.4.6 IC卡處理程序流程圖

IC卡的處理程序由外部中斷觸發(fā)產生的(如圖4.3所示)。該程序首先判斷是管理卡還是用戶卡,再做出相應的處理。如果是管理卡,則進行清除不良記錄;如果是用戶卡,則必須先核對用戶名和密碼是否正確,再進行IC卡的讀寫操作與開閥處理。在本設計中,我們是通過比較IC卡與片外數據存儲器E2PROM兩者對應的用戶名信息單元和密碼存儲單元的內容是否相同來實現(xiàn)的。

其具體程序流程圖見圖4.12所示,具體程序見附錄B。

圖4.12 IC卡處理程序流程圖

4.5 片外數據存儲器讀寫軟件設計

片外數據存儲器E2PROM讀寫的目的主要是掉電中斷程序使CPU在檢測到電池失壓后,將RAM 區(qū)的所有數據寫入E2PROM中,以保證下次上電時安全讀出。上面4.4節(jié)所詳細介紹的IC卡的讀寫其實也就是對IC卡片內E2PROM進行讀寫,即對IC卡的讀寫和對E2PROM讀寫的操作原理是一樣的。所以,在這里我們不在重復介紹E2PROM進行讀寫工作原理。

值得注意的是,IC卡和片外數據存儲器都是使用的美國ATMEL公司的低功耗CMOS串行E2PROM,型號均為AT24C01,但是它們的使用目的和存儲內容不同。IC卡是用戶與供水部門之間交易的媒介,它存儲的是用戶的基本信息、效驗密碼還有用戶本次所購水量等;而片外數據存儲器是用來實時地保存用戶的有用數據,防止系統(tǒng)在運行中掉電丟失。

4.6 顯示子程序

要顯示的數據有剩余水量、用水總量,分別存儲于連續(xù)的幾個數據存儲器之中。在本設計具體編程時,剩余水量存儲于3D-3EH中;用水總量存儲于39-3BH中。由總電路圖(附圖1)可知其采用了串行口方式0,所以要用時只要將串行口設置為方式0,然后在脈沖的配合下從高位到低位一個個的移入SUBF寄存器中即可[12]。其具體程序見附錄B。

第5章關于IC卡智能水表的關鍵問題及解決辦法

本章提出了IC卡智能水表兩個關鍵的問題即低功耗問題與安全性問題。這兩大問題是保證系統(tǒng)能長久地可靠運行并進行全面推廣的關鍵所在,關系到供水部門和使用者的切身利益。下面給出了可行的解決辦法。

5.1 IC卡智能水表的低功耗問題               

本設計的IC卡智能水表電源部分采用3節(jié)干電池供電。而電池的容量也非常有限,如果需要經常更換電池,肯定會給用戶帶來很多的不便,勢必對該水表的推廣帶來了很大的麻煩。經常更換電池還為竊水提供了可能。因此水表的功耗問題成為設計的重點和難點。

5.2 低功耗解決方案

IC卡的能耗由3部分構成:第一部分是控制器單片機(CPU)、LED顯示正常運行時的持續(xù)性能耗是主要的功耗;第二部分是卡表招待機構(電磁閥)動作時的瞬時能耗;第三部分是IC卡表一些輔助功能如聲音報警等的能耗。

上述IC卡表能耗的第一、二部分占了總能耗的95%以上。由于這兩部分能耗從特征上來說是完全不同的類型,給選擇合適的電源增加了難度。用戶可以通過定期更換電池,維持IC卡水表正常運行,但同時也給IC卡留下了技術安全的兩大隱患。第一大隱患是嚴重的,讓用戶自行更換電池,意味著控制器將有更多機會遭受劣質電池的侵襲,造成元器件的損壞、控制器失效及大量的維修損失。第二大隱患是致命的更換電池為技術性竊水提供了可能。我們知道,電控閥依靠電池執(zhí)行開/關閥動作。通常設計者在電路中都采取了斷電自動關閥的技術保護措施。其基本原理就是通過大容量電容、限流電阻及三極管開關組成一個儲能電路,電壓正常時,電池向儲能電容充電,一經檢測到電壓不正常,電容放電使閥門關閉。而更換電池時,控制電路雖發(fā)出關閉信號,但儲能電容已無法提供關閉閥所需的能量,閥門就此處于永久開啟的狀態(tài)。不少使用干電池的IC卡,安上述方法試驗三四次后,均能將閥門打開。解決此問題的辦法是前面提到的采用超級電容方案。

為了盡可能降低IC卡水表運行時的功耗,延長干電池的使用時間,本設計系統(tǒng)考慮從以下幾個途徑來實現(xiàn)。

1. 選擇低功耗電磁閥

電磁閥是IC卡智能水表的重要部件,我采用了新型雙穩(wěn)態(tài)脈沖式電磁閥,電源電壓低。正常供水情況下,電磁閥處于常開狀態(tài),驅動機構不消耗電能;只有當購買的噸位數用完時,電磁閥關閉并自鎖于常閉狀態(tài)。它具有啟動水壓低、防堵性能好及關閉可靠等特點。

2. 選擇低功耗器件

除選用低功耗的微處理器外,其他器件也必須為低功耗型,如CMOS器件,而且參數的選用也必須注意低功耗。其重點是:

(1) 采用低功耗器件。

(2) 采用LED顯示作為顯示接口。采用LED顯示相關信息,并且平常處于關閉狀態(tài)。設置相應的控制按鈕,控制按鈕由防水蓋控制。用記需要查詢時,打開防水蓋,按鈕閉合,才顯示剩余水量等信息。

(3) 一般情況下,讓芯片處于低功耗睡眠模式(SLEEP MODE)。

3. 選擇低的工作電壓和低的工作頻率

隨著半導體技術的不斷發(fā)展,集成電路的電源電壓呈現(xiàn)出下降趨勢。現(xiàn)在許多的CMOS電路都提供低電壓設計。常用5V的CMOS器件大多都提供3V的使用電壓。低電壓不僅便于使用電池,也可以降低電流消耗。在便攜式設備設計中,為降低功耗大量使用了各種低電壓器件。降低時鐘頻率,可節(jié)省能源,并使單片機執(zhí)行速度減慢。

5.3 IC卡智能水表的安全性問題

IC卡智能水表的推廣應用,取決于以下兩個主要因素:1.水表的可靠性;2.水表的安全性。水表的可靠性是從水表的功能和性能來說的;水表的安全性主要是從水表的數據防盜(即竊水)、IC卡數據的防非法復制等角度來說的。由于水表的安全性可關自來水公司的直接利益,進而關系到IC卡水表的推廣應用,因此,IC卡水表的安全性問題是必須認真考慮的一個問題。

5.4 安全性問題解決方案

1. 售水用IC卡(用戶卡)的安全性

由于本智能水表采用普通24C01系列IC卡,因此,對IC卡信息的加密與解密是決定IC卡安全性的關鍵。具體辦法是:用戶卡在每次購水時,均由上位機根據剩余水量等信息隨機生成3B的密碼因子存入IC卡,以此對IC卡信息進行動態(tài)加密;卡表內的加密與解密程序讀取IC卡信息后,進行逆向處理,達到解密目的,然后對數據進行相應處理。采用這種方法后,可有效防止IC卡的非法復制與數據非法修改,保證IC卡的安全性。

2. 表內信息的安全性

表內信息的安全性由以下2種措施來保證;

(1) IC卡的有效認證

卡表自動識別有效IC卡,按預定程序與IC卡進行雙向傳輸,1次讀入全部信息,表內內存的信息1次寫入IC卡。設置的讀/寫密碼保證1表只有一張用戶卡配對使用。

(2) 防拆卸功能

若用戶私自拆卸水表,S1閉合,狀態(tài)由高到低觸發(fā)中斷,中斷服務程序將開蓋行為記錄到表內的E2PROM中,并立即關斷進水開關。只有自來水公司管理人員用管理卡才能消除這種不良記錄。

第6章系統(tǒng)調試

系統(tǒng)調試也是一個關鍵性的環(huán)節(jié),它是理論設計到實際應用的一個過渡。本章簡要地闡述了系統(tǒng)硬件調試和軟件調試,及其調試現(xiàn)象。

6.1 調試設備

PC一臺,80C51單片機實驗臺,萬用表,示波器,導線若干等

6.2 硬件調試

硬件調試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、示波器等),檢查用戶系統(tǒng)硬件中存在的故障。由于實驗室沒有AT89C2051,在這里我們用AT89C51代替。

硬件調試可分為靜態(tài)調試與動態(tài)調試兩步進行。

1. 靜態(tài)調試

    靜態(tài)調試是在用戶系統(tǒng)未工作時的一種硬件檢測。

    本系統(tǒng)在靜態(tài)調試中的步驟如下:

    第一步:目測。檢查外部的各種元件或者是電路是否有斷點。

    第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現(xiàn)象。

    第三步:加電檢測。給板加電,檢測所有的插座或是器件的電源端是否符合要求的值。

    第四步:聯(lián)機檢查。因為只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調試。

2. 動態(tài)調試

    動態(tài)調試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內部故障、器件連接邏輯錯誤等的一種硬件檢查。在本設計中,由于該系統(tǒng)采用了模塊化的設計,所以動態(tài)調試采用了分模塊調試的辦法。調試過程中,分為信號處理模塊、顯示電路模塊、報警電路模塊、電源模塊模塊、電磁閥驅動電路模塊等進行了分別調試。

6.3 軟件調試

軟件調試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。在本系統(tǒng)中,軟件的調試部分包括各類程序的調試,如主程序、外部中斷0子程序、外部中斷1子程序、顯示子程序等。

6.4 調試現(xiàn)象

調試是一個很痛苦的過程,起初調試結果十分不理想。

例如,硬件調試方面,在電磁閥驅動電路模塊中,P1.1變?yōu)楦唠娖胶螅^電器不動作,開關K1不閉合。通過檢查程序、接線、各個元件等均正確無誤。但是經過多次實驗,繼電器依然不動作。后來,在曹老師的指導下,發(fā)現(xiàn)可能是電路圖6.1有問題。在電路圖6.1中光電耦合器SW-GD應該根本就不能驅動繼電器的動作。發(fā)現(xiàn)問題后,馬上對圖6.1進行了改正,改為第三章中的圖3.10所示。在實驗室經過調試,改正后的電路效果很好,完全符合本設計要求。

圖6.1  光電耦合器隔離電路

經常幾天的努力,在實驗室老師的指導和同學的幫助下,調試結果終于基本達到了設計任務的要求。

總     結

基于單片機的IC卡智能水表控制系統(tǒng),使用邏輯加密IC卡,實現(xiàn)了用水收費的電子化。本設計采用89C2051單片機控制,全自動運行,成本較低,使用方便,運行可靠,管理簡單,保護功能齊全。整個系統(tǒng)結構緊湊、所用芯片少、控制精度高。在IC卡接口電路、片外數據存儲器接口電路、顯示電路上都采用了串行方式,從而減小了單片機口線的使用,也使使用口線小的單片機成為可能,節(jié)約了成本開支,并減小了PCB版的大小;電源電路采用3節(jié)干電池,外加超級電容作為備用電源,經濟實惠而且性能穩(wěn)定,使用年限長。

本系統(tǒng)最大的優(yōu)點是采用了低功耗的設計和采取了很多有效措施來增強了系統(tǒng)的安全性。在低功耗的設計方面,大部分芯片均采用了微功耗COMS芯片;采用低功耗電磁閥,而且閥門的開/關控制由單片機輸出電脈沖實現(xiàn),只需瞬時供電,減少耗電量;選用了工作時無須使用外加電源WG系列韋根傳感器,大大降低了使用功耗,等等。在安全性的設計方面,使用了邏輯加密IC卡,必須核對用戶信息和密碼正確才能讀取有效數據;單片機控制的I/O口和繼電器控制端口之間用光電耦合器進行了隔離,這樣,由于繼電器通斷所造成的電火花和電弧就不會影響到單片機系統(tǒng)了;應用超級電容作為備用電源,有效地防止系統(tǒng)掉電時用戶進行偷盜水的操作,等等。

當然本系統(tǒng)也存在一些缺點。例如,在顯示方面,沒有采用液晶顯示,所以該系統(tǒng)不能顯示閥門狀態(tài)、電池狀態(tài)等圖形文字信息,不過采用LED顯示成本較低,適合大眾要求;在控制方面,沒有實現(xiàn)階梯水價功能,對用戶的用水收費只能按照一個統(tǒng)一的標準收取;在安全性方面,未能編制出對IC卡信息進行加密與解密的應用程序。

總的來說,上述設計能夠較好的完成設計任務,基本實現(xiàn)了設計要求。但是由于本人能力有限,設計中難免存在一定的缺陷,還請各位專家批評指正。隨著水資源的日益緊張,IC卡智能水表因其特有的優(yōu)點(如先“先收費后供水”、解決人工抄表的麻煩等),必將成為水表中的主流,有著很大的市場前景。





完整的Word格式文檔51黑下載地址內含源碼

基于單片機的IC卡智能水表控制系統(tǒng)設計[附程序 圖].doc (2.32 MB, 下載次數: 149)




作者: xqtop    時間: 2019-3-16 22:38
感謝分享
作者: shutong13    時間: 2019-12-12 12:13
感謝大佬分享
作者: 夕顏若雪    時間: 2020-9-1 10:51
你好,請問一下,電磁閥那里假設卡住了,會不會有過流保護?
作者: c菜雞    時間: 2021-3-30 22:47
有元器清清單嘛
作者: 廖某    時間: 2021-4-16 14:05
有電路圖講解嗎




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 51ⅴ精品国产91久久久久久 | 成人免费视频网站在线看 | 国产99热在线 | 成人在线视频网 | 中文字幕日韩在线 | 99re在线视频| 国产一区二区三区精品久久久 | 久久一区二区三区四区五区 | 亚洲精品视频一区二区三区 | 日本高清在线一区 | 国产精品视频免费观看 | 天堂一区| 91麻豆精品一区二区三区 | 午夜国产 | 亚洲视频在线播放 | 日韩在线免费观看视频 | 国产乱码精品一区二区三区中文 | 国产视频中文字幕 | 色婷婷精品久久二区二区蜜臂av | 久久国产精品久久 | 国产高清精品一区二区三区 | 欧美精品在线免费观看 | 免费国产视频在线观看 | 成人毛片一区二区三区 | 99精品久久久 | 国产精品久久久久久一区二区三区 | 国产在线一区二区三区 | 天堂在线1 | 免费三级黄 | 欧美中文视频 | 国产精品美女久久久久久久久久久 | 新疆少妇videos高潮 | 国产视频久久 | 五月槐花香 | www.国产精品 | 午夜电影网 | 欧洲免费毛片 | 中文av电影 | 欧美视频第二页 | 精品国产欧美一区二区三区成人 | 国产亚洲区 |