分享一個有關PN512在讀取身份證UID的源碼以及電路設計,這是是多年前用于某門禁方案中的模塊,為了確保和大家一起學習同時也為了公司保密要求,現在只分享該模塊的全部資料,如有不當之處還請大家見諒,如何冒犯之處請大家和我聯系,本人本著一起學習一起進步的目的,非用于商業目的,謝謝。
常用的RFID卡分布在高頻和超高頻。高頻卡目前的頻率主要是13.56MHz。有幾種標準;ISO-14443-A、ISO-14443-B、ISO-15693、ISO-18000-3;超高頻的有ISO-18000-6和EPC標準。ISO-14443-A和ISO-14443-B的主要區別在于編碼方式。ISO-14443-A是曼切斯特編碼,而NRZ是不歸零編碼。Mifare卡和Desfare卡都是ISO-14443-A卡。而身份證一般都是ISO-14443-B卡。Type A的卡速率一般在104kbps,TypeB的卡速率可以是104kbps,也可以是416kbps。ISO-15693與ISO-14443的區別在于傳輸距離。
15693的傳輸距離可以到1.5m,而ISO-14443的傳輸距離在4-10cm的范圍內。它的卡速率比較低,一般在104kbps/4。UHF和高頻卡的不同原理:13.56M的高頻卡的原理是電磁感應技術。通過交變的電磁場,給無源的卡提供能量,實現卡與讀卡器的通信。而UHF的原理是電磁傳播技術,與雷達探測類似,發出一段電磁波,再從反射回來的電磁波中讀取信息。UHF和高頻卡的不同特征:UHF:天線小、傳輸距離遠、成本高。高頻卡:天線大,傳輸距離近、成本低。
身份證UID讀取方法,在源碼ISO14443B中有介紹
ISO14443A主要用于讀取普通IC卡,也就是我們常說的大白卡,淘寶上才幾毛錢一張
ISO14443B主要讀取CPU卡的程序,這里我們用于讀取身份證的UID,有不明白之處可以先參考我上傳的身份證讀取方法。
上傳main函數,本人盡量將程序寫的非常簡單,容易入手,希望大家可以看明白。
用示波器讀取PN512信號波形,正弦波非常好看,波形幅值是可以調節的,大家可以通過調節電路中的C3 C4 C6 C7來調節波形,正常情況下波形可以達到2V就可以了,幅值越小讀取的距離越近,但是幅值太大的話容易讀取不穩定,具體大家可以自己調節一下。
讀取身份證UID
讀取普通IC卡ID
如果大家沒有接觸過這種讀卡芯片,建議大家網上買一塊復旦微電子的FM1701模塊來入手,這個是國產的,也很便宜,資料很多,適合入手,但是就性能而言比PN512差很多。