0?引?言?
??? 隨著信息技術的不斷發展,人類的生產、生活方式都發生著日新月異的變化,在許多與日常生活緊密相關的領域,都采用了基于IC卡的管理方式.如今,IC智能卡自動電表抄表系統,煤氣、自來水表系統,公交、地鐵自動售票檢票系統,移動通信手機中IC智能SIM?卡等,已成為生活的一部分.?
??? 給出一種低功耗智能IC卡冷水表的設計方案與實現方法,實現的水表具有水量顯示、水量累計,電磁閥控制,操作記錄,防強磁場干擾,防拆,欠壓報警等功能,是一種取代舊式機械水表且具有推廣應用價值的產品.?
1?智能IC卡冷水表的結構設計與功能設計
1.1?智能IC卡冷水表結構設計?
??? 低功耗智能IC卡冷水表,主要由控制單元,輸入單元,輸出單元,?監視/存儲單元,執行部件組成,其中控制單元采用PIC16F73?E?單片機實現,輸入單元由流量傳感器、SLE4442IC卡、按鍵組成,輸出單元由專用液晶模塊構成,監視/存儲單元由X5O43和ADS1302實現,執行部件為低功耗電磁閥,整個水表結構框圖如圖?1?。
1.2?智能IC卡冷水表功能設計
(1)根據用戶購水量以及消耗情況,執行開關閥動作
??? 用戶將購買一定水量的IC卡插入水表卡座時,水表系統首先自動識別IC卡的有效性,然后讀取卡上的水量數據,并自動打開電磁閥,進行供水,當所購水量消耗完畢以后,自動關閥停水.
(2)欠壓報警?
??? 水表電池電源低于某一閾值時,自動關閥并報警,提示用戶更換電池.?
(3)提供用戶查看累計水量,剩余水量,總水量信息?
??? 通過LCD顯示模塊顯示信息,滿足用戶實際需要.?
(4)加密功能
??? 保證一卡一表,對IC卡及表內信息進行加密,避免非法使用.?
(5)防強磁場干擾?
??? 水表流量傳感器利用干簧管進行水量計數,為了防止外界強磁場的干擾造成水量計數失常,設計過程中利用雙干簧管防止磁場攻擊.?
(6)防拆功能?
??? 用戶私自拆卸水表,導致水表電磁閥自動關閉,無法正常用水,同時記錄用戶的拆卸時間,以備查驗.?
(7)水量消耗計數、累計以及提示功能?
??? 用戶每次充值時,水表對總消耗水量自動累計并保存,對用戶日常生活的水量消耗實時記錄.同時,當用戶可用水量低于2?t時,提示用戶充值,以免給生活帶來不便.?
(8)操作記錄功能?
??? 對用戶插卡、拆表等操作以及操作時間進行記錄,以備查驗.
?
2?智能IC卡冷水表硬件設計?
根據功能需求設計的水表硬件原理圖如圖2,各部分具體介紹如下.
(1)IC卡接口?
??? IC卡采用西門子SLE4442卡,其接口如圖2?IC卡卡座部分,其中RB2對應IC卡I/O管腳,RBI對應IC卡CLK管腳,RB3對應IC卡RST管腳,L1對應IC卡VCC管腳,RB5為單片機休眠喚醒信號,即插卡后喚醒系統讀卡.?
(2)LCD液晶顯示接口?
??? 水表采用專用液晶模塊SMSO7O8PIC16FT3的RAO、RA4、RA2管腳分別與SMS0708的DI、CLK、CS管腳連接,驅動該模塊.?
(3)電磁閥控制?
??? 電磁閥采用可360。旋轉的球形低壓電磁閥,它具有開、關到位自動斷電的功能,這樣不僅可以降低系統功耗,而且接口電路設計簡單,如圖2電磁閥控制信息部分所示,其中L2為關閥控制信號線,L3為開發控制信號線.?
(4)脈沖計數與防磁功能?
??? 流量檢測傳感器會根據用戶用水情況,觸發水表干簧管接通或者斷開,形成有效計數信號,引起RB7端口電平變化中斷,從而實現計數.
??? 防磁功能通過輔助干簧管實現,在強磁場干擾下,輔助干簧管與計數干簧管同時閉合,使得關閥信號L2有效,關閉水表電磁閥,直到磁場消失恢復正常工作.由于PIC16F73中斷資源有限,計數干簧管與輔助干簧管輸出信號通過或門連接起來,或門輸出直接連接至L2.正常情況下兩個干簧管先后閉合,不會導致電磁閥非法關閉,如有磁場干擾,則它們同時閉合,電磁閥關閉.?
(5)欠壓報警功能?
??? X5043是帶有4K?串行E?zPEOM?的電源監視芯片,利用其電源監視功能實現欠壓報警,當系統電源降到設定電壓(可編程設定)后,RB4出現電平變化,引起中斷喚醒系統,隨后系統將RC4置為低電平報警并關閥,提示用戶更換電池.電路如圖2X5043部分所示,其中RB2為分時共用管腳.?
(6)時鐘電路?
??? 操作記錄少不了對時間以及日期的記錄,本系統時間信息的獲取通過低功耗SPI接口的時鐘日歷芯片DS1302完成,DS1302接口電路部分如圖2,其中RA3、RA5配置為輸出管腳,RA4根據信息讀寫方式,配置為輸入/輸出管腳.?
(7)防拆功能電路?
??? 系統巧妙的利用了水表被拆前后一些關鍵部件的位置改變,在其部位放置特制的開關,利用開關觸發系統外部中斷RB0,從而引起系統報警及操作記錄,電路如圖2防拆開關部分所示.一旦檢測到用戶拆表行為,水表就會停止工作,這種情況下需要專門功能的IC卡,才能使系統恢復正常.?
(8)水表信息查看功能電路
?
??? 本功能由用戶按鍵開關和LCD顯示電路構成,用戶按鍵觸發RB6電平變化中斷,喚醒系統,此后用戶每按一下鍵,系統顯示一種信息,直到用戶停止按鍵一段時間,系統恢復休眠狀態.顯示信息包括剩余水量,累計水量,總水量等.按鍵電路如圖2用戶按鍵部分.?
3?智能IC冷水表軟件設計?
??? 應用軟件采用前后臺工作方式,后臺主程序負責對水表外設操作請求進行處理,在沒有請求操作時進入休眠狀態,前臺中斷服務程序負責在有相應操作請求時喚醒主程序,并置位相應的操作類型標志,以便主程序處理.?
軟件流程圖如圖3、4.? ??? 中斷服務程序根據操作請求類型,置位相應的標志位,共有5種操作請求,分別為欠壓關閥、拆表關閥、按鍵顯示、水量計數、IC卡操作.當主程序被RB改變中斷(按鍵、插卡、欠壓、水表流量計脈沖)或者外部中斷(拆表)喚醒后,檢查相應的操作請求標志,如果置位,則進行相應操作,否則循環一定次數,進入休眠狀態.當系統欠壓后,則程序進入間歇報警循環,不再對外界事件響應.?
??? IC卡操作包括IC卡驗證、水量充值、低水量信息提示解除功能.所謂低水量信息提示,即當可用水量低于某一預設值時,水表自動關閥提示用戶充值,以免給生活帶來不變.由于水量未到零,所以允許用戶繼續使用,此時只需插卡一次解除提示.IC卡操作會引起電磁閥狀態改變.
??? 按鍵顯示功能,根據按鍵的次數循環顯示當前剩余水量、累計消耗水量、總水量信息。用戶每消耗10L水,計數操作將水量信息減1,消耗水量加1,并將改變后的信息寫入?.值得注意的是計數操會引起電磁閥狀態改變.
4?水表的低功耗設計
??? IC卡水表使用器件均為低壓、低功耗器件·此外,為了降低系統功耗,主程序進行了優化,當只有計數操作請求時,且計數后電磁閥狀態不需要改變,則主程序直接進入休眠狀態.同時,為了降低用戶長時間停用水時,干簧管處于常閉狀態造成的系統能耗,RB7端口接有1?M上拉電阻.由于水表大部分時間處于休眠狀態,并且對操作頻率較高的計數操作進行了優化,整個系統功耗很低,2節3?V,2.8?Ah的電池供電,水表工作時間在10年以上.經測試,水表進入休眠狀態后,在干簧管沒有閉合的情況下消耗電流為1.2?A,在干簧管閉合的情況下消耗電流為13?A;插卡時消耗電流為1.5?mA;水壓1?MPa時電磁閥動作消耗的電流為50?mA,動作時間約為4?S.
5?結論?
??? 介紹了一種基于PIC16F73單片機的低功耗智能IC卡冷水表的實現方法,該方法實現的智能冷水表具有水量顯示、水量累計,電磁閥控制,操作記錄,防強磁場干擾,防拆,欠壓報警等功能,經過實際測試性能指標能夠滿足應用要求.目前,該方法實現的水表已投入實際應用,得到用戶的肯定.
??? 隨著信息技術的不斷發展,人類的生產、生活方式都發生著日新月異的變化,在許多與日常生活緊密相關的領域,都采用了基于IC卡的管理方式.如今,IC智能卡自動電表抄表系統,煤氣、自來水表系統,公交、地鐵自動售票檢票系統,移動通信手機中IC智能SIM?卡等,已成為生活的一部分.?
??? 給出一種低功耗智能IC卡冷水表的設計方案與實現方法,實現的水表具有水量顯示、水量累計,電磁閥控制,操作記錄,防強磁場干擾,防拆,欠壓報警等功能,是一種取代舊式機械水表且具有推廣應用價值的產品.?
1?智能IC卡冷水表的結構設計與功能設計
1.1?智能IC卡冷水表結構設計?
??? 低功耗智能IC卡冷水表,主要由控制單元,輸入單元,輸出單元,?監視/存儲單元,執行部件組成,其中控制單元采用PIC16F73?E?單片機實現,輸入單元由流量傳感器、SLE4442IC卡、按鍵組成,輸出單元由專用液晶模塊構成,監視/存儲單元由X5O43和ADS1302實現,執行部件為低功耗電磁閥,整個水表結構框圖如圖?1?。
1.2?智能IC卡冷水表功能設計
(1)根據用戶購水量以及消耗情況,執行開關閥動作
??? 用戶將購買一定水量的IC卡插入水表卡座時,水表系統首先自動識別IC卡的有效性,然后讀取卡上的水量數據,并自動打開電磁閥,進行供水,當所購水量消耗完畢以后,自動關閥停水.
(2)欠壓報警?
??? 水表電池電源低于某一閾值時,自動關閥并報警,提示用戶更換電池.?
(3)提供用戶查看累計水量,剩余水量,總水量信息?
??? 通過LCD顯示模塊顯示信息,滿足用戶實際需要.?
(4)加密功能
??? 保證一卡一表,對IC卡及表內信息進行加密,避免非法使用.?
(5)防強磁場干擾?
??? 水表流量傳感器利用干簧管進行水量計數,為了防止外界強磁場的干擾造成水量計數失常,設計過程中利用雙干簧管防止磁場攻擊.?
(6)防拆功能?
??? 用戶私自拆卸水表,導致水表電磁閥自動關閉,無法正常用水,同時記錄用戶的拆卸時間,以備查驗.?
(7)水量消耗計數、累計以及提示功能?
??? 用戶每次充值時,水表對總消耗水量自動累計并保存,對用戶日常生活的水量消耗實時記錄.同時,當用戶可用水量低于2?t時,提示用戶充值,以免給生活帶來不便.?
(8)操作記錄功能?
??? 對用戶插卡、拆表等操作以及操作時間進行記錄,以備查驗.
?
2?智能IC卡冷水表硬件設計?
根據功能需求設計的水表硬件原理圖如圖2,各部分具體介紹如下.
(1)IC卡接口?
??? IC卡采用西門子SLE4442卡,其接口如圖2?IC卡卡座部分,其中RB2對應IC卡I/O管腳,RBI對應IC卡CLK管腳,RB3對應IC卡RST管腳,L1對應IC卡VCC管腳,RB5為單片機休眠喚醒信號,即插卡后喚醒系統讀卡.?
(2)LCD液晶顯示接口?
??? 水表采用專用液晶模塊SMSO7O8PIC16FT3的RAO、RA4、RA2管腳分別與SMS0708的DI、CLK、CS管腳連接,驅動該模塊.?
(3)電磁閥控制?
??? 電磁閥采用可360。旋轉的球形低壓電磁閥,它具有開、關到位自動斷電的功能,這樣不僅可以降低系統功耗,而且接口電路設計簡單,如圖2電磁閥控制信息部分所示,其中L2為關閥控制信號線,L3為開發控制信號線.?
(4)脈沖計數與防磁功能?
??? 流量檢測傳感器會根據用戶用水情況,觸發水表干簧管接通或者斷開,形成有效計數信號,引起RB7端口電平變化中斷,從而實現計數.
??? 防磁功能通過輔助干簧管實現,在強磁場干擾下,輔助干簧管與計數干簧管同時閉合,使得關閥信號L2有效,關閉水表電磁閥,直到磁場消失恢復正常工作.由于PIC16F73中斷資源有限,計數干簧管與輔助干簧管輸出信號通過或門連接起來,或門輸出直接連接至L2.正常情況下兩個干簧管先后閉合,不會導致電磁閥非法關閉,如有磁場干擾,則它們同時閉合,電磁閥關閉.?
(5)欠壓報警功能?
??? X5043是帶有4K?串行E?zPEOM?的電源監視芯片,利用其電源監視功能實現欠壓報警,當系統電源降到設定電壓(可編程設定)后,RB4出現電平變化,引起中斷喚醒系統,隨后系統將RC4置為低電平報警并關閥,提示用戶更換電池.電路如圖2X5043部分所示,其中RB2為分時共用管腳.?
(6)時鐘電路?
??? 操作記錄少不了對時間以及日期的記錄,本系統時間信息的獲取通過低功耗SPI接口的時鐘日歷芯片DS1302完成,DS1302接口電路部分如圖2,其中RA3、RA5配置為輸出管腳,RA4根據信息讀寫方式,配置為輸入/輸出管腳.?
(7)防拆功能電路?
??? 系統巧妙的利用了水表被拆前后一些關鍵部件的位置改變,在其部位放置特制的開關,利用開關觸發系統外部中斷RB0,從而引起系統報警及操作記錄,電路如圖2防拆開關部分所示.一旦檢測到用戶拆表行為,水表就會停止工作,這種情況下需要專門功能的IC卡,才能使系統恢復正常.?
(8)水表信息查看功能電路
?
??? 本功能由用戶按鍵開關和LCD顯示電路構成,用戶按鍵觸發RB6電平變化中斷,喚醒系統,此后用戶每按一下鍵,系統顯示一種信息,直到用戶停止按鍵一段時間,系統恢復休眠狀態.顯示信息包括剩余水量,累計水量,總水量等.按鍵電路如圖2用戶按鍵部分.?
3?智能IC冷水表軟件設計?
??? 應用軟件采用前后臺工作方式,后臺主程序負責對水表外設操作請求進行處理,在沒有請求操作時進入休眠狀態,前臺中斷服務程序負責在有相應操作請求時喚醒主程序,并置位相應的操作類型標志,以便主程序處理.?
軟件流程圖如圖3、4.? ??? 中斷服務程序根據操作請求類型,置位相應的標志位,共有5種操作請求,分別為欠壓關閥、拆表關閥、按鍵顯示、水量計數、IC卡操作.當主程序被RB改變中斷(按鍵、插卡、欠壓、水表流量計脈沖)或者外部中斷(拆表)喚醒后,檢查相應的操作請求標志,如果置位,則進行相應操作,否則循環一定次數,進入休眠狀態.當系統欠壓后,則程序進入間歇報警循環,不再對外界事件響應.?
??? IC卡操作包括IC卡驗證、水量充值、低水量信息提示解除功能.所謂低水量信息提示,即當可用水量低于某一預設值時,水表自動關閥提示用戶充值,以免給生活帶來不變.由于水量未到零,所以允許用戶繼續使用,此時只需插卡一次解除提示.IC卡操作會引起電磁閥狀態改變.
??? 按鍵顯示功能,根據按鍵的次數循環顯示當前剩余水量、累計消耗水量、總水量信息。用戶每消耗10L水,計數操作將水量信息減1,消耗水量加1,并將改變后的信息寫入?.值得注意的是計數操會引起電磁閥狀態改變.
4?水表的低功耗設計
??? IC卡水表使用器件均為低壓、低功耗器件·此外,為了降低系統功耗,主程序進行了優化,當只有計數操作請求時,且計數后電磁閥狀態不需要改變,則主程序直接進入休眠狀態.同時,為了降低用戶長時間停用水時,干簧管處于常閉狀態造成的系統能耗,RB7端口接有1?M上拉電阻.由于水表大部分時間處于休眠狀態,并且對操作頻率較高的計數操作進行了優化,整個系統功耗很低,2節3?V,2.8?Ah的電池供電,水表工作時間在10年以上.經測試,水表進入休眠狀態后,在干簧管沒有閉合的情況下消耗電流為1.2?A,在干簧管閉合的情況下消耗電流為13?A;插卡時消耗電流為1.5?mA;水壓1?MPa時電磁閥動作消耗的電流為50?mA,動作時間約為4?S.
5?結論?
??? 介紹了一種基于PIC16F73單片機的低功耗智能IC卡冷水表的實現方法,該方法實現的智能冷水表具有水量顯示、水量累計,電磁閥控制,操作記錄,防強磁場干擾,防拆,欠壓報警等功能,經過實際測試性能指標能夠滿足應用要求.目前,該方法實現的水表已投入實際應用,得到用戶的肯定.