新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于RFID的控制閥系統設計

        一種基于RFID的控制閥系統設計

        作者: 時間:2014-05-20 來源:網絡 收藏

        5)最大塊,為了保證信息的完整性和保護密碼不被竊取,最大塊取6。

        本文引用地址:http://www.104case.com/article/247102.htm

        6)PWD,為了防止ATA5567被惡意改寫,密碼是一定需要的,即該位為1。

        7)ST是為了方便以同步頭的方式實現數據的讀取。

        2.2 ATA5567數據的存儲和編碼格式

        對于ATA5567能操作的其實只有block0-block7,這幾塊的格式是一樣的,只不過block0作為控制塊,block7作為密碼塊,所以實際上真正能存儲用戶數據的只有block1-block6,共有6個塊。

        ATA5567的編碼方式設定為曼切斯特編碼。曼切斯特編碼是基帶傳輸中廣泛應用的一種數據傳輸編碼方式,這種編碼通常用于局域網傳輸,是一種自同步法編碼方式。在數據信號的波形中既有同步時鐘信號又有數據信號。在調制電路輸出的波形中,數據“1”對應著曼切斯特編碼(下面簡稱“曼碼”)電平的上跳沿,數據“0”對應著曼碼電平的下跳沿。在所接收的一系列曼碼數據,注意空跳變,假定兩個相鄰bit的間隔時間是1P。若兩個相鄰bit代表的數據極性相同(同為0或者同為1),那么在這兩個bit傳送之間,會出現一個預備性的非數據跳變。

         

         

        根據上跳,下跳和空跳來分辨數據是“0”或者“1”,通過下圖的圖解可以發現,如果通過定時器捕獲,最少會得到兩種時間間隔,一種為一個整傳送周期(256/μs),另一種為半個傳送周期(128μs)

        2.3 ATA5567寫卡規則

        在ATA5567卡片內部有一個寫解碼器,該解碼器采用脈沖間隔編譯碼技術。在寫卡期間,寫解碼器會檢查寫數據流是否有效,并檢測場中斷間隔。

         

         

        寫卡的首要工作是確定寫卡的時間間隔,結合上表中官方給出的數據和現場實踐,選擇時間如表1所示。

         

         

        確定寫卡時間間隔之后,還要確定寫卡的命令。在使用一張從市場上買的新卡前,首先要做的就是在Block7當中寫入32位秘鑰數據,然后初始化Block0為0x800880d8,寫卡的命令及格式如下。

        1)標準寫命令格式如表2所示。

         

         

        此時的寫卡為“Standard Write”模式,由于能操作的只有第0頁,所以p取0;

        2)保護寫命令格式如表3所示。

         

         

        初始化block0之后,寫卡操作變為“Protected Write”模式,具體操作與“Standard Write”模式類似,唯一的不同點便是在寫入數據之前必須先寫入block7中存儲的秘鑰,如果秘鑰不對,則卡進入其他狀態,這里不再贅述。

         

         

        2.4 ATA5567讀卡規則和算法實現

        對于ATA5567,讀卡命令如表4所示。

         

         

        由于PWD位已經置為1,所以選擇第一種格式,寫命令與之前講述的寫數據類似,此處不再講述。

        發完寫命令后,單片機會捕獲到數據,這些時間間隔數據是獲取二進制數據來源。根據ATA5567數據的存儲和編碼格式,讀卡算法如下:

        算法的核心是ReadNumber()函數的實現,由于在發送完命令之后,ATA5567會根據發送命令中的地址信息,循環發送所選地址存儲是數據。由于每個block中存儲了32 bit的數據,實際上轉換為曼碼對應的波形最多有64個跳變,所以采集到的128個數據中一定至少有一個所需數據的完整遍歷。這時同步碼也包括在128個數據之中,通過同步碼來確定block中數據的起始位。同步碼的波形如圖8所示。

         

         

        同步碼在所捕獲的數據中體現為:256或128,128,384,128(單位均為μs)。用圖4中的表示方式,上面的數據對應的時長分別為1P或0.5P,0.5P,1.5P,0.5P。因為在實際中的波形經過調制后不可能為完美的方波,波形的好壞與標簽和天線的距離有很大關系,此外還跟所選器件的精度、MCU的定時器捕獲精度有關,所以允許捕獲的數據有誤差。定時器捕獲數據完成后,要進行解碼,這里定義了兩個數組array[128],bit_array[32],前者用來存放捕獲的數據,后者存放解碼后的數據,找到同步碼形后1.5P的時長對應array[bitnum],bitnu m1的初始值為0。

        程序執行完畢后,bit_array[]數組中就存儲了某個block對應的32bit的數據,這些數據是二進制數據,可以根據需要將其轉換為十進制或者十六進制的數據,因為需要在各個block中存儲時間、日期、金額、流量(熱量)等信息,這里需要將其轉換為十進制數據。

        3 結束語

        文中主要針對預付費的表類(熱表、水表、氣表、電表),提出了一種低成本、低功耗、高可靠性的解決方案。由于篇幅所限,著重介紹了無需解碼芯片的RFID解碼電路的構成,提出了一種針對ATA5567的高效的編解碼方案,這是整個系統架構的核心。對于系統而言,大部分時間處于非工作狀態,可以使其進入PowerDown模式(ARM架構MCU具有的功能),以節省電力。另外出于對數據備份和保護的目的,可以在系統里加入單獨的存儲單元,如SPI-Flash或者EEPROM,以期在設備損毀等場合盡最大可能的減少用戶的損失。在某些場合下,如果需要組網,除了使用RS-485外還可以使用以太網或者無線方式(如433 MHz),這樣就可以實現與局域管理系統進行實時對接。

        手機電池相關文章:手機電池修復


        負離子發生器相關文章:負離子發生器原理
        蜂鳴器相關文章:蜂鳴器原理
        離子色譜儀相關文章:離子色譜儀原理

        上一頁 1 2 下一頁

        關鍵詞: Nuvoton Nano110

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 北碚区| 富蕴县| 新余市| 东城区| 城口县| 安义县| 海晏县| 砚山县| 伊金霍洛旗| 陆良县| 无锡市| 邓州市| 建水县| 天气| 大化| 泰顺县| 舒城县| 湘潭县| 师宗县| 乐亭县| 饶阳县| 桦川县| 宁陵县| 颍上县| 南昌县| 收藏| 红桥区| 开远市| 营山县| 弋阳县| 六安市| 汉阴县| 蒲江县| 上饶县| 繁峙县| 汕尾市| 印江| 铜鼓县| 江安县| 城固县| 绥滨县|