일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DP
- 삼성코딩테스트
- 포스코 ai 교육
- 삼성코테
- 자료구조
- 그리디
- sort
- 다이나믹프로그래밍
- tinyml
- 영상처리
- 코테 문제
- 초소형머신러닝
- 코딩테스트
- DP문제
- dfs문제
- 컴퓨팅사고
- 포스코 교육
- tflite
- dfs
- 삼성역테
- 코테
- 임베디드 딥러닝
- 삼성역량테스트
- TensorFlow Lite
- MCU 딥러닝
- 알고리즘
- bfs문제
- 딥러닝
- 포스코 AI교육
- BFS
- Today
- Total
코딩뚠뚠
[임베디드] RS-232 시리얼통신에 대해 본문
가장 기본적인 통신인 CAN 통신과 RS-232 시리얼통신, 이더넷, TCP 까지 연재중이다.
이번에는 RS-232 시리얼 통신에 대해 얘기해 보려고 한다.
↓↓↓ 이전 포스팅 CAN통신
https://dbstndi6316.tistory.com/305
시리얼 통신
우선 시리얼 통신을 간단하게 알아보자.
시리얼통신은 직렬통신으로 한 번에 한 비트씩 전송하는 방법이다.
이에 반해 병렬통신은 한 번에 여러 비트를 전송하는 방법이다.
한번에 한비트씩 전송하는 시리얼통신은 느리지만 간단하고 장거리에 유용하며 가격이 저렴하다.
또한 통신에는 TXD(송신), RXD(수신), GND 세 개의 라인이 필요하다.
그리고 시리얼통신은 동기식 통신과 비동기식 통신으로 나뉜다.
↓↓↓ 동기식과 비동기식
동기화 (Synchronization)
전송매체로 연결되는 두 장치간에 데이터를 교환하기 위해 전송되는 비트들의 타이밍(전송율, 전송시간, 간격)이 송신측에 있어서 똑같아야 한다.
즉 동기화란 송신측과 수신측이 정확히 송수신할 수 있게 시간을 맞추는 것이다.
동기식 전송 (Synchronous Transmission)
동기식 전송은 양방향의 시차를 맞추어 정확히 송수신할 수 있게 하는 것이다.
한 글자 단위가 아닌 미리 정해진 수 만큼의 글자열을 한 블럭으로 만들어 일시에 전송한다.
데이터 블럭의 전후에 특정 제어정보를 삽입하며, 데이터 블럭과 전후의 제어정보를 합쳐 프레임이라고 한다.
동기식 방식은 전송효율과 전송속도가 높다.
비동기식 전송 (Asynchronous Transmission)
비동기식 전송은 데이터를 전송할 때 한 글자를 나타내는 부호의 전후에 start bit와 stop bit를 넣어서 블록의 동기화를 시켜주는 방식이다.
전송하지 않을때는 IDLE 상태(1)로 있다가 전송시에 ST 상태(0)를 전송하여 수신측에서는 데이터 수신을 준비한다.
구분 | 동기식 전송 방식 | 비동기식 전송 방식 |
통신 속도 | 고속 | 저속 |
회로 복잡도 | 복잡 | 단순 |
구축 비용 | 고가 | 저가 |
동기 제어 방식 | 클럭 동기 | Start bit, Stop bit |
전송 단위 | 블럭단위 전송 | 문자 단위 전송 |
적용 예 | 전화 교환망, ATM, 데이터통신망 | RS-232C |
Baud Rate와 BPS로 속도를 나타낼 수 있는데 Baud 단위는 1초간 통신선의 신호 변경 횟수를 가리키는 단어로 사용되고 있다.
만약 통신 속도를 19200BPS로 통신하고 있다면, 1초간 19200번의 신호가 변화한다고 말할 수 있다.
RS-232C
RS232C는 직렬 2진 데이터의 교환을 하는 데이터 터미널 장비와 데이터 통신장비 간의 인터페이스 규정으로 1:1 접속이다.
RS232C 통신거리는 일반적으로 15m 이지만, 통신속도가 높을수록 거리가 짧아진다.
RS : Recommended Standard232 : 식별 번호로 232 외에도 422 423 485 등이 존재한다.
PIN1 : Data Carrier Detect, 입력포트
PIN2 : Receive Data, 통신 데이터 입력 신호
PIN3 : Transmit Data, 통신 데이터 출력 신호
PIN4 : Data Terminal Ready, 통신 준비 신호, 출력 포트로 사용가능
PIN5 : Ground, 신호레벨
PIN6 : Data Set Ready, 모뎀 통신 준비 신호, 입력 포트로도 사용 가능
PIN7 : Ready To Send, 통신 준비상태 표시. 범용 출력 포트로도 사용 가능
PIN8 : Clear To Send, 통신 준비 상태를 표시. 범용 입력 포트로도 사용 가능
PIN9 : Ring Indicator, 입력 포트
전송하는 Frame Format 는 아래와 같다.
RS232 테스트
RS232 시리얼 통신의 검증(테스트)은 루프백 테스트를 진행한다.
루프백 테스트란 별도의 장치와 연결없이 통신하는 것이다.
즉, 전송한 메시지가 자기 자신에게 되돌아 오는것을 의미하고, 자신과 송수신 한다는 뜻이다.
이와 같이 RXD 와 TXD를 연결하면 두 핀이 쇼트상태가 되고 자신이 보낸 송신신호를 곧바로 자신이 수신하게 된다.
정상적인지 확인하는것으로 통신의 상태를 확인할 수 있다.
'공부 > 임베디드' 카테고리의 다른 글
[임베디드] RFID 란? (4) | 2021.09.08 |
---|---|
[임베디드] TCP/IP 프로토콜 정리 (0) | 2021.09.07 |
[임베디드] CAN 통신이란? (0) | 2021.09.06 |
[임베디드] 임베디드시스템과 AI (0) | 2021.08.30 |
[임베디드] 임베디드시스템 SW 개발과정 (0) | 2021.08.17 |