본문 바로가기

University curriculum/[Course] Digital Engineering

[디지털 공학(6)] 디지털 코드(BCD, Gray, ASCII, Parity)

반응형

 


 

안녕하세요.

이번 시간에는 다양한 디지털 코드를 설명해드리겠습니다. 이런 디지털 코드는 다양한 목적과 환경에서 사용됩니다.


 

 

※1. 2진화 10진 (BCD)코드

- 2진화 10진수 가중치 코드로 디지털시계와 같이 10진수를 표시하는 디지털 시스템에서 자주 사용된다.

- 10진숫자를 4비트의 2진코드로 각각 표현한다.

- 4비트 표현하지만 0~9까지만 사용되므로 0000~1001까지만을 사용하고 나머지 1010~1111은 무효코드이다.

- Seven Sigment를 이용해 한 자리수가 0부터 올라가다가 9를 넘으면 10을 십의 자리의 역할을 하는 Seven Sigment가 1씩 올라가는 등의 계수기 회로를 구성하는데 사용한다.

 

 

※2. Gray 코드

- 다음 수로 넘어갈 때 언제나 1개 비트만 바꾸는 코드이다.

- 가중치를 갖지 않아 산술을 할 수 없다.

<2진 -> Gray코드 변환>

➀ 단계 1: 최상위 비트는 2진수의 최상위 비트와 동일하게 둔다.

➁ 단계 2: 좌측부터 우측으로 이웃한 두 개의 2진 코드 비트를 더하고 이 합이 음의 그레이 코드가 되도록 하는데 캐리가 발생하면 무시(버린다)한다.

 

<Gray 코드 -> 2진코드 변환>

➀ 단계 1: 최상위 비트는 2진수의 최상위 비트와 동일하게 둔다.

➁ 단계 2: 좌측부터 우측으로 이웃한 두 개의 2진 코드 비트를 더하고 이합이 다음의 그레이 코드가 된다.

- Gray 코드의 사용

: 샤프트 위치 인코더 : 모터의 회전수 검출을 위해 사용

(=>오차의 발생 확률을 줄일 수 있다.)

- 2진코드를 사용하면 3에서 4로 갈 때 3개의 비트가 모두 변해 위치 판별에 오류가 발생 할 수 있다.

- 반해 Gray 코드는 1개의 비트만 변하므로 에러 발생 확률이 적다.

 

 

 

※3. 디지털 코드

➀ 영문-숫자 코드

- 숫자와 영문자들을 표현하는 코드이다.

- 10진 숫자 10개와 영문자 26개 등 36개를 표현한다.(6비트가 필요하다)

 

➁ ASCII코드

- 대부분의 컴퓨터, 전자장비에서 보편적으로 사용되는 영문-숫자코드이다.

- 키보드로부터 문자, 숫자 혹은 제어 명령어 등이 들어오면 이들은 ASCII

코드로 변환된 후 컴퓨터로 입력된다.

- ASCII 코드는 7-비트, 128개의 문자와 기호로 구성된다.

- MSB가 항상 0인 8-비트 코드이다.

- 처음 32개는 제어문자, 나머지는 문자로 표시한다.

 

 

※4. 오류 검출 코드(parity Code)

- 패리티 방법 : 맞는 데이터인지 틀린 데이터인지 확인하는 방법

ex) 16진 코드가 C3이면 1100 0011 이여야 하는데 1110 0011이 나왔다. => 패리티 방법으로 확인할 수 있다.

 

- 패리티 비트 : 비트 오류를 검출하는 방법으로 1의 개수가 홀수인지 짝수인지 나타내어 준다.

 

<입력 값>

짝수 패리티 : 1의 개수가 홀수면 1, 짝수면 0이 된다.

홀수 패리티 : 1의 개수가 짝수면 1, 홀수면 0이 된다.

 

ex) 다음의 코드 그룹에 짝수 패리티 비트를 부가하여라

(a) 1010 => 01010

(b) 101101 => 0101101

(c) 101101011111 => 1101101011111

 

반응형