基于SAM模塊的CPU型IC卡燃氣表的設計

發(fā)布時(shí)間:2010-11-4 21:24    發(fā)布者:techshare
關(guān)鍵詞: CPU , IC卡 , SAM , 燃氣表
預付費型智能IC卡燃氣表是一種根據用戶(hù)IC卡購氣量實(shí)現自動(dòng)計費、自動(dòng)控制用氣的民用高技術(shù)產(chǎn)品。它和售氣管理系統配合可實(shí)現預付費,從而免去人工入戶(hù)抄表帶來(lái)的諸多不便,并可解決欠費問(wèn)題,具有傳統人工抄表收費式燃氣表無(wú)可比擬的優(yōu)越性。目前,隨著(zhù)國家“金卡工程”的深入開(kāi)展和開(kāi)發(fā)大西北“西氣東輸”工程的正式啟動(dòng),IC卡燃氣表已呈現出十分廣闊的應用前景。而將普通IC卡改進(jìn)成CPU卡(智能卡),將使這種燃氣表的保密性得到進(jìn)一步的提升。本文介紹了該產(chǎn)品的核心技術(shù)——基于NEC單片機的預付費型智能CPU IC卡燃氣表的硬件和軟件設計,論述了該IC卡燃氣表的工作原理、功能、可靠性設計、低功耗低成本設計及其實(shí)際應用情況。

1 預付費型智能CPU IC卡燃氣表的工作原理

預付費型智能CPU型IC卡燃氣表是在常規機械燃氣表體上安裝以單片機為主的智能測控系統而構成的。該測控系統主要由單片機、SAM(Secure Access Module)模塊、CPU IC卡接口、計量電路、保護檢測電路以及氣路控制閥等組成,其系統結構如圖1所示。





工作原理:當用戶(hù)將含有一定購氣量的CPU型IC卡插入表內時(shí),控制閥在電控系統軟件控制下打開(kāi)氣路閥門(mén)。用戶(hù)每使用一個(gè)微小的計量單位(如1/1000L,該值根據機械表的參數設定)的氣體時(shí),計量電路便發(fā)出1個(gè)計量脈沖,該脈沖如經(jīng)電控系統判定為有效,即進(jìn)入軟件進(jìn)行累計,當達到一定數目(如1/100L)時(shí)可以從存于SAM模塊中的已購氣量中減去1個(gè)計量單位。當剩余氣量為某一設定值時(shí),燃氣表進(jìn)入報警狀態(tài),并關(guān)閉控制閥,切斷氣路以便提醒用戶(hù)購氣。用戶(hù)此時(shí)按一次按鍵后,仍然可以打開(kāi)閥門(mén)繼續用氣;當剩余氣量為零時(shí),控制閥再次關(guān)閉,用戶(hù)只有將存儲一定購氣量的卡插入后才能打開(kāi)閥門(mén)。

2 預付費型智能IC卡燃氣表實(shí)現的功能

(1)計量和控制功能:充分利用單片機計量各種煤氣用量;通過(guò)控制閥控制用戶(hù)用氣。

(2)加密功能:采用加密強度極高的CPU卡且一戶(hù)一卡,通過(guò)完善的多重內部和外部認證后,達到一定的權限才可實(shí)現購氣及其他操作。
(3)顯示功能:可顯示剩余煤氣、月累計和季度累計煤氣等;各種系統狀態(tài)顯示,如電池欠壓、報警狀態(tài)、氣體過(guò)流等。

(4)提示功能:當剩余氣不多(等于某一設定值)時(shí),關(guān)閥一次提醒用戶(hù)購氣。

(5)報警功能:電池欠壓報警、防止管道破裂的氣體過(guò)流報警、閥門(mén)打開(kāi)及關(guān)閉故障報警、外接可燃氣體報警器接口的報警、卡非正常操作報警、燃氣表開(kāi)蓋報警等。在發(fā)生報警情況時(shí),首先關(guān)閉控制閥,然后蜂鳴器發(fā)聲、LCD顯示。每次報警事件都會(huì )記錄在SAM模塊中,在用戶(hù)下次購氣時(shí)返寫(xiě)到用戶(hù)購氣卡,再由購氣卡返回到售氣部門(mén),從而可供主管部門(mén)或銀行查詢(xún)。
(6)自我保護功能:防止IC卡口和電池接線(xiàn)處的高電壓攻擊和短路行為、開(kāi)蓋檢測、無(wú)電池檢測、選用不怕強磁場(chǎng)的特殊脈沖傳感器等。

3 預付費型智能IC卡燃氣表的硬件設計

因為本預付費型IC卡燃氣表是一種面向家庭的民用產(chǎn)品,因此,在設計硬件時(shí)要兼顧以下的原則:低成本;低功耗,盡量延長(cháng)電池壽命;高可靠型,不允許死機以及已購氣數據丟失的情況發(fā)生。

3.1 控制單片機的選擇

控制單片機選用NEC公司生產(chǎn)的8位單片機uPD789167。uPD789167是44pin封裝的低成本單片機,具有24KB ROM、512B RAM、8路8位A/D轉換器、外部32kHz副時(shí)鐘、6個(gè)定時(shí)器、4個(gè)外部中斷等資源,在掩模后具有非常低的成本。

3.2 時(shí)鐘電路的設計

本設計使用了uPD789167單片機的3.58MHz的主時(shí)鐘和32kHz的副時(shí)鐘。前者在單片機高速工作時(shí)運行,并經(jīng)過(guò)內部2分頻后提供給SAM模塊和外部CPU型IC卡。為了降低功耗,在上電、訪(fǎng)問(wèn)SAM模塊和IC卡以外的時(shí)間里,3.58MHz的主時(shí)鐘停止振蕩,而32kHz晶體則一直振蕩,完成內部軟件走時(shí)、氣量的累計和統計,并協(xié)助對單位時(shí)間內的用氣量進(jìn)行判斷,確定是否氣體過(guò)流,必要時(shí)驅動(dòng)LCD模塊的顯示。

3.3 SAM模塊及CPU型IC卡的選擇

CPU卡同普通的存儲卡和邏輯加密卡相比,由于采用了CPU、片上操作系統(COS)、文件系統、加解密算法等先進(jìn)技術(shù),因而具有更高的安全性。為了提高智能燃氣表的保密性能,本設計選取了北京握奇公司的SAM模塊和CPU卡作為安全認證、數據存儲和傳輸的介質(zhì)。該產(chǎn)品擁有自主知識產(chǎn)權,符合ISO7816、PBOC等國際標準和行業(yè)標準;支持層次化文件結構,可建立三級應用目錄,適合一卡多用的要求;支持包括二進(jìn)制、定(變)長(cháng)記錄、錢(qián)包記錄等多種文件類(lèi)型;包含可擦寫(xiě)50萬(wàn)次的E2PROM,其容量從0.5K~16KB可選;已有在電表等行業(yè)成功應用的經(jīng)驗。CPU與SAM模塊的接口如圖2所示。標準規定CLOCK頻率必須大于1MHz,本設計中CLOCK為1.79MHz;在不訪(fǎng)問(wèn)SAM模塊時(shí),SAM模塊的電源被切斷,同時(shí)CPU的-RST、CLOCK腳也輸出低電平,CPU的I/O腳被置為輸入、內部不上拉模式。




3.4 電源電路

如圖3所示,電源分為2路,一路是3節電池經(jīng)過(guò)3V穩壓后,由VCC給CPU等供電;另一路不穩壓,由VDD給開(kāi)關(guān)閥門(mén)電路供電。2路分別使用各自的法拉電容,互不干擾,保證了掉電時(shí)閥門(mén)的可靠關(guān)閉以及數據傳輸到SAM模塊的可靠保存。





電源電路提供了3.3V、3V的電池電壓檢測機制,電壓分壓后進(jìn)入單片機的A/D轉換輸入端,單片機按照固定時(shí)間間隔檢測1次電壓,當發(fā)現低于3.3V時(shí)LCD顯示低壓告警;低于3V時(shí)則關(guān)閉閥門(mén)。此外,電源電路還提供了電池拔去或短路檢測電路。當出現此類(lèi)情況時(shí),9015的集電極變高,以外部中斷的方式激活單片機,使單片機及時(shí)關(guān)閉閥門(mén)。配合BAT54雙二極管,達到了防止電池短路攻擊行為的目的。

為了防止從電池接線(xiàn)端子進(jìn)行的高電壓攻擊,配置了TVS管和200mA的可恢復保險絲。再結合IC卡口的保護,保證了本燃氣表的自身安全。

3.5 看門(mén)狗電路

在有大容量電容的供電電路中,電源充放電速度緩慢,普通的RC復位電路經(jīng)常不能產(chǎn)生正確的復位。在用戶(hù)的正常使用過(guò)程中,更不允許燃氣表死機的情況出現。為此采用74HC14設計了兼有上電復位、看門(mén)狗、低功耗低成本的振蕩器型的復位、監控電路(低成本看門(mén)狗電路),如圖4所示。圖中,30kΩ電阻配合104電容及二極管,組成RC上電復位;在3V工作電壓時(shí),該看門(mén)狗清除時(shí)間間隔必須小于0.9秒。本設計的燃氣表中,CPU每0.5秒喚醒1次,以檢測并累計燃氣脈沖,同時(shí)發(fā)出高電平寬度為20μs的清狗脈沖。另外,74HC14的其他門(mén)還用于燃氣脈沖的整型電路和IC卡座時(shí)鐘線(xiàn)的隔離電路中。





3.6 控制閥驅動(dòng)電路

燃氣閥門(mén)采用了專(zhuān)門(mén)設計的低功耗自保持閥門(mén),只有在開(kāi)關(guān)過(guò)程中耗電,平常不耗電。電磁閥驅動(dòng)電路如圖5所示。開(kāi)關(guān)電壓最低要求2.5V,開(kāi)閥時(shí)最大電流約120mA,最大時(shí)間2秒;關(guān)閥時(shí)消耗電流最大為100mA,最大時(shí)間1秒。開(kāi)閥有到位檢測開(kāi)關(guān),如果開(kāi)閥超時(shí),則CPU發(fā)出閥門(mén)故障報警信號,同時(shí)關(guān)閉閥門(mén)。閥門(mén)驅動(dòng)電路采用了0.22ΩF/5.5V電容的單獨供電電源VDD(見(jiàn)圖3),以保障開(kāi)關(guān)閥門(mén)成功。





3.7 IC卡接口電路

IC卡接口直接執行人機交互,最有可能受到有意或無(wú)意的損壞,最常見(jiàn)的現象是短路、高壓串入,因此接口電路必須具備完善的保護功能。IC卡座及保護電路如圖6所示。CPU發(fā)現IC SWITCH為低電平后,知道有卡插入,則啟動(dòng)3.58MHz晶體振蕩,輸出-IC PWR CTRL低電平,給卡座供電,隨后經(jīng)過(guò)5ms延時(shí)再從IC VCC端檢查卡座的電源是否準確。這可以用單片機的A/D轉換器檢測,如果電壓太低,立即關(guān)閉供電放棄讀卡。每一根信號線(xiàn)上具有由正溫度系數熱敏電阻(MZ12A-75S102M008,阻值為1000Ω,動(dòng)作電流16mA)和嵌位二極管(1N4148)構成的限流限壓保護電路,以防止外部高壓串入。因電源線(xiàn)上阻值不能太大,熱敏電阻要單獨選取,故選擇MZ12A-3R5N010(阻值為3.5Ω,動(dòng)作電流200mA)。





3.8 開(kāi)蓋檢測電路

如圖7所示,S1是一個(gè)簧片,在燃氣表出廠(chǎng)表殼蓋上時(shí)是閉合的,當燃氣表被打開(kāi)表蓋時(shí),S1斷開(kāi)。圖7中左、右2個(gè)電路雖然都能檢測到開(kāi)蓋,即開(kāi)蓋時(shí)“開(kāi)蓋檢測”端子都有電平變化,但左邊電路的功耗明顯比右邊電路的功耗大。首先,由于CPU的輸入管腳允許有最大3μA的漏電流,200kΩ的電阻不能再增大阻值,否則會(huì )影響高低電平的判斷。設VCC=3V,左邊的靜態(tài)電流為3V/200kΩ=15μA,右邊的靜態(tài)電流為3V/1MΩ=3μA,其電流是前者的1/5,故本設計采用右邊的電路。CPU在每0.5秒喚醒時(shí)間內檢測“開(kāi)蓋檢測”端子,一旦發(fā)現開(kāi)蓋,將關(guān)閉閥門(mén)、報警、并記錄一次開(kāi)蓋事件到SAM模塊中。





3.9 報警及LCD顯示電路

uPD789167單片機以串行通信的方式驅動(dòng)LCD模塊實(shí)現顯示,但LCD平常不顯示時(shí)斷開(kāi)電源以節省電能。另外,設置有蜂鳴器報警電路,以便在剛發(fā)現故障時(shí)提醒用戶(hù)。

4 低功耗設計技術(shù)

本燃氣表的設計是:不旦要有CPU保持實(shí)時(shí)時(shí)鐘走時(shí)、帶看門(mén)狗,而且功耗要很低(平常的工作電流略大于30μA),為此采用了如下一些措施,以保證本機的低功耗運行。

4.1 采用低功耗的器件

本設計中盡可能采用低功耗器件,如3V穩壓器采用了理光的低功耗產(chǎn)品;采用低功耗的可自保持的閥門(mén),只有在開(kāi)關(guān)過(guò)程中才會(huì )耗電。

4.2 采用低耗電的電路設計

(1)電池電壓降至3V后才給CPU及其他外圍電路供電,使芯片工作于低電壓時(shí)消耗電流較少。

(2)SAM模塊和IC卡座平常斷電,只在讀寫(xiě)認證時(shí)才供給電源。

(3)在不影響CPU電平判斷的情況下,使用大一些的電阻(如開(kāi)蓋檢測和電池檢測電路中)。

脈沖采樣電路也只在有脈沖時(shí)瞬間耗電。

4.3 軟件配合實(shí)現低功耗

(1)讓單片機盡量低速工作,軟件只在訪(fǎng)問(wèn)SAM模塊及CPU IC卡時(shí)才讓3.58MHz的晶體振蕩,平時(shí)只用32kHz的晶體就可以完成工作。

(2)合理配置CPU的各個(gè)管腳,輸出腳輸出合適電平,使平常不輸出或吸入電流;輸入腳平常一般不用內部上拉電阻而用外部電阻,因為內部上拉電阻較小,掩模時(shí)典型值為30kΩ,當輸入低電平時(shí)耗電較多;CPU多余的管腳設置為輸出模式,且輸出低電平。

(3)CPU在32kHz晶體下工作時(shí),處于HALT模式,每0.5秒時(shí)間到、或中斷喚醒一次,軟件檢查幾個(gè)中斷標志、計數、走時(shí)、清狗后立即轉入HALT睡眠,從而有效節省電能。

5 預付費型智能IC卡燃氣表的軟件設計

5.1 軟件功能模塊

軟件用NEC78k0S C語(yǔ)言編寫(xiě),采用模塊化、層次化的編程方法。核心部分包括以下幾個(gè)模塊:SAM、CPU卡的通信模塊(T=0,字符方式,串行速率9.6Kbps);SAM、CPU卡的認證和讀寫(xiě)模塊;燃氣計量模塊;電源管理模塊;LCD顯示模塊;報警模塊;工廠(chǎng)測試模塊等(由于篇幅原因,在此不細述)。

5.2 SAM和CPU卡的認證過(guò)程

本燃氣表中,軟件必須接收和處理多種CPU卡:用戶(hù)購氣卡、檢查卡、廠(chǎng)家生產(chǎn)測試卡(如閥門(mén)檢測卡等6種)、修改主密鑰卡等。每種CPU卡的目錄文件結構和認證訪(fǎng)問(wèn)方式不盡相同,以使用用戶(hù)購氣卡購氣后在燃氣表上插卡為例,說(shuō)明軟件認證過(guò)程:

(1)從卡的可讀二進(jìn)制文件中識別出卡的類(lèi)型,即用戶(hù)購氣卡。

(2)燃氣表從用戶(hù)卡中讀取卡序列號和用戶(hù)號,并比較用戶(hù)號是否與SAM中存儲的一致,不一致則拒絕讀卡。

(3)若用戶(hù)號一致,IC卡燃氣表將卡序列號送至SAM模塊。SAM模塊對卡序列號進(jìn)行加密,并生成相應的內部認證密鑰。

(4)燃氣表用內部認證密鑰對用戶(hù)卡做內部認證。

(5)燃氣表用氣表外部認證密鑰對用戶(hù)卡做外部認證。

(6)燃氣表從用戶(hù)卡購氣應用二進(jìn)制文件中讀取購氣數據,判斷其完整性,同時(shí)判斷購氣次數是否與IC燃氣表內一致。若不一致則向IC卡燃氣表返寫(xiě)應用二進(jìn)制文件(返寫(xiě)數據)退出;若判斷一致,則進(jìn)入(7)。

(7)由IC卡燃氣表用氣量外部認證密鑰對SAM模塊進(jìn)行外部認證,若一致則將購氣量及狀態(tài)數據存入SAM模塊,并返寫(xiě)數據退出,完成購氣操作;否則只返寫(xiě)數據退出。

6 結束語(yǔ)

基于NEC單片機和SAM模塊的CPU IC卡預付費型燃氣表,在安全保密性、防攻擊、低功耗、低成本等方面作了有益的探索,經(jīng)過(guò)幾個(gè)月的實(shí)際使用,已證明達到了預期的效果。
本文地址:http://selenalain.com/thread-36551-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页