新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一款專用射頻讀卡器的軟件系統的設計及實現

        一款專用射頻讀卡器的軟件系統的設計及實現

        作者: 時間:2009-04-01 來源:網絡 收藏
        程序執行完Init_System()函數后執行RcChipReady函數。此函數的功能是初始化MF RC630芯片。
        4.2 硬件驅動
        4.2.1 PCF8563驅動
        由于本芯片是一款標準的I2C總線設備,所以硬件驅動實際上就是標準的I2C總線控制。由于篇幅有限,這里就不介紹了。
        4.2.2 驅動
        是MF RC500芯片的升級產品,所以MFRC630的大部分寄存器與MF、RC500均相同,它們對卡的操作流程也基本相同。下面介紹對卡的操作流程。
        (1)卡的操作流程
        整個系統的工作由對Mifare卡操作和系統后臺處理兩大部分組成。由于篇幅有限,本文只對Mifare卡的操作流程進行簡單介紹。Mifare One卡的操作可以分為以下幾項:
        ①復位請求。當一張Mifare卡片處在卡片讀寫器天線的工作范圍之內時,程序員控制讀寫器便向卡片發出REQUEST all(或REQUEST std)命令。卡片的ATR將啟動,將卡片Block 0中的卡片類型(TagType)號共2個字節傳送給讀寫器,建立卡片與讀寫器的第一步通信聯絡。如果不進行“得位請求”操作,讀寫器對卡片的其他操作將不會進行。
        ②反碰撞操作。如果有多張Mifare卡片處在卡片讀寫器天線的工作范圍之內,PCD將首先與每一張卡片進行通信,取得每一張卡片的序列號。由于每一張Mifare卡片都具有其唯一的序列號,決不會相同,因此PCD根據卡片的序列號來保證一次只對一張卡操作。該操作PCD得到PICC的返回值為卡的序列號。
        ③卡選擇操作。完成了上述2個步驟之后,PCD必須對卡片進行選擇操作。執行操作后,返回卡上的SIZE字節。
        ④認證操作。經過上述3個步驟,在確認已經選擇了一張卡片時,PCD在對卡進行讀/寫操作之前,必須對卡片上已經設置的密碼進行認證。如果匹配,才允許進一步的讀/寫操作。
        ⑤讀/寫操作。對卡的最后操作是讀、寫、增值、減值、存儲和傳送等操作。
        (2)MF RC500開發包移植
        在本系統中,主要是將標準的MF RC500開發包進行移植來完成驅動的編寫。在本系統中使用的是SPI總線,所以只要將MF RC500標準開發包中對寄存器讀/寫的函數改成SPI總線的讀/寫函數即可。在本系統中主要是增加了SpiSendByte()和SpiReByte()函數,同時修改了 ReadRawRc(uchar Address)和WriteR-awRc(uchar Address,uchar value)函數。部分代碼如下:
        4.2.3存儲器驅動

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 内丘县| 滨海县| 隆昌县| 丰镇市| 台北县| 龙南县| 武威市| 鞍山市| 百色市| 个旧市| 油尖旺区| 中江县| 玛沁县| 石柱| 出国| 个旧市| 昌都县| 大足县| 赤壁市| 汶上县| 长宁区| 香港 | 泉州市| 军事| 六枝特区| 泸州市| 齐齐哈尔市| 科技| 且末县| 汉川市| 柳林县| 贡山| 苏尼特左旗| 石景山区| 永丰县| 昭觉县| 西安市| 衡水市| 葫芦岛市| 泰安市| 高青县|