시리얼 통신 : 한 번에 1비트씩 전송하는 통신
패러렐 통신 : 한 번에 여러 비트를 전송하는 통신
시리얼 통신 | 패러렐 통신 | |
통신 거리 | 원거리 전송에 유리 컴퓨터와 외부 장비 간 통신 |
단거리 전송에 유리 컴퓨터 내의 디바이스 간 통신 |
데이터 전송 량 | 1비트씩 전송 | 여러 비트 전송 |
기술 구현 | 구현 기술 단순 | 구현 기술 복잡 |
비용 | 구현 비용 저렴 | 구현 비용 고가 |
대표 장치 예 | PC의 RS-232 포트 | HDD IDE 케이블 |
사용 환경 | 실시간 작은 데이터 처리를 요구하는 환경 | 많은 양의 데이터 처리를 요구하는 환경 |
사용 예 | 산업현장의 각종 장비 간 통신 사용 | 컴퓨터 내부 장치 간 통신 사용 |
DTE : 데이터를 스스로 만들어내거나 어디서 보내온 데이터를 처리하는 장치
DCE : DTE에서 받은 데이터를 전송로에 알맞게 변환해주는 장비
네트워크 구성 방식
시리얼 네트워크 구성방식으로는
Point-to-Point를 사용하는 RS-232와 BUS방식을 사용하는 RS-422, RS-485가 있다.
동기 vs 비동기 전송
동기 통신 | - 송수신 양측이 동기를 유지하기 위해 클럭과 같은 타이밍 신호를 계속적으로 공급하거나 동기 유지를 위한 특별한 문자(동기 문자)를 전송해야한다 - 한 번에 데이터와 제어정보를 포함하는 큰 크기의 텍스트 단위의 문자 프레임을 전송하는 고속 전송방식이다 - 문자의 비트 수와 같은 동기 문자를 보낸다 |
비동기 통신 | - 송수신 양측이 데이터 통신 속도 및 데이터 프레임 포맷을 미리 약속해 두어야한다 - 한 번에 한 글자씩 전송한다. 문자(character)단위 전송이라고도 한다 - START 비트와 STOP 비트로서 하나의 문자씩 동기를 맞춘다 |
비동기 통신은 서로 동기 정보를 주고 받지는 않는다.
대신 Local 클럭을 사용하며 한 비트폭의 크기를 서로 약속한다.
단 방향 통신 Simplex |
- 통신 채널을 통해 한쪽 방향으로만 데이터를 전송하는 방식 - 송 수신 측이 미리 고정되어 있는 통신 방식 - TV나 라이도 방송에서 사용 |
반 이중 통신 Half Duplex |
- 양방향 통신이 가능하지만 어느 한쪽이 송신하는 경우, 상대편은 수신만 가능한 통신 방식 - 무전기를 이용한 통신에서 사용 |
전 이중 통신 Full Duplex |
- 양방향으로 동시 데이터 전송이 가능한 통신 방식 - 하나의 전송 매체를 두 개의 회선으로 사용하거나 전송 방향에 따라 별도의 전송 매체 사용 - 스마트폰, 전화기에서 사용 |
비트 단위 전송(송신부)
데이터를 송신할 때는 병렬화된 데이터를 Serialization 시켜서 객체를 연속된 값으로 바꿔 보낸다.
비트 단위 전송(수신부)
데이터를 수신할 때는 Serialize된 데이터를 받아서 Parallel Data로 바꿔서 보관한다.
어떤 데이터도 보내지 않을 때는 IDLE 상태,
1에서 0으로 가며 START BIT를 통해 데이터의 시작을 알리며 그 이후부터는 8비트의 실제 데이터를 보낸다.
직후 패리티비트를 통해 앞서 보낸 데이터의 상태를 확인하고 STOP BIT를 통해 IDLE의 상태로 돌아간다.
시리얼 데이터 프레임을 얘기하면 START BIT부터 STOP BIT까지를 한 프레임으로 얘기한다.
✅비동기 전송을 위한 준비
- 통신속도
9600 bps -> 1bit width 약 104us
한 비트 폭 = 1/ date rate
통신 속도를 설정한다는 것은 한 비트폭을 알 수 있다는 것과 같은 의미다
데이터 비트는 5개부터 8개 사이로 정할 수 있으며, PARITY BIT 또한 넌 패리티라고 해서 패리티 비트를 사용하지 않는 것으로 이를 사용시 데이터가 끝난 후 바로 스탑비트가 나오게 된다.
STOP BIT도 1비트, 1.5비트, 2비트 3개의 옵션으로 설정을 할 수 있다.
- 통신 데이터 프레임
: N-8-1 -> 1 START + 8 DATA + 0 PARITY + 1 STOP = 총 10비트
N은 NUN PARITY를 의미한다
: O-8-2 -> 1 START + 8 DATA + 1 PARITY + 2 STOP = 총 12비트
O는 ODD PARITY로 홀수 패리티를 의미한다.
E라고 써있으면 EVEN PARITY로 짝수 패리티를 의미한다.
배울 게 많은데, 너무 많다;
'I LEARNED > 자료구조' 카테고리의 다른 글
[자료구조] 스레드와 스케줄러 (11) | 2023.05.18 |
---|---|
[자료 구조]정적할당?동적할당? (3) | 2023.04.26 |
[자료 구조] 컴파일(Compile) & 링크(Link) & 빌드(Build) (0) | 2023.04.25 |
[자료 구조] 프로세스 & 스레드 (0) | 2023.04.21 |
[자료 구조] 프로세스 동기화 #2 Semaphore& Mutex (0) | 2023.01.31 |
댓글