공부용 블로그 | seokmin100
Nefus - Arduino [전송 방식, UAST, I2C, SPI] 본문
아두이노 전송 방식
아두이노의 전송 방식으로 개수, 타이밍, 방향이 있습니다.
개수
- 직렬
한 번에 한 개씩 데이터를 전송하는 방식입니다.
- 병렬
한 번에 여러 데이터를 전송할 수 있는 방식입니다.
타이밍
- 동기식
데이터를 블록 단위로 전송하는 방식입니다.
두 장치 사이의 클럭 신호를 통해 송신 측과 수신 측의 시간을 일치시키는 방식입니다.
장점으로는 데이터를 묶어서 전송하여 높은 효율성을 보여줍니다. -> 고속 전송
단점으로는 클럭 신호 교환을 위한 추가 회선 필요 및 클럭 신호에 대한 종속성이 있습니다.
- 비동기식
클럭 신호를 사용하지 않고, 전송할 데이터가 있으면 그때그때 전송하는 방식입니다.
데이터의 양끝을 구분하기 위한 시작비트(1)와 정지비트(0)을 삽입하는 방식입니다.
데이터를 약 5~8bit로 분할하여 전송하는 방식입니다.
장점으로는 유연성이 좋습니다.
단점으로는 시작비트와 정지비트, 데이터 분할전송으로 인해 낮은 효율성을 보여줍니다.
또, 지속적인 동기화가 안됨으로 인해 노이즈 내성이 낮습니다.
방향
- 단방향
한쪽 방향으로만 데이터를 전송할 수 있는 방식입니다.
송신 장치와 수신 장치가 정해져 있습니다.
- 양방향
1. 반이중
양쪽 방향으로 데이터를 전송할 수 있지만, 동시에는 불가능한 방식입니다.
한쪽이 송신을 하면, 다른 한쪽은 수신만 할 수 있는 방식입니다.
2. 전이중
양쪽 방향으로 동시에 데이터를 전송할 수 있는 방식입니다.
단방향 전송 방식 두 개가 결합된 방식입니다.
또, 아두이노에서 지원하는 전송 방식으로는 UAST, I2C, SPI가 있습니다.
UAST
UAST(Universal Asynchronous Reciver / Transmitter)는 비동기식 프로토콜입니다.
전이중 통신 방식이며, 병렬 데이터의 형태를 직렬 데이터 방식으로 전환하여 전송하는 방식입니다.
I2C
I2C(Inter-Integrated Circuit)는 동기 통신 프로토콜입니다.
반이중 통신 방식이며, 직렬 데이터를 전송합니다.
SPI
SPI(Serial Peripheral Interface)는 I2C통신과 같은 동기 통신 프로토콜입니다.
전이중 통신 방식이며, 직렬 데이터를 전송합니다.
예를 들어 RF24는 SPI 통신을 이용하여 아두이노와 데이터를 주고 받습니다.
'Nefus > Arduino' 카테고리의 다른 글
Nefus - Arduino [프로젝트] (1) | 2024.06.15 |
---|---|
Nefus - Arduino [서보모터, DC 모터, 모터드라이버] (0) | 2024.05.28 |
Nefus - Arduino [온습도 센서, 불꽃감지센서, 조도센서] (0) | 2024.05.25 |
Nefus - Arduino [LCD, 초음파센서] (0) | 2024.05.21 |
Nefus - Arduino [시리얼 모니터, 택트 스위치, 가변저항] (0) | 2024.05.19 |