본문 바로가기
Embedded SW/Embedded SW Introduction

Digital-to-Analog Converter (Pmod DA4)를 SPI를 이용하여 동작 1편 (TC275 MCU)

by 방구석 임베디드 2022. 9. 11.
반응형

안녕하세요.

예전에 SPI 통신에 대한 대략적인 내용을 정리해 보았습니다.

https://embeddedchallenge.tistory.com/58 

 

05. SPI 통신이란 무엇인가?

SPI(Serial Peripheral Interface)는 Electric Control Unit안에서 IC(Integrated Chip) 끼리 통신을 수행하기 위한 통신 기법입니다. 아래 두개의 자동차 ECU가 있습니다. VCM(Vehicle Control Module) 와 BCM(Bo..

embeddedchallenge.tistory.com

그러면 이제 SPI를 실제적으로 한번 적용해 보는 시간을 가져보도록 하겠습니다.

제가 SPI통신을 통해서 동작시켜보려는 모듈은 아래와 같은 

DA 모듈입니다.

이 모듈은 SPI를 통해서 전달한 Digital Value를 아날로그 전압으로 바꾸어주는 모듈입니다.

Digital-to-Analog Converter 는Pmod DA4 입니다.

디버깅을 할때 많이 사용되는 모듈인데요.

가격이 조금 비싸죠? ^^

그런데 저는 이 IC를 미리 가지고 있어서 한번 동작 시켜 보도록 하겠습니다.

 

먼저 DA에 대한 Spec을 한번 살펴 보도록 하겠습니다.

12비트 DAC라는 것을 알 수 있습니다.

12비티라고 함은

2^12 = 4096

따라서 디지털로 0~4095의 숫자를 쓸수 있습니다.

그러면 0일때 0V

4095일때는 Max Volt의 아날로그 전압을 낼 수 있다는 것을 뜻합니다.

그러면 이제 datasheet 미 회로도를 한번 살펴 보도록 하겠습니다.

회로도 입니다.

첨부파일은 모두 올리도록 하겠습니다.

pmodda4_rm.pdf
0.50MB
pmodda4_sch.pdf
0.02MB

그러면 이제 한번 데이터시트를 분석해 보도록 하겠습니다.

실제로 여기서 중요한 chip은 AD5628인 것을 확인할수 있습니다.

이것을 다시 다운받아야 할것 같습니다.

우선 여기서 최대한 정보를 살펴 보도록 하겠습니다.

 

1) 먼저 32비트의 정보를 한번에 보내야하는 것을 알 수 있습니다.

비트 구성입니다.

또한 Internal Ref Voltage를 사용하려면

특정 레지스터에 값을 써야하는 것을 알 수 있습니다.

모든 것이 암호 같습니다.

하지만 걱정하실 필요없습니다.

하나하나 알아가면 됩니다.

 

이제 AD5628-1 datasheet를 다운받아서 조금더 자세히 살펴 보도록 할게요.

Analog_Devices-AD5628BCPZ-2-RL7-datasheet.pdf
0.99MB

2) SPI설계시 중요한 파라미터인

Polarity와 phase내용입니다.

CPOL이 0이고

CPHA가 1로 설정하면 될것 같습니다.

3) 최대 대역폭 정보

SCK의 최소 주기는 위와 같이 20ns입니다.

따라서

1000000000/20 = 50000000

따라서 50MHz의 최대 대역폭을 가지고 있는 것을 확인 할 수 있습니다.

 

마지막으로

4) Delay 정보 입니다.

 

이제 Pin 구성에 대해서

확인해 보도록 하겠습니다.

우리는 6번핀 VCC에 5V 전압을 공급하면 될것 같습니다.

MOSI(DIN)에 연결하고

MCU에서 디지털 값을 주면 될것 같고요.

CS는 아마도 SYNC 핀인것 같습니다.

아래 데이터시트에서 그 내용을 확인 할 수 있습니다.

이제 IC에 명려을 주기 위해서는

명령어와 주소 정보가 있으면 될 것 같습니다.

명령 정보는 아래와 같습니다.

그리고 주소 정보는 아래와 같습니다.

이제 명령과 주소, 그리고 디지털 전압값을 넣어서

SPI통신으로 전달해 주면

DA는 아날로그 전압을 내어줄 것입니다.

결국 아래와 같은 32비트의 프레임을 날려주겠네요.

이제 데이터시트에서 얻을 수 있는 정보는 많이 얻은 것 같습니다.

이제 다음장에서 한번 DA를 동작 시켜 보도록 하겠습니다.

반응형

댓글