導航:首頁 > 源碼編譯 > rfid演算法實現

rfid演算法實現

發布時間:2025-03-02 17:17:37

Ⅰ rfid技術標准採用了哪些crc檢驗演算法

一般用CRC16的C語言演算法:
#define PRESET_VALUE 0xFFFF
#define POLYNOMIAL 0x8408
unsigned int uiCrc16Cal(unsigned char const * pucY, unsigned char ucX)
{
unsignedchar ucI,ucJ;
unsignedshort int uiCrcValue = PRESET_VALUE;
for(ucI = 0; ucI < ucX; ucI++)
{
uiCrcValue = uiCrcValue ^ *(pucY + ucI);
for(ucJ = 0; ucJ < 8; ucJ++)
{
if(uiCrcValue& 0x0001)
{
uiCrcValue= (uiCrcValue >> 1) ^ POLYNOMIAL;
}
else
{
uiCrcValue= (uiCrcValue >> 1);
}
}
}
return uiCrcValue;
}
pucY是要計算CRC16的字元數組的入口,ucX是字元數組中字元個數。
上位機收到數據的時候,只要把收到的數據按以上演算法進行計算CRC16,結果為0x0000表明數據正確。像UR6258 UR5002等超高頻讀寫器都是用這樣的演算法的

Ⅱ 關於RFID防碰撞演算法中的Q值演算法

Q=S/G,CN=1/Q,so C=G/(S*N)

Ⅲ 求解釋RFID的防碰撞演算法中的查詢樹QT演算法麻煩詳細說一下演算法原理,如何防碰撞的謝謝~

查詢樹QT(QueryTree)是一種典型的樹結構演算法,其演算法原理:讀寫器發送長度為k的prefix(前置代碼,一般為置於一組號碼前的數字或字母,表示所屬區域等);標簽ID中前kbit與prefix匹配的tag反饋第(k+1)bit至最後1bit。如果讀寫器收到的標簽ID碰撞,再分別將prefix加「1」和「0」,作為新的prefix發送出去。如果沒有碰撞,就表明一個標簽被識別了。


舉例:設有三個標簽ID分別為「010」,「011」,「100」,讀寫器的查詢序列首先置為「0」、「1」,讀寫器先發送序列「0」進行查詢,發生碰撞,此時將序列置為「00」、「01」,再次分別發送,序列「00」沒有響應,序列「01」發生碰撞,將序列置為「010」、「011」,成功識別。回溯到序列「1」,只有標簽「100」響應,成功識別。如圖所示

閱讀全文

與rfid演算法實現相關的資料

熱點內容
怎麼可以下載蒙氏數學app 瀏覽:958
安卓怎麼清理運行內存 瀏覽:409
雲端伺服器如何訪問區域網 瀏覽:676
開發的手機app怎麼上架 瀏覽:320
如何用公司伺服器搭建網站 瀏覽:934
壓縮空氣系統設計說明 瀏覽:590
4g模塊雲伺服器 瀏覽:450
linux內核源代碼導讀 瀏覽:854
phprequire目錄 瀏覽:435
六紅中血流成河演算法 瀏覽:503
915安卓內測手游都有什麼 瀏覽:165
伺服器如何ghost系統安裝 瀏覽:246
美國程序員為什麼好找工作 瀏覽:85
pdf原圖 瀏覽:181
蘋果app變黑白怎麼關 瀏覽:645
一萬下載量的app怎麼收費 瀏覽:528
基於單片機的煙霧報警系統 瀏覽:938
pdf手機殼 瀏覽:858
bat編譯驅動 瀏覽:837
加密號碼的快遞還是自己的名字嗎 瀏覽:401