SPI 인터페이스(일련번 주변 장치 인터페이스)버스는 고속,3-wire,시리얼 통신 프로토콜(4 포함하는 경우 SSn-아래 참조). Itsprimiary 목적은 직렬 인터페이스로 thetraditional 병렬 버스를 대체하여 ON-PCB 와이어 라우팅을 줄이는 것입니다. (당신은 단지 8 비트 버스를 여러 레이어 PCB 를 통해 라우팅 할 수 있지만 16,32 비트 등을 얻을 때 훨씬 더 어려워집니다).,
연결은 다음과 같습니다.
- MOSI(마스터 아웃 슬레이브 인).리><리>된장(마스터 인 슬레이브 아웃).
- SCK(슬레이브 시계).
- SS_n(슬레이브 선택).
-을 나타낸 그림 명칭
참고:지난 신호 SS 또는 슬레이브를 선택은 별도의 프로토콜은 일반적으로 구현 가능하게 하는 제어 핀에서 마이크로 제어기. 완전성을 위해 여기에 포함됩니다.
SPI PIC 인터페이스는 고속 직렬 인터페이스를 사용하여 주변 장치를 연결할 수 있습니다. SPI FlashMemory 및 SPI SRAM 은 모든 시스템에 쉽게 추가 할 수 있습니다., 다른 유형의 장치에는 다음이 포함됩니다.
- ADC.
- DAC.리><리>플래시.리><리>EEPROM.
- Accellerometers.
- Lcd.
- 온도&습도 센서.리><리>…그리고 더 많은.
Itsonly 다른 실제 경쟁 I2C bus 는 이유는 당신은 종종 seethese 인터페이스 모두에서 사용할 수 프로세서 및 마이크로 제어기.
SPI 인터페이스 설계되었는 1970 년대에 의해 모토로라,에 사용되는 그들의 68000processor,그리고 빠르게 채택하여 많은 다른 제조업체로 사실상의 표준입니다.,
Itis 는단거리 및 고속(MHz)에서 마스터 장치에서 하나 이상의 슬라브 장치로의 데이터 전송.
작동 방법
그것은 작동 전송하여 데이터 중 하나는 비트에 시간을 사이에 두 가지 장치를 마스터 장치에 보내는 시계 신호(스탠다드차타드금융지주). 시계는 데이터 전송 타이밍을 제어합니다.
데이터(MOSI)은 시프트 레지스터에서 SPI 마스터 장치와 함께 clock signal(스탠다드차타드금융지주)는 동안 동일한 시간에 또 다른 시프트 레지스터로부터 데이터를 수신하고,슬레이브(된장,).,
마스터는 항상 제어 중이며 클록 신호를 사용하여 데이터 전송을 시작합니다. 슬레이브 장치를 사용하여 별도의 슬레이브 선택 신호가 소프트웨어 제어 즉,이러한 신호는 별도의에서 SPI 하드웨어 모듈이 있습니다.
참고:의 비트 수를 정의하지 않으로 프로토콜되지 않도록 제한하는 사용 8-그것의 숫자가 될 수 있습니다. 비트 수를 각 장치에 필요한 모든 비트의 합으로 설정해야하므로 SPI 슬레이브를 데이지 체인으로 연결할 때 유용합니다.,
참고:SPI 는 단일 마스터 시스템을 정의합니다.
대체 프로토콜 인 IIC 는 다중 버스 마스터 작업을 허용합니다.
SPI 인터페이스가 있는 시계를 정의
SPI 계에서 정의된 모든 의 의미는 다른 슬레이브 장치를 추측할 수 있는 다른 시계 작업을 하는 노예이 필요할 수 있는 유휴 상태의 시계는 동안,다른 필요할 수 있는 유휴 상태의 낮습니다. 다른 사람들이 떨어지는 가장자리에 반응하는 동안 다른 사람들은 상승 가장자리에 반응합니다!,
SPI 인터페이스 protocl 은 이러한 세부 정보를 SPI 하드웨어 모듈로 프로그래밍하도록하여이를 처리합니다.
다음 이미지는 그림에 대한 인터페이스 SPI(모든 SPI 하드웨어 모듈을 다른 마이크로컨트롤러를 허용할 것 같은 작업을 사용하여 다른 등록).,
SPI 인터페이스 그림 신호(에서 추출 그림 데이터 시트를 DS39582B)
그것은 당신을 설정하는 올바른 시계 당신을 위해 장치가 활성화될 때에 의해 슬레이브 선택 신호(또는 의 경우에 한 노예가 그것은 항상 선택한 것입니다 그래서 할 수 없는 슬레이브 선택 신호).
Arduino SPI 연결
다이어그램에서 SPI 인터페이스를 연결하는 또한 일어나 프로그래밍 커넥터(ICSP),에 Arduino 보드할 수 있는 직접적인 프로그래밍의 ATmega328p.,p>
5 – Reset
6 – GND
Location of the SPI connector on Arduino Uno R3
Photo Credit : kenming_wang (mod shows ICSP)
Different SPI Interface operational Modes
There are three ways of using the SPI interface
- Single Master – Single Slave.,
- 단일 마스터-다중 슬레이브-칩이 선택되었습니다.
- 단일 마스터-다중 노예-Dasiy 체인.
단일 마스터-단일 슬레이브.
여기에 설치에 대한 단일 SPI 장치를 연결:
참고:는 칩 선택 신호 SS 가 선택한 하나의 장치 systemas 당신은 일반적으로 넥타이 SSinput 에서 슬레이브 낮음(경우에는 기타 라인에 전념하는 SPI 사용).,
SIP 인터페이스::사용 칩을 선택
이 계획으로 제어 각 슬레이브 장치 usingits 량(일반적으로 활성이 낮은 빨간색 화살표가 표시 controllines). 비활성화하면 데이터의 출력에서 theslave 로가 높은 임피던스 주립을 방해하지 않도록 withthecurrently 선택한 슬레이브와 슬레이브의 데이터 입력은 무시됩(checkdatasheet).,
의 장점 이 계획은 고려할 수 있습니다(제어)서 deviceseparately 비교할 때 그것으로 데이지 체인 방법-수 있도록 연결의 SPI 장치가 필요한 다른 시계를 계획합니다.
경우 SPI 한 노예를 사용하여 운영하는 다른 시계(가장자리/유휴 상태)할 수 있는 다시 프로그램을 마스터 SPI 하드웨어 모듈을 사용하기 전에 특정 CS 그래서 각 슬레이브는 정확한 신호를 보냈습니다.
사용하는 경우에는 데이지 체인 방법 그는지 확인해야 합 모든 칩을 사용하여 동일한 시계의 가장자리와 유휴 상태계 상태입니다.,
SPIInterface:는 데이지 체인 연결
이 계획은 모든 데이터 전송은 마스터로 이동 모든 장비 및 모든 데이터 전송에서 각각 장치를 이동한 다음(에 의해 표시 빨간 점은 화살표). 이 계획 작동하는지 확인해야 합는 각 슬레이브 사용 시계 같은 방법으로 당신은 당신의 오른쪽 번호 비트,그래서 거기에 더 많은 할 일이에서 소프트웨어입니다.
참고:활용 데이지 체인 방법은 당신이 저장 칩 선택 신호를 위한 각 슬레이브 SPI 장치입니다.
위키 백과에 대한 자세한 정보.,
SPI 인터페이스는 데이지 체인
SPI 데이지 체인 예
를 사용하여 여러 HC595 칩,데이지 체인 연결을 제공,쉽게의 수가 증가 출력을 사용할 수없이 많이 사용하는 마이크로컨트롤러 핀입니다.
동작의 한계는 HC 의 속도,SPI 출력의 속도입니다. 디자인 또한 고려 예를 들어 운전하는 경우에는 설정의 Led 가입 업데이트해야 합니다 모든 20ms.
병렬 대 Serial SPI
무역을 사용하여 병렬 인터페이스와 SPI 인터페이스 속도로 예:, 는 경우 youread 병렬 12 비트 ADC 에 200ksps 다음을 읽을 수 있는 장치 ata200kHz 평가 있지만 당신이 원하는 경우 동일한 데이터 평가 사용하는 SPI 다음 필요한 일련의 속도 200kHz x12=2.4MHz. 따라서 실제 트레이드 오프는 속도와 그에 따른 노이즈가 회로에 도입 된 것입니다.
요약
SPI 인터페이스는 고속으로 작동하는 매우 인기있는 프로토콜을 정의합니다. 주요 문제는 슬레이브 장치를 받지 않으며 어떤 특정 클럭 scheme 그래서 그들은 서로 다르게 작동할 수 있습을 만들 수 있는 그들을 통제하기 어려운 즉, 시계 유휴 및 가장자리는 각 장치에 대해 올바르게 설정해야합니다.
장점:
- 고속.
- 소프트웨어에서 복제하기 쉬운 Exremely 간단한 인터페이스.
단점:
- 노 칩은 무료이지 클로킹 그들은 계획이 필요합니다.리>