이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
SPI 통신 지원
SPI(직렬 주변기기 인터페이스)는 고속 장치 간 단거리에서 사용되는 동기식 전이중 직렬 통신 프로토콜입니다. SPI 프로토콜은 하나 이상의 주변기기를 가진 단일 컨트롤러를 지원합니다. 컨트롤러는 버스 상의 모든 주변기기와 통신할 수 있지만, 각 주변기기는 컨트롤러와만 통신할 수 있습니다.
지원 패키지 라이브러리의 SPI Controller Transfer 블록은 다른 SPI 장치와의 통신을 가능하게 합니다. 이 블록은 하드웨어를 컨트롤러 장치로 사용할 때만 사용할 수 있습니다.
SPI를 사용하면 다음과 같은 작업을 수행할 수 있습니다:
다양한 센서를 보드에 연결하여 온도, 압력 등 다양한 물리량을 측정합니다.
보드에 다양한 실드를 연결하여 Wi-Fi® 실드와 같은 기능을 향상시킵니다.
SD 카드에 엑세스하여 데이터를 저장하거나 사용 가능한 메모리를 확장하십시오.
구성 파라미터 > 하드웨어 구현 > SPI properties 섹션에서 SPI 클록 출력 주파수(MHz 단위), SPI 모드, 비트 순서 등의 SPI 속성을 설정할 수 있습니다.
SPI 라인
SPI는 통신을 위해 4선식 직렬 버스를 사용합니다: SDI, SDO, SCK, CS. SDI, SDO, SCK 라인은 모든 장치에 공통으로 적용됩니다. SS 라인은 각 주변기기마다 고유합니다.
SDI (Serial Data In, 직렬 데이터 입력) – 이 라인은 SPI 컨트롤러로 데이터를 전송하기 위한 주변기기 라인입니다.
SDO (Serial Data Out, 직렬 데이터 출력) – 이 라인은 SPI 주변기기로 데이터를 전송하기 위한 컨트롤러 라인입니다.
SCK (Serial Clock, 직렬 클록) – 컨트롤러는 데이터 전송을 동기화하는 클록 펄스를 생성합니다.
CS (Chip Select, 칩 선택) – 이 장치는 특정입니다. SPI 컨트롤러가 각 장치의 활성화 및 비활성화를 제어할 수 있는 핀입니다. 이 신호는 '액티브 로우' 신호로, SS 핀이 로우로 설정될 때 장치가 주변기기로 전환됨을 의미합니다.
ICSP(In Circuit Serial Programming) 헤더 위의 SPI 라인은 다음과 같이 표시된 모든 보드에서 일관성을 유지합니다.

데이터 전송
SPI 컨트롤러는 통신을 원하는 SPI 주변기기가 지원하는 주파수로 클록을 설정합니다.
컨트롤러는 주변기기의 SS 핀을 로우(0)로 설정하여 주변기기를 선택합니다. 컨트롤러는 한 번에 하나의 주변기기만 선택할 수 있습니다.
각 SPI 전송은 전이중 통신이므로, 컨트롤러는 SDO 라인에 비트를 전송하고 주변기기는 이를 읽습니다. 주변기기 또한 SDI 라인에 비트를 전송하며, 컨트롤러가 이를 읽습니다.
컨트롤러가 데이터 전송을 수행할 때, 주변기기는 데이터 전송을 거부할 수 없습니다. 그러나 통신이 단방향일 경우 주변기기는 더미 바이트(보통 모두 1 또는 모두 0)를 전송합니다. 마찬가지로, 컨트롤러가 주변기기로부터 데이터를 읽을 때, 주변기기는 컨트롤러가 전송하는 데이터를 무시해야 함을 인식한다.
전송이 완료되면 컨트롤러는 SCK 토글을 중지하고 일반적으로 SS를 올려서 주변기기를 선택 해제합니다.
데이터 전송 중 컨트롤러에 의해 선택되지 않은 SPI 버스의 다른 주변기기들은 SCK 및 SDO 신호를 무시하며, SDI를 구동하지 않습니다.


SPI 전송 모드
SPI 컨트롤러는 클록 극성과 클록 위상을 설정합니다.
클록 극성(CPOL) – 버스가 유휴 상태일 때 SCK 신호의 디폴트 값(HIGH/LOW)입니다.
CPOL = 0은 버스가 유휴 상태일 때 SCK의 디폴트 값이 LOW임을 의미합니다. CPOL = 1은 버스가 유휴 상태일 때 SCK의 디폴트 HIGH 값을 의미합니다.
클록 위상(CPHA) – 클록 데이터가 SCK의 선단(LEADING) 또는 후단(TRAILING) 에지에서 샘플링되는지 여부를 나타냅니다.
CPHA = 0은 SCK의 상승 에지에서 샘플링함을 의미하며, CPHA = 1은 SCK의 하강 에지에서 샘플링함을 의미합니다. 이는 클록 에지가 상승 중인지 하강 중인지와 무관합니다.
극성과 위상의 조합을 SPI 모드라고 합니다. SPI 모드 0–3은 표에 표시되어 있습니다.
| 모드 | 클록 극성(CPOL) | 클록 위상 (CPHA) |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 2 | 1 | 0 |
| 3 | 1 | 1 |
모드 0

모드 1

모드 2

모드 3
