USB免驅RFID讀寫器編程解析之一:智能卡篇
摘要
USB免驅RFID讀(dú)寫器編(biān)程解析之一:智能卡篇
随著RFID應用的普及,越來越多的軟件工程師需要使用RFID讀寫器編程來實現自己的需求。爲瞭使軟件工程師更快的瞭解RFID讀寫器的使 用,本文選擇一款市面上常用的USB免驅RFID讀寫器SDT-HA來做解析。USB免驅一般是使用USB HID接口,因爲windows系統本身帶有HID接口的驅 動,所以不需要單獨發布驅動程序。
要編寫RFID讀寫器的程序,先必須瞭解RFID讀寫器讀寫的卡的内存結構。現在廣泛使用的是以M1(S50)卡及其兼容卡爲代表的智能卡,以 下将詳細介紹S50卡的内存結構。
标準S50智能卡有8Kbits内存,相當於1K字節,實際可以用來的存儲數據的有752字節,爲什麽會縮水,在稍後的内存介紹中将會解釋。
标準S50智能卡有16個扇區,每個扇區有4塊,每塊有16個字節。這全部算下來就是16*4*16=1024字節(1K)。由於塊是卡結構的最小管理 單位,所以我們在讀寫這張卡的時候就是按照塊來操作的,就是說必須是16個字節。每4個塊組成瞭一個扇區單元,組成扇區單元的目的就是爲 瞭管理卡的密鑰,也就是卡的密鑰和扇區是對應的。有16個扇區,也就有16組密鑰各自獨立的工作著。某組密鑰隻是對這個扇區(4個塊)管用 ,與其他的扇區無關。這種設計可以使此智能卡可以同時作多達16種不同的應用。
每個扇區的密鑰都存放在該扇區的最後一塊,占用瞭一個單獨的塊。密鑰分爲A密鑰和B密鑰,關於密鑰可以參見文章《關於S50卡密鑰A和密鑰B》。
第0扇區的第0塊用於(yú)保存序列号等相關數據,是隻讀的,不能寫入任何數據。如果我們按照順序定義塊,那麽塊号就是從(cóng)0到63。0到3塊 爲第0扇區,4到7塊爲第1扇區,依此類推,第60到63塊爲第15扇區。其中第0塊是隻讀的,第3塊,7塊....第63塊全部是密鑰塊,不能用來保存 數據, 所以總的可以保存數據的塊爲16*3-1=47塊,共47*16=752字節。
(轉載請注明出處: 友我科技網站 http://m.qclk.com.cn)
(轉載請注明出處: 友我科技網站 http://m.qclk.com.cn)

