新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSP430單片機的智能IC卡水表控制器

        基于MSP430單片機的智能IC卡水表控制器

        作者: 時間:2012-08-08 來源:網(wǎng)絡(luò) 收藏

        1.2 E2PROM電路的設(shè)計
        采用CAT24WC02芯片,它為2 Kb串行E2PROM,與400kHz 兼容,1.8~6.0 V工作電壓范圍,低功耗CMOS技術(shù),具有寫保護功能,當WP為高電平時進入寫保護狀態(tài)。頁寫緩沖器、自定時擦寫周期為1 000 000編程/擦除周期,可保存數(shù)據(jù)100年。8腳DIPSOIC或TSSOP封裝,溫度范圍分為商業(yè)級、工業(yè)級和汽車級。本系統(tǒng)利用存儲芯片對水表中的數(shù)據(jù)進行存儲。E2PROM中存儲的數(shù)據(jù)掉電之后不丟失,這樣就避免了由于掉電導(dǎo)致的數(shù)據(jù)丟失,可靠性較高。
        1.3 電源檢測電路設(shè)計
        電源檢測電路主要是用來檢測低壓,當電源電壓過低的時候,通過低壓檢測電路檢測到,進行相應(yīng)的操作,避免出現(xiàn)不必要的錯誤。具體工作原理如圖3所示,當PWR_CHECK_EN為高電平時,此電路工作,此時,Q9導(dǎo)通,Q8的基極為低電平,VBAT端一直為高電平,Q8導(dǎo)通,WR_ CHECK腳的電壓為R17和R20分壓得到。之后,PWR_CHECK端的電壓作為內(nèi)部ADC的輸入端,和1.5 V的電源相比較得到比較結(jié)果,確定是否為低壓。電容的作用是防止電壓突變引起的AD采樣錯誤。PWR_CHECK_EN端口設(shè)置主要是為了低功耗設(shè)計,低壓檢測需要一定的時間間隔,當不需要檢測的時候此端口置高,以節(jié)省功耗。

        b.JPG

        1.4 脈沖檢測電路的設(shè)計
        F149單片機最多可以提供1路數(shù)字I/O接口,即P1~P7。單片機的I/O端口有8個管腳。每個I/O管腳都可以獨立地設(shè)置為輸入或者輸出方向,并且每個I/O接線都可以被獨立地讀取或者寫入。所有接口的寄存器都可以被獨立地置位或者清零。MSP430系列單片機具有豐富的I/O口資源和中斷資源,其中P1,P2端口是有中斷能力的。本設(shè)計中可以利用P1,P2端口的中斷能力來實現(xiàn)對脈沖的計量。利用中斷來完成計量有利于節(jié)省單片機資源。

        c.JPG


        脈沖檢測電路如圖4所示。利用4個呈環(huán)形均勻分布的干簧管進行脈沖計數(shù),當有磁鐵靠近干簧管時,簧片吸合。此時只要將干簧管的一端接地,一端接入單片機的I/O口,將單片機的I/O口設(shè)置為中斷允許,隨著葉輪的轉(zhuǎn)動,基表中的磁鐵也跟著轉(zhuǎn)動,轉(zhuǎn)過一圈之后,四個干簧管分別吸合,I/O口通過中斷來完成4個計數(shù),這樣即可完成脈沖的計數(shù)。

        2 軟件設(shè)計
        軟件主要涉及系統(tǒng)時鐘配置、IC卡與單片機通信、低壓檢測程序、E2PROM相關(guān)程序、報警程序、閥門控制程序、液晶顯示程序等,這里主要介紹脈沖檢測和通信模塊的程序設(shè)計。
        2.1 脈沖檢測程序
        脈沖檢測部分是水表的重要組成部分,主要用作流量的計量,水表的整個換算體系都是以此為基礎(chǔ)的,流量汁量是衡量水表性能的重要標志。脈沖檢測的原理是:當有磁鐵靠近干簧管的時候,干簧管的簧片吸合。根據(jù)當四個干簧管分別吸合一次,即表示水流過一圈(在本程序中設(shè)定當流過五圈表示1 m3水量),由此可以得到用水量。此時將累計用水量加1,并存入到E2PROM中。具體流程圖如圖5所示。



        關(guān)鍵詞: IC卡水表 4442卡 I2C總線 MSP430

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 拉萨市| 上思县| 公主岭市| 舟山市| 灵宝市| 汉寿县| 乌鲁木齐市| 丹东市| 沾益县| 香格里拉县| 衢州市| 金门县| 龙岩市| 依兰县| 晋中市| 沙湾县| 青海省| 六盘水市| 九龙城区| 西乡县| 荣成市| 衡阳县| 桐城市| 朝阳市| 澄城县| 吴江市| 尉犁县| 宁乡县| 石屏县| 霍州市| 茶陵县| 新竹县| 扎赉特旗| 梁平县| 英吉沙县| 万宁市| 南漳县| 若尔盖县| 勐海县| 绵阳市| 广宁县|