低功耗读卡(RFID)电路与程序实现
低功耗讀卡(RFID)電路與程序?qū)崿F(xiàn)
隨著移動時代的到來,13.56M射頻卡被廣泛應(yīng)用于商城,公司,小區(qū),銀行等各個領(lǐng)域,為滿足實(shí)時響應(yīng)的需求,移動終端功耗問題成為衡量設(shè)備性能的重要參數(shù)指標(biāo)。本博文旨在分享一種低成本低功耗的射頻卡低功耗方案,綜合功耗2——3uA。
一、電路分析
原理分析:VTX1接讀卡天線,VADC 接 MCU 的 AD 引腳,電場打開 200uS 后,做 AD 采集,利用有卡和無卡 AD 采集的結(jié)果不同判斷卡片是否存在。
二、程序設(shè)計(jì)
進(jìn)入低功耗前先進(jìn)行讀取VADC值操作,然后將讀取的值保存起來。低功耗下每500ms喚醒一次程序,打開讀卡天線,檢測AD值有沒有變化,如果變化比較大代表有卡靠近,否則就是沒有卡,繼續(xù)睡眠。為了防止環(huán)境變量的干擾,可以每五次或者十次更新一次用作對比的閾值(結(jié)果取平均值),保障系統(tǒng)長效運(yùn)行。
// 啟動射頻芯片
RC_RST(ON); // Hard Power On
i = 0x00;
do
{
n = ReadRawRC(JREG_COMMAND);
i–;
} while (i != 0x00 && n != 0x20);
// 打開天線
WriteRawRC(JREG_TXCONTROL, 0x83); // reset value = 0x80; TX1 and TX2
enable;
Delay10uS(3);
// ADC 采集
clr_ADCF;
set_ADCS; // ADC start trig signal
while (ADCF == 0); // Wait end
g_iADCTemp = ADCRH<<8;
g_iADCTemp += ADCRL;
g_iADCTemp >>= 6; // Read ADC Value,
if (g_iADCTemp + 0x10 < g_iADCValue) // 0x10 是檢卡閾值,改小后可以提高檢
測靈敏度,但是穩(wěn)定性會下降
{
//有卡靠近,喚醒系統(tǒng)掃卡
}else
{
//沒有卡片繼續(xù)睡眠
}
/有卡靠近,喚醒系統(tǒng)掃卡
}else
{
//沒有卡片繼續(xù)睡眠
}
注:相關(guān)源文件在附件,技術(shù)交流:3075898843
總結(jié)
以上是生活随笔為你收集整理的低功耗读卡(RFID)电路与程序实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 多国语言转换 Excel
- 下一篇: Android Telephony9.0