Wiegand Protocol : Format Transfer Data pada RFID Reader

Wiegand Protocol : Format Wiegand untuk Transfer Data pada RFID

Wiegand Protocol adalah protokol komunikasi yang dibuat oleh Motorola untuk komunikasi antara kartu elektronik dan alat pembacanya, seperti kartu tag RFID dan RFID reader. Format wiegand memiliki beberapa standar dalam panjang datanya, yaitu 26 bit, 30 bit, 34 bit, 36 bit, 44 bit, dll. Dalam tulisan ini, pembahasan hanya akan difokuskan pada format wiegand dengan 26 bit data.

Standar Format Data Wiegand 26 bit

Dalam pengirimannya, data dalam format Wiegand dibagi ke dalam 2 buah input / masukan. Kalau dalam pemrograman, kedua input bisa kita ibaratkan menjadi 2 variabel, yaitu DATA0 dan DATA1. Dengan demikian, alat-alat yang menggunakan Wiegand format pasti akan memiliki 2 pin untuk mengirimkan data, yaitu 1 pin untuk DATA0 dan 1 pin untuk DATA1.

Ketika mengirim data, nilai pada DATA0 dan DATA1 akan bergantian. Jika DATA0 bernilai 0 (LOW), maka data yang dikirim adalah 0. Jika DATA1 bernilai 0 (LOW), maka data yang dikirim adalah 1. Selain kondisi tersebut, berarti tidak ada data yang sedang dikirim. Perhatikan tabel berikut :

+-------+-------+------+
| DATA0 | DATA1 | ARTI |
+-------+-------+------+
| 0 | 0 | - |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | - |
+-------+-------+------+

Jika digambarkan dalam bentuk timeline, maka format data yang dikirim adalah sebagai berikut:
Format data RFID wiegand protocol 26 bit


Parity Bit pada Wiegand Protocol

Wiegand 26 bit terdiri dari 2 buah parity bit yang terletak di awal dan di akhir. Parity bit ini berfungsi sebagai validasi data di sisi penerima data dari RFID reader. Untuk melakukan validasi data, maka 26 bit data dibagi menjadi 2 kelompok yang masing-masing terdiri dari 13 bit yaitu 13 bit pertama dan 13 bit kedua.

XXXXXXXXXXXXXXXXXXXXXXXXXX  (dalam bit)
X XXXXXXXXXXXX XXXXXXXXXXXX X
1 010101000101 010100001101 0

13 bit pertama terdiri dari 1 parity bit di awal dan 12 data. Sedangkan 13 bit yang kedua terdiri dari 12 data dan 1 parity bit di akhir. Parity bit yang pertama disebut sebagai Even Parity (Parity Genap), sedangkan parity bit yang terakhir disebut dengan Odd Parity (Parity Ganjil).

Parity Genap akan ditambahkan ke 12 bit data yang pertama sehingga totalnya adalah genap. Misal, pada data pertama jumlah angka 1 sebanyak 5, maka agar genap, maka parity bit harus bernilai 1 (5+1 = 6), sehingga Parity Genap ini mungkin bisa kita sebut dengan Parity Bit Penggenap :). Sedangkan 13 data terakhir totalnya harus berjumlah ganjil. Karena angka 1 sudah berjumlah 5 (ganjil), maka Parity Bit yang digunakan adalah 0. Parity bit terakhir ini bisa kita sebut dengan Parity Bit Pengganjil.

Kelompok data di atas selanjutnya diterjemahkan menjadi 6 buah data Hexa. Seperti di bawah ini.

1 0101 0100 0101   0101 0000 1101 0
5 4 5 5 0 13
5 4 5 5 0 D
54550D

Dari ke 6 format tersebut, maka 2 digit pertama (54) disebut sebagai Facility Code (mungkin semacam kode dari provider), sedangkan 4 digit terakhir (550D) adalah nomer kartunya. Dengan demikian, kombinasi dari Facility Code bisa sebanyak 255 buah, sedangkan kombinasi dari nomer kartu bisa mencapai 65.535 buah kartu. Selain dalam bentuk Hexadecimal, Anda juga bisa menampilkan nomer kartu ke dalam bentuk desimal.