摘 要:
提出了一種基于MSP430系列單片機的低功耗IC卡燃氣表設(shè)計,論述了IC卡燃氣表的硬件設(shè)計、電控系統(tǒng)電路構(gòu)成、系統(tǒng)軟件設(shè)計。為了有效地降低功耗,外圍電子元器件以低壓、低頻、靜態(tài)低功耗的器件構(gòu)成;對于系統(tǒng)軟件,則在低功耗、信息安全、抗干擾及可靠性等方面地行了設(shè)計。系統(tǒng)整體的功耗很低,且運行穩(wěn)定可靠,操作方便,抗干擾能力強。
人工上門查燃氣表的工作量大,效率低,惡意拖欠氣費的用戶使燃氣公司損失很大。隨著科技的發(fā)展,出現(xiàn)了IC卡預(yù)付費型燃氣表。燃氣用戶在燃氣公司開戶,購買一定氣量后,即得到加密的IC卡。用戶用氣時將卡插入燃氣表中,卡中氣量自動輸入燃氣表并在IC卡中消除氣量,供氣閥門打開。當(dāng)氣量不足5m3時,燃氣表提示用戶購氣;氣量用完時,燃氣表自動切斷供氣管路。
1 系統(tǒng)功能及硬件設(shè)計
系統(tǒng)以MSP430F413單片機為核心,它內(nèi)置LCD驅(qū)動器。采用保密性好的SLE4442邏輯加密卡作為預(yù)付費卡片,具有強大的電源管理系統(tǒng),流量監(jiān)測精確,防磁、防破壞、數(shù)據(jù)加密防竊,可液晶顯示剩余氣量、購氣量以及各種狀態(tài)標(biāo)志符。其基本功能包括:①開機檢測功能。系統(tǒng)開機后能自動檢測當(dāng)前狀態(tài),決定是否開閥。②停電關(guān)閥及數(shù)據(jù)保護功能。當(dāng)突然停電時,系統(tǒng)將重要數(shù)據(jù)保存并關(guān)閥,當(dāng)系統(tǒng)復(fù)位時能重新調(diào)入數(shù)據(jù)。③低電壓檢測功能。本系統(tǒng)采用電池供電,電壓檢測功能必不可少。當(dāng)電壓過低時,提示用戶更換電池,若用戶沒及時更換則系統(tǒng)可自動關(guān)閉閥門。④強磁場檢測功能。當(dāng)外界強磁場干擾時,系統(tǒng)能識別并自動關(guān)閥。⑤報警顯示功能。當(dāng)電壓低、泄漏、用氣量不足及發(fā)生其他故障時系統(tǒng)能聲音報警和屏幕顯示。⑥讀卡功能。⑦計量功能。準(zhǔn)確計量,并能對氣壓變化引起的計量誤差進行修正。
1.1 單片機的選擇
由于主要設(shè)計低功耗的IC卡燃氣表,因此所選的單片機必須滿足低功耗要求,另外對單片機抗干擾性以及可靠性也有一定要求。我們選用美國一家儀器公司的MSP430系列超低功耗16位混合信號單片機。在超低功耗方面,其處理器功耗遠低于同類其他產(chǎn)品。
選用MSP430系列的。MSP430F413單片機,它集成96段LCD驅(qū)動器直接驅(qū)動液晶,串行在線編程,5種省電模式。處于LMP3低功耗模式下時電流為0.7μA,從低功耗模式下喚醒只要通過片內(nèi)的定時器中斷即可,或利用流量脈沖進行外部喚醒,因此完全可以省去外部中斷喚醒電路。定時器確保程序穩(wěn)定,P1和P2口的所有8個位全部可以外中斷處理,中斷邊沿可選。MSP430F413片內(nèi)集成了8kb的閃存,既可當(dāng)程序存儲器,其剩余部分又可代替可擴展內(nèi)存來保存重要數(shù)據(jù),只要電壓保持在2.7V以上即可對其進行寫入和讀取操作。這樣大大節(jié)約了因外擴可擴展內(nèi)存而增加的功率消耗,也簡化了硬件電路,降低了成本[1、2]。
1.2 系統(tǒng)組成
控制器組成包括MSP430單片機、IC卡讀寫電路、電源監(jiān)控電路、流量測量電路、顯示驅(qū)動電路、電磁閥控制電路、蜂鳴器及按鍵電路、泄漏檢測電路等。控制器組成見圖1。
①IC卡讀寫電路
IC卡由于具有存儲容量大、數(shù)據(jù)保密性好、抗干擾能力強、操作速度快等優(yōu)點,近年來應(yīng)用廣泛。IC卡儲存用戶識別和用戶購買氣量的信息,本系統(tǒng)采用符合ISO 7816國際標(biāo)準(zhǔn)的SLE4442邏輯加密存儲卡[3]。IC卡對存儲區(qū)的讀、寫、擦除等操作都有硬件密碼控制,具有認(rèn)證、系統(tǒng)密碼、用戶讀寫密碼多層保密措施,可確保數(shù)據(jù)的安全[4]。在IC卡插入卡座后,產(chǎn)生1個IC卡插入信號,插入信號產(chǎn)生中斷可喚醒CPU。CPU控制升壓電路工作,在檢測到IC卡及認(rèn)證校驗密碼通過后,讀入IC卡中購買的氣量,和當(dāng)前剩下的余量相加后存入內(nèi)存,并將IC卡中的數(shù)據(jù)清零。
?、陔娫幢O(jiān)控電路
采用NCP302HSN27T1型電壓監(jiān)測器,其芯片的工作電壓范圍為0.8~10 V,靜態(tài)電流約0.5μA;電壓檢測門限精度不大于2%。當(dāng)電池電壓低于保護值2.7 V時,芯片的腳1變?yōu)楦唠娖?,向微控制器發(fā)出中斷請求,蜂鳴器發(fā)出嗚叫聲提醒用戶更換電池。
③流量測量電路
干簧管為磁靈敏開關(guān)型傳感器,其結(jié)構(gòu)見圖2。干簧管由一對磁性材料制造的彈性舌簧組成,密封于玻璃管中。當(dāng)恒磁鐵或線圈產(chǎn)生的磁場施加于舌簧上時,使2個舌簧磁化,產(chǎn)生的磁場吸引力克服了舌簧彈性產(chǎn)生的阻力,舌簧被接觸導(dǎo)通。一旦磁場消失,舌簧又重新分開??刂破鞑捎?個干簧管實現(xiàn)計數(shù)和保護功能。1個干簧管安裝在單位計數(shù)撥碼盤附近,在計數(shù)撥碼盤上均勻嵌有2個微型磁鋼。當(dāng)0.01m3的燃氣從燃氣表流過時,干簧管開關(guān)2次。另一個干簧管安裝于靠近外殼處,撥碼盤上磁鋼的磁場對其沒有影響。當(dāng)外界有強磁場時,2個干簧管都會導(dǎo)通,這時單片機軟件可將此判斷為干擾或惡意破壞而放棄該次計數(shù),并關(guān)閉進氣閥門。當(dāng)檢測到10s(可設(shè)置)內(nèi)無強磁干擾時,閥門打開,有效地實現(xiàn)了防外界磁場干擾功能。
④顯示驅(qū)動電路
MSP430單片機具有內(nèi)部LCD控制器/驅(qū)動器。設(shè)計采用4MUX,1/3偏壓驅(qū)動方法。LCD顯示內(nèi)存位于單片機內(nèi)部,存儲所有活動及省電模式中待顯示的信息,顯示各位與LCD段對應(yīng)。集成化的CPU內(nèi)置控制驅(qū)動器極大簡化了系統(tǒng)的硬件結(jié)構(gòu),降低了成本,同時提高了系統(tǒng)的可靠性。用戶可以查看到的信息包括剩余氣量、總用氣量及燃氣表的各種狀態(tài)信息。
?、菪孤z測電路
泄漏檢測采用QM2N2型氣敏傳感器作為檢測元件,其電阻隨可燃性氣體或煙霧濃度的改變而改變。電路圖見圖3。平時,可燃性氣體或煙霧濃度在允許范圍內(nèi),氣敏傳感器C、D間電阻值較大,從D端輸出低電平。當(dāng)可燃性氣體或煙霧濃度達到一定值后,氣敏傳感器C、D間電阻值迅速減小,從D端輸出高電平。單片機檢測是否漏氣并做報警處理。
⑥芯片開關(guān)電路
為了使系統(tǒng)功耗降低,單片機主要時間都處于低功耗模式3(LMP3)。這個階段內(nèi)流量采樣通道、液晶顯示通道等外圍模塊均處于關(guān)斷狀態(tài),只有在單片機從低功耗模式恢復(fù)到工作模式前才開啟相應(yīng)的外圍模塊。這樣就必須添加芯片開關(guān)電路,可利用PNP三極管實現(xiàn)這一功能。其原理見圖4,只要對相應(yīng)的I/O口設(shè)置0或1,就可以對相應(yīng)的芯片進行開關(guān)。
?、唠姶砰y控制電路
電磁閥是燃氣表的執(zhí)行機構(gòu),是實現(xiàn)其預(yù)收費功能的關(guān)鍵部件。本系統(tǒng)選用ZD-20型電磁閥(控制電路見圖5),它是一種雙穩(wěn)態(tài)高效節(jié)能型電磁閥,由3.6 V鋰電池供電,具有點開和點關(guān)的脈沖工作方式。一旦開啟或關(guān)閉,可處于自保持狀態(tài),無須電源供電。當(dāng)P3.7腳輸出低電平時,三極管T1截止,電磁閥關(guān)閉;當(dāng)P3.7腳為高電平時,三極管T1導(dǎo)通,電磁閥ZD開啟。通過電磁閥控制電路,單片機控制系統(tǒng)可以很方便地控制用戶能否用氣。
2 軟件設(shè)計
系統(tǒng)軟件采用模塊化結(jié)構(gòu),用MSP430的嵌入式C語言編寫,軟件設(shè)計思想緊密結(jié)合IC卡燃氣表的控制模式,對IC卡信息讀寫、卡類型的識別、數(shù)據(jù)處理、電壓的欠壓檢測與電源保護以及降低功耗等方面進行了設(shè)計。
為了保證IC卡信息的安全性,當(dāng)對插入的卡進行識別之后,發(fā)出讀寫命令字,IC卡芯片接受后,向單片機發(fā)出一個應(yīng)答指令,然后跟隨8字節(jié)讀密碼。若密碼錯誤,顯示00,重試計數(shù)器加1,最多重試5次,否則IC卡清零;若密碼正確,顯示11,進入寫周期。通過串行數(shù)據(jù)線把IC卡中氣量讀入MSP430F413的RAM中,最后發(fā)停止位;IC卡的氣量清零并顯示01,這時方可取卡。如果在這之前拔出IC卡,那么此次操作將視為無效。在完成讀卡、清零后,將單片機剩余的氣量與IC卡中讀出的氣量相加,把最后結(jié)果回存入單片機RAM中,檢測電磁閥的啟閉情況,如果處于關(guān)閉狀態(tài),則開啟電磁閥。
為了保證數(shù)據(jù)安全,數(shù)據(jù)保存在MSP430的閃存中,即使斷電也能長時間保存。數(shù)據(jù)保存一般在以下情況下發(fā)生:a.計量一定的氣量;b.每次購買新的氣量時;c.發(fā)生異常情況時;d.換電池或是電力不足。后兩種情況在異常情況排除或是電力恢復(fù)后會立即復(fù)制到數(shù)據(jù)區(qū),保存數(shù)據(jù)為總用氣量、剩余氣量、燃氣表的各種狀態(tài)信息。
當(dāng)出現(xiàn)異常情況時,軟件設(shè)計相應(yīng)的應(yīng)對措施。a.電力不足時,關(guān)斷氣閥,報警并液晶顯示.b.用戶惡意破壞時,關(guān)斷氣閥,報警、記錄并顯示;c.剩余氣量快用完時,提醒用戶購氣,當(dāng)氣量為0時,關(guān)斷氣閥;d.氣閥不能正常關(guān)閉時,氣量計數(shù)照常進行。
3 結(jié)語
該系統(tǒng)性能穩(wěn)定,可靠性高,適用范圍廣,抗干擾能力強。采用低壓、低頻、靜態(tài)低功耗的器件,在電路設(shè)計上采用了關(guān)斷技術(shù),對軟件也進行了低功耗的設(shè)計。這對于我國燃氣計量收費制度的改革、金卡工程的深入展開以及節(jié)能環(huán)保起到很大的促進作用。
提出了一種基于MSP430系列單片機的低功耗IC卡燃氣表設(shè)計,論述了IC卡燃氣表的硬件設(shè)計、電控系統(tǒng)電路構(gòu)成、系統(tǒng)軟件設(shè)計。為了有效地降低功耗,外圍電子元器件以低壓、低頻、靜態(tài)低功耗的器件構(gòu)成;對于系統(tǒng)軟件,則在低功耗、信息安全、抗干擾及可靠性等方面地行了設(shè)計。系統(tǒng)整體的功耗很低,且運行穩(wěn)定可靠,操作方便,抗干擾能力強。
人工上門查燃氣表的工作量大,效率低,惡意拖欠氣費的用戶使燃氣公司損失很大。隨著科技的發(fā)展,出現(xiàn)了IC卡預(yù)付費型燃氣表。燃氣用戶在燃氣公司開戶,購買一定氣量后,即得到加密的IC卡。用戶用氣時將卡插入燃氣表中,卡中氣量自動輸入燃氣表并在IC卡中消除氣量,供氣閥門打開。當(dāng)氣量不足5m3時,燃氣表提示用戶購氣;氣量用完時,燃氣表自動切斷供氣管路。
1 系統(tǒng)功能及硬件設(shè)計
系統(tǒng)以MSP430F413單片機為核心,它內(nèi)置LCD驅(qū)動器。采用保密性好的SLE4442邏輯加密卡作為預(yù)付費卡片,具有強大的電源管理系統(tǒng),流量監(jiān)測精確,防磁、防破壞、數(shù)據(jù)加密防竊,可液晶顯示剩余氣量、購氣量以及各種狀態(tài)標(biāo)志符。其基本功能包括:①開機檢測功能。系統(tǒng)開機后能自動檢測當(dāng)前狀態(tài),決定是否開閥。②停電關(guān)閥及數(shù)據(jù)保護功能。當(dāng)突然停電時,系統(tǒng)將重要數(shù)據(jù)保存并關(guān)閥,當(dāng)系統(tǒng)復(fù)位時能重新調(diào)入數(shù)據(jù)。③低電壓檢測功能。本系統(tǒng)采用電池供電,電壓檢測功能必不可少。當(dāng)電壓過低時,提示用戶更換電池,若用戶沒及時更換則系統(tǒng)可自動關(guān)閉閥門。④強磁場檢測功能。當(dāng)外界強磁場干擾時,系統(tǒng)能識別并自動關(guān)閥。⑤報警顯示功能。當(dāng)電壓低、泄漏、用氣量不足及發(fā)生其他故障時系統(tǒng)能聲音報警和屏幕顯示。⑥讀卡功能。⑦計量功能。準(zhǔn)確計量,并能對氣壓變化引起的計量誤差進行修正。
1.1 單片機的選擇
由于主要設(shè)計低功耗的IC卡燃氣表,因此所選的單片機必須滿足低功耗要求,另外對單片機抗干擾性以及可靠性也有一定要求。我們選用美國一家儀器公司的MSP430系列超低功耗16位混合信號單片機。在超低功耗方面,其處理器功耗遠低于同類其他產(chǎn)品。
選用MSP430系列的。MSP430F413單片機,它集成96段LCD驅(qū)動器直接驅(qū)動液晶,串行在線編程,5種省電模式。處于LMP3低功耗模式下時電流為0.7μA,從低功耗模式下喚醒只要通過片內(nèi)的定時器中斷即可,或利用流量脈沖進行外部喚醒,因此完全可以省去外部中斷喚醒電路。定時器確保程序穩(wěn)定,P1和P2口的所有8個位全部可以外中斷處理,中斷邊沿可選。MSP430F413片內(nèi)集成了8kb的閃存,既可當(dāng)程序存儲器,其剩余部分又可代替可擴展內(nèi)存來保存重要數(shù)據(jù),只要電壓保持在2.7V以上即可對其進行寫入和讀取操作。這樣大大節(jié)約了因外擴可擴展內(nèi)存而增加的功率消耗,也簡化了硬件電路,降低了成本[1、2]。
1.2 系統(tǒng)組成
控制器組成包括MSP430單片機、IC卡讀寫電路、電源監(jiān)控電路、流量測量電路、顯示驅(qū)動電路、電磁閥控制電路、蜂鳴器及按鍵電路、泄漏檢測電路等。控制器組成見圖1。
①IC卡讀寫電路
IC卡由于具有存儲容量大、數(shù)據(jù)保密性好、抗干擾能力強、操作速度快等優(yōu)點,近年來應(yīng)用廣泛。IC卡儲存用戶識別和用戶購買氣量的信息,本系統(tǒng)采用符合ISO 7816國際標(biāo)準(zhǔn)的SLE4442邏輯加密存儲卡[3]。IC卡對存儲區(qū)的讀、寫、擦除等操作都有硬件密碼控制,具有認(rèn)證、系統(tǒng)密碼、用戶讀寫密碼多層保密措施,可確保數(shù)據(jù)的安全[4]。在IC卡插入卡座后,產(chǎn)生1個IC卡插入信號,插入信號產(chǎn)生中斷可喚醒CPU。CPU控制升壓電路工作,在檢測到IC卡及認(rèn)證校驗密碼通過后,讀入IC卡中購買的氣量,和當(dāng)前剩下的余量相加后存入內(nèi)存,并將IC卡中的數(shù)據(jù)清零。
?、陔娫幢O(jiān)控電路
采用NCP302HSN27T1型電壓監(jiān)測器,其芯片的工作電壓范圍為0.8~10 V,靜態(tài)電流約0.5μA;電壓檢測門限精度不大于2%。當(dāng)電池電壓低于保護值2.7 V時,芯片的腳1變?yōu)楦唠娖?,向微控制器發(fā)出中斷請求,蜂鳴器發(fā)出嗚叫聲提醒用戶更換電池。
③流量測量電路
干簧管為磁靈敏開關(guān)型傳感器,其結(jié)構(gòu)見圖2。干簧管由一對磁性材料制造的彈性舌簧組成,密封于玻璃管中。當(dāng)恒磁鐵或線圈產(chǎn)生的磁場施加于舌簧上時,使2個舌簧磁化,產(chǎn)生的磁場吸引力克服了舌簧彈性產(chǎn)生的阻力,舌簧被接觸導(dǎo)通。一旦磁場消失,舌簧又重新分開??刂破鞑捎?個干簧管實現(xiàn)計數(shù)和保護功能。1個干簧管安裝在單位計數(shù)撥碼盤附近,在計數(shù)撥碼盤上均勻嵌有2個微型磁鋼。當(dāng)0.01m3的燃氣從燃氣表流過時,干簧管開關(guān)2次。另一個干簧管安裝于靠近外殼處,撥碼盤上磁鋼的磁場對其沒有影響。當(dāng)外界有強磁場時,2個干簧管都會導(dǎo)通,這時單片機軟件可將此判斷為干擾或惡意破壞而放棄該次計數(shù),并關(guān)閉進氣閥門。當(dāng)檢測到10s(可設(shè)置)內(nèi)無強磁干擾時,閥門打開,有效地實現(xiàn)了防外界磁場干擾功能。
④顯示驅(qū)動電路
MSP430單片機具有內(nèi)部LCD控制器/驅(qū)動器。設(shè)計采用4MUX,1/3偏壓驅(qū)動方法。LCD顯示內(nèi)存位于單片機內(nèi)部,存儲所有活動及省電模式中待顯示的信息,顯示各位與LCD段對應(yīng)。集成化的CPU內(nèi)置控制驅(qū)動器極大簡化了系統(tǒng)的硬件結(jié)構(gòu),降低了成本,同時提高了系統(tǒng)的可靠性。用戶可以查看到的信息包括剩余氣量、總用氣量及燃氣表的各種狀態(tài)信息。
?、菪孤z測電路
泄漏檢測采用QM2N2型氣敏傳感器作為檢測元件,其電阻隨可燃性氣體或煙霧濃度的改變而改變。電路圖見圖3。平時,可燃性氣體或煙霧濃度在允許范圍內(nèi),氣敏傳感器C、D間電阻值較大,從D端輸出低電平。當(dāng)可燃性氣體或煙霧濃度達到一定值后,氣敏傳感器C、D間電阻值迅速減小,從D端輸出高電平。單片機檢測是否漏氣并做報警處理。
⑥芯片開關(guān)電路
為了使系統(tǒng)功耗降低,單片機主要時間都處于低功耗模式3(LMP3)。這個階段內(nèi)流量采樣通道、液晶顯示通道等外圍模塊均處于關(guān)斷狀態(tài),只有在單片機從低功耗模式恢復(fù)到工作模式前才開啟相應(yīng)的外圍模塊。這樣就必須添加芯片開關(guān)電路,可利用PNP三極管實現(xiàn)這一功能。其原理見圖4,只要對相應(yīng)的I/O口設(shè)置0或1,就可以對相應(yīng)的芯片進行開關(guān)。
?、唠姶砰y控制電路
電磁閥是燃氣表的執(zhí)行機構(gòu),是實現(xiàn)其預(yù)收費功能的關(guān)鍵部件。本系統(tǒng)選用ZD-20型電磁閥(控制電路見圖5),它是一種雙穩(wěn)態(tài)高效節(jié)能型電磁閥,由3.6 V鋰電池供電,具有點開和點關(guān)的脈沖工作方式。一旦開啟或關(guān)閉,可處于自保持狀態(tài),無須電源供電。當(dāng)P3.7腳輸出低電平時,三極管T1截止,電磁閥關(guān)閉;當(dāng)P3.7腳為高電平時,三極管T1導(dǎo)通,電磁閥ZD開啟。通過電磁閥控制電路,單片機控制系統(tǒng)可以很方便地控制用戶能否用氣。
2 軟件設(shè)計
系統(tǒng)軟件采用模塊化結(jié)構(gòu),用MSP430的嵌入式C語言編寫,軟件設(shè)計思想緊密結(jié)合IC卡燃氣表的控制模式,對IC卡信息讀寫、卡類型的識別、數(shù)據(jù)處理、電壓的欠壓檢測與電源保護以及降低功耗等方面進行了設(shè)計。
為了保證IC卡信息的安全性,當(dāng)對插入的卡進行識別之后,發(fā)出讀寫命令字,IC卡芯片接受后,向單片機發(fā)出一個應(yīng)答指令,然后跟隨8字節(jié)讀密碼。若密碼錯誤,顯示00,重試計數(shù)器加1,最多重試5次,否則IC卡清零;若密碼正確,顯示11,進入寫周期。通過串行數(shù)據(jù)線把IC卡中氣量讀入MSP430F413的RAM中,最后發(fā)停止位;IC卡的氣量清零并顯示01,這時方可取卡。如果在這之前拔出IC卡,那么此次操作將視為無效。在完成讀卡、清零后,將單片機剩余的氣量與IC卡中讀出的氣量相加,把最后結(jié)果回存入單片機RAM中,檢測電磁閥的啟閉情況,如果處于關(guān)閉狀態(tài),則開啟電磁閥。
為了保證數(shù)據(jù)安全,數(shù)據(jù)保存在MSP430的閃存中,即使斷電也能長時間保存。數(shù)據(jù)保存一般在以下情況下發(fā)生:a.計量一定的氣量;b.每次購買新的氣量時;c.發(fā)生異常情況時;d.換電池或是電力不足。后兩種情況在異常情況排除或是電力恢復(fù)后會立即復(fù)制到數(shù)據(jù)區(qū),保存數(shù)據(jù)為總用氣量、剩余氣量、燃氣表的各種狀態(tài)信息。
當(dāng)出現(xiàn)異常情況時,軟件設(shè)計相應(yīng)的應(yīng)對措施。a.電力不足時,關(guān)斷氣閥,報警并液晶顯示.b.用戶惡意破壞時,關(guān)斷氣閥,報警、記錄并顯示;c.剩余氣量快用完時,提醒用戶購氣,當(dāng)氣量為0時,關(guān)斷氣閥;d.氣閥不能正常關(guān)閉時,氣量計數(shù)照常進行。
3 結(jié)語
該系統(tǒng)性能穩(wěn)定,可靠性高,適用范圍廣,抗干擾能力強。采用低壓、低頻、靜態(tài)低功耗的器件,在電路設(shè)計上采用了關(guān)斷技術(shù),對軟件也進行了低功耗的設(shè)計。這對于我國燃氣計量收費制度的改革、金卡工程的深入展開以及節(jié)能環(huán)保起到很大的促進作用。