freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于rc522的非接觸式ic卡讀卡器設(shè)計(jì)含程序資料(編輯修改稿)

2025-07-24 19:11 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 FIFOLevelRegFIFO中保存的字節(jié)數(shù)。地址:0X0A。復(fù)位值:0X00。 FIFOLevelReg的位描述 ControlReg 包含不同的控制位。地址:0X0C。復(fù)位值:0X20。 ControlReg的位描述 BitFramingReg面向位的幀的調(diào)節(jié)。地址:0X0D。復(fù)位值:0X00。 BitFramingReg的位描述 CollReg定義在RF接口上檢測(cè)到的第一個(gè)位沖突。地址:0X0E。復(fù)位值:0Xxx。 CollReg的位描述 TxControlReg控制天線驅(qū)動(dòng)器管腳TX1和TX2的邏輯操作。地址:0X14。復(fù)位值:0X80。 TxControlReg的位描述 命令集 概述MF RC522的命令操作有發(fā)送接收數(shù)據(jù)、認(rèn)證和復(fù)位芯片等,不同的操作對(duì)應(yīng)了不同的4位二進(jìn)制命令代碼。通過向mandreg寄存器的低4位寫入命令代碼來執(zhí)行相應(yīng)的操作。執(zhí)行一個(gè)命令所需的參數(shù)和/或數(shù)據(jù)通過FIFO緩沖區(qū)來交換[14]。 通用特性 需要數(shù)據(jù)輸出時(shí),會(huì)等待FIFO緩沖區(qū)出現(xiàn)數(shù)據(jù)時(shí),收發(fā)命令不影響。BitFramingReg寄存器的StartSend位置位時(shí),啟動(dòng)數(shù)據(jù)發(fā)送,只有收發(fā)命令一起用才有效。若某個(gè)命令是需要一定數(shù)的參數(shù)啟動(dòng)時(shí),只有當(dāng)FIFO緩沖區(qū)接收到與之相匹配參數(shù)才能處理。FIFO緩沖區(qū)不能在命令啟動(dòng)時(shí)自動(dòng)清除。而且,也有可能先將命令參數(shù)和/或數(shù)據(jù)字節(jié)寫入FIFO緩沖區(qū),在啟動(dòng)命令[14]。當(dāng)單片機(jī)向RC522的mandreg寄存器寫入新的命令代碼,會(huì)自動(dòng)終止上一個(gè)命令代碼所做的操作。 命令概述 命令概述4 通信原理 SPI通信 概述 SPI通信是一種高速串行通信,連線也很簡(jiǎn)單。圖中,SCK、MOSI、MISO、NSS分別對(duì)應(yīng)芯片的DDDSDA管腳 連接到帶有SPI接口的微控制器在RC522模塊與單片機(jī)SPI通信中作從機(jī),單片機(jī)作主機(jī)。工作時(shí)鐘SCK由單片機(jī)產(chǎn)生。單片機(jī)通過MOSI向RC522寫入數(shù)據(jù),單片機(jī)通過MISO從RC522中讀出數(shù)據(jù) 每次進(jìn)行數(shù)據(jù)交換時(shí),按照高位在前低位在后的順序。MOSI和MISO上的數(shù)據(jù)只會(huì)在SCK脈沖的下降沿改變,在SCK脈沖的上升沿保持不變。 讀數(shù)據(jù)單片機(jī)通過MISO從RC522中讀出數(shù)據(jù)的過程中,需要先通過MOSI向RC522寫入讀模式和數(shù)據(jù)地址,才能在MISO上得到FIFO緩沖區(qū)的數(shù)據(jù)。 MOSI和MISO的字節(jié)順序 寫數(shù)據(jù)單片機(jī)通過MOSI向RC522中寫入數(shù)據(jù)的過程中,需要先通過MOSI向RC522寫入寫模式和數(shù)據(jù)地址,才能在MOSI上向FIFO緩沖區(qū)寫入數(shù)據(jù)。 MOSI和MISO的字節(jié)順序 地址字節(jié)之前說明的讀寫模式和地址按如下表的字節(jié)格式。第一個(gè)字節(jié)的最高位設(shè)置讀寫模式。讀寫的寄存器地址應(yīng)向左移一位,最低位置0,最高位按讀寫格式置位。 地址字節(jié)格式 SPI兼容接口的時(shí)序 SPI的時(shí)序規(guī)范 SPI時(shí)序圖 如SPI時(shí)序圖所示,MOSI和MISO上出現(xiàn)數(shù)據(jù)之前,必須使NSS信號(hào)從高電平置成低電平,傳輸完畢后設(shè)置成高電平。 串口通信 串行接口結(jié)構(gòu) 串行接口結(jié)構(gòu)如圖所示,有兩個(gè)結(jié)構(gòu)上獨(dú)立名稱相同的收發(fā)SBUF緩沖器,它們的地址都是99H 。收發(fā)SBUF緩沖器是雙緩沖結(jié)構(gòu),分別由收發(fā)控制器控制。在程序中,SBUF=A表示將接收SBUF緩沖器收到數(shù)據(jù)A發(fā)送給串口。A=SBUF表示從串口中得到的數(shù)據(jù)存入A,因此,使用SBUF緩沖器并不會(huì)導(dǎo)致重疊。 串行通信的數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)串行異步通信的特點(diǎn):收發(fā)雙方的時(shí)鐘可以相異,減少了硬件設(shè)備,多了點(diǎn)自主性,但每個(gè)字節(jié)的數(shù)據(jù)要加上2~3位的起止位,各個(gè)數(shù)據(jù)之間還有空閑時(shí)間,所以串行異步通信傳輸效率低。5 讀卡器的硬件電路設(shè)計(jì) 讀卡器硬件組成PL2303串口電路電源電路蜂鳴器驅(qū)動(dòng)電路51單片機(jī)RC522芯片天線模塊串行通信電源供應(yīng)計(jì)算機(jī) 讀卡器結(jié)構(gòu)框圖從本課題的要求上看,非接觸近距離識(shí)別技術(shù)主要研究基于射頻原理的非接觸IC卡識(shí)別技術(shù),該課題涉及到無線通信和射頻識(shí)別技術(shù),因此需要一片具有調(diào)制和解調(diào)功能的射頻芯片,從安全性能上需要能對(duì)通信時(shí)的數(shù)據(jù)進(jìn)行加密,所以MF RC522可以作為射頻識(shí)別芯。射頻芯片與IC卡之間的通信,需要RC522連接一個(gè)具有能形成RF場(chǎng)的天線模塊。51單片機(jī)起到連接IC卡和計(jì)算機(jī)的橋梁作用,用以處理數(shù)據(jù)和寫入用戶信息,是整個(gè)系統(tǒng)的核心。單片機(jī)通過PL2303模塊將卡號(hào)和用戶信息發(fā)送到計(jì)算機(jī),得到的數(shù)據(jù)通過串口調(diào)試助手軟件來顯示。同時(shí),整個(gè)系統(tǒng)的電源由計(jì)算機(jī)的USB口提供,也是通過PL2303模塊傳給單片機(jī)。 微控制器STC11F60XE是采用8051核的ISP(In System Programming)在系統(tǒng)可編程芯片,是一款高速/ 低功耗的增強(qiáng)型8051 單片機(jī),芯片內(nèi)含有60KB的用戶應(yīng)用程序空間,可反復(fù)擦寫10萬次, 經(jīng)常工作在5V的電壓和12MHz的時(shí)鐘頻率下,芯片內(nèi)部含有MAX810 專用復(fù)位電路。與傳統(tǒng)的8051相比,多了一個(gè)獨(dú)立波特率發(fā)生器,除去了定時(shí)器2,工作速率相當(dāng)于普通51單片機(jī)的十多倍,指令的執(zhí)行速度也全面提升,最快的指令能快24倍,該芯片與常用STC89C51的引腳結(jié)構(gòu)相同,并且通用所有的普通8051單片的C語言指令代碼,只要學(xué)會(huì)使用普通的8051單片機(jī)也就會(huì)使用該款芯片。如圖所示的是STC11F60XE的最小系統(tǒng),所用的是DIP40封裝的芯片,PO接口接上1KΩ的排阻,單片機(jī)EA管腳外接一個(gè)LED燈,當(dāng)系統(tǒng)通電后,LED亮。 STC11F60XE最小系統(tǒng) 蜂鳴器 蜂鳴器電路 蜂鳴器一端接上8550PNP三極管用以放大電流,基極上連接單片機(jī)的P20接口,另一端直接接地。當(dāng)智能卡操作正確時(shí),蜂鳴器長(zhǎng)響一聲。當(dāng)智能卡操作錯(cuò)誤時(shí),蜂鳴器發(fā)出警報(bào),短響三聲。 PL2303串口模塊該器件內(nèi)置USB功能控制器、USB 收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號(hào)的UART, 只需外接幾只電容就可實(shí)現(xiàn)USB 信號(hào)與RS232 信號(hào)的轉(zhuǎn)換,能夠方便嵌入到各種設(shè)備[15];PL2303模塊是一個(gè)雙向串行異步通信串口,它既可以把從計(jì)算機(jī)接收到的USB數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的串行RS232數(shù)據(jù)流格式發(fā)送給單片機(jī),也可以把單片機(jī)的二進(jìn)制數(shù)據(jù)加工成USB數(shù)據(jù)傳送給計(jì)算機(jī)。這個(gè)轉(zhuǎn)換過程是有芯片自動(dòng)進(jìn)行,開發(fā)者不用再作程序設(shè)計(jì)。PL2303 的高兼容驅(qū)動(dòng)可在大多操作系統(tǒng)上模擬成傳統(tǒng)COM 端口,并允許基于COM 端口應(yīng)用可方便地轉(zhuǎn)換成USB接口應(yīng)用,通訊波特率高達(dá)6 Mb/s[16]。,支持串行RS232數(shù)據(jù)流格式,可編程常用的波特率,如4800b/s、9600b/s和19200b/s等。支持目前的WindowsXP,Windows7,Windows8,Windows10等操作系統(tǒng)。該模塊DM、MP管腳連接著USB的D、D+端口,它們之間分別連接著一個(gè)27R的限流電阻,模塊上的USB接口是用來連接計(jì)算機(jī)上的USB接口的,整個(gè)5V電源電壓是通過這個(gè)USB接口提供給整個(gè)系統(tǒng)的,在USB的VCC電源端連接著一個(gè)電容和一個(gè)電解電容,起到抗干擾的作用,芯片上的TXD與單片機(jī)的RXD管腳連接,芯片上的RXD與單片機(jī)的TXD管腳連接,整個(gè)芯片的工作始終由一個(gè)12MHz的晶振提供。 PL2303電路 MF RC522電路 MF RC電路 MF RC522是使用SPI接口與微控制器通信,用不到的管腳直接懸空。 ,輸入輸出端接上電容,起到濾出雜波的作用。 天線模塊電感藕合式射頻天線用于產(chǎn)生磁通量,而磁通量用于向非接觸式IC卡提供電源并在讀卡器與非接觸式Ic卡之間傳輸信息[16]。一個(gè)天線電路有兩種匹配方式,直接匹配和50Ω匹配方式,我這采用直接匹配的方式設(shè)計(jì)天線,這種方式電路簡(jiǎn)單,且完全滿足與非接觸式IC卡的通信。 天線模塊電路天線模塊包含低通濾波電路、接收電路、天線匹配電路和天線共四個(gè)部分:低通濾波電路:,此頻率同時(shí)用作驅(qū)動(dòng)天線的載波基頻,在Tx1和Tx2輸出端加上LC低通濾波器來濾掉高次諧波。接收電路:Rx為信號(hào)接收端,Vmid為Rx提供輸入電勢(shì)。Rx和Vmid之間連接了分壓電阻R11和R12。天線匹配電路:如圖,由C20和C2C21||C2C23||C24組成(||為并聯(lián)),經(jīng)過天線的調(diào)諧過程可以逐漸得出電容的最優(yōu)值。天線:直接匹配的天線是低電阻的器件,RC522又是低功耗芯片,所以得滿足一定的耦合系數(shù)k,k被定義為讀卡器天線線圈與卡線圈之間的距離和兩個(gè)線圈大小的一個(gè)幾何參數(shù)??梢栽O(shè)計(jì)為圓形或者方形天線,~。 濾波和接收電路參數(shù)的設(shè)計(jì)根據(jù)Philips天線設(shè)計(jì)應(yīng)用指南中,Tx1和Tx2與地之間的結(jié)構(gòu)、元件參數(shù)是對(duì)稱相等的,低通濾波電路和接收電路的元件參數(shù)是確定的,L1=L2= UH,C18=C19=47PF,R11=820Ω,R12=,C17=。 天線線圈電路參數(shù)的設(shè)計(jì)在我的設(shè)計(jì)中,選擇設(shè)計(jì)方形的天線,線圈匝數(shù)為4。最里面的一圈中,寬33mm;最外圈中,;。 天線線圈PCB圖天線線圈本身就可用電感Lant、損耗電阻Rant和并聯(lián)的損耗電容Cant組成。在計(jì)算品質(zhì)因子和天線調(diào)諧時(shí)損耗電容Cant可以忽略。線圈的等效電路為: 天線等效電路(1)估算天線線圈的電感公式為: ()其中,L為線圈電感,單位nH。l為一圈導(dǎo)線的長(zhǎng)度,單位cm。取平均值,l=++36+33=151mm=。d為PCB上導(dǎo)線的寬度。k=(方形線圈)。N為線圈匝數(shù)。經(jīng)計(jì)算,Lant≈(2)線圈的損耗阻抗Rant用阻抗分析儀精確測(cè)量,該值越小越好。經(jīng)查閱資料得,我這里取Rant=。(3)品質(zhì)因子的計(jì)算公式: ()其中,f=。經(jīng)計(jì)算得,Q=39。因?yàn)樵娜莶詈蛯?duì)溫度的依靠,Q因子最好取35,我計(jì)算的Q值為39,兩值比較接近。所以,本次設(shè)計(jì)的天線可以使用。 天線匹配電路參數(shù)的設(shè)計(jì)在設(shè)計(jì)直接匹配天線的匹配電路時(shí),電容值由天線本身和環(huán)境影響來決定,經(jīng)過天線的調(diào)諧過程可以逐漸得出電容的最優(yōu)值。調(diào)諧過程分為兩個(gè)部分:其一就是在能量傳遞中得到最優(yōu)的工作距離;其二,計(jì)算品質(zhì)因子保障數(shù)據(jù)正確傳輸。已知Lant≈,調(diào)諧過程以下表的電容值作為起始值,將直接匹配的天線調(diào)諧出最優(yōu)的狀況。 天線匹配電路的起始值經(jīng)調(diào)諧,C20=C25=15PF,C21=C23=180PF,C22=C24=10PF,可使天線處于最優(yōu)狀態(tài)。6 讀卡器的軟件程序設(shè)計(jì) 程序設(shè)計(jì)思路 總程序流程圖(1)串口初始化:先設(shè)定波特率為9600,設(shè)串口為工作方式1,定時(shí)器為工作方式2,用波特率初值計(jì)算軟件得出定時(shí)器的計(jì)數(shù)初值為FDH。(2) RC522初始化:使RC522復(fù)位。選擇ISO 14443協(xié)議typeA。對(duì)相關(guān)的寄存器進(jìn)行設(shè)置:ModeReg=0x3D, 為PCD發(fā)送器的開啟做準(zhǔn)備,sigin高電平有效,CRC預(yù)設(shè)值6363。 RxSelReg=0x86,選擇非接觸式UART輸入,定義6個(gè)幀保護(hù)時(shí)間;TModeReg=0x8D,自動(dòng)啟動(dòng)定時(shí)器,以減計(jì)數(shù)的方式;RFCfgReg=0x7F,接收器信號(hào)電壓的增益因子48dB。設(shè)置RC522內(nèi)部定時(shí)器初值為0x30。最后打開天線。 RC522初始化流程圖(3)尋卡:進(jìn)行IC卡的檢測(cè),發(fā)送請(qǐng)求命令為ISO 14443 TYPE A通信協(xié)議的REQIDL命令(尋天線區(qū)內(nèi)未進(jìn)入休眠狀態(tài)的卡),將此命令存入FIFO緩沖區(qū),當(dāng)有卡靠近入感應(yīng)區(qū),用TRANSCEIVE命令將REQIDL命令發(fā)送到IC卡,等待感應(yīng)區(qū)域的卡對(duì)讀卡器的返回應(yīng)答碼ATQA,接收到卡片的類型碼0x0400(Mifare 1 S50)。(4)防沖撞:清認(rèn)證標(biāo)志位,設(shè)置幀格式,即最后一個(gè)字節(jié)的所有位都應(yīng)該被發(fā)送,復(fù)位沖突寄存器,用TRANSCEIVE命令將防沖撞ANTICOLL1命令發(fā)送到IC卡,接收IC卡返回的4個(gè)字節(jié)的序列號(hào)。(5)選定卡片:得到校驗(yàn)碼,將2個(gè)字節(jié)的卡片類型、4個(gè)字節(jié)的序列號(hào)和1字節(jié)的校驗(yàn)碼進(jìn)行CRC計(jì)算,將其發(fā)送給卡片,通信成功,則返回SAK(選擇確認(rèn))SAK 1字節(jié)+2字節(jié)CRC校驗(yàn)(0x18(24)共3個(gè)字節(jié))。(6)認(rèn)證:驗(yàn)證區(qū)0的密鑰KEY A,默認(rèn)密碼為6個(gè)字節(jié)的FF,密碼正確則認(rèn)證成功,卡允許進(jìn)行讀寫操作。(7)寫用戶名:可以在程序里定義一個(gè)常量數(shù)組,用戶名字由英文組成,每個(gè)英文字母用ASCII碼表示,如INT8U const tangliankai[16] = {0x74, 0x61, 0x6e, 0x67, 0x6c, 0x69, 0x61,0x6e,0x6b,0x61, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00,}。用PICC_WRITE(0xA0)寫命令將數(shù)組寫入?yún)^(qū)0的塊1處。(8)讀卡號(hào)和用戶名:通過PICC_READ(0x30)讀命令讀出區(qū)0的塊0,這里要得到前4個(gè)字節(jié)的序列號(hào)。讀寫命令只能讀寫整塊16個(gè)字節(jié)的數(shù)據(jù)。讀出塊1的數(shù)據(jù),存到CardReadBuf數(shù)組。(9)轉(zhuǎn)換卡號(hào):由于串口助手顯示的是ASCII碼所表示的字符,則需要將讀出的4個(gè)字節(jié)的序列號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)存入CardUid數(shù)組中。(轉(zhuǎn)換過程:假設(shè)讀到的序列號(hào)的其中一個(gè)字節(jié)為2A,將2A拆成2個(gè)字節(jié)00A,再換成00A所代表的ASCII碼32H、41H,將32H、41H輸出到串口助手上,顯示出00A。)(10)發(fā)送數(shù)據(jù):關(guān)閉接收中斷,中斷標(biāo)志位TI清零,將數(shù)組中的第一個(gè)字節(jié)給到SBUF寄存器,判斷TI位,發(fā)送結(jié)束后,TI=1,再打開接收中斷。如此,將CardUid和CardReadB
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1