여러 장치 간의 연결을 단순화하기 위해 SPI를 사용하는 이유 및 방법

작성자: Art Pini

DigiKey 북미 편집자 제공

내장형 시스템은 하나 이상의 프로세서 또는 마이크로 컨트롤러를 사용하여 더 복잡한 시스템 내에서 특수 작업을 실행합니다. 이러한 내장형 컨트롤러는 다른 시스템 부품, 센서 및 다른 컨트롤러와 통신해야 합니다. 복합 직렬 인터페이스 및 프로토콜은 특히 통신하는 장치의 수가 적을 경우 프로그래밍 및 문제 해결이 지나치게 까다로울 수 있습니다.

설계자는 고속의 임의 길이 데이터를 처리할 수 있으며 복잡한 프로토콜 관련 프로그래밍 작업이 없는 단순한 장치 간 디지털 인터페이스를 사용하는 마이크로 컨트롤러, 주변 장치 및 센서를 필요로 합니다.

이에 대한 간단한 솔루션은 컨트롤러를 소수의 로컬 주변 장치 IC 또는 센서에 인터페이스하는 솔루션인 SPI를 갖춘 컨트롤러를 선택하는 것입니다. 이 인터페이스는 하드웨어 주소 지정을 사용하며 최대 50MHz의 클록 속도로 작동하는 단순한 동기식 인터페이스입니다. SPI는 주소 지정 및 상태 확인이 필요한 복잡한 프로토콜을 사용하지 않습니다. 그보다는 더 복잡한 인터페이스 버스의 프로그래밍 오버헤드가 없는 빠른 데이터 전송용 기본 인터페이스라고 할 수 있습니다.

이 기사에서는 여러 작동 모드를 포함한 SPI 인터페이스의 기본 사항을 다룹니다. 그런 다음 SPI 인터페이스를 갖춘 마이크로 컨트롤러 및 기타 장치를 소개하고 이를 적용하는 방법을 보여 줍니다.

SPI란?

SPI는 1985년경 Motorola(현재는 NXP Semiconductors의 일부)에서 개발했습니다. SPI는 단거리 장치 간 통신을 위한 동기식 직렬 인터페이스입니다. 그 후 특히 마이크로 프로세서 및 마이크로 컨트롤러 분야의 많은 반도체 제조업체에서 채용하는 사실상 표준이 되었습니다.

SPI가 인기를 끈 이유는 장점이 매우 많기 때문입니다. 첫 번째 장점은 하드웨어 주소 지정된 인터페이스가 단순하기 때문에 전송되는 비트 수에 대한 완전한 유연성이 제공된다는 점입니다. 마스터가 하나인 마스터-슬레이브 모델을 사용하며 최대 50MHz의 클록에서 작동하는 전이중 통신을 사용하여 여러 슬레이브 장치를 처리할 수 있습니다. 표준 프로토콜을 사용하지 않으며 데이터 패킷만 전송하므로 긴 데이터 스트림의 전송에 적합합니다.

SPI는 최대 네 개의 신호 회선을 사용합니다(그림 1). 일반적으로 프로세서 또는 컨트롤러인 마스터 장치가 클록(SCK) 및 칩 선택(CS) 회선을 공급 및 제어합니다. 전체 다중화 작동은 데이터 회선 MOSI(Master Out Slave In) 및 MISO(Master In Slave Out)로 처리됩니다. 간단한 단일 마스터, 단일 슬레이브 구성에서는 칩 선택 회선을 제거하고 슬레이브에 대한 CS 입력이 활성화된 로직 조건으로 강제 지정할 수 있습니다. 슬레이브 장치가 데이터 전송만 가능한 경우(반이중 통신) MOSI 회선도 제거하여 신호 수를 더 줄일 수 있습니다. 데이터는 데이터 전송이 각 클록에 대해 1비트가 시프트 아웃되는 시프트 레지스터와 비슷한 방식으로 클록 신호에 의해 클록 아웃됩니다.

기본 SPI 전이중 연결의 구성도

그림 1: 기본 SPI 전이중 연결은 두 개의 데이터 회선(MOSI, MISO), 클록 회선(SCK) 및 칩 선택 회선(CS)을 사용합니다. 슬레이브의 MOSI는 경우에 따라 SDI(Slave Data In)로 레이블 지정됩니다. MISO는 SDO(Slave Data Out)로 레이블 지정될 수 있습니다. (그림 출처: DigiKey)

여러 슬레이브 장치를 처리하는 방법에는 두 가지가 있습니다(그림 2).

다중 슬레이브 인터페이스를 처리하기 위한 두 구성의 구성도

그림 2: 다중 슬레이브 인터페이스를 처리하기 위한 두 가지 구성 직접 연결에는 각 슬레이브에 대한 칩 선택이 필요합니다. 데이지 체인 연결은 단일 칩 선택을 사용하며 모든 데이터를 하나의 회선에 결합합니다. (그림 출처: DigiKey)

직접 연결은 각 슬레이브 장치에 대해 칩 선택 회선을 사용합니다. 대부분의 마이크로 컨트롤러에는 3~4개의 칩 선택 회선이 있습니다. 이로 인해 최대 슬레이브 수가 칩 선택 회선의 수로 제한됩니다. 대개이 경우 이 점은 문제가 되지 않지만, 설계에 따라 버스에 더 많은 장치가 필요한 경우 데이지 체인 방식을 사용하여 구성할 수 있습니다. 데이지 체인을 사용하면 여러 슬레이브 장치에 공통 칩 선택이 사용되며 데이터는 공통 데이터 회선에서 스트리밍됩니다. SPI 슬레이브 장치의 모델을 시프트 레지스터로 사용하면 슬레이브의 데이터가 직렬 멀티플렉싱된 스트림으로 전파됩니다.

SPI 클로킹 모드

마스터가 클록을 제어 및 생성합니다. 두 개의 클록 특성은 클록 극성(CPOL) 및 클록 위상(CPHA)입니다. 이 두 가지는 슬레이브 장치가 데이터에 상대적으로 클로킹되는 활성 클록 에지를 제어합니다. CPOL = 0은 클록을 로직 0에서 유휴 상태로 설정합니다. CPOL = 1은 로직 1에서 유휴 상태인 클록이 있습니다. CPHA = 0은 전연에서 클로킹되는 데이터가 있고 CPHA = 1은 후연에서 클로킹된 데이터가 있습니다(그림 3).

SPI 클로킹 모드 선택 구성도

그림 3: SPI 클로킹 모드 선택은 데이터가 샘플링되는 활성 클록 에지를 고정합니다. (그림 출처: DigiKey)

마스터의 CPOL 및 CPHA 회선이 데이터 클로킹을 위한 활성 에지 및 클록 극성을 결정합니다. 모드 1이 가장 널리 사용되지만, 설계자는 다른 세 모드에 동등하게 액세스할 수 있습니다.

SPI 전송의 세 신호 구성 요소는 오실로스코프에서 관찰할 수 있습니다(그림 4). 이 예시에서는 8비트 데이터 패킷이 전송되고 있습니다. SPI 직렬 디코딩 옵션이 적용된 Teledyne LeCroy의 HDO4104A 오실로스코프를 사용하여 전송이 관찰됩니다.

Teledyne LeCroy HDO4104A 오실로스코프에서 관찰된 SPI 교환 이미지

그림 4: 직렬 디코딩 옵션이 적용된 Teledyne LeCroy HDO4104A 오실로스코프에서 본 SPI 교환의 예 파형은 다음과 같습니다. 위쪽 트레이스는 데이터 회선이고 중간 트레이스는 클록이며 아래쪽 트레이스는 칩 선택입니다. 데이터 트레이스의 파란색 오버레이는 디코딩된 콘텐츠를 16진수로 보여 줍니다. (그림 출처: DigiKey)

모드 1 클록은 유휴가 0으로 설정되고(CPOL = 0), 데이터가 후연 또는 하강 에지에서 클로킹되는(CPHA = 1) 8개의 펄스 그룹으로 구성됩니다. 이 예시에서 사용된 오실로스코프에는 데이터 콘텐츠를 디코딩하는 직렬 디코딩 옵션이 있습니다. 데이터 콘텐츠는 데이터 트레이스의 파란색 오버레이에서 16진수로 읽습니다. 디코딩은 칩 선택 회선이 어설션되는 동안 발생하는 데이터와만 관련됩니다(레벨 0). 총 17개의 클록 버스트가 있지만, 그중 5개만 활성 칩 선택 상태에 해당합니다.

파형 표시 그리드 아래의 표에는 각 패킷에 대한 오실로스코프 트리거에 상대적인 시간과 활성 데이터 콘텐츠 그리고 측정된 클록 비율(이 경우 100kbits/s)이 나열되어 있습니다. 각 버스트의 클록 주기 수는 슬레이브 장치에서 클로킹되는 데이터 비트 수를 설정합니다.

마이크로 프로세서 I/O 선택

Microchip Technology ATtiny816-MNR은 여러 I/O 인터페이스를 지원한다는 점에서 여러 마이크로 컨트롤러와 유사합니다(그림 5). 이 특정 컨트롤러는 고성능 저전력 AVR® RISC 아키텍처를 사용하며 최대 20MHz에서 실행할 수 있습니다. 최대 4Kb 또는 8Kb 플래시, 256바이트 또는 512바이트의 SRAM 및 128바이트의 EEPROM이 모두 20핀 패키지에서 지원됩니다.

Microchip Technology ATtiny816 마이크로 컨트롤러의 제품 구성도

그림 5: I/O 포트가 강조 표시된 Microchip Technology ATtiny816 마이크로 컨트롤러 제품 구성도 이 컨트롤러에는 SPI 포트와 USART 포트가 모두 포함되며 후자는 보조 SPI로 구성할 수 있습니다. (그림 출처: Microchip Technology)

인터페이스 측에서, 마이크로 컨트롤러에는 USART(Universal synchronous and asynchronous receiver transmitter), I2C 호환 TWI(Two-wire interface) 및 SPI가 포함됩니다. USART는 보조 SPI 포트로 구성할 수 있습니다.

SPI는 AVR 장치와 주변 장치 또는 여러 마이크로 컨트롤러 간의 전이중 통신을 허용합니다. SPI 주변 장치는 마스터 또는 슬레이브로 구성할 수 있으며 이에 따라 마이크로 컨트롤러 간의 통신이 가능합니다.

SPI 기반 센서

SPI를 통합하는 많은 수의 마이크로 프로세서 및 마이크로 컨트롤러를 보완하는 것은 SPI를 통해 디지털 데이터를 제공하는 다양한 센서입니다. 예를 들어 Microchip Technology의 TC77-3.3MCTTR 디지털 온도 센서는 소형 폼 팩터, 저비용 응용 분야를 위한 직렬 액세스 가능 디지털 온도 센서입니다. TC77은 -55°C ~ +125°C의 온도 범위를 지원합니다. 2.7V ~ 5.5V 공급을 지원하며, 작동 시 250A를 소비하며 1A를 소비하는 저전력 종료 모드가 있습니다.

일반적인 응용 분야에서 온도 센서는 표준 SPI 연결을 통해 프로세서에 연결됩니다. 온도 데이터의 형식은 그림 6에서처럼 13비트 디지털 워드로 지정됩니다.

Microchip Technology TC77 온도 센서의 구성도

그림 6: Microchip Technology의 TC77은 작고 저렴하며 사용하기 쉬운 온도 센서입니다. 컨트롤러 또는 프로세서에 빠르게 연결 가능하며 온도 판독치를 13비트 디지털 워드로 전송합니다. 타이밍 구성도에서 볼 수 있는 것처럼 CS 회선을 로직 0으로 어설션하여 통신이 초기화됩니다. (그림 출처: Microchip Technology)

그림은 T77의 온도 레지스터의 읽기 동작에 대한 타이밍 구성도입니다. CS 회선을 로직 0에 어설션하여 통신이 초기화됩니다. 그런 다음 센서가 데이터의 첫 번째 비트를 전송합니다. 마이크로 컨트롤러는 SCK의 상승 에지에서 데이터를 읽습니다. 그런 다음 SCK의 하강 에지가 사용되어 센서로부터 데이터 나머지를 클로킹합니다. 이전 예와 같은 모드 1 전송이지만 데이터 워드가 더 깁니다.

SPI의 범위 확장

여러 IC 제조 업체는 많은 마이크로 프로세서 및 마이크로 컨트롤러에 SPI를 포함했을 뿐 아니라 버스의 기능을 확대했습니다. Analog Devices의 LTC6820 isoSPI 절연 통신 인터페이스가 그 좋은 예입니다. 이 IC는 차동 신호를 사용하여 단일 연선 연결을 통해 통신하는 두 SPI 장치 간의 전기적 분리를 제공합니다(그림 7). 이 신호 모드는 LTC6820의 SPI 인터페이스의 사용 가능 범위를 최대 100m로 확장합니다. 다만 클록 속도는 10m 거리에서 정격 속도 1Mbit/s보다 낮아집니다.

Analog Devices LTC6820 절연기 구성도

그림 7: LTC6820 절연기 쌍은 두 SPI 장치 간에 전기적 분리를 제공합니다. IC는 최대 10m 거리에서 최대 1Mbit/s, 최대 100m 거리에서는 감소된 클록 속도의 데이터 전송을 지원합니다. (이미지 출처: Analog Devices)

절연은 펄스 변압기를 통해 제공되는데 이 기술은 산업 네트워킹 응용 분야 및 원격 센서 읽기에 사용되기도 합니다.

결론

SPI는 위치 주소 지정을 위한 데이터 읽기 및 쓰기와 반대로 소스를 데이터 스트림으로 기술할 수 있는 응용 분야에서 간단하고 저렴하며 오버헤드가 낮은 인터페이스에 대한 필요성을 충족합니다. 마이크로 컨트롤러와 센서, 디지타이저, 디지털 신호 처리 장치 및 기타 프로세서 간의 장치 간 통신을 처리하는 데 이상적입니다.

 
DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Art Pini

Art Pini

Arthur(Art) Pini는 DigiKey의 기고 작가입니다. Art는 뉴욕시립대에서 전기공학 학사 학위를 취득하고 뉴욕시립대학교에서 석사 학위를 취득했습니다. 그는 전자 분야에서 50년 이상의 경력을 쌓았으며 Teledyne LeCroy, Summation, Wavetek, Nicolet Scientific에서 주요 엔지니어링 및 마케팅 역할을 담당했습니다. Art는 오실로스코프, 스펙트럼 분석기, 임의 파형 생성기, 디지타이저, 전력계와 관련된 측정 기술과 폭넓은 경험에 관심을 갖고 있습니다.

게시자 정보

DigiKey 북미 편집자