日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

RFID相关知识总结(超高频UHF)

發(fā)布時(shí)間:2024/8/26 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 RFID相关知识总结(超高频UHF) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

RFID標(biāo)簽分類(lèi)

1.LF(Low frequency) 低頻

頻段范圍: 125 KHz~135KHz(ISO18000-2)
常見(jiàn)應(yīng)用:該頻段特點(diǎn)是具有良好的物體穿透能力。廣泛應(yīng)用于進(jìn)出管理、門(mén)禁管理、考勤、車(chē)輛管理、
巡更、汽車(chē)鑰匙、動(dòng)物晶片、固定設(shè)備等。

2.HF(High Frequency) 高頻

頻段范圍: 13.56MHz(ISO18000-3)
常見(jiàn)應(yīng)用:供應(yīng)鏈、生產(chǎn)管理與產(chǎn)品跟蹤、貨架、智慧卡(身份證、醫(yī)保卡與交通卡等)、運(yùn)輸、門(mén)禁、票>>務(wù)(門(mén)票、電子票務(wù))、圖書(shū)和旅游卡等。

3.UHF(Ultra High Frequency) 超高頻

頻段范圍:860MHz~960MHz(ISO18000-6)
常見(jiàn)應(yīng)用:國(guó)土安全、供應(yīng)鏈、物流、移動(dòng)商務(wù)、防偽、電子牌照、倉(cāng)庫(kù)管理、機(jī)場(chǎng)行李管理等

4.MW(Micro Wave) 微波

頻段范圍:2.45 GHz(ISO18000-4)與5.8GHz(ISO18000-5)
常見(jiàn)應(yīng)用:定位跟蹤、自動(dòng)收費(fèi)系統(tǒng)、移動(dòng)車(chē)輛識(shí)別


UHF RFID存儲(chǔ)區(qū)簡(jiǎn)介

1.TID區(qū)

RFID標(biāo)簽的唯一識(shí)別碼區(qū)、TID號(hào)碼唯一且不重復(fù), 相當(dāng)于芯片的 "身份證"

2.EPC區(qū)

存儲(chǔ)用戶(hù)的EPC信息、16進(jìn)制數(shù)據(jù)。不同廠商的RFID芯片可寫(xiě)入的位數(shù)有所不同,常見(jiàn)EPC存儲(chǔ)16/24位。

3.User區(qū)

存儲(chǔ)用戶(hù)的自定義數(shù)據(jù), 不同廠商該區(qū)不一樣。impinj G2則沒(méi)有用戶(hù)區(qū), Philips則有28字節(jié)。

4.Reserved區(qū)

存儲(chǔ)Kill Password(銷(xiāo)毀)與Access Password(訪問(wèn))密碼。前兩個(gè)字節(jié)銷(xiāo)毀密碼、后兩個(gè)字節(jié)訪問(wèn)密碼。

以上4個(gè)存儲(chǔ)區(qū)均可寫(xiě)保護(hù)。意味著保護(hù)后該區(qū)永不可寫(xiě)或非安全模式下不可寫(xiě)。讀取保護(hù)則只對(duì)密碼區(qū)設(shè)置有效, 即需要在安全模式下進(jìn)行訪問(wèn)。TID與EPC則無(wú)法設(shè)置讀取保護(hù)。


UHF RFID閱讀器操作[ Impinj SDK C#示例 ]

不同閱讀器只會(huì)有SDK的調(diào)用方式有所不同, 功能都相同

1.EPC寫(xiě)入 [ 代碼示例 ]
常見(jiàn)的EPC寫(xiě)入、SDK需要先鎖定需要操作的RFID標(biāo)簽。
TID鎖定: TID唯一碼改寫(xiě),適用于批量更新,準(zhǔn)確
EPC鎖定: EPC可能存在重復(fù)的情況, 影響更新性能

static void ProgramEpc(string tid, string currentEpc,ushort currentPcBits, string newEpc)   
        {   
            // 檢查指定的 EPCs 是否有效長(zhǎng)度
            if ((currentEpc.Length % 4 != 0) || (newEpc.Length % 4 != 0))
                throw new Exception("EPCs must be a multiple of 16 bits (4 hex chars)");
            //創(chuàng)建標(biāo)簽操作序列
            TagOpSequence seq = new TagOpSequence();
            seq.TargetTag.MemoryBank = MemoryBank.Tid; 
            seq.TargetTag.Data = tid;
            TagWriteOp writeEpc = new TagWriteOp();
            writeEpc.Id = EPC_OP_ID;
            writeEpc.MemoryBank = MemoryBank.Epc;
            writeEpc.Data = TagData.FromHexString(newEpc);
            writeEpc.WordPointer = WordPointers.Epc;
            //標(biāo)簽訪問(wèn)密碼,未加密前默認(rèn)8個(gè)0
            writeEpc.AccessPassword = TagData.FromHexString("00000000"); 
            seq.Ops.Add(writeEpc);
            if (currentEpc.Length != newEpc.Length)
            {
                ushort newEpcLenWords = (ushort)(newEpc.Length / 4);
                ushort newPcBits = PcBits.AdjustPcBits(currentPcBits, newEpcLenWords);
                TagWriteOp writePc = new TagWriteOp();
                writePc.Id = PC_BITS_OP_ID;
                writePc.MemoryBank = MemoryBank.Epc;
                writePc.Data = TagData.FromWord(newPcBits);
                writePc.WordPointer = WordPointers.PcBits;
                //標(biāo)簽訪問(wèn)密碼,未加密前默認(rèn)8個(gè)0
                writeEpc.AccessPassword = TagData.FromHexString("00000000"); 
                seq.Ops.Add(writePc);
            }
            reader.AddOpSequence(seq); //操作序列添加進(jìn)入閱讀器中
        }

2.EPC寫(xiě)保護(hù) [代碼示例]

防止標(biāo)簽進(jìn)行初始化后, 其他人員惡意進(jìn)行非法更新或銷(xiāo)毀操作, 使得芯片無(wú)法在流程及應(yīng)用中發(fā)揮其作用, 一般標(biāo)簽在初始化后需要進(jìn)行加密保護(hù)或標(biāo)簽供應(yīng)商出廠前進(jìn)行加密保護(hù), 加密保護(hù)主要包含銷(xiāo)毀與訪問(wèn)密碼保護(hù)。

                    TagWriteOp writeOp = new TagWriteOp();
                    writeOp.Id = pcid;
                    writeOp.AccessPassword = null;
                    writeOp.MemoryBank = MemoryBank.Reserved;
                    writeOp.WordPointer = WordPointers.AccessPassword;
                    writeOp.Data = TagData.FromHexString("00000000"); 
                    seq.Ops.Add(writeOp);
                    //EPC 標(biāo)簽鎖定操作
                    TagLockOp lockOp = new TagLockOp();
                    lockOp.Id = pcid;
                    lockOp.AccessPasswordLockType = TagLockState.Lock;
                    lockOp.UserLockType = TagLockState.Lock;
                    seq.Ops.Add(lockOp);

3.User區(qū)寫(xiě)入 [ 代碼示例 ]

                // Create a tag write operation.
                TagWriteOp writeOp = new TagWriteOp();
                // Write to user memory
                writeOp.MemoryBank = MemoryBank.User;
                // Write two (16-bit) words
                writeOp.Data = TagData.FromHexString("00000000");
                // Starting at word 0
                writeOp.WordPointer = 0;
                // Add this tag write op to the tag operation sequence.
                seq.Ops.Add(writeOp);
                // Add the tag operation sequence to the reader.
                // The reader supports multiple sequences.
                reader.AddOpSequence(seq);

4.Kill Tag銷(xiāo)毀標(biāo)簽 [ 代碼示例 ]
未加密的標(biāo)簽銷(xiāo)毀密碼同訪問(wèn)密碼為8個(gè)0組成, 銷(xiāo)毀密碼的過(guò)程中, 需要單獨(dú)給其設(shè)定一個(gè)銷(xiāo)毀密碼, 如已設(shè)置銷(xiāo)毀密碼則按設(shè)置后的密碼, 標(biāo)簽一旦銷(xiāo)毀, 則滅活無(wú)法正常讀取。

        static void SequenceWriteTag(string epc)
        {
            TagOpSequence seq = new TagOpSequence();
            var target = new TargetTag();
            target.MemoryBank = MemoryBank.Epc;
            target.BitPointer = BitPointers.Epc;
            target.Data = epc;
            seq.TargetTag = target;
            TagWriteOp writeOp = new TagWriteOp();
            writeOp.AccessPassword = null;
            writeOp.MemoryBank = MemoryBank.Reserved;
            writeOp.WordPointer = WordPointers.KillPassword;
            writeOp.Data = TagData.FromHexString(KILL_PW);
            seq.Ops.Add(writeOp);

            // Define a tag kill operation.
            TagKillOp killOp = new TagKillOp();
            // Specify the kill password for this tag. 
            // The kill password cannot be zero.
            killOp.KillPassword = TagData.FromHexString(KILL_PW);
            // Add this tag write op to the tag operation sequence.
            seq.Ops.Add(killOp);
            reader.AddOpSequence(seq);
        }

UHF RFID讀寫(xiě)器讀取性能影響分析

1.閱讀器功率

直接影響到讀取標(biāo)簽的性能, 距離。 功率↑性能↑ 功率↓性能↓

2.閱讀器頻率

不同的RFID標(biāo)簽,頻率不同、讀取設(shè)定的頻段也會(huì)受到影響

3.閱讀器

各種閱讀器之間有差異,主要體現(xiàn)在: 讀寫(xiě)性能、設(shè)備穩(wěn)定性、可擴(kuò)展、及成熟的算法等方面。

4.天線的增益及饋線的衰減

通常來(lái)講、RFID天線增益上調(diào)對(duì)應(yīng)的距離、性能會(huì)更好。

5.RFID標(biāo)簽種類(lèi)

不同種類(lèi)的RFID標(biāo)簽、型號(hào)、不同的廠家生產(chǎn)設(shè)計(jì)。標(biāo)簽性能都會(huì)有所不同。

6.讀取方向及環(huán)境

標(biāo)簽與天線極化方向與相對(duì)角度的配合度,方向一致配合度高,讀寫(xiě)距離就遠(yuǎn),反之,不配合的話(huà)讀距近

總結(jié)

以上是生活随笔為你收集整理的RFID相关知识总结(超高频UHF)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。