본문 바로가기
Embedded System/AVR

[AVR] Timing Diagram

by goatlab 2022. 5. 25.
728x90
반응형
SMALL

Timing Diagram

 

 

타이밍 다이어그램이란 각 신호들이 시간별로 처리되는 과정을 그림으로 나타낸 것이다.

 

클락 (clk)은 주기적으로 움직이고 클락에 맞춰서 데이터 (D) 파형이 바뀜으로써 데이터를 읽거나 쓰는 동작이 가능해진다. 여기서 중요한 개념은 파형의 높낮이 (High / Low)와 시간값이 정해진 바대로 움직여야 유효한 데이터가 나온다.

 

실제 파형의 움직임은 위 그림처럼 직각으로 떨어지지 않는다. 전기 신호가 물리적으로 변동되는데 시간이 걸리므로 실제 타이밍 다이어그램은 위 그림과 다르다.

 

파형이 High <--> Low로 이동하는 시간값은 해당기기와 통신라인에 따라 다르고, 정확한 값들은 기기의 데이터시트에 정의되어 있다.

 

https://jdselectron.tistory.com/2

 

MAX7219의 통신은 LOAD 데이터를 Low로 주면 시작된다. 이것은 SPI 통신에서 /SS를 Low 신호를 주는 슬레이브와 통신한다는 것이다. 그 다음, 클럭 (SCLK)과 데이터선 (MOSI/MISO)의 동기화 방법에서 GPIO 방법을 사용하면 있는 그대로 타이밍도를 표현하면 되는데 SPI 통신을 사용할 경우에는 SPI 레지스터를 설정하여 타이밍도에 맞는 동기화 방법을 정확히 설정 해줘야지만 동작한다.

 

또 전송속도, MSB부터 전송하는지와 LSB부터 전송하는지 고려해야한다.

 

전체 동작과정

 

[LOAD] Low  [CLK] Low [DIN] Data 1bit in [CLK] High [CLK] Low ······16 cycle····· [LOAD] High

 

타이밍 다이어그램을 보면 MAX7219는 한번에 2바이트씩 데이터를 전송한다는 것을 알 수 있다.

 

 

명령은 16비트 (2바이트)로 구성된다. 상위바이트는 주소값, 하위 바이트는 데이터값이다. 일반적으로 D15부터 출발한다. 상위바이트 중 상위니블 (D15~D12)는 DON'T CARE 값이다. 하위니블은 도드 매트릭스의 주소와 명령의 역할을 한다.

 

상위 8비트 중 4비트는 주소 (명령)을 보낼때 사용되고, 하위 8비트는 데이터를 전송하는데 사용된다는 것을 위 테이블을 보면 알 수 있다.

 

 

Digit0 ~ 8은 어드레스, 나머지는 명령에 해당된다.

 

IC는 7-SE 제어를 전용으로 만들어진 것이다. 명령을 보면 디코드 모드와 같이 7-segment를 제어하는데 있어서 도움을 주는 기능들이 있다. 도트 매트릭스를 사용하기 위해서는 이 기능들을 사용하지 않는 쪽으로 설정을 해야 한다. 또한, 밝기조절, DIG 활성화 (Scan limit), 셧다운, 디스플레이 테스트 등 사용자가 제어하려는 제품에 맞게 초기화 작업을 진행해야 한다.

728x90
반응형
LIST

'Embedded System > AVR' 카테고리의 다른 글

[AVR] 타이머 (Timer)  (0) 2022.06.02
[AVR] MAX7219로 알파벳 표시  (0) 2022.06.02
[AVR] MAX7219  (0) 2022.05.25
[AVR] LED  (0) 2022.05.24
[AVR] Simple AVR code: MAX7219 7-segment display driver  (0) 2022.05.24