ADC = Analog Digital Converter (아날로그를 디지털 변환기)
아날로그를 디지털로 변환할 때는 샘플링을 해야 한다. 샘플링이란 아날로그처럼 연속적인 신호를 규칙적인 부분으로 나눠서 그 부분의 데이터 값을 가져오는 방법이다.
파란선으로 된 부분이 아날로그 신호를 디지털화 하기 위해서 샘플링 한 것인데, 이 샘플링을 1초에 몇 번 하느냐에 따라서 샘플링 주파수가 나오게 된다. 만약 5Hz의 샘플링 주파수를 가지고 있다면 1초에 5번의 샘플링을 진행하는 것이다. 그리고 이 샘플링이 가로축에 대해서만 하는 것이 아니라 세로축에 대해서도 샘플링을 할 수가 있는데,
빨간선으로 보이는 부분이 세로축(진폭)에 대해서 샘플링을 수행 한 것이다. 이것도 아까 위에서 말한 것처럼 샘플링 주파수를 계산할 수 있다.
예를 들어 CD의 샘플링 주파수는 16bit 44.1kHz이다. 즉 44100Hz*65536bit(2^16=2byte)=88200Byte가 나온다. 88200Byte는 음원의 1초 용량이다. 만약 음원이 스테레오면 *2, 3분짜리 음원이면 *180, 메가바이트 단위로 바꾸려면 1024를 두 번 나누어 주면 된다.
DAC = Digital Analog Converter (디지털 신호를 아날로그 신호로)
양자화의 특성 때문에 아무리 디테일하게 샘플링을 해도 디지털이랑 아날로그는 똑같을 수 없다. 아날로그에서 디지털로 변환할 때 손실 압축이 진행된다.
ADC가 녹음기(샘플링 시켜서 디지털화)라고 본다면, DAC는 재생기라고 볼 수 있다.
JTAG = 선 규약(국제표준) JTAG 지원 장비를 사서 꽂으면 내부를 볼 수 있고, control이 가능하다.
Embeded System 개발 시에 사용하는 디버깅 장비이다. Embeded System을 개발하기 위해 통합한 회로로 사용되는 IEEE 1149.1의 일반적인 이름이지만 보통 디버거를 가리킨다. 일반적으로 JTAG란 말 보다는 Boundary-Scan이란 말을 더 많이 사용한다. CPU의 상태와는 상관 없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공한다.
JTAG의 작동방식?
칩 내부에 Boundary Cell을 만들어 이것이 외부의 핀과 1:1로 연결되어 프로세서가 할 수 있는 동작을 중간의 Cell을 통해 인위적으로 수행할 수 있도록 하는 것이다. 이런 방식으로 JTAG는 다양한 하드웨어의 테스트나 연결 상태등을 체크할 수 있다. 또한 JTAG 라인을 통해 칩 내부를 조사(capture 기능) 및 제어(INTEST 기능)을 할 수 있다. 이 밖에도 EXTEST 기능을 이용하여 Embeded System의 다른 칩을 제어 할 수도 있다. 예를 들면 Embeded Systemm의 ROM(Nor Flash일 경우), NAND Flash 등의 내용을 기록하거나 읽어 낼 수 있다. 리눅스의 부트로더등을 다운로드하여 아무런 코드도 없는 Embeded System을 부팅하게 만들 수 있다.