https://hydroponicglass.tistory.com/224
임베디드에서의 UART, I2C, SPI 사용 비교
직렬 전송방식 임베디드 시스템에서 통신으로 가장 많이 사용하는 것이 UART, I2C, SPI다. 이들은 모두 직렬 전송 방식이다. 병렬 전송방식은 데이터 전송을 위한 단자와 선이 많이 필요하기 때문에
hydroponicglass.tistory.com
0. UART, I2C, SPI, CAN
1) Serial 통신 : 데이터를 한 비트씩 순차적으로 주고 받는 통신
2) Clock 신호 사용 여부에 따라 동기(Synchronous)와 비동기(Asynchronous)로 구분
- 동기(클럭 신호 사용O) : ①선의 수가 하나 더 많다(클럭선O) → 데이터 길이 제한 없어, 연속으로 데이터 보냄
②통신 속도가 빠르다.
→ SPI, I2C (내부 통신 때 주로 사용)
- 비동기(클럭 신호 사용X) : ①선의 수가 하나 적다(클럭선X)→Clock 신호가 없어, Start bit와 Stop bit가 추가로 필요,
데이터를 연속해서 보낼 수 없다. 한 바이트의 데이터 전송 위해 시작비트와 정지 비트
를 포함해서 적어도 10비트를 전송해야 하므로 상대적으로 효율이 떨어진다.
②통신 속도가 느리다.
→ UART, CAN(외부 통신 때 주로 사용)
1. UART
1) 외부기기와 1:1 통신
2) 송신,수신라인이 따로 존재 → 동시에 데이터 주고 받을 수 있음 → Multi Duplex 전이중 방식
3) Universal Asynchronous serial Receiver and Transmitter → 비동기(Asyncronous)통신 → Clock 사용 하지 않음
4) Idle상태에서 신호가 High → Start bit로 1bit를 Low(falling edge)시그널을 보냄
2. CAN
1) N:N 통신 (multi-master 구조)
2) 2가닥의 꼬임선(Twist Pair wire)로 연결됨 → Half Duplex 반이중 방식
3) CAN Node에 메시지를 보내기 전에 CAN 버스 라인이 사용 중 인지 파악 → ID값을 보내고, 다시 BUS로 부터 값을
받아, 돌아 오는 값이 0인지 1인지를 구분함
4) 비동기(Asyncronous)통신 → Clock 사용 하지 않음 → BaudRate사용
5) MCU 내부에 CAN Controller,
외부에 CAN Transceiver 사용
6) 종단 저항 필요 : 통신 실패를 발생시키는 반사를 제거하기 위해, 처음과 끝에 저항을 달아주어 값이 메아리 치지 않고 빠질 수 있도록 연결해줌
*참고링크 :
2. CAN 통신 흐름 (1) CAN 컨트롤러 - CAN 트랜시버 - 버스
CAN 통신에서 어플리케이션의 구성과 신호의 흐름을 간단하게 설명하겠습니다. CAN 통신의 회로 구성입니다. STM32F091RC는 MCU 내부에 CAN 컨트롤러는 포함하고 있지만, CAN 트랜시버는 따로 구성해야
blog.joon-lab.com
https://blog.daum.net/trts1004/12109102
CAN(Controller Area Network) 개요
CAN 개요 1) 정의 CAN은 초기에 자동차 산업(Automotive Industry) 분야에 적용하기 위해 고안된 시리얼 네트웍 통신방식이다. 근래에는 자동차 분야뿐만 아니라 산업 전 분야에 폭 넓게 적용되고 있으며
blog.daum.net
2. CAN 통신 흐름 (1) CAN 컨트롤러 - CAN 트랜시버 - 버스
CAN 통신에서 어플리케이션의 구성과 신호의 흐름을 간단하게 설명하겠습니다. CAN 통신의 회로 구성입니다. STM32F091RC는 MCU 내부에 CAN 컨트롤러는 포함하고 있지만, CAN 트랜시버는 따로 구성해야
blog.joon-lab.com
3. SPI통신
1) 외부기기와 1:N 통신
2) 송신,수신라인이 따로 존재 → 동시에 데이터 주고 받을 수 있음 → Multi Duplex 전이중 방식
3) Serial Peripheral Interconnect → 동기(Asyncronous)통신 → Clock 사용
4) 마스터 입장에서 슬레이브로부터 신호를 받을 때, FFFF나 0000으로 값이 들어오면 슬레이브가 어떤 상태인 지 모름
→ 소프트웨어적으로 예외처리 필요
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wjdzhdzhd&logNo=221659079644
[이론] UART, SPI 란?
UART 직역하면 '범용 비동기 직렬 송수신기'라고 할 수 있다. 직렬 통신은 한순간에 글자를 ...
blog.naver.com
https://blog.daum.net/trts1004/12109541
SPI(Serial Peripheral Interconnect) 버스 란?
1. SPI(Serial Peripheral Interconnect) 버스란 SPI (Serial Peripheral Interconnect) 버스는 Motorola에 의해 개발된 전이중 (full duplex) 통신이 가능한 동기 통신 규격이다. I2C와 마찬가지로 마스..
blog.daum.net
4. I2C 통신
1) 외부기기와 1:N 통신
2) Data선(SDA)과 클럭선(SCL)하나로 이루어짐 → 동시에 데이터 주고 못 받음 → Half Duplex 반이중 방식
3) 속도가 느리기 때문에 데이터보다 단순 제어용(온도센서 값을 읽어온다는지 등의)으로 사용
https://m.blog.naver.com/yuyyulee/220323559541
[아두이노 강좌] 29. I2C 통신 (1) - I2C 통신이란 무엇인가
아두이노에 사용되는 센서나 모듈 등을 사용하다 보면, 의외로 시리얼 통신이나 I2C 통신, SPI 통신을...
blog.naver.com
'개발정보 > HardwareDesign' 카테고리의 다른 글
pull up with capacitor (0) | 2021.09.15 |
---|---|
MCU GPIO핀과 연결되는 스위칭FET의 Gate 저항값 의미(장단점) (0) | 2021.07.23 |
Open drain& collector 뜻 (0) | 2021.07.22 |
About TP4056(ME4057) (0) | 2021.07.22 |
스위치 채터링 이해 및 하드웨어&소프트웨어 설계 (0) | 2021.07.19 |
댓글