當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一種以NEC公司的8位單片機(jī)uPD789167和SAM模塊為核心的預(yù)付費(fèi)型智能IC卡燃?xì)獗淼脑O(shè)計(jì),介紹了其工作原理、功能,硬、軟件設(shè)計(jì)及其實(shí)際應(yīng)用情況。

預(yù)付費(fèi)型智能IC卡燃?xì)?/strong>表是一種根據(jù)用戶IC卡購氣量實(shí)現(xiàn)自動(dòng)計(jì)費(fèi)、自動(dòng)控制用氣的民用高技術(shù)產(chǎn)品。它和售氣管理系統(tǒng)配合可實(shí)現(xiàn)預(yù)付費(fèi),從而免去人工入戶抄表帶來的諸多不便,并可解決欠費(fèi)問題,具有傳統(tǒng)人工抄表收費(fèi)式燃?xì)獗頍o可比擬的優(yōu)越性。目前,隨著國(guó)家“金卡工程”的深入開展和開發(fā)大西北“西氣東輸”工程的正式啟動(dòng),IC卡燃?xì)獗硪殉尸F(xiàn)出十分廣闊的應(yīng)用前景。而將普通IC卡改進(jìn)成CPU卡(智能卡),將使這種燃?xì)獗淼谋C苄缘玫竭M(jìn)一步的提升。本文介紹了該產(chǎn)品的核心技術(shù)——基于NEC單片機(jī)的預(yù)付費(fèi)型智能CPU IC卡燃?xì)獗淼挠布蛙浖O(shè)計(jì),論述了該IC卡燃?xì)獗淼墓ぷ髟?、功能、可靠性設(shè)計(jì)、低功耗低成本設(shè)計(jì)及其實(shí)際應(yīng)用情況。

1 預(yù)付費(fèi)型智能CPU IC卡燃?xì)獗淼墓ぷ髟?/strong>

  預(yù)付費(fèi)型智能CPU型IC卡燃?xì)獗硎窃诔R?guī)機(jī)械燃?xì)獗眢w上安裝以單片機(jī)為主的智能測(cè)控系統(tǒng)而構(gòu)成的。該測(cè)控系統(tǒng)主要由單片機(jī)、SAM(Secure Access Module)模塊、CPU IC卡接口、計(jì)量電路、保護(hù)檢測(cè)電路以及氣路控制閥等組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。

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

2 預(yù)付費(fèi)型智能IC卡燃?xì)獗韺?shí)現(xiàn)的功能

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

  (2)加密功能:采用加密強(qiáng)度極高的CPU卡且一戶一卡,通過完善的多重內(nèi)部和外部認(rèn)證后,達(dá)到一定的權(quán)限才可實(shí)現(xiàn)購氣及其他操作。

  (3)顯示功能:可顯示剩余煤氣、月累計(jì)和季度累計(jì)煤氣等;各種系統(tǒng)狀態(tài)顯示,如電池欠壓、報(bào)警狀態(tài)、氣體過流等。

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

  (5)報(bào)警功能:電池欠壓報(bào)警、防止管道破裂的氣體過流報(bào)警、閥門打開及關(guān)閉故障報(bào)警、外接可燃?xì)怏w報(bào)警器接口的報(bào)警、卡非正常操作報(bào)警、燃?xì)獗黹_蓋報(bào)警等。在發(fā)生報(bào)警情況時(shí),首先關(guān)閉控制閥,然后蜂鳴器發(fā)聲、LCD顯示。每次報(bào)警事件都會(huì)記錄在SAM模塊中,在用戶下次購氣時(shí)返寫到用戶購氣卡,再由購氣卡返回到售氣部門,從而可供主管部門或銀行查詢。

  (6)自我保護(hù)功能:防止IC卡口和電池接線處的高電壓攻擊和短路行為、開蓋檢測(cè)、無電池檢測(cè)、選用不怕強(qiáng)磁場(chǎng)的特殊脈沖傳感器等。

3 預(yù)付費(fèi)型智能IC卡燃?xì)獗淼挠布O(shè)計(jì)

  因?yàn)楸绢A(yù)付費(fèi)型IC卡燃?xì)獗硎且环N面向家庭的民用產(chǎn)品,因此,在設(shè)計(jì)硬件時(shí)要兼顧以下的原則:低成本;低功耗,盡量延長(zhǎng)電池壽命;高可靠型,不允許死機(jī)以及已購氣數(shù)據(jù)丟失的情況發(fā)生。

3.1 控制單片機(jī)的選擇

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

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

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

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

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

3.4 電源電路

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

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

  為了防止從電池接線端子進(jìn)行的高電壓攻擊,配置了TVS管和200mA的可恢復(fù)保險(xiǎn)絲。再結(jié)合IC卡口的保護(hù),保證了本燃?xì)獗淼淖陨戆踩?/p>

3.5 看門狗電路

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

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

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

3.7 IC卡接口電路

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

3.8 開蓋檢測(cè)電路

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

3.9 報(bào)警及LCD顯示電路

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

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

  本燃?xì)獗淼脑O(shè)計(jì)是:不旦要有CPU保持實(shí)時(shí)時(shí)鐘走時(shí)、帶看門狗,而且功耗要很低(平常的工作電流略大于30μA),為此采用了如下一些措施,以保證本機(jī)的低功耗運(yùn)行。

4.1 采用低功耗的器件

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

4.2 采用低耗電的電路設(shè)計(jì)

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

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

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

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

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

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

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

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

5 預(yù)付費(fèi)型智能IC卡燃?xì)獗淼能浖O(shè)計(jì)

5.1 軟件功能模塊

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

5.2 SAM和CPU卡的認(rèn)證過程

  本燃?xì)獗碇?軟件必須接收和處理多種CPU卡:用戶購氣卡、檢查卡、廠家生產(chǎn)測(cè)試卡(如閥門檢測(cè)卡等6種)、修改主密鑰卡等。每種CPU卡的目錄文件結(jié)構(gòu)和認(rèn)證訪問方式不盡相同,以使用用戶購氣卡購氣后在燃?xì)獗砩喜蹇槔?說明軟件認(rèn)證過程:

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

  (2)燃?xì)獗韽挠脩艨ㄖ凶x取卡序列號(hào)和用戶號(hào),并比較用戶號(hào)是否與SAM中存儲(chǔ)的一致,不一致則拒絕讀卡。

  (3)若用戶號(hào)一致,IC卡燃?xì)獗韺⒖ㄐ蛄刑?hào)送至SAM模塊。SAM模塊對(duì)卡序列號(hào)進(jìn)行加密,并生成相應(yīng)的內(nèi)部認(rèn)證密鑰。

  (4)燃?xì)獗碛脙?nèi)部認(rèn)證密鑰對(duì)用戶卡做內(nèi)部認(rèn)證。

  (5)燃?xì)獗碛脷獗硗獠空J(rèn)證密鑰對(duì)用戶卡做外部認(rèn)證。

  (6)燃?xì)獗韽挠脩艨ㄙ彋鈶?yīng)用二進(jìn)制文件中讀取購氣數(shù)據(jù),判斷其完整性,同時(shí)判斷購氣次數(shù)是否與IC燃?xì)獗韮?nèi)一致。若不一致則向IC卡燃?xì)獗矸祵憫?yīng)用二進(jìn)制文件(返寫數(shù)據(jù))退出;若判斷一致,則進(jìn)入(7)。

  (7)由IC卡燃?xì)獗碛脷饬客獠空J(rèn)證密鑰對(duì)SAM模塊進(jìn)行外部認(rèn)證,若一致則將購氣量及狀態(tài)數(shù)據(jù)存入SAM模塊,并返寫數(shù)據(jù)退出,完成購氣操作;否則只返寫數(shù)據(jù)退出。

 6  結(jié)束語

  基于NEC單片機(jī)和SAM模塊的CPU IC卡預(yù)付費(fèi)型燃?xì)?/strong>表,在安全保密性、防攻擊、低功耗、低成本等方面作了有益的探索,經(jīng)過幾個(gè)月的實(shí)際使用,已證明達(dá)到了預(yù)期的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉