월간 전자 연구소

오늘은 ADC IC 중 하나인 AD7928 시리즈에 대해 포스팅하려고 한다.
ADC는 Analog to Digital Converter아날로그 신호를 디지털 신호로 변환해주는 역할을 하는 IC이다.

반드시 해당 포스팅을 읽기 전 ADC와 DAC 개념에 대한 게시글과 SPI 통신 게시물은 필독해주길 바란다.

 

https://electronic-king.tistory.com/16

 

[회로설계 - 기초이론] SPI 통신 쉽게 이해하기

오늘은 SPI 통신에 대해 알아보겠다. 1. SPI 통신이란? Serial Peripheral Interface의 줄임말이다. 동기식 통신이다. 전이중 통신 모드로 동작하며, 마스터 슬레이브 모드로 동작하며 마스터가 데이터 초��

electronic-king.tistory.com

https://electronic-king.tistory.com/12

 

[회로설계 - 기초이론] ADC(Analog to Digital Converter) 개념 쉽게 파악하기

오늘은 ADC의 개념과 동작원리에 대해 알아보도록 하겠다. 우선 ADC란? Analog to Digital Converter의 줄임말이다. 즉 아날로그의 신호를 디지털로 바꿔주는 장치를 뜻한다. 이론적인 내용은 연속적인 아

electronic-king.tistory.com

https://electronic-king.tistory.com/15

 

[회로설계 - 기초이론] DAC(Digital to Analog Converter) 개념 쉽게 파악하기

오늘은 DAC의 개념과 동작원리에 대해 알아보겠다. DAC는 Digital Analog Converter의 줄임말이다. ADC의 반대 역할을 하는 디지털 신호를 아날로그 신호로 변환해주는 장치이다. 1. DAC의 동작원리 DAC의 적

electronic-king.tistory.com

AD7908_7918_7928.pdf
0.52MB

1. AD7928 동작 조건 파악

데이터 시트 첫 장을 확인해보면 AD7908은 8 bit의 레졸루션, AD7918은 10 bit의 레졸루션, AD7928은 12 bit의 레졸루션을 갖는다. 
입력 전압 범위는 2.7 ~ 5.25V이고, SCLK 즉, 시리얼 클락은 최대 20 MHZ이다.
Refference Voltage 즉, 기준 전압 2.5V가 AD7928 IC로 입력이 되어야 동작한다. 레귤레이터로 2.5V를 만들어주던가 레퍼런스 IC를 사용하여 2.5V를 꼭 공급해주어야 한다.

2. 회로 구성 

회로 구성은 REF IN에 기준 전압이 공급되고 AVDD, VDRIVE를 통해 2.7 ~ 5.25 사이의 전압이 입력된다.
VIN0~7번까지는 아날로그 전압을 입력해주는 채널이고 권장하는 회로 구성은 OPAMP를 거쳐 입력되는 것을 표현하였다.
DOUT을 통해 출력되는 12 bit(16 bit 중 12bit)의 data를 확인할 수 있다.

 

3. PIN 설명

SCLK : Serial Clock으로 SPI 통신에서 필요한 통신 클락이다.
DIN : Data Input으로 AD7928의 Write 명령을 해주기 위해 필요한 pin이다. SPI에서 AD7928 입장으로 보았을 경우 MISO 핀으로 생각하면 된다.
CS : Chip Select으로 AD7928을 제어하기 위해서는 해당 핀에 LOW를 주고, 그 외에는 HIGH를 준다.
AVDD : Analog Power Supply Input으로 2.7 ~ 5.25 V 범위로 입력 전압을 걸어줘야 한다. 2 X VREF의 범위를 위해서 4.75 ~ 5.25V가 공급되어야 한다.
REFIN : 기준 전압 입력 핀이다. 2.5V의 기준 전압을 입력해주어야 한다.
VIN 0 to 7 : AD7928로 ADC 즉, 아날로그 신호를 디지털 신호로 변환해줄 수 있는 채널의 개수를 뜻한다. 8개이다.
DOUT : Data Output으로 AD7928에서 Digtal로 변환된 data를 해당 핀으로 출력해준다. SPI에서 MOSI로 생각하면 된다.

  

4. 동작 파악

데이터 시트를 확인하면 알겠지만 AD7928을 제어하려면 먼저 AD7928에 CONTROL REGISTER명령을 주어야 한다.
데이터 시트의 내용과 같이 WRITE SEQ..... RANGE CODING 순서로 MSB -> LSB 순서로 총 12 bit의 데이터를 보내주어야 한다.
12 bit 관련하여 한 비트 한 비트 모두 의미가 있기 때문에 동작을 파악하기 위해 한 비트마다 내용을 확인해야 한다.
그 내용들을 살펴보자

먼저 ADD0 ~ ADD2 3 bit 부터 확인해보면 해당 세

개의 비트는 총 8가지의 채널을 이진수로 표현하기 위한 3bit data이다.
ADD2 가 MSB이다. 0 0 0 이면 채널 0번, 111이면 채널 7번을 뜻한다.
즉, ADD0의 입력된 아날로그 신호에 대한 디지털 변환 데이터를 확인하고 싶으면 해당 3 bit에 000을 입력해줘야 한다.

PM1, PM0을 살펴보면 Power Mode Selection인데, 
값이 1 1 이면 일반적인 정상 동작 모드이며 AD7928의 최대 처리속도를 허용한다.
값이 1 0 이면 완전한 셧다운 모드인 것으로 동작시키지 않는다.
값이 0 1 이면 자동 셧다운 모드로 Control Register 가 종료되면 자동으로 셧다운 되는 모드이다.
값이 0 0 이면 이 구성은 허용되지 않는다. 즉 이렇게 세팅하지 말라는 뜻이다.
일반적으로 특이사항이 없으면 1 1로 사용하면 된다.

다음 SEQ와 SHADOW비트에 대해 살펴보면 Sequence Selection인데,
값이 0 0 이면 시퀀스 모드를 사용하지 않고 확인하고 싶은 채널을 세팅하는 모드이다. 
예를 들면 채널 0을 확인 후 채널 6을 확인하고 싶거나 순서대로 가 아닌 내가 원하는 채널을 확인하기 위한 시퀀스 선택 모드이다.
값이 0 1 이면 채널 순서대로 변환한 데이터를 확인할 수 있다.
값이 1 0 이면 시퀀스 기능이 중단되지 않고 사이클이 종료되어도 계속 동작된다.
나는 이 모드에서 0 0을 사용하였다. 즉, 원하는 채널을 순서대로 확인하였다. 직접 레지스터를 write 하였다.

동작 정리
: CONTROL REGISTER의 data는 총 12bit이지만 실제로 AD7928에 DATA를 Write 하려면 16 bit로 주어야 한다.
아래 타이밍도에서도 볼 수 있듯이 상위에는 CONTROL REGISTER의 12 bit + DONTC(아무 값이나 상관없음) 4 bit를 추가하여 총 16 bit를 Write 한다.
여기서 12 bit 1 0 0  [ADD2 ADD1 ADD0] 1 1 0 0 1 1로 세팅해주면 된다.
데이터 시트를 잘 읽어보고 다르게 사용하여도 크게 상관없다.

5. 타이밍도 분석

타이밍도를 보면 CS핀이 LOW로 내려가면 Enable 되어 Serial Clock이 생성되고, SCLK의 하강 에지에서 DIN(MISO) 핀에서 Data를 읽고 출력시킨다.
여기서 알 수 있는 것은 AD7928을 FPGA나 CPU로 제어할 시 사용하는 클락의 상승 에지에서 데이터를 보내고 받아야 AD7928 입장에서 하강 에지에서 주고받을 수 있다.
DOUT을 보면 해당 DOUT이 AD7928에서 출력되는 디지털 데이터인데 여기서 받은 데이터의 최상위부터 보면 처음에는 0 [ADD2 ADD1 ADD0] 12bit의 변환 데이터 총 16 bit가 출력되는 것을 볼 수 있다.
SPI 통신방식이므로 타이밍도는 쉽게 이해했을 것이라 생각한다.

 

6. 회로설계 예시
 

7. 정리 
오늘은 ADC 관련 IC인 AD7908/AD7918/AD7928에 대해 알아보았다. 찾아보면 알겠지만 ADC 관련 IC는 정말 많다.
상황과 필요한 조건에 따라 맞는 IC를 찾아 사용하면 된다.
같은 역할을 하는 IC는 이렇게 동작분석을 하고 나면 크게 다른 점이 많진 않을 것이다.
   

이상 오늘의 포스팅을 마치겠다. 
 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band