




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、IC卡公交收費(fèi)機(jī)設(shè)計(三)MIFARE 1卡讀寫軟件設(shè)計,電子與信息工程學(xué)院,課 程 目 標(biāo),非接觸式IC卡讀寫控制 MIFARE 1卡讀寫控制功能的實(shí)現(xiàn),項(xiàng)目開發(fā)IC卡公交收費(fèi)系統(tǒng),系統(tǒng)需求分析: 具備小額電子錢包功能,定額方式收費(fèi) 操作方便快捷 工作距離50cm 具備顯示余額、異常報警(非法卡或余額不足) 可將當(dāng)班收款額上傳總站數(shù)據(jù)庫 公交公司可調(diào)整定額額度 卡遺失可掛失 抗干擾能力強(qiáng),項(xiàng)目設(shè)計之三軟件實(shí)現(xiàn),讀寫器與M1卡交換數(shù)據(jù)的過程: 1)由讀寫器MCU(微控制器)發(fā)送指令給MCM, 2)MCM執(zhí)行指令并將其轉(zhuǎn)換為射頻信號發(fā)送給卡; 3)卡接收到來自MCM的指令后,按指令完成其內(nèi)部的各
2、種處理,并回送應(yīng)答信號/數(shù)據(jù)給MCM; 4)MCM接收卡回送的射頻信號并將其轉(zhuǎn)換為數(shù)字信號輸出給MCU,讀寫器MCU讀取MCM接收到的應(yīng)答/數(shù)據(jù),即可完成與M1卡的數(shù)據(jù)交換。,M C M 基 本 通 信 指 令 集,MCM 內(nèi) 核 特 殊 寄 存 器,MIFARE卡的讀寫操作步驟,激活MCM MCM軟復(fù)位 向MCM下載密碼(LOAD KEY),校驗(yàn)傳輸密碼正確后可向MCM的KEY-RAM寫入用戶自己設(shè)定的密碼,以上操作與卡無關(guān)。 請求應(yīng)答(ANSWER TO REQUEST):尋卡 防沖突(ANTICOLLISION):選擇唯一一張卡 選擇標(biāo)記(SELECT):激活所選擇的卡 認(rèn)證 (AUTH
3、ENTICATION):安全性 讀寫操作(讀、寫、加值、減值):交換數(shù)據(jù) (READ/WRITE/INCREAMENT/DECREMENT) 停止(HALT):置卡為停止模式,防止重復(fù)操作。,SOR/LOAD KEY,REQUEST,ANTICOLLISION,READ/WRITE/INC/DEC,HALT,MIFARE 卡操作步驟,AUTHENTICATION,SELECT,卡應(yīng)答:TAGTYPE(2B),卡應(yīng)答:SN(4B)+校驗(yàn)碼(1B),卡應(yīng)答:SIZE(1B),卡應(yīng)答:AE位,指令時序,每個指令由7個基本步驟組成,必須按此時序編程才能完成該指令: (1)初始化,設(shè)置各寄存器,特別是B
4、CNTS和BCNTR。 (2)送指令碼到DATA,由MCM發(fā)送指令。 (3)設(shè)置TOC,MCM準(zhǔn)備接收來自卡的應(yīng)答或數(shù)據(jù)。 (4)檢查DV標(biāo)志,查詢數(shù)據(jù)接收是否完成。DV標(biāo)志為”1”表明MCM與MIFARE卡片之間的傳輸已經(jīng)完成,并且主處理機(jī)可能已經(jīng)從MCM中收到數(shù)據(jù),可以進(jìn)行下一步操作。而DV=0表示數(shù)據(jù)接收尚未完成或未能接收到數(shù)據(jù),則程序循環(huán)檢測DV標(biāo)志直至DV=1。有一種情況例外,既當(dāng)定時器溢出時,無論接收是否完成DV都將被設(shè)置為1,同樣將進(jìn)行下一步操作。 (5)清零TOC。 (6) 檢查出錯標(biāo)志,若有標(biāo)志被設(shè)置,則進(jìn)行相應(yīng)的出錯處理,例如設(shè)置出錯標(biāo)志等,并返回主程序;若沒有標(biāo)志被設(shè)置,
5、表示接收正確,將進(jìn)行下一步操作 (7)MCU從DATA讀出MCM接收到的應(yīng)答或數(shù)據(jù)。,Answer to Request (請求應(yīng)答)指令,Request 指令將通知MCM在天線有效的工作范圍(距離)內(nèi)尋找MIFARE 1卡。 命令碼:26H或52H。 卡收到該指令將回送卡類型號作為卡應(yīng)答:TAGTYPE(2個字節(jié)),With a “request std”(26H) instruction only cards which are not set into a “HALT-mode” will respond to this request,or it may be expanded to
6、all cards in the field with a “request all” (52H)option.The first option is needed to prevent the MCM from selecting one card several times.,Difference between “request std” SEND CODE MOV R0,#00H MOVX R0,A MOV A,#addr;SEND BLOCK ADDR MOV R0,#00H MOVX R0,A,MOV A,#0AH;SET TOC=1ms MOV R0,#06H MOVX R0,A
7、 D_wait_value:;讀STACON,判斷DV=1? MOV R0,#01H MOVX A,R0 JNB ACC.7,D_wait_value MOV R6,A MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A MOV A,R6;出錯判斷 JB ACC.6,DEC_TE_ERR JB ACC.3,DEC_BE_ERR AJMP DEC_CONTI DEC_TE_ERR:;NOTAGERR MOV B,#01H AJMP DEC_EXIT DEC_BE_ERR: MOV B,#02H AJMP DEC_EXIT,DEC_CONTI: MOV R0,#00H;讀
8、入ACK/NAK, MOVX A,R0 ANL A,#0BH;僅檢查0,1,3位 CJNE A,#00H,D_N1 MOV B,#07H ;NOTAUTHERR(應(yīng)答為00000000) SJMP DEC_NEXT D_N1: CJNE A,#0AH,D_N2;收到ACK應(yīng)答(00000101),表示可以DEC SJMP DEC_NEXT D_N2: MOV B,#03H ;其他錯誤應(yīng)答(00000011),CODEER AJMP WRITE_EXIT,WRITE_NEXT: ;開始寫數(shù)據(jù) MOV A,#32;SEND BCNTS=32bits(4B VALUE) MOV R0,#03H MO
9、VX R0,A MOV A,#04H;SEND BCNTR=4 bits(ACK/NAK) MOV R0,#04H MOVX R0,A MOV R5,#4 ;送4B 值 MOV R0,#00H MOV R1,#D_BUF DEC_VALUE: MOV A,R1 MOVX R0,A INC R1 DJNZ R5,DEC_VALUE,MOV A,#0AH;SET TOC=1ms MOV R0,#06H MOVX R0,A DEC_end:;DV=1? MOV R0,#01H MOVX A,R0 JNB ACC.7,DEC_end MOV A,#00H;清零TOC MOV R0,#06H MOVX
10、R0,A Judge_answer:MOV R0,#01H;出錯判斷 MOVX A,R0 JNB ACC.6,DEC_error_TE MOV B,#00H DEC_ANSWER:;讀入ACK/NAK MOV R0,#00H MOVX A,R0 ANL A,#0FH CJNE A,#04H,D_ERR1;(00000100為VALUE OVERFLOW) MOV B,#0FEH SJMP DEC_EXIT D_ERR1:MOV B,#0FFH;其他錯誤 DEC_EXIT:RET,TRANSFER 入口: 塊地址T_addr 出口:ACK/NAK TRANS: NOP NOP MOV A,#10
11、H;SEND BCNTS(16bits:命令碼+塊地址) MOV R0,#03H MOVX R0,A MOV A,#04H;SEND BCNTR(4bits:ACK/NAK) MOV R0,#04H MOVX R0,A MOV A,#0B0H;SEND CODE MOV R0,#00H MOVX R0,A MOV A,#T_addr;SEND BLOCK ADDR MOV R0,#00H MOVX R0,A,MOV A,#10H;SET TOC=1.5ms MOV R0,#06H MOVX R0,A T_end:;DV=1? MOV R0,#01H MOVX A,R0 JNB ACC.7,T_
12、end MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A Judge_answer:;出錯判斷 MOV R0,#01H MOVX A,R0 JB ACC.3,T_error_BE JB ACC.6,T_error_PE MOV B,#00H AJMP NEXT_TRANS T_error_BE:;出錯處理 MOV B,#03H SJMP NEXT_TRANS T_error_PE: MOV B,#05H SJMP NEXT_TRANS,NEXT_TRANS: MOV A,#95D;SET TOC=9ms MOV R0,#06H MOVX R0,A T_Toc_end
13、:;DV=1?(EEPROM寫入結(jié)束否?) MOV R0,#01H MOVX A,R0 JNB ACC.7,T_Toc_end MOV R6,A MOV A,#00H;CLEAR TOC MOV R0,#06H MOVX R0,A MOV A,R6;出錯判斷 JB ACC.6,T_TAG_ERR JB ACC.3,T_BIT_ERR MOV B,00H SJMP NEXT_ANSWER T_TAG_ERR:;出錯處理 MOV B,#09H AJMP T_EXIT T_BIT_ERR: MOV B,#0BH AJMP T_EXIT,NEXT_ANSWER:;讀入ACK/NAK MOV R0,#0
14、0H MOVX A,R0 ANL A,#0FH CJNE A,#0AH,T_ERR1;(00000101為ACK,TRANSFER OK) MOV B,#00H SJMP T_EXIT T_ERR1: CJNE A,#04H,T_ERR2;(00000100為NAK) MOV B,#02H SJMP T_EXIT T_ERR2: CJNE A,#05H,WRITE_EXIT;其他錯誤 MOV B,#04H T_EXIT: RET,實(shí)訓(xùn)6 非接觸式IC卡的讀寫控制,實(shí)訓(xùn)程序?qū)⒆x寫器MCU片內(nèi)RAM中的16個數(shù)據(jù)寫入卡的一個數(shù)據(jù)塊, 然后將該數(shù)據(jù)塊中的數(shù)據(jù)讀出并存入讀寫器MCU的片內(nèi)RAM中。 M
15、CU采用查詢方式與MCM通信。 實(shí)訓(xùn)程序說明: mode 選擇密碼集KEYSET0、1、2及密碼A、B sector_nr 認(rèn)證扇區(qū)號(015) R_H_BUF 讀入數(shù)據(jù)緩沖區(qū)首地址 R_E_BUF 讀入數(shù)據(jù)暫存區(qū)首地址 W_H_BUF 寫入數(shù)據(jù)區(qū)首地址 R_addr 被讀取的塊地址(063) W_addr 被寫入的塊地址(063),實(shí)訓(xùn)步驟,用非接觸式IC卡讀寫軟件MWRF向MCM中下載密碼,讀出并記錄MIFARE1卡的TAGTYPE、SN、SIZE,讀出并記錄卡中某數(shù)據(jù)塊(如扇區(qū)1塊0)的數(shù)據(jù)。 用鑷子取出非接觸式IC卡開發(fā)板上的MCU芯片,將仿真頭插入MCU的IC座。 編譯實(shí)訓(xùn)程序,設(shè)置
16、斷點(diǎn)。 打開片內(nèi)RAM及寄存器窗口,在寫數(shù)據(jù)區(qū)(首地址為10H的16個單元)設(shè)置要寫入卡中的數(shù)據(jù)。 天線范圍內(nèi)無卡時運(yùn)行程序,記錄程序停在斷點(diǎn)處的相關(guān)數(shù)據(jù)。說明是否能正確讀/寫卡,如不能,根據(jù)現(xiàn)象定位故障點(diǎn)。 將卡置入天線范圍內(nèi),運(yùn)行程序,記錄程序停在斷點(diǎn)處的相關(guān)數(shù)據(jù)。說明是否能正確讀/寫卡,如不能,根據(jù)現(xiàn)象定位故障點(diǎn)。,實(shí)訓(xùn)程序: mode EQU 00H;設(shè)置KEYSET=KEYSET0,使用密碼A sector_nr EQU 01H;設(shè)置認(rèn)證扇區(qū)為扇區(qū)1 R_H_BUF EQU 40H;讀入數(shù)據(jù)緩沖區(qū) R_E_BUF EQU 50H;讀入數(shù)據(jù)暫存區(qū) W_H_BUF EQU 10H;寫入數(shù)
17、據(jù)區(qū) R_addr EQU 04H;被讀取的塊地址(扇區(qū)1的塊0) W_addr EQu 05H;被寫入的塊地址(扇區(qū)1的塊1),ORG 0000H AJMP MAIN ORG 0050H MAIN: MOV SP,#60H;重新設(shè)置堆棧 CLR EA;關(guān)閉所有中斷 CLR P3.4 SETB P3.3;關(guān)閉MCM200 NOP NOP CLR P3.3;激活MCM200 NOP LCALL D500MS START: NOP NOP MOV A,#80H;SOR軟件復(fù)位 MOV R0,#01H MOVX R0,A NOP NOP LCALL D500MS CLR P3.3;再次激活MCM200 CLR P3.3,MOV R2,#01H;選擇REQUEST ALL 指令 LCALL REQUEST;請求響應(yīng)REQUEST SETB p3.4 ;斷點(diǎn),查看TAGTYPE(20H)(21H) LCALL ANTICOLLISION ;防沖突ANTICOLLISION SETB P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZHAQ 6-2024 帶逆變輸出的儲能電源
- 醫(yī)院與醫(yī)學(xué)檢驗(yàn)技術(shù)人員2025年度勞動合同
- 二零二五年度股權(quán)質(zhì)押與企業(yè)債務(wù)重組合同
- 二零二五年度集體宿舍租賃與社區(qū)治理服務(wù)合同
- 全面履行原則在2025年度房地產(chǎn)項(xiàng)目開發(fā)合同中的執(zhí)行要求
- 二零二五年度汽車運(yùn)輸安全責(zé)任保險合作協(xié)議
- 二零二五年度文化展覽聘請藝術(shù)藝人演出合同
- 2025年度高科技研發(fā)項(xiàng)目投資債轉(zhuǎn)股協(xié)議書
- 2025年度新能源汽車產(chǎn)業(yè)鏈債權(quán)轉(zhuǎn)讓合同
- 二零二五年度電子元器件制造勞務(wù)派遣員工合同
- NB-T31065-2015風(fēng)力發(fā)電場調(diào)度運(yùn)行規(guī)程
- 2024山東能源集團(tuán)中級人才庫選拔【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 油田設(shè)備租賃行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃行業(yè)投資戰(zhàn)略研究報告(2024-2030)
- 四川省綿陽市東辰學(xué)校2023-2024學(xué)年七年級下學(xué)期3月月考語文卷
- 中國古典風(fēng)格設(shè)計
- 社會實(shí)踐報告表格范本
- 市政綜合項(xiàng)目工程竣工項(xiàng)目驗(yàn)收總結(jié)報告自評
- 2024年“民用無人機(jī)及多旋翼無人機(jī)”駕駛員操控員技能與理論知識考試題庫含答案
- 2019譯林版高中英語全七冊單詞總表
- T-BJCC 1003-2024 首店、首發(fā)活動、首發(fā)中心界定標(biāo)準(zhǔn)
- 園區(qū)宣傳方案
評論
0/150
提交評論