Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 쿼리문법
- 데이터필드
- 링크필드
- 디지털신호처리설계
- 완주하지 못한 선수
- 자동 commit
- Django
- matlab 디지털신호처리
- 알고리즘 자동 업로드
- 통신인터페이스
- python웹개발
- Django DB
- Django서버
- sql정리
- select
- Django웹서버개발
- bandpass filter
- 왜 개발이 하고싶은가
- Django cycle
- programmers
- 웹개발
- 설문조사앱
- 프로그래머스
- MTV패턴
- N으로 표현
- SQL
- embeddedSW
- Django웹개발
- 알고리즘풀이
- 코딩테스트
Archives
- Today
- Total
카이로스의 시간
SPI 통신이란 본문
SPI(Serial Peripheral Interface Bus)는 Embedded system에서 많이 사용하는 통신 인터페이스입니다. 주로 단거리 장치간 통신을 위해 사용되고, MCU Control 분야에서 많은 반도체 업체에서 표준으로 채택되고 있습니다. 이 SPI 통신은 매우 간단하며 효율적인 구성을 갖고 있습니다. 또, 전이중 통신, 비교적 낮은 소비전력 등 많은 장점들이 있습니다.
구성
- SPI는 4가지의 논리 신호를 사용합니다.
- CS: Chip Select (active low, Main -> Sub, 데이터 전송 시작에 사용)
- SCLK: 직렬 클럭 (Main -> Sub)
- MOSI: 데이터 전송(Main -> Sub)
- MISO: 데이터 전송(Sub -> Main)
동작
- SPI는 기본 장치로 동작하는 Main 장치와 하나 이상의 Sub 장치로 작동합니다.
- Main의 MOSI에서 Sub의 MOSI로 데이터가 전송됩니다.
- Sub의 MISO에서 Main의 MISO로 데이터가 전송됩니다.
- 데이터 전송:
- 통신을 시작하려면 SPI Main이 먼저 CS를 low로 해서 Sub 장치를 선택합니다.
- Main, Sub는 장치 각각에서 1clock 마다 1bit의 데이터 전송이 발생합니다.(Main은 MOSI, Sub는 MISO로 1bit의 데이터를 보냅니다.)
- 데이터는 일반적으로 Main의 MSB(최상위 비트)부터 먼저 이동합니다.
- 이후 수신기에서는 전송된 비트를 샘플링해서 shift register의 최하위 비트에 저장합니다.
적용
- SPI는 기본적으로 다양한 peripheral과 통신하기위해 사용합니다.
- 각종 센서: 온도, 압력, ADC, 터치 스크린
- 제어 장치: 오디오 코덱, 디지털 전위차계, DAC
- 통신: 이더넷, USB, CAN
- 메모리: 플래시 및 EEPROM
- MMC, SD Card 등