SPI 통신

살캉쿠·2023년 4월 21일
0

SPI통신이란


  1. SPI (Serial Peripheral Interface)는 I2C, CAN, UART와 같은 시리얼 통신(직렬 통신) 방식 중 한가지
  2. 기기와 기기, 즉 칩(IC)과 칩간에 데이터를 주고받기위한 통신방법 중 한가지임.

SPI 특징


  1. 양방향 통신.
  2. 1 대 다수의 통신을 지원하는 동기식 통신 방식. (하나의 마스터 장치만 지원)
  3. 동시에 송수신이 가능.
  4. 트랜시버와 같은 전송기가 필요하지 않음.
  5. 이론상 최대 클럭이 제한되지 않아 속도 제한이 없음.
  6. I2C 보다 소비 전력이 낮음.
  7. I2C 에 비해 속도가 빠름.
  8. 슬레이브는 마스터가 보내주는 클럭만을 사용하고 정확성이 약간 떨어져도 문제 없음.
  9. RS-232 , CAN 버스보다 비교적 짧은 거리에서 동작함.

통신 방법


  • 핀 구성

    • SCLK : 신호 동기화를 위한 Clock임.(보통 Master에서 내보냄)

    • MOSI : Master Out Slave In. 마스터에서 슬레이브로 데이터를 전송하는 선.

    • MISO : Master In Slave Out. 슬레이브에서 마스터로 데이터를 전송하는 선.

    • SS : Slave Select. 또는 Chip Select라고도 함. Master장치가 여러개의 Slave 장치와 통신할 때 하나를 선택하여 통신을 하는데 그 때 선택을 하는 역할의 신호선.


    • 연결 구성

    • 4-wire 구성 : SS로 Slave에 data 전송 시작을 알리고 슬레이브와 통신함.

    • 3-wire 구성 : 슬레이브의 SS를 GND에 묶어두면 슬레이브는 항상 data를 받을 상태가 됨.

    • multiple slaves : SS로 전송할 슬레이브를 선택하고 선택된 슬레이브와 통신함.


  • 동작 구조

    • 각 장치들은 Shift Register들이 있고 마스터의 Shift Register 있는 값이 슬레이브의 Shift Register에 전송시켜 동시에 슬레이브의 Shift Register의 있는 값 또한 마스터로 전송됨. 결과적으로 마스터, 슬레이브의 레지스터의 값을 서로 바꿔치기 하는 것임.

    • 마스터가 데이터를 전송하면 슬레이브는 보낼 데이터가 없더라도, 불필요한 가비지 값(쓰레기값)이라도 무조건 마스터에 전달됨. 마스터는 슬레이브로부터 받은 쓰레기값이 필요없으면 그냥 버림.

    • 1 Clock의 신호마다 1bit의 data가 이동됨.


    • 통신 파형

    • SS를 High->Low로 떨어트려 Slave Select를 함.

    • Clock을 인가함.

    • 마스터가 슬레이브로 데이터를 전송함과 동시에 슬레이브도 마스터에게 데이터를 전송함.

      • 마스터, 슬레이브 각각 Shift Register의 값을 교환하는 느낌.
      • 1 Clock 당 1bit를 전송함.

0개의 댓글