關(guān)鍵詞:預(yù)付費(fèi) 冷水水表 最小功耗設(shè) iButton信息紐扣
引言
智能水表是一種涉及到多方面技術(shù)整合的機(jī)電一體化系統(tǒng),在計量控制精度、功耗、數(shù)據(jù)保密性、動作可靠性等方面都有嚴(yán)格的性能要求。目前,國內(nèi)企業(yè)與研究機(jī)構(gòu)主要致力于遠(yuǎn)傳表有線水表網(wǎng)絡(luò)和IC卡預(yù)付費(fèi)智能卡無線水表網(wǎng)絡(luò)方面的研究開發(fā)。遠(yuǎn)傳表有線網(wǎng)絡(luò)系統(tǒng)需要配套的遠(yuǎn)傳通信網(wǎng)絡(luò)支持,其初期投資大,因此只適用于在一些新建住宅小區(qū)組成相對獨(dú)立的小網(wǎng);而后者的網(wǎng)絡(luò)服務(wù)可由銀行的金融網(wǎng)絡(luò)提供,應(yīng)用儲值卡作為網(wǎng)絡(luò)傳輸介質(zhì),可容易地組建城域網(wǎng),不但適用于新建住宅小區(qū),還可在舊水網(wǎng)系統(tǒng)改造中發(fā)揮極大作用,特別適合我國現(xiàn)階段的國情。目前,預(yù)付費(fèi)智能水表主要采用IC卡,信息保密性與防盜用性能方面存在明顯不足。本文研究應(yīng)用Dallas公司的TM卡半導(dǎo)體信息紐扣作為充值存儲介質(zhì),構(gòu)建預(yù)付費(fèi)智能卡式冷水表,在基表上附加計量控制器和管道開閉控制閥門,實(shí)現(xiàn)預(yù)付費(fèi)智能卡式水表的設(shè)計。
1 TM卡信息紐扣應(yīng)用研究
1.1 TM卡信息紐扣簡介
作為一種便攜式信息載體,Dallas公司的iButton信息紐扣[1]可靠安全,特別適宜作為預(yù)付費(fèi)充值載體。它采直徑17mm、厚3~6mm的紐扣狀不銹鋼外殼封裝,內(nèi)部由I/O處理器和存儲器兩個基本部分組成,其內(nèi)部結(jié)構(gòu)如圖1所示。作為一種新穎的智能化信息載體,iButton信息紐損采用接觸式存取方式的存儲器(Touch Memory,簡稱TM卡),以1-Wire規(guī)范作為通信協(xié)議,其外殼為信號址,用1根數(shù)據(jù)線按特定的時序要求由數(shù)據(jù)線逐位與外界交換數(shù)據(jù)。與微處理器的典型接口電路如圖2所示,當(dāng)外部上位引線接觸到其信號線時,可自動發(fā)出下拉報到脈沖,存取操作極為方便。
筆者在TM卡智能預(yù)付費(fèi)冷水水表項(xiàng)目研究中,通過對IC卡、TM卡的存儲數(shù)據(jù)格式、保密性能以及耐用性等多方面性能進(jìn)行比較研究,最終選定TM卡作為水表智能信息存儲介質(zhì)。TM卡采用不銹鋼外殼封裝,無易損部件或易腐部件,具有攜帶方便、抗撞擊、防水漬、耐腐蝕、抗磁擾、防折疊等顯著特點(diǎn),適用于惡劣的環(huán)境。1-Wire通信協(xié)議使得TM卡存取數(shù)據(jù)極為方便,與觸頭輕輕一碰,瞬間即可完成數(shù)據(jù)信息的讀寫操作;其完善的保密存取方式,確保數(shù)據(jù)信息具有相當(dāng)高的完全可靠性,TM卡與普通IC卡的性能比較如表1所列。
表1 TM卡與IC卡的性能比較
TM卡 普通IC卡
耐用性 不銹鋼封裝,壽命在10以上 塑料卡片封裝,彎曲會損壞芯片,開放的引腳裸露,容易磨損導(dǎo)致接觸不良,18個月左右壽命
識別成功率 100% 需要一定的刷卡技巧
使用方便性 瞬間接觸,無需對準(zhǔn) 4個不同插卡方向,性只有1個方向是正確的
安全性 具有全球唯一的、不可復(fù)制的光記得序列號,同時提供64位密碼保護(hù) 單純依靠軟件密碼保護(hù)數(shù)據(jù)內(nèi)容,且密碼位數(shù)少,容易被破解
攜帶方便性 不怕高溫、磨損、碰摔,耐腐,不易丟失 卡片容易丟失、拆斷、易腐,須小心保護(hù)
1.2 1-Wire通信協(xié)議與讀寫控制程序設(shè)計
TM卡內(nèi)部包含有3個獨(dú)立的64字節(jié)數(shù)據(jù)存儲區(qū)和1個64字節(jié)讀寫緩沖區(qū),每個數(shù)據(jù)存儲區(qū)均由8字節(jié)ID身份碼、8字節(jié)PASSWORD和48字節(jié)NVRAM數(shù)據(jù)區(qū)構(gòu)成。TM卡的1-Wire通信協(xié)議以15μs低電平脈沖表示數(shù)據(jù)“1”,以60μs低電平脈沖表示數(shù)據(jù)“0”。內(nèi)部工作過程可描述為:首先,由微機(jī)主動向TM卡發(fā)測試脈沖,以識別TM卡是否已與其觸頭接觸,若已正確連續(xù),可接收到TM卡發(fā)來的應(yīng)答脈沖,表示可以進(jìn)入數(shù)據(jù)通信過程。這時,微機(jī)先發(fā)操作TM卡的ROM區(qū)的指令,如讀ROM區(qū)數(shù)據(jù)指令、匹配操作指令、搜尋操作指令等,這些指令被TM卡接受并執(zhí)行。然后,發(fā)操作TM卡的NV RAM區(qū)數(shù)據(jù)的指令,如讀寫NV RAM區(qū)數(shù)據(jù)指令、讀寫或復(fù)制讀寫緩沖區(qū)數(shù)據(jù)的指令等。TM卡的讀寫時序可分為測試連接與應(yīng)答、從TM卡讀取數(shù)據(jù)和向TM卡寫入數(shù)據(jù)3種類型。
筆者在項(xiàng)目研發(fā)中重點(diǎn)研究了TM卡的信息存儲機(jī)理,并研究獲得了一個性能優(yōu)良的密碼保護(hù)模式,確保了一表一卡對應(yīng)。我們根據(jù)研究獲得的信息存儲模式維制了存取可靠安全的TM卡讀寫控制程序模塊。水表控制器1-Wire讀寫模塊采用MCS-51匯編語言,按TM卡通信協(xié)議編制。管理PC機(jī)的讀寫控制程序采用Visual C++6.0編寫。應(yīng)用軟件開發(fā)過程中,對TM卡進(jìn)行數(shù)據(jù)讀寫的過程需要遵循其工作機(jī)理和時序要求,具體包括:①測試連接及應(yīng)答。微機(jī)發(fā)測試負(fù)脈沖給TM卡,查詢TM卡是否已在觸頭正確連接。若與觸頭連接良好,TM卡則將數(shù)據(jù)線拉低,產(chǎn)生應(yīng)答負(fù)脈沖。如果微機(jī)檢測到這個應(yīng)答脈沖,就可以進(jìn)行數(shù)據(jù)讀寫操作了。
②從TM卡讀取數(shù)據(jù)。微機(jī)先向TM卡發(fā)1個讀負(fù)脈沖,TM卡接收該脈沖后立即將被讀取位的內(nèi)容送至數(shù)據(jù)線上,微機(jī)從數(shù)據(jù)線上獲得數(shù)據(jù)。若數(shù)據(jù)線在TM卡的采樣時區(qū)內(nèi)維持高電平,則讀取值為“1”;否則,為“0”。最后,TM卡釋放數(shù)據(jù)線,數(shù)據(jù)線恢復(fù)為高電平,為微機(jī)繼續(xù)從TM卡讀取數(shù)據(jù)位作好準(zhǔn)備。
③將數(shù)據(jù)寫入TM卡。與讀取數(shù)據(jù)類似,微機(jī)向TM卡發(fā)1個寫負(fù)脈沖,然后開始寫數(shù)據(jù)。微機(jī)維持?jǐn)?shù)據(jù)線低電平特定時間,再恢復(fù)為高電平,則表明寫入“0”;微機(jī)發(fā)出寫負(fù)脈沖后立即將數(shù)據(jù)線拉高并維持特定時間,則表明寫入“1”。完成數(shù)據(jù)寫入后,數(shù)據(jù)線恢復(fù)為高電平,為微機(jī)繼續(xù)向TM卡寫入數(shù)據(jù)位作好準(zhǔn)備。
2 TM卡預(yù)付費(fèi)智能冷水水表設(shè)計
TM卡預(yù)付費(fèi)智能冷水水表由基表、SCP微處理器系統(tǒng)、LCD顯示驅(qū)動電路、電動陶瓷閥門及其控制電路、刷卡電路等部分組成。采用符合ISO4064B標(biāo)準(zhǔn)的CDTAR系列單流旋翼式冷水水表作為基表。該表計數(shù)機(jī)構(gòu)與測量機(jī)構(gòu)經(jīng)磁耦合傳動,可將用水量轉(zhuǎn)換成電信號輸出;表內(nèi)設(shè)有磁保護(hù)裝置,具有較強(qiáng)的抗外磁干擾能力。設(shè)計過程中重點(diǎn)對水表整機(jī)功耗、成本、體積、重量、外觀等方面進(jìn)行優(yōu)化研究;水表控制器設(shè)計中采用了I2C總線、最小功耗設(shè)計、表面貼裝技術(shù)專門定制LCD液晶驅(qū)動器模塊以及產(chǎn)品造型設(shè)計等多項(xiàng)先進(jìn)技術(shù),完成嵌入式機(jī)電系統(tǒng)優(yōu)化設(shè)計。
2.1 微控制器系統(tǒng)設(shè)計
使用的微控制器P87LPC76X屬于MCS-51兼容型[2],與標(biāo)準(zhǔn)51單片機(jī)相比,盡管只有20引腳,卻提供了I2C通信總線、灌電流達(dá)到20mA的18條I/O口線、1個WDT看門狗定時器。它具有許多獨(dú)特的功能,特別適用于設(shè)計高集成度、低成本、低功耗的智能設(shè)備。本項(xiàng)目充分利用這些資源,擴(kuò)展了I2C接口EEPROM、時鐘芯片電路、LCD顯示驅(qū)動電路,完成高集成化系統(tǒng)擴(kuò)展設(shè)計。控制器硬件框圖如圖3所示。
2.2 水表控制器程序設(shè)計
P87LPC76X單片機(jī)檢測到用戶按鍵后,通過TM卡讀寫電路讀入用戶購買的水量,并保存到數(shù)據(jù)保存器EEPROM中,同時液晶顯示模塊顯示用戶購買的水量及表中剩余的水量。閥門驅(qū)動檢測電路檢測閥門開關(guān)狀態(tài),打開閥門,用戶可以正常用水。水表每10升發(fā)1個計量脈沖,MCU通過計量檢測電表每10升發(fā)1個計量脈沖,MCU通過計量檢測電路檢測到水表發(fā)來的脈沖后,從數(shù)據(jù)保存器EEPROM中保存的剩余水量中減去10升。當(dāng)剩余水量為提示性關(guān)閥水量時,MCU通過閥門驅(qū)動檢測電路關(guān)閉閥門。用戶按鍵后控制電路打開閥門,恢復(fù)供水,當(dāng)剩余水量為預(yù)設(shè)值(通常為零噸)時徹底關(guān)閥。整表工作狀態(tài)檢測電路主要實(shí)現(xiàn)整個控制電路的電池供電電壓的檢測、磁干擾檢測、TM卡讀寫電路異常檢測、閥門開閉異常檢測等,并將整表工作狀態(tài)信息保存到數(shù)據(jù)保存電路中,同時還寫到TM卡中,以便于收費(fèi)管理軟件在讀寫用戶TM卡時能及時了解用戶水表的工作狀態(tài)。用戶在任何時候都可以按鍵,通過液晶顯示用水情況及水表工作狀態(tài)。程序流程如圖4所示。
2.