日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PN512使用的一些小技巧

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PN512使用的一些小技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PN512使用的一些小技巧

    • 說回前言
    • 并非射頻識別的最佳平臺
    • PN512寄存器配置值
    • PN512天線匹配電路
    • 替代方案考慮

說回前言

上一篇文章講了我使用PN512的一些內容,不少網友回復我,還有人給我郵件(郵件地址penrose@diwuceng.com,歡迎技術交流),但是還是有不少人提到復刻比較困難,我做這個東西已經有半年時間,踩了不少坑,這邊也給大家多分享些自己的心得。

并非射頻識別的最佳平臺

首先第一點,必須得說PN512并非射頻識別的最佳平臺。PN512是一款并不新(甚至挺舊)的片子,受限于功率原因,讀卡距離比較近,即使是支持距離最遠的NFCIP也不超過50mm,ISO14443協議的卡讀取距離更近,目前可以用來替代的芯片不少,如PN5180等都是不錯的替代方案。都是恩智浦生產的芯片,所以在設置寄存器命名上有非常多的相似之處,所以遷移成本比較低,當然啦,遷移之前還是需要注意有些寄存器雖然命名相同但是設置值已經完全不同了。
先跟大家說明,PN512絕非最佳平臺,如果實際需要和PN512的性質不匹配,還請回頭是岸。

PN512寄存器配置值

目前網絡上比較常見到的是潘春偉的關于射頻識別的一系列博客,他的博客中有一篇關于PN512射頻芯片初始化寄存器設置的內容,據他所說,他實現了一個能夠識別3種卡片的平臺并將配置代碼給出。需要注意,PN512 并不能同時實現多種卡的識別讀取,因為多種卡的識別讀取對PN512的寄存器配置完全不同,我實現了支持讀取ISO/IEC 14443協議A卡B卡和NFC-IP三種協議的讀卡器,受限于PN512的這種特性,我的射頻信號并不連續,而是中斷的。
我將這部分寄存器設置的數組及部分寄存器說明貼在下面,僅供參考,畢竟我使用這套數據并沒有實現功能,有可能是與天線不匹配的關系,我采用的天線體積較小,發送和接收時都需要較大增益,如果天線足夠大,對這幾個參數就會相對寬容很多.

*PN512寄存器設置數組 code unsigned char CardTypeSetReg[ ][5]={ {0x08,0,0x08,0x08,0x08},Status2Reg,turn off crypto {0x0C,1,0x10,0x10,0x10},ControlReg,pn512 act as initiator {0x11,2,0x38,0x39,0x3B},ModeReg,crcpreset {0x12,2,0x92,0x00,0x83},TxModeReg,txcrc enable,felica at 212kbps,mifare106,typeb106 {0x13,2,0x92,0x00,0x83},RxModeReg,rxcrc enable,felica at 212kbps,mifare106,typeb106 {0x14,2,0x83,0x83,0x83},TxControlReg,tx2 inverted,tx1 and tx2 out enable {0x15,2,0x00,0x40,0x00},TxAutoReg,antenna setting,100% ask disable for felica and typeb {0x16,2,0x10,0x10,0x10},TxSelReg,tx output from internal coder {0x17,2,0x84,0x86,0x86},RxSelReg,rxwait,felica=4,14443=6 {0x18,2,0x55,0x84,0x44},RxThresholdReg,set minlevel and collevel,when use rc531,typea=0xff(max),typeb=0x44 {0x19,2,0x41,0x4D,0x4D},DemodReg,Defines demodulator,when use rc531,TAU=E {0x1A,2,0x00,0x00,0x00},FelNFC1Reg,Defines the length of the FeliCa Sync bytes and the minimum length of the received packet {0x1D,2,0x11,0x10,0x10},ManualRCVReg,Parity Disable,High Pass Corner Frequency spectrum down to 212 kHz for felica,14443 set to 106kbps {0x1E,2,0x00,0x00,0x90},TypeBReg,typeB settings {0x23,2,0x88,0x88,0x88},GsNOffReg,Selects the conductance for the N-driver of the antenna driver pins TX1 and TX2 when the driver is switched off {0x24,2,0x26,0x26,0x26},ModWidthReg,Controls the modulation width settings,rc531=0x13 {0x26,2,0x79,0x7F,0x79},RFCfgReg,Configures the receiver gain and RF level detector sensitivity {0x27,2,0x88,0x88,0x88},GsNOnReg,Selects the conductance for the N-driver of the antenna driver pins TX1 and TX2 when the driver is switched on {0x28,2,0x30,0x20,0x20},CWGsPReg,Defines the conductance of the P-driver during times of no modulation {0x29,2,0x06,0x06,0x06} ModGsPReg,Defines the driver P-output conductance during modulation,不大于10可讀,對讀卡距離影響非常大 }; 第一列是寄存器地址;第二列為寄存器設置方法:0表示清0對應位,1表示置1對應位,2表示直接寫入;第三列是操作FELICA設置值;第四列是操作ISO/IEC 14443A/MIFARE設置值;第五列是操作ISO/IEC 14443B設置值。 */

有幾個比較有意思的地方說明,RxThresholdReg閾值調整,調整這個寄存器的參數有時會有驚喜.

PN512天線匹配電路

與常見的天線調試思路類似,天現在一定的外圍電路下達到諧振的效果可以使得天線上的信號峰值最大,PN512的天線外圍電路參考如下:

這里的參數是以我自己的設計的天線為基礎的,各位朋友還是建議自己調試得到最佳數據,我框選出來的幾個電容是決定天線上信號波形參數最重要的元件,基本上是通過反復焊接比較數據結果得出的.R16和R17兩個電阻調試階段可以設定為0,若覺得天線上波形峰值過大可以簡單加阻值解決,注意天線兩端的電路元件必須對稱,布板也必須對稱排列,因為我們的信號基本上是差分信號,要盡量減少其他因素導致的誤差.

替代方案考慮

如果對性能更高的射頻識別有要求,可以采用同一類型的PN5180芯片,若性能要求并不嚴格可以使用更簡單的RC523芯片,基本的代碼完全可以輕松移植.

總結

以上是生活随笔為你收集整理的PN512使用的一些小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。