1 / 12

SPI (Serial Peripheral Interface Bus)

SPI (Serial Peripheral Interface Bus). SPI ???. 전이중 통신 모드로 동작하는 모토로라 아키텍처에서 이름을 딴 동기화 직렬 데이터 연결 표준 . 장치들은 기본적으로 Master-Slave 모드로 통신 하나의 Master 에서 여러 개의 Slave 중에서 필요에 따라 하나를 선택 하여 통신을 할 수 있다 . 최대 70MHz 의 전송 속도를 가지고 있어 I2C 에 비하여 훨씬 빠르다. 기본 구조. Single SPI.

Download Presentation

SPI (Serial Peripheral Interface Bus)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SPI (Serial Peripheral Interface Bus)

  2. SPI ??? • 전이중 통신 모드로 동작하는 모토로라 아키텍처에서 이름을 딴 동기화 직렬 데이터 연결 표준. • 장치들은 기본적으로 Master-Slave 모드로 통신 • 하나의 Master에서 여러 개의 Slave 중에서 필요에 따라 하나를 선택 하여 통신을 할 수 있다. • 최대 70MHz의 전송 속도를 가지고 있어 I2C에 비하여 훨씬 빠르다.

  3. 기본 구조 Single SPI • SCLK : Serial Clock, Master에서 출력 되는 동기용 Clock • MOSI : Master Output Slave Input. (Output from master) • MISO : Master Input Slave Output. (Output from slave) • SS : Slave Select. Master에서 Slave를 선택 하기 위하여 보내는 신호로 Active Low로 작동.

  4. 전송 방식 통신을 하기 위해서 처음에 Master의 클락 주파수를 설정 한다. 이때 설정 할 수 있는 최대 클럭은Slave의 지원 가능한 최대 클락 주파수를 넘지 않아야 한다. Master의 SS에서 통신을 할 Slave에 logic값 0을 주면 해당 Slave와 통신이 구성 된다.(Active Low) 통신이 구성 되면 Master에서는 SLCK로 동기를 위한 클럭을 출력 하는데 이 클럭에 맞추어 MOSI로 데이터를 한 비트씩 전송하고, 동시에 출력하는 클럭에 맞추어 MISO에서 한 비트씩 수신한다.(Full Duplex) 통신이되는 동안 전송 되는 값은 항상 의미가 있는 값은 아니며, SLCK 클럭에 맞추어 자동으로 전송 되어 지는 것.

  5. 전송 방식 보통 SPI 통신은 8비트 단위로 진행 되지만 12, 16비트 또는 임의의 길이로 지정을 할 수 있고 정해진 규정은 없다. 데이터를 연속 전송 하는 경우 한 단위의 데이터를 보낼 때마다 SS 신호를 인가 하는 경우와 SS신호를 0으로 설정 하면 모든 데이터를 다 전송 할때 까지 상태를 유지하는 방식이 존재 하며 Slave 장치에 따라 달라지므로 DataSheet를 확인 하여야 한다.

  6. 전송 타이밍(클럭)

  7. 전송 타이밍(클럭) • 클럭 주파수 설정 방식에 따라 CPOL와 CPHA 두 가지 옵션이 사용되며 이 조합에 따라 4가지 모드로 사용 할 수 있다. • (라이징엣지와폴링엣지에 따른 전송 방식 차이다 보니 앞 슬라이드의 그림으로 설명이 빠를 것 같습니다.)

  8. Multi Slave Typical SPI의 경우 서로 독립적인 Slave의 연결에서 사용 하며 각각 연결되는 Slave에 Master에서 별도의 SS를 주는 핀이 필요 하다. Typical SPI BUS Daisy-Chained SPI의 경우 몇몇의 기기에서 하나의 Master와 여러 개의 Slave간에 동일한 신호를 주고 받는 경우 사용 하며 별도의 SS 핀이 추가로 필요 하지 않으며, Shift register를 이용하여 동일한 신호를 서로 전송하고 읽어 들일 수 있다. Daisy-Chained SPI BUS

  9. SPI의 장점 • 완전한 Full duplex communication • 전송 속도가 다른 시리얼 통신에 비해 빠르다. • 전송 규격의 유연함(bit 수에 정해진 규격이 없다.) • 구성이 간단하다. • 주소 충돌 문제가 없다.

  10. SPI의 단점 • 하나의 Master만이 존재 할 수 있다. • 필요한 핀의 수가 많아 질 수 있다.(기본 4가닥, Slave 수에 따라 증가) • 간단한 구조로 구성 되어 에러를 검출 할 수 없고, 이로 인해서 간섭이 적은 근거리 통신에만 이용이 가능하다. • I2C의 ACK와 같은 메커니즘이 없어 Master가 자신이 통신하는 장치가 실제로 존재하는 장치인지 확인을 할 수 없다.

  11. 참조 자료 • http://mintnlatte.tistory.com/199 (관련 블로그) • 영문판 위키 백과 • http://www.mct.net/faq/spi.html • http://www.byteparadigm.com/applications/introduction-to-i2c-and-spi-protocols/?/article/AA-00255/22/Introduction-to-SPI-and-IC-protocols.html • http://www.corelis.com/education/SPI_Tutorial.htm (튜토리얼)

More Related