歡迎您訪問鄭州興邦電子股份有限公司官方網站!
    阿里巴巴誠信通企業
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

    基于RFID的預付費電能表的研制

    文章出處:http://www.xujuanpiju.com 作者:單片機與嵌入式系統應用   人氣: 發表時間:2011年10月30日

    [文章內容簡介]:運用保密性好且物美價廉的RFID技術實現預付費電能表;著重介紹RFID本身及其與電能表的接口。作為核心部分的電能表,采用全數字電路來實現,有效地提高了測量精度;同時采用可視化的液晶屏和交互式的鍵盤等,改善了人機界面。RFID和電能表的集合,改變了現在的電表付款方式,可以提高電力部門的工作效率,安全、可靠;是當前電子式電能表的一種發展方向。

    摘要 

    運用保密性好且物美價廉的RFID技術實現預付費電能表;著重介紹RFID本身及其與電能表的接口。作為核心部分的電能表,采用全數字電路來實現,有效地提高了測量精度;同時采用可視化的液晶屏和交互式的鍵盤等,改善了人機界面。RFID和電能表的集合,改變了現在的電表付款方式,可以提高電力部門的工作效率,安全、可靠;是當前電子式電能表的一種發展方向。

    引言

      隨著人均用電量的大幅度增加,推動了一戶一表制的使用。傳統的機械式電能表測量精度有限,會帶來較大誤差;當用電量很大時,誤差將讓人難以接受。本文介紹的電子式預付費電能表是通過電能測量集成電路對電壓電流的取樣信號進行處理,并輸出與有功功率成正比的頻率信號;微處理器通過對脈沖計數來計算所消耗的電量。用戶將RFID卡片(預先在電力部門購買,卡片上充有定額的現金)靠近電能表,這時MCU通過射頻芯片讀取卡的金額,將其存儲到EEPROM,同時此卡清零。電能表將通過聲音和LCD顯示來提醒用戶充值。

    1  硬件電路總體設計

      通過對AD7755的電能測量,與以低功耗著稱的MSP430 MCU接口,再用DS1302作為時鐘,將數據儲存在24LC16 EEPROM中。用工作于13.56 MHz的MFRC500芯片來實現預付費卡片數據的讀取。硬件框圖如圖1所示。

    1.1  電能計量模塊AD7755的特點和接口

      AD7755是Analog Devices公司生產的電量計量集成電路,技術指標超過了IEC1036規定的準確度要求。值得一提的是,國內現有替代產品,上海貝嶺的BL0932可以很好地替代AD7755。這里的AD7755工作于這種方式:電流和電量通過其互感器送入各輸入通道。電壓和電流通道上額定值要設計在最大輸出電壓的半刻度上,使電表能滿足過壓和過流的要求。把CF頻率輸出端接到單片機的端口,設置SCF=0,S1=0,S0=1,CF的最高輸出頻率為21.76 Hz,MCU對輸入脈沖進行計數,計數值的大小即反映電能消耗的多少。本設計中,分流器電阻在340 μΩ條件下,表常數為3 200脈沖/kWh,即每kWh電產生3 200脈沖。從CF經光耦輸出到MCU計數。

    基于RFID的預付費電能表的研制

    圖1  硬件框圖

    1.2  MCU模塊MSP430

      MSP430 MCU是TI公司的超低功耗16位單片機;采用精簡指令集;具有豐富的片內外設,功能強大,并且具有很低的電能消耗,特別適用于三表設計。在此選用帶有 LCD驅動和I/O豐富的MSP430F435。MSP430F435有80和100兩種封裝形式(在此選用小型化的80封裝)。MCU作為電路的核心模塊,要與各個外設打交道,不僅要負責計出AD7755所輸出的計量脈沖值,還要將其轉換為金額,并對各種外擴的接口芯片進行協調和處理。

    1.3  時鐘模塊DS1302

      要保證電能表時間的準確性,時鐘電路還是必需的。在此選用Dallas公司推出的高性能、低功耗、帶RAM的實時時鐘芯片DS1302,可以對年、月、周、日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5 V。DS1302采用三線接口與MSP430單片機進行通信。這部分主要是對DS1302的串行信號和時鐘的模擬以及掉電保護電路設計。

    1.4  外擴存儲器模塊24LC16

      作為計量儀表需要有許多數據(如電流電壓的系數、分時計費表、累計計費表等)是變動的或可以通過正常手段修改的,但不能因系統中的干擾而改寫,更不能因停電等事件而丟失。串行EEPROM是當前儀表設計中最合適的器件。這里選用Microchip公司生產的24LC16來實現這種功能。 24LC16是具有I2C接口的EEPROM。其容量為2048×8位,分為8個頁面,每頁256字節。由于MSP430F435不帶I2C接口,所以在此要對其進行I2C總線模擬。其主要困難還是延時。

      液晶模塊和鍵盤以及RS232通信相對簡單,各個模塊之間通過MCU來控制。

    2  RFID實現預付費的過程

      RFID(Radio Frequency Identification,射頻識別),是一種非接觸式的自動識別技術。它通過射頻信號自動識別目標對象并獲取相關數據,識別工作無須人工干預,可工作于各種惡劣環境;操作快捷方便。根據頻段不同,RFID分為低頻和高頻系統: 低頻近距離RFID系統主要集中在125 kHz、13.56 MHz頻段;高頻遠距離RFID系統主要集中在頻段(902 MHz~928 MHz)915 MHz、2.45 GHz、5.8 GHz。

      本設計采用Philips公司的13.56 MHz MFRC500 RFID芯片,Mifare Standard 1k智能卡的核心是Philips公司的Mifare1 IC S50系列微芯片。Mifare 1 IC智能卡內建有高速的CMOS EEPROM和MCU等??ㄆ薎C微芯片及一副高效率天線外,無任何其他元件。卡片無電池,工作時的電源能量由卡片讀寫器天線發送電載波信號耦合到卡而產生電能,一般可達2 V以上,供卡片IC工作。Mifare1射頻卡所具有的獨特的Mifare RF非接觸接口標準已被制定為國家標準——ISO/IEC 14443 TYPE A標準。

      MFRC500采用總線時序和單片機接口。由于MSP430總線不外擴,所以還要對其模擬總線時序,典型接法如圖2所示。

    MFRC500接口圖

    圖2  MFRC500接口圖

      MFRC500采用寄存器寫數據和寫命令的形式來控制卡片數據的讀和寫。大概有以下步驟:

      ① 請求之應答。Answer to Request(ATR) . Mifare卡片處在天線范圍內時,讀寫器向卡發出REQUEST all(或REQUEST std)命令后,卡片ATR啟動,將卡片Block0的卡片類型(TagType)號共2字節傳送到讀寫器,這樣建立第一步聯系。卡片返回數據 0004H。

     ?、?AntiCollision模塊。防止卡片重疊,當多張卡片一起放入天線范圍時,AntiCollision模塊的防重疊功能將被啟動。MFRC500將與每張卡片進行通信,取得每張卡的序列號。由于每張Mifarel卡片都具有唯一的序列號,不會相同,因此MFRC500可以通過序列號來區別,區分選中的卡片。AntiCollision模塊啟動時,卡片讀寫器將得到卡片的序列號(Serial Number)。序列號存儲在卡片的Block0中,共有5字節(實際用的是4字節,另一個字節為序列號的校驗字節)。返回值為卡片序列號。

     ?、?nbsp; Select Application模塊,主要用于卡片選擇。當卡片與讀寫器完成了上述2個步驟,讀寫器要對卡片讀寫操作,必須對卡片進行"Select"操作,使卡片真正被選中。被選中的卡片將卡片上存儲在Block 0中的卡片容量"Size"字節傳送到讀寫器。當讀寫器收到這一字節后,將明確對卡進行深入操作。讀寫器收到的字節可能是88H。

     ?、?nbsp; Authentication&Access Control模塊,認證及存取模塊。在確認了上述3個步驟后,確認已經選擇了一張卡后,在對卡進行讀寫之前,必須對其進行驗證。如果匹配,則允許進行下一步的Read/Write操作。Mifare 1卡片有16個扇區,每個扇區都可分別設置各自的密碼,互不干涉,采用三重認證方式。

    做完上述所要求的步驟就可以對卡片進行讀寫了(以上步驟參看圖3便一目了然)。在這個電路中,天線的設計和寄存器操作是值得一提的,也是 MFRC500的難點所在。MFRC500的這種卡片安全性很高,不大可能破解,所以用于電能表是很安全的。RFID讀卡程序順序如下:

      char PcdReset()//復位
      char PcdConfig()//配置
      void Init_reg()//初始化寄存器
      char Picc_Reguest(unsigned char cmd ,unsigned char snr_num[])//發送請求到卡
      char Picc_SelectCard(unsigned char cmd ,unsigned char snr_cardsnr[]);//選擇卡
      char Picc_Anticoll(unsigned char cmd ,unsigned char snr_num[])//防沖突
      char Picc_Auth(unsigned char data block,unsigned char data secret_key)//認證
      char Picc_Read(unsigned char data addr,unsigned char data dataum);//讀數據  
      char Picc_Write(unsigned char data addr,unsigned char data content);//寫數據到卡

    RFID程序操作流程

    圖3  RFID程序操作流程

    結語
      完成了硬件的設計后,主要就是如何協調各個子程序的工作了,在這里采取中斷方式來處理各種模塊。本課題已經完成第1版的設計,且運行良好。

    本文關鍵詞:預付費電能表
    回到頂部