SPI 통신 설명 및 분석 방법
본문 바로가기
전자회로

SPI 통신 설명 및 분석 방법

by 124578 2021. 5. 6.

 

 

 

SPI 통신은 PCB 상의 칩과 칩 사이에서 마스터 슬레이브 모드로 서로 통신을 하는 기법 입니다.

 

아래 설명 글은 슬레이브 칩을 FM25W256으로 설명 하겠습니다.

 

일반적으로 마스터는 마이크로 컨트롤러가 되고 슬레이브는 센서나 메모리등 다양한 제어용 칩이 되겠습니다.

 

1. 하드웨어 인터 페이스

 

 SPI 통신은 MOSI, SOMI, CLK, CS 단자로 구성 됩니다.

 

  - MOSI: 마스터에서 출력하여 슬레이브로 전송하는 단자 입니다.

 

  - SOMI: 슬레이브에서 출력하여 마스터로 전송하는 단자입니다.

 

  - CLK: 클럭은 마스터와 슬레이브간 통신을 하기위한 동기 신호 출력 단자입니다.

 

  - CS: 마스터에서 통신을 하기위해 슬레이브 단자의 칩을 선택하기 위한 단자입니다.

 

 

2. 실제 칩에서의 핀맵(FM25W256)

 

 

 

 

 

2. SPI모드

 

  SPI모드는 모드0, 모드1, 모드2, 모드3 4가지가 있습니다.

 

위그림은 SPI 모드 0, 모드 3 입니다. 메모리 칩 FM25W256의 동작 모드 입니다. 

 

칩마다 지원하는 SPI 모드가 있습니다. 반드시 데이터시트를 확인후 적용해야 합니다.

 

실제 동작모드라는 것은 데이트를 읽어들일 타이밍과 관련 됩니다.

 

아래 그림처럼 SPI 모드 0과 3은 아래 그림처럼 빨간세로선 구간 즉 상승 에지에 데이터를 읽어들이는 것을 말합니다.

 

나머지 1과 2는 하강에지에 데이터를 읽어들입니다.

 

모드 0과 3의 경우는 클럭의 출력 형태가 조금 차이를 보입니다.

 

 

 

 

 

3. 명령전송 타이밍 다이어그램

 

  아래 그림은 FM25W256의 Write Enable 명령을 전송하는 타이밍 다이어그램입니다.

 

  1) 마스터 칩에서 CS단자를 LOW로 만들어 칩을 선택하게 합니다.

  2) SCK 단자에서 클럭이 발생합니다.

  3) 마스터 칩에서 SI단자로 커맨드 0x06을 전송 합니다.

 

  이로써 FM25W256 칩으로 Write Enable 커맨드가 전송이 됩니다.

4. 읽기 명령전송 타이밍 다이어그램

 

 

 

아래 그림은 FM25W256의 읽기 타이밍 다이어그램 입니다.

 

1) 마스터 칩에서 CS단자를 LOW로 만들어 칩을 선택하게 합니다.

2) SCK 단자에서 클럭이 발생합니다.

3) 마스터 칩에서 SI단자로 커맨드 0x05을 전송 합니다.

4) SO 단자에서 FM25W256에서 마스터로 값을 전송합니다.

 

지금까지 SPI통신에 대해서 알아보았습니다.

실제 SPI통신을 구현하다보면 칩에서 응답이 없는 경우, 데이터가 깨지는 경우 등 다양한 문제에 직면하게 됩니다.

이러한 문제들에 부딪히게 되면 오실로스코프를 활용하여 데이터를 주고받는 신호를 확인하면서 디버깅 해야 합니다.

 

도움이 되셨다면 광고 클릭 부탁드립니다.

 

 

 

'전자회로' 카테고리의 다른 글

아두이노 개발 보드의 종류  (0) 2021.10.27
op amp (연산 증폭기) 버퍼회로  (0) 2021.10.26
op amp(연산 증폭기)  (0) 2021.10.13
SPI 통신 구현 및 디버깅 방법  (1) 2021.05.09
R 저항 소자 개념 정리  (3) 2021.01.11

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로