<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 新一代Mifare射頻基站IC MF RC522在水表中的應用

新一代Mifare射頻基站IC MF RC522在水表中的應用

作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了Philips公司最新推出的Mifare非接觸IC卡讀寫(xiě)芯片MF RC522的主要特性、引腳功能和基本指令集;簡(jiǎn)述以MSP430系列超低功耗16位為內核的水表設計以及與MFRC522的硬件接口電路設計;重點(diǎn)闡述了MSP430對MF RC522的讀寫(xiě)控制流程。關(guān)鍵詞:MF RC522 MSP430 低功耗 水表 非接觸式智能卡(射頻卡)以其高度安全保密性、通信高速性、使用方便性廣泛應用于三表行業(yè),實(shí)現預付費功能,使人們生活質(zhì)量有了很大的提高。射頻卡技術(shù)應用于水表將是智能水表的一次偉大革命。MF RC522是Philips公司針對三表最新推出的一款非接觸式低功耗讀寫(xiě)基站芯片,它是應用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用了先進(jìn)的調制和解調概念,完全集成了13.56MHz下所有類(lèi)型的被動(dòng)非接觸式通讀方式和協(xié)議。MF RC522支持ISO14443A所有的層,傳輸速度最高達424kbps,具有三種主機接口方式:SPI模式、UART模式、I2C模式。 本設計采用MSP430系列超低功耗16位為主控芯片,系統3.3V供電完全適合MFRC522供電要求,實(shí)現了低功耗的完美結合。 1 系統設計 該系統以TI MSP430F413單片機為核心,工作電壓為1.8V~3.6V,內置LCD驅動(dòng)器24%26;#215;4段,可以縮小體積、降低成本,在休眠模式下典型電流僅為0.7μA;采用內部Flash保存用水數據、剩余水量和水表狀態(tài)信息;電源監控采用理光R3111E(可根據設定的門(mén)限電壓選擇相應的型號);水表閾門(mén)采用2.5V~6V直流電機,當人為破壞水表或所購買(mǎi)水量低于設定值時(shí),水表報警并及時(shí)關(guān)掉閥門(mén),同時(shí)將數據保存在內部Flash中;采用MFRC522讀寫(xiě)芯片讀寫(xiě)Mifare 1 S50卡片實(shí)現預付費功能。系統框如圖1所示。 本設計利用RC522 UART模式與單片機通信,由于MSP430F413沒(méi)有硬件串口,故需使用TIMERA模擬串口,如圖2所示。 對于MSP430F413而言,P1.0(TimerA捕獲/比較輸出口)口是UART的TX,P1.1(TimerA捕獲/比較輸出口)是UART的RX。2 MFRC522命令寄存器及基本指令集 2.1 命令寄存器CommandReg(0x01) MF RC522內部有64個(gè)寄存器,共分4頁(yè):PAGE0:COMMAND AND STATUS;PAGE1:COMMAND;PAGE2:CFG;PAGE3:TEST。MF RC522通過(guò)內部寄存器的讀寫(xiě)控制與Mifare 1 IC卡數據通信。 CommandReg命令控制字如表1所示。表1 CommandReg命令控制字 commandReg Address 0x01 Reset value 0x20 7 6 5 4 3 2 1 0 0 0Rcv OFFPower DownCOMMANDCommand命令類(lèi)別如表2所示。表2 Command命令類(lèi)型 COMMAND(命令)命令代碼Idle(空閑)0000CalcCRC(校驗)0011Transmit(發(fā)送)0100NoCmd Change(無(wú)命令改變)0111Recceive(接收)1000Transceive(收發(fā))1100MFAuthent(認證)1110Soft Reset(軟件復位)11112.2 基本指令集 MF RC522有14種基本指令集,實(shí)現不同方式的數據傳輸,如表3所示。表3 14種基本指令集 基本指令指令代碼Request Std0x26Request All0x52AntiCollision(防重疊)0x93Select Tag(選卡片)0x93Authentication_A0x60Authentication_B0x61Read(讀)0x30Write(寫(xiě)16Bytes)0xA0Write4(寫(xiě)4Bytes)0xA2Increment(增值)0xC1Destore(減值)0xC0Restore(重儲)0xC2Transfer(傳送)0xB0No command0x503 軟件設計 MSP430F413首先對MF RC522進(jìn)行初始化配置,寄存器設置好后,MF RC522可以接收控制執行命令執行操作,實(shí)現與Mifare 1 S50卡片通信;Mifare 1 S50卡根據接收到的指令進(jìn)行相應操作。但是MSP430F413并不是通過(guò)簡(jiǎn)單的指令就可以讀寫(xiě)IC卡片,需要一系列的操作才能完成通信。主要包括:(1)請求喚醒;(2)防重疊;(3)選擇卡片;(4)密碼認證;(5)讀寫(xiě)操作。 MSP430F413對Mifare 1 S50卡片操作流程,如圖3所示。 3.1 請求Request Std/Request All 當在天線(xiàn)有效工作距離內檢測到卡片,MF RC522發(fā)送Request Std/Request All請求指令,卡片接收到請求指令后返回握手信號,從而判斷操作是否成功。Request Std(0x26)連續讀卡指令 Request All(0x52)非連續讀卡指令 3.2 Atcollision(防重疊) MF RC522能夠防止多張卡片重疊造成的數據錯誤。當在天線(xiàn)有效工作距離內檢測到多張卡片時(shí),讀取序列號進(jìn)行判斷檢測。 Mifare 1 S50卡具有全球唯一4個(gè)字節的序列號,SN存放在Sector0的Block0內前4個(gè)字節,第5個(gè)字節存放校驗碼(4字節異或結果),控制循環(huán)讀取序列號,直到讀取一個(gè)校驗正確的序列號后,保存并退出循環(huán);當然出錯也會(huì )退出循環(huán)。 Sector0的Block0數據格式如表4所示。 3.3 Select(選擇卡片) 將Anticollision操作讀取的序列號SN 4個(gè)字節還有異或的校驗碼發(fā)送到Mifare 1 S50卡上,卡片接收后與自身SN及校驗碼核對,只有完全一樣才能選定卡片。 3.4 Authentication(密碼認證) Mifare 1 S50卡有1KB容量,分為16個(gè)扇區:Sector0到Sector15,每個(gè)Sector(扇區)包括4個(gè)Block(塊),每個(gè)Block具有16個(gè)byte的存儲容量。Block被分為Block0至Block3;整個(gè)Mifare 1 S50非接觸式智能卡共有64個(gè)Block。 每個(gè)Sector的Block3都存放著(zhù)本扇區自己的密碼KeyA、KeyB和Access Bits。通過(guò)Access Bits設置密碼方式和數據塊類(lèi)型(Write/Read或Value)。 只有密碼完全認證通過(guò)后,才可以對卡片進(jìn)行Write/Read操作。 3.5 Write/Read(讀寫(xiě)操作) Authentication密碼認證通過(guò)后,可以對64Block進(jìn)行讀寫(xiě)操作。其中Sector0中的Block0只能執行讀操作。Mifare 1 S50讀寫(xiě)時(shí)是以Block為單位的,讀或寫(xiě)都是針對整個(gè)Block 16字節的數據,不能單個(gè)字節讀寫(xiě)。為了確保數據的正確性,可進(jìn)行數據校驗。 3.6 Decrement/Increment(增值和減值操作) 當數據塊通過(guò)設置Access bits配置成Value型時(shí),可以對其進(jìn)行Decrement/Increment操作。為了防止數據出錯,Value Block設有復雜的數據格式。Value重復存放3次,其中原碼存放2次,補碼再存放1次;Adr重復存放4次,其中原碼存放2次,補碼再存放2次。 Value:增值或減值 Adr:操作Block地址 執行Decrement/Increment后,把結果存放在內部數據緩沖寄存器中,等待Transfer指令操作寫(xiě)入指定的目標Block中。 3.7 Restore Restore指令是將Mifare 1 S50內某一Block內容讀出,存放在內部數據緩沖寄存器中,等待Tranfer指令操作寫(xiě)入指定的目標Block中,相當于復制Block a到Block b中. 3.8 Transfer(傳送) Transfer指令操作是將內部數據緩沖區內數據傳送到目標Block中.執行Decrment/Increment和Restore指令操作都需要Transfer指令,數據才能成功傳輸. 3.9 Halt(停機) Halt指令操作將結束MF RC522與Mifare S50通信。 MF RC522作為新一代非接觸IC卡與傳統的IC卡相比有著(zhù)很大的優(yōu)勢,具有較強的保密性能和防碰撞功能,特別是采用低電壓供電大大降低功耗,能夠與超低功耗MSP430單片機結合實(shí)現低功耗預付費水表的設計。

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>