天天干天天操天天碰-天天干天天操天天摸-天天干天天操天天干-天天干天天操天天插-欧美一级久久久久久久久大-欧美一区二区VA毛片视频

歡迎光臨水表信息網(wǎng)!
技術(shù)前沿
 
儀表常識(shí)

新一代Mifare射頻基站ICMFRC522在水表中的應(yīng)用

字體: 放大字體  縮小字體 發(fā)布日期:2007-04-13  來(lái)源:電子技術(shù)應(yīng)用  作者:程?hào)|海 于海勛  瀏覽次數(shù):804
?? 摘要:介紹了Philips公司最新推出的Mifare非接觸IC卡讀寫(xiě)芯片MF RC522的主要特性、引腳功能和基本指令集;簡(jiǎn)述以MSP430系列超低功耗16位單片機(jī)為內(nèi)核的水表設(shè)計(jì)以及與MFRC522的硬件接口電路設(shè)計(jì);重點(diǎn)闡述了MSP430對(duì)MF RC522的讀寫(xiě)控制流程。

??? 關(guān)鍵詞:MF RC522 MSP430單片機(jī) 低功耗 水表

非接觸式智能卡(射頻卡)以其高度安全保密性、通信高速性、使用方便性廣泛應(yīng)用于三表行業(yè),實(shí)現(xiàn)預(yù)付費(fèi)功能,使人們生活質(zhì)量有了很大的提高。射頻卡技術(shù)應(yīng)用于水表將是智能水表的一次偉大革命。

??? MF RC522是Philips公司針對(duì)三表最新推出的一款非接觸式低功耗讀寫(xiě)基站芯片,它是應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了13.56MHz下所有類(lèi)型的被動(dòng)非接觸式通讀方式和協(xié)議。MF RC522支持ISO14443A所有的層,傳輸速度最高達(dá)424kbps,具有三種主機(jī)接口方式:SPI模式、UART模式、I2C模式。

本設(shè)計(jì)采用MSP430系列超低功耗16位單片機(jī)為主控芯片,系統(tǒng)3.3V供電完全適合MFRC522供電要求,實(shí)現(xiàn)了低功耗的完美結(jié)合。

1 系統(tǒng)設(shè)計(jì)

該系統(tǒng)以TI MSP430F413單片機(jī)為核心,工作電壓為1.8V~3.6V,內(nèi)置LCD驅(qū)動(dòng)器24×4段,可以縮小體積、降低成本,在休眠模式下典型電流僅為0.7μA;采用內(nèi)部Flash保存用水?dāng)?shù)據(jù)、剩余水量和水表狀態(tài)信息;電源監(jiān)控采用理光R3111E(可根據(jù)設(shè)定的門(mén)限電壓選擇相應(yīng)的型號(hào));水表閾門(mén)采用2.5V~6V直流電機(jī),當(dāng)人為破壞水表或所購(gòu)買(mǎi)水量低于設(shè)定值時(shí),水表報(bào)警并及時(shí)關(guān)掉閥門(mén),同時(shí)將數(shù)據(jù)保存在內(nèi)部Flash中;采用MFRC522讀寫(xiě)芯片讀寫(xiě)Mifare 1 S50卡片實(shí)現(xiàn)預(yù)付費(fèi)功能。系統(tǒng)框如圖1所示。

本設(shè)計(jì)利用RC522 UART模式與單片機(jī)通信,由于MSP430F413沒(méi)有硬件串口,故需使用TIMERA模擬串口,如圖2所示。

對(duì)于MSP430F413而言,P1.0(TimerA捕獲/比較輸出口)口是UART的TX,P1.1(TimerA捕獲/比較輸出口)是UART的RX。

2 MFRC522命令寄存器及基本指令集

2.1 命令寄存器CommandReg(0x01)

MF RC522內(nèi)部有64個(gè)寄存器,共分4頁(yè):PAGE0:COMMAND AND STATUS;PAGE1:COMMAND;PAGE2:CFG;PAGE3:TEST。MF RC522通過(guò)內(nèi)部寄存器的讀寫(xiě)控制與Mifare 1 IC卡數(shù)據(jù)通信。

CommandReg命令控制字如表1所示。

表1 CommandReg命令控制字

? commandReg??????????????????????? Address 0x01?????? Reset value 0x20

7????????????? 6????????? 5????????????? 4?????????? 3??? 2??? 1???? 0

0????????????? 0Rcv OFFPower DownCOMMAND

Command命令類(lèi)別如表2所示。

表2 Command命令類(lèi)型

COMMAND(命令)命令代碼
Idle(空閑)0000
CalcCRC(校驗(yàn))0011
Transmit(發(fā)送)0100
NoCmd Change(無(wú)命令改變)0111
Recceive(接收)1000
Transceive(收發(fā))1100
MFAuthent(認(rèn)證)1110
Soft Reset(軟件復(fù)位)1111

2.2 基本指令集

MF RC522有14種基本指令集,實(shí)現(xiàn)不同方式的數(shù)據(jù)傳輸,如表3所示。

表3 14種基本指令集

基本指令指令代碼
Request Std0x26
Request All0x52
AntiCollision(防重疊)0x93
select Tag(選卡片)0x93
Authentication_A0x60
Authentication_B0x61
Read(讀)0x30
Write(寫(xiě)16Bytes)0xA0
Write4(寫(xiě)4Bytes)0xA2
Increment(增值)0xC1
Destore(減值)0xC0
Restore(重儲(chǔ))0xC2
Transfer(傳送)0xB0
No command0x50

3 軟件設(shè)計(jì)

MSP430F413首先對(duì)MF RC522進(jìn)行初始化配置,寄存器設(shè)置好后,MF RC522可以接收控制執(zhí)行命令執(zhí)行操作,實(shí)現(xiàn)與Mifare 1 S50卡片通信;Mifare 1 S50卡根據(jù)接收到的指令進(jìn)行相應(yīng)操作。但是MSP430F413并不是通過(guò)簡(jiǎn)單的指令就可以讀寫(xiě)IC卡片,需要一系列的操作才能完成通信。主要包括:(1)請(qǐng)求喚醒;(2)防重疊;(3)選擇卡片;(4)密碼認(rèn)證;(5)讀寫(xiě)操作。

MSP430F413對(duì)Mifare 1 S50卡片操作流程,如圖3所示。

3.1 請(qǐng)求Request Std/Request All

當(dāng)在天線有效工作距離內(nèi)檢測(cè)到卡片,MF RC522發(fā)送Request Std/Request All請(qǐng)求指令,卡片接收到請(qǐng)求指令后返回握手信號(hào),從而判斷操作是否成功。

??? Request Std(0x26)連續(xù)讀卡指令

Request All(0x52)非連續(xù)讀卡指令

3.2 Atcollision(防重疊)

MF RC522能夠防止多張卡片重疊造成的數(shù)據(jù)錯(cuò)誤。當(dāng)在天線有效工作距離內(nèi)檢測(cè)到多張卡片時(shí),MCU讀取序列號(hào)進(jìn)行判斷檢測(cè)。

Mifare 1 S50卡具有全球唯一4個(gè)字節(jié)的序列號(hào),SN存放在Sector0的Block0內(nèi)前4個(gè)字節(jié),第5個(gè)字節(jié)存放校驗(yàn)碼(4字節(jié)異或結(jié)果),MCU控制循環(huán)讀取序列號(hào),直到讀取一個(gè)校驗(yàn)正確的序列號(hào)后,保存并退出循環(huán);當(dāng)然出錯(cuò)也會(huì)退出循環(huán)。

Sector0的Block0數(shù)據(jù)格式如表4所示。

3.3 Select(選擇卡片)

將Anticollision操作讀取的序列號(hào)SN 4個(gè)字節(jié)還有異或的校驗(yàn)碼發(fā)送到Mifare 1 S50卡上,卡片接收后與自身SN及校驗(yàn)碼核對(duì),只有完全一樣才能選定卡片。

3.4 Authentication(密碼認(rèn)證)

Mifare 1 S50卡有1KB容量,分為16個(gè)扇區(qū):Sector0到Sector15,每個(gè)Sector(扇區(qū))包括4個(gè)Block(塊),每個(gè)Block具有16個(gè)byte的存儲(chǔ)容量。Block被分為Block0至Block3;整個(gè)Mifare 1 S50非接觸式智能卡共有64個(gè)Block。

每個(gè)Sector的Block3都存放著本扇區(qū)自己的密碼KeyA、KeyB和Access Bits。通過(guò)Access Bits設(shè)置密碼方式和數(shù)據(jù)塊類(lèi)型(Write/Read或Value)。

只有密碼完全認(rèn)證通過(guò)后,才可以對(duì)卡片進(jìn)行Write/Read操作。

3.5 Write/Read(讀寫(xiě)操作)

Authentication密碼認(rèn)證通過(guò)后,可以對(duì)64Block進(jìn)行讀寫(xiě)操作。其中Sector0中的Block0只能執(zhí)行讀操作。Mifare 1 S50讀寫(xiě)時(shí)是以Block為單位的,讀或?qū)懚际轻槍?duì)整個(gè)Block 16字節(jié)的數(shù)據(jù),不能單個(gè)字節(jié)讀寫(xiě)。為了確保數(shù)據(jù)的正確性,可進(jìn)行數(shù)據(jù)校驗(yàn)。

3.6 Decrement/Increment(增值和減值操作)

當(dāng)數(shù)據(jù)塊通過(guò)設(shè)置Access bits配置成Value型時(shí),可以對(duì)其進(jìn)行Decrement/Increment操作。為了防止數(shù)據(jù)出錯(cuò),Value Block設(shè)有復(fù)雜的數(shù)據(jù)格式。Value重復(fù)存放3次,其中原碼存放2次,補(bǔ)碼再存放1次;Adr重復(fù)存放4次,其中原碼存放2次,補(bǔ)碼再存放2次。

Value:增值或減值 Adr:操作Block地址

執(zhí)行Decrement/Increment后,把結(jié)果存放在內(nèi)部數(shù)據(jù)緩沖寄存器中,等待Transfer指令操作寫(xiě)入指定的目標(biāo)Block中。

3.7 Restore

Restore指令是將Mifare 1 S50內(nèi)某一Block內(nèi)容讀出 存放在內(nèi)部數(shù)據(jù)緩沖寄存器中 等待Tranfer指令操作寫(xiě)入指定的目標(biāo)Block中 相當(dāng)于復(fù)制Block a到Block b中.

3.8 Transfer(傳送)

Transfer指令操作是將內(nèi)部數(shù)據(jù)緩沖區(qū)內(nèi)數(shù)據(jù)傳送到目標(biāo)Block中.執(zhí)行Decrment/Increment和Restore指令操作都需要Transfer指令 數(shù)據(jù)才能成功傳輸.

3.9 Halt(停機(jī))

Halt指令操作將結(jié)束MF RC522與Mifare S50通信。

MF RC522作為新一代非接觸IC卡與傳統(tǒng)的IC卡相比有著很大的優(yōu)勢(shì),具有較強(qiáng)的保密性能和防碰撞功能,特別是采用低電壓供電大大降低功耗,能夠與超低功耗MSP430單片機(jī)結(jié)合實(shí)現(xiàn)低功耗預(yù)付費(fèi)水表的設(shè)計(jì)。

(出處:賽爾電子技術(shù)中心)

 
免責(zé)聲明:
本站所提供的文章資訊、圖片、音頻、視頻來(lái)源于互聯(lián)網(wǎng)及公開(kāi)渠道,僅供學(xué)習(xí)參考,版權(quán)歸原創(chuàng)者所有! 如有侵犯您的版權(quán),請(qǐng)通知我們,我們會(huì)遵循相關(guān)法律法規(guī)采取措施刪除相關(guān)內(nèi)容。


 
[ 技術(shù)前沿搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ]
 
相關(guān)新聞
 
 
主站蜘蛛池模板: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |