본문 바로가기
Nefus

NEFUS_Arduino_20230531

by JJWon 2023. 5. 31.

단방향 전송 방식

데이터를 한쪽 방향으로만 전송하는 방식입니다. 안테나로 데이터를 수신할 수만 있는 TV를 예시로 들 수 있습니다.

 

반이중 전송 방식

양쪽 다 송신 가능하지만, 한 쪽이 데이터를 송신할 때, 반대쪽은 수신만 가능한 전송 방식입니다. 동시 음성 전송이 불가능한 무전기를 예시로 들 수 있습니다.

 

전이중(양방향) 전송 방식

데이터를 양쪽이 동시에 송수신할 수 있는 전송 방식입니다. 상대의 소리가 들릴 때도 목소리를 전달할 수 있는 전화를 예시로 들 수 있습니다.

 

동기식 전송 방식

연결된 두 장치가 별도의 회선을 통해 클럭신호(Clock Cycle)을 공유하여, 클럭 신호의 주기에 맞춰 데이터 송수신 시점을 일치시키는 전송 방식입니다. 데이터를 블록이라는 큰 단위로 묶어 전송하기 때문에 전송 효율이 높지만, 클럭 신호를 공유하기 위한 추가적인 회선이 필요합니다.

 

비동기식 전송 방식

송식측과 수신측 사이의 송수신 시점을 일치시키는 절차 없이 고정된 크기의 비트 묶음을 기본 단위로 하여 임의의 시점에 전송하는 방식입니다. 추가적인 회선이 필요없으나 시작 비트, 정지 비트가 삽입되어 전송 효율이 낮습니다. 시작 비트 0, 8비트 단위의 데이터 묶음, 정지 비트 1을 묶은 비트 묶음을 전송합니다. 정지 비트 이전에 전송 오류를 확인하기 위한 parity bit를 추가하기도 합니다.

 

직렬 전송 방식

데이터를 한 번에 하나씩 전송하는 방식입니다. 전송 오류가 적고, 회선이 하나라서 저렴하지만 전송 속도가 느립니다.

 

병렬 전송 방식

데이터를 한 번에 여러 개씩 전송하는 방식입니다. 전송 속도가 빠르지만 많이 회선이 필요하기 때문에 비싸고, 직렬 전송 방식에 비해 오류가 많습니다.

 

UART(Universal Asynchronous Reciver/Transmitter)

병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 통신입니다. '110001' 이란 데이터를 '1' '1' '0' '0' '0' '1' 같은 직렬 방식으로 전송합니다. UART는 비동기인데, 클럭 신호를 보냄으로 동기화가 되지 않기 때문에 시작하는 start bit와 끝나는 stop bit를 함께 보내서 동기화를 이룹니다. stop 비트 이전에 Parity bit도 있는데, 이 비트는 데이터 전송 과정에서 오류가 생겼는지 확인하기위해 추가되었습니다. 따라서 UART 통신은 8bit를 보내는데 start bit, stop bit, parity bit를 추가하여 총 12bit를 보냅니다.

 

I2C(Inter-Intergrated Circut)

아이투씨라고도 부르는데, 정식 명칭은 아이 스퀘어 씨 입니다. I2C는 IC 사이에 통신 링크를 제공하는 양방향 직렬 통신 프로토콜입니다. 이 통신을 하기 위해 2가닥의 선을 연결해야 합니다. 한 가닥의 선은 SDA로, 데이터를 주고받기 위한 선이고, 다른 한 가닥의 선은 SCL으로, 동기화를 위한 클럭 선입니다. 클럭 신호를 이용해서 데이터를 얼마나 보내는지 타이밍을 맞추기 때문에, 통식속도를 따로 정해주지 않아도 된다는 장점이 있습니다.  반이중 방식이기에 송신과 수신에 동시에 불가능합니다.

'Nefus' 카테고리의 다른 글

NEFUS_Network(1)_20230724  (0) 2023.07.24
Nefus_Arduino_MiNiProject  (1) 2023.06.10
NEFUS_Arduino_20230517  (0) 2023.05.17
NEFUS_Arduino_20230515  (0) 2023.05.14
NEFUS_Arduino_20230508  (0) 2023.05.08