RFID讀卡模塊原理圖是ORCAD的,有PDF預覽,PCB是PADS的,還有BOM燒寫說明,標注圖等。其中UART輸出是量產(chǎn)過的 韋根輸出的只是看示波器波形是對的,沒有實際應用;里面有源代碼,編寫前提是是CODE小于1K RAM小于64字節(jié)。
原理圖原理就是CD4060產(chǎn)生125KHZ的方波,經(jīng)過推挽電路進行功率放大,高頻電流進入LC串聯(lián)諧振電路,345uH和4.7NF的諧振頻率正好是125KHZ,這時電容兩端電壓會到十幾伏,如果用CBB電容,會到二十多伏,這時讀卡距離會到10CM以上。當有卡接近線圈時,線圈兩端會有曼徹斯特編碼的調(diào)幅波。通過二極管以及電容的檢波和濾波,產(chǎn)生的小信號送入LM358進行放大和整形,變成單片機可以讀取的曼徹斯特編碼信號。
關于硬件電路設計上,CD4060在3.3V時 4M以下的晶振都可以起振,但2M的晶振體積很大,所以用了4M。實驗發(fā)現(xiàn)ATTINY13的頻率隨著工作電壓的變化會有很大的變化,所以不能用RC校準了,正好CD4060會輸出4M,所以用來當系統(tǒng)時鐘,保證時序的精確性。這樣模塊在3.3V 5V都能工作。
ATTINY13接不了無緣晶振 只能接有源的~ 它只有一個CLKIN腳~有源晶振價格就貴了。
另外ATTINY13只有5個IO口
1個用于中斷
1個用于UART輸出
1個用于CLKIN
1個用于上電波特率配置
1個用于曼徹斯特編碼輸入 正好用完了
RFID讀卡模塊
模塊正反面
串口收到5個字節(jié)
前4個字節(jié)就是卡號
程序中,根據(jù)曼徹斯特原理,找到長電平和短電平,根據(jù)跳變沿分析出0數(shù)據(jù)還是1數(shù)據(jù)。然后尋找消息頭,后面的數(shù)據(jù)進行 行 列奇偶校驗,從而分析出卡號。
程序上電時,通過ADC引腳讀取外部電阻的分壓配置,從而初始化出4中波特率。然后進行讀卡操作。實際應用中,要保證讀卡的穩(wěn)定,當卡靠近線圈時,要只發(fā)一次數(shù)據(jù)。要很好的去抖。代碼不能超過1K?,F(xiàn)在代碼正好1024個字節(jié)。關于奇偶校驗算法,異或和要比對2取余簡潔,但我測試時發(fā)現(xiàn)異或和代碼長度大于對2取余,所以用了對2取余。
RFID讀卡模塊原理圖+PCB+代碼+調(diào)試至附件下載