본문 바로가기
프로그래밍 언어/c(임베디드)

Wiegand 통신

by [Akashic Records] 개발의선지자 2024. 9. 8.

Wiegand protocol

: 두 개의 D0, D1 라인을 이용해 소량의 데이터를 전송 하는 방식으로 , 주로 출입통제 장치의 리더와 컨트롤러 간의

통신 방식

 

리더는 RS-485, RS-232, ABA-Track II 와 같이 다양한 통신 방식을 취하기도 하지만,
RFID 통신으로 주로 WIEGAND 방식을많이 사용 합니다. 
기본 상태 -> D1 : High, D2 : High

logic 1 -> D1 : LOW, D2: HIGH

logic 0 -> D1 : HIGH , D2 : LOW

D0, D1 이 각각 의미 하는 것은, D0 가 LOW 이면 그 비트 값이 '0' 이고, D1 이 LOW 이면 그 비트 값이 '1' 임을 의미 합니다.
따라서 D0 와 D1 은 동시에 LOW 가 되지 않으며, 정해진 타이밍이 있습니다.
예를 들어 위 그림의 신호를 데이터로 변환해 보자면, 4 번 LOW 값이 있으므로 4 비트 임을 알 수 있고, 값은
1101 임을 알 수 있습니다.
 
wiegand 통신은 총 26bits~40bits로 구성
 
한국에서는 일반적으로 26bits 또는 34bits 사용
 
예를 들면 26bits는 맨앞뒤 2개의 parity bits와 24개 data bits로 구성
 
패리티 비트
 
맨 앞 패리티 비트 : 맨 앞 비트를 포함한 13개 비트의 even parity
맨 마지막 패리티 비트는 14번째 비트부터 맨 마지막 비트를 포함한 odd parity
 
데이터 비트
 
처음 8 비트 : site code  (Facility Code)
남은 16비트 : user code (Card ID)
 
26bits
 
 
39bits
 
 
패리티 비트란?

 

정보 전송 과정에서 1비트 오류를 생겼는지를 검사하기 위해 데이터의 각 문자에 1 비트를 더하여 전송하는 방법

 

짝수(even) 패리티는 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것인데, 이를테면 데이터 비트에서 1의 개수가 홀수이면 패리티 비트를 1로 정한다.

 

홀수(odd) 패리티는 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법이다.