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