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