ysw's blog

    Arduino RaspberryPi Serial Communication

    23 Jan 2019 |

    포스팅

    Serial 통신이란?


    <내용>

    직렬(Serial) 통신은 대게 하나의 신호선을 이용하여 데이터를 주고받는 통신을 일컬어 지칭한다. 하나의 신호선을 이용하기 때문에 데이터 전송은 일정한 시간 간격으로 전송하게 된다. 즉, 한 시간 간경 동안에 하나의 논리적인 데이터 0과 1(HIGH or LOW)을 보내며, 일정한 길이의 데이터를 모두 전송하기 위해서 다소 시간이 소요된다.

    그렇지만 시리얼 통신은 적은 수의 신호선을 사용하기 때문에 저렴하게 통신할 수 있다. 이런 장점 때문에 최근에 대부분의 통신은 직렬 통신으로 데이터를 전송한다. 시리얼 통신의 적용예는 USB, PC COM Port등이 있다.


    <내용>

    병렬(Parallel)통신은 여러 개의 신호선을 사용한다. 신호선의 개수는 하나의 시간 간격 동안에 전송되는 데이터의 크기에 따라서 달라지는데, 일반적으로 8-Bit, 16-Bit, 32-Bit의 데이터 선과 제어 신호선으로 구성되어집니다. 이렇게 많은 선을 사용하므로 단위 시간당 전송되는 데이터 Bit의 양은 많지만, 통신 거리가 길어지게 될 경우에 이런 수 많은 선을 모두 연장해야해서 통신 비용이 매우 크다고 한다.

    또한, 최근 다양한 기능의 단말 장치들이 계속해서 소형화되어가는 현실에서 데이터 통신을 위해서 구성해야하는 I/O 단자의 크기를 크게 줄일 수 없기 때문에 병렬 통신은 쇠퇴의 길을 걷고 있다고 한다.



    동기 시리얼 통신과 비동기 시리얼 통신이란?


    <내용>

    동기 시리얼 통신은 데이터를 주고 받을 때 동기 클록을 사용하여 전송되는 2진 데이터 신호 정보를 파악하는 통신을 말한다. 동기 시리얼 통신에서는 데이터 송수신과 별도의 제어 신호선 이외의 통신을 수행하는 노드 상에 연결된 각 장치에 동기 통신만을 위한 동기화 클록선이 별도로 존재한다.

    이런 동기 시리얼 통신은 오류가 적으며, 빠른 데이터 통신을 할 수 있도록 한다. 그러나 별도의 클록선을 배정해야해 통신비용이 증가되고, 데이터 통신을 위한 주변 전자회라가 다소 복잡해지는 결과를 가져온다.


    <내용>

    비동기 시리얼 통신은 데이터를 주고 받는 통신선과 제어선으로만 구성된 통신을 말한다. 비동기 시리얼 통신은 별도의 클록선을 배정하지 않아도 되며, 도선 몇 가닥으로 손쉽게 통신 회선을 구축할 수 있는 장점이 있으며, 통신을 위한 주변 전자회로 장치가 매우 간단한 것이 특징이다.

    그러나 비동기 시리얼 통신은 2진 데이터 신호가 통신 회선을 통해 이동하는 과정 중 원본 데이터에 대한 2진 데이터 신호가 사라지거나 동기 시리얼 통신에 비해 전송할 데이터의 처음과 끝에 각종 통신 제어 정보를 함께 실어 보내야하는 단점이 있다. 이 때문에 동기 시리얼 통신보다 그 속도가 더 빠를 수 없는 구조이다.

    하지만 비동기 시리얼 통신은 매우 저렴한 통신을 할 수 있기 때문에 동기 시리얼 통신과 더불어 여러 산업 분야에서 많이 사용되고 있다.

    가져온곳: https://m.blog.naver.com/PostView.nhn?blogId=ansdbtls4067&logNo=220886156177&proxyReferer=https%3A%2F%2Fwww.google.com%2F