직렬 통신이란 무엇이며 어떻게 작동합니까?
소개
시리얼 커뮤니케이션은 가장 널리 사용되는 방법을 사이에 정보를 전송 데이터 처리 장비 및 주변기기. 일반적으로,통신 수단을 교환하의 정보를 개인 사을 통해 작성된 문서,구두어,오디오 및 비디오 수업입니다.
모든 장치는 개인용 컴퓨터 일 수도 있고 직렬 프로토콜에서 모바일이 실행될 수도 있습니다. 프로토콜은 안전하고 신뢰할 수 있는 형태의 통신을 갖는 집합의 규정에 의해 해결 원본 호스트(sender)및 대상스(수신기). 더 나은 통찰력을 갖기 위해 직렬 통신의 개념을 설명했습니다.
임베디드 시스템,시리얼 통신의 방법으로 데이터를 교환하는 다른 방법을 사용하여 형태의 직렬 디지털 바이너리입니다. 데이터 교환에 사용되는 잘 알려진 인터페이스 중 일부는 RS-232,RS-485,I2C,SPI 등입니다.
직렬 통신이란 무엇입니까?
직렬 통신에서 데이터는 이진 펄스 형태입니다. 즉,이진 하나는 논리 높음 또는 5 볼트를 나타내고 0 은 논리 낮음 또는 0 볼트를 나타냅니다. 직렬 통신은 전송 모드 및 데이터 전송 유형에 따라 많은 형태를 취할 수 있습니다. 전송 모드는 심플 렉스,반이중 및 전이중으로 분류됩니다. 각 전송 모드에 대한 소스(발신자라고도 함)와 대상(수신자라고도 함)이있을 것입니다.
전송 모드–직렬 통신
단순 방법은 하나의 커뮤니케이션 기법이다. 하나의 클라이언트 만(보낸 사람 또는 수신자가 한 번에 활성화되어 있음). 발신자가 전송하는 경우 수신자 만 수락 할 수 있습니다. 라디오 및 텔레비전 전송은 심플 렉스 모드의 예입니다.
반 이중 모드에서,모두 송신자와 수신자 사이 활성화 하지만 시간을 보낸 사람을 전송,수신기는 받아들일 수 있지만 보낼 수 없으며 그 반대입니다. 좋은 예가 인터넷입니다. 클라이언트(랩톱)가 웹 페이지에 대한 요청을 보내면 웹 서버가 응용 프로그램을 처리하고 정보를 다시 보냅니다.
전이중 모드는 세계에서 널리 사용되는 통신입니다. 여기서 송신자와 수신자 모두 동시에 송수신할 수 있다. 예를 들어 스마트 폰이 있습니다.
전송 모드 외에도 호스트 컴퓨터(송신자 또는 수신기)의 엔디안 및 프로토콜 설계를 고려해야합니다. Endianness 는 특정 메모리 주소에 데이터를 저장하는 방법입니다. 데이터 정렬에 따라 엔디안은
- 리틀 엔디안과
- 빅 엔디안으로 분류된다.
이 예를 들어 endianness 의 개념을 이해하십시오. 32 비트 16 진수 데이터 ABCD87E2 가 있다고 가정합니다. 이 데이터는 어떻게 메모리에 저장됩니까? 명확한 생각을 갖기 위해 리틀 엔디안과 빅 엔디안의 차이점을 설명했습니다.
Little Endian 대 Big Endian
데이터 전송에서 일어날 수 있는 두 가지 방법이 있습니다. 그들은 직렬 통신 및 병렬 통신입니다. 직렬 통신은 2 선식 즉 송신기(송신기)와 수신기를 사용하여 데이터를 비트 단위로 전송하는 데 사용되는 기술입니다.예를 들어 송신기에서 수신기로 8 비트 이진 데이터 11001110 을 보내고 싶습니다. 그러나 어느 비트가 먼저 나옵니까? 가장 중요한 비트-MSB(7 번째 비트)또는 가장 중요한 비트-LSB(0 번째 비트). 우리는 말할 수 없습니다. 여기서 LSB 가 먼저 움직이는 것을 고려하고 있습니다(little Endian 의 경우).
시리얼통신
위에서 다이어그램을 위한 모든 시계 펄스; 송신기는 수신기에 데이터의 단일 비트를 보냅니다.
병렬 통신은 한 번에 8,16 또는 32 비트의 데이터를 이동합니다. 프린터 및 제록스 기계는 빠른 데이터 전송을 위해 병렬 통신을 사용합니다.
RS232 병렬 통신
차이 직렬 및 병렬 통신
직렬 통신만 보내 한 번에 하나의 비트 시간입니다. 따라서 더 적은 I/O(입력-출력)라인이 필요합니다. 따라서 공간을 적게 차지하고 크로스 토크에 더 강합니다. 직렬 통신의 가장 큰 장점은 임베디드 시스템 전체의 비용이 저렴 해지고 장거리로 정보를 전송한다는 것입니다. 직렬 전송은 모뎀과 같은 dce(데이터 통신 장비)장치에 사용됩니다.
병렬 통신에서 한 번에 데이터 덩어리(8,16 또는 32 비트)가 전송됩니다. 따라서 각 데이터 비트에는 별도의 물리적 I/O 라인이 필요합니다. 병렬 통신의 장점은 빠르지 만 단점은 더 많은 수의 I/O(입력-출력)라인을 사용한다는 것입니다. 병렬 전송 PC 에서 사용(개인용 컴퓨터)를 연결 CPU(central processing unit),RAM(random access memory),모뎀,오디오,비디오,및 네트워크를 하드웨어입니다.
참고:귀하의 통합 회로 또는 프로세서를 지원하는 더 적은 양의 입력/출력 핀을 선택하는 것이 좋 시리얼통신
쉽게 이해하고,여기의 비교를 직렬 및 병렬 통신입니다.
시리얼통신 | 병렬 통신 |
---|---|
데이터를 전송 비트 중 하나에서 클럭 펄스가 | 전송의 덩어리 데이터 |
중 하나가 필요 합 와이어 전송 데이터 | 필요합’n’개의 라인을 전송하기 위한’n’비 |
통신 속도가 느린 | 통신 속도가 빠른 |
설치 비용이 저렴한 | 설치 비용이 높 |
선호하는 장거리 통신 | 사용에 대한 짧은 거리 통신 |
를 들어: 컴퓨터를 컴퓨터 | 컴퓨터를 다 기능 프린터 |
시계 동기화
에 대한 효율적인 작업의 시리얼 장치,시계 기본 소스입니다. 시계의 오작동으로 인해 예기치 않은 결과가 발생할 수 있습니다. 클럭 신호는 각 직렬 장치마다 다르며 동기 프로토콜 및 비동기 프로토콜로 분류됩니다.
동기 직렬 인터페이스
모든 장치에 동기 직렬 인터페이스를 사용하여 하나의 CPU 버스를 모두 공유 시계와 데이터입니다. 이 사실로 인해 데이터 전송이 더 빠릅니다. 이점은 전송율에 불일치가 없을 것입니다. 또한 구성 요소를 인터페이스하기 위해 더 적은 I/O(입력-출력)라인이 필요합니다. 예는 I2C,SPI 등입니다.
비동기 직렬 인터페이스
비동기하지 않는 인터페이스가 있는 외부 시계 신호,그리고 그것은에 의존하는 네 개의 매개 변수 즉
- 전송 속도를 제어
- 데이터 흐름을 제어
- 전송 및 리셉션 컨트롤
- 오류 제어 할 수 있습니다.
비동기 프로토콜은 안정적인 통신에 적합합니다. 이들은 장거리 신청을 위해 사용됩니다. 비동기 프로토콜의 예는 RS-232,RS-422 및 RS-485 입니다.
직렬 통신은 어떻게 작동합니까?
마이크로 컨트롤러 및 마이크로 프로세서와 같은 고급 CPU 는 직렬 통신을 사용하여 외부 세계뿐만 아니라 칩 주변 장치와 통신합니다. 익숙해지기 위해 간단한 예를 들어 보겠습니다. 가정 해 봅시다,당신은 스마트 폰에 노트북에 존재하는 파일을 보내려고합니다. 어떻게 보내시겠습니까? 아마도 블루투스 또는 와이파이 프로토콜을 사용하고있을 것입니다.
그래서,여기에 직렬 통신을 설정하는 단계는
- 연결을 추가합니다.
첫 번째 단계에서 노트북은 100m 근처의 장치를 검색하고 발견 된 장치를 나열합니다. 이 프로세스를 종종 로밍이라고합니다.
- 통신하려는 장치를 선택하십시오.
모바일에 연결하려면 페어링을 수행해야합니다. 기본 구성은 이미 소프트웨어에 있습니다. 따라서 전송 속도를 수동으로 구성 할 필요가 없습니다. 이 외에도 네 가지 알려지지 않은 규칙이 있습니다. 전송 속도,데이터 비트 선택(프레이밍),시작-정지 비트 및 패리티입니다.
규칙의 시리얼 통신
#1Baud rate?
전송 속도는 초당 비트 형태로 송신기에서 수신기로 데이터를 전송하는 속도입니다. 표준 전송 속도 중 일부는 다음과 같습니다 1200, 2400, 4800, 9600, 57600.양측(모바일 및 노트북)에서 동일한 전송 속도를 설정해야합니다.
참고:전송률이 높을수록 더 적은 시간에 더 많은 데이터를 전송할 수 있습니다.그러나 수신기 끝에서 샘플링 주파수의 불일치로 인해 안전 한계로 115200 까지 사용하는 것이 좋습니다.
#2Framing
Framing 은 호스트 장치(랩톱)에서 모바일(수신기)으로 전송하려는 데이터 비트 수를 보여줍니다. 5,6,7 또는 8 비트입니까? 대부분 많은 장치,8 비트가 선호됩니다. The8 비트 데이터 청크를 선택한 후 endianness 는 발신자와 수신자가 합의해야합니다.
#3 동기화
송신기는 원래 데이터 프레임에 동기화 비트(1 시작 비트 및 1 또는 2 정지 비트)를 추가합니다. 동기화 비트는 수신기가 데이터 전송의 시작과 끝을 식별하는 데 도움이됩니다. 이 프로세스를 비동기 데이터 전송이라고 합니다.
#4 오류 제어
데이터 손상이 발생할 수 있습 때문에 외부의 잡음에 수신기는 끝입니다. 안정적인 출력을 얻는 유일한 해결책은 패리티를 확인하는 것입니다.
이진 데이터에 짝수 1 이 포함 된 경우 짝수 패리티로 알려져 있으며 패리티 비트는’1’으로 설정됩니다. 이진 데이터에 홀수 1 이 포함되면 홀수 패리티라고하며 이제 패리티 비트가’0’으로 설정됩니다.
비동기 직렬 프로토콜
가장 일반적인 질문에는 것이 마음에 올 때 당신이에 작업을 시작하는 임베디드 시스템을 사용하는 이유는 비동기 프로토콜?
- 보다 안정적인 데이터 전송을 위해 더 먼 거리에서 정보 주위를 이동하고
- .
일부의 통신 프로토콜습니다:
RS-232 프로토콜
- RS232 은 첫 번째 직렬 프로토콜로 연결하는 데 사용되는 모뎀을 위해 통화법이다. RS 는 권장 표준을 의미하며 이제는 EIA(Electronic Industries Alliance)/TIA(Telecommunication Industry Association)로 변경되었습니다.
- 모뎀,마우스 및 CNC(계산 된 수치 컴퓨팅)기계에도 사용됩니다. 단일 송신기 만 단일 수신기에 연결할 수 있습니다.
- 그것은 전이중 통신을 지원하고 최대 1mbps 의 전송 속도를 허용합니다.
- 케이블 길이는 50 피트로 제한됩니다.
아시다시피 메모리에 저장된 데이터는 바이트 형태입니다. 바이트 단위 데이터가 이진 비트로 어떻게 변환되는지 의심의 여지가 있습니까? 대답은 직렬 포트입니다.
직렬 포트에는 UART 라는 내부 칩이 있습니다. UART 는 병렬 데이터(바이트)를 비트 직렬 형태로 변환하는 범용 비동기 수신기 송신기의 약어입니다.
RS232 시리얼 포트
RS-232 배선 연결
RS232 시리얼 포트가 구 핀,남성 또는 여성형 모델입니다. RS232C 직렬 통신 인터페이스는 RS232 의 이후 버전입니다.
RS232 에 존재하는 모든 기능은 25 개의 핀이 있다는 것을 제외하고는 RS232C 모델에 존재합니다. 25 개 또는 9 개의 핀 중에서 터미널 장치 연결에 3 개의 핀만 사용합니다.
RS232 배선 연결
RS422 인터페이스
우리는 데이터를 전송할 수 있습까지만 1Mpbs 한도를 사용하여 RS232 입니다. 이 문제를 극복하기 위해 RS422 는 그림으로 제공됩니다. RS422 는 멀티 드롭 직렬 인터페이스입니다. 단일 버스를 사용하여 한 번에 10 개의 수신기에 10 개의 송신기를 연결할 수 있습니다. 그것은 데이터를 전송을 사용하여 두 개의 트위스트 페어 케이블(차동 구성). 케이블 길이는 10mbps 의 보드율로 4000 피트입니다.
RS422 배선 연결
RS485 인터페이스
RS485 은 업계의 기본 프로토콜입니다. RS422 와 달리 32 라인 드라이버와 32 수신기를 차동 구성으로 연결할 수 있습니다. 송신기는 라인 드라이버라고도합니다. 그러나 한 번에 하나의 송신기 만 활성화됩니다.
RS485 배선 연결
참고:모두를 위한 RS232,RS485,당신은 연결을 종료합니다.
1 와이어 프로토콜
하나의 와이어는 i2c 프로토콜과 유사합니다. 그러나 차이점은 하나의 와이어 프로토콜이 단일 데이터 라인과 접지를 사용한다는 것입니다. 그것은 더 클럭 신호를 필요로하지 않으며 노예는 내부 수정 발진기를 사용하여 클럭. 반이중 통신을 제공합니다.
하나의 와이어는 64 비트 주소 지정 방식을 사용합니다. 하나의 와이어 인터페이스의 장점은 저렴한 비용으로 장거리 통신을 지원한다는 것입니다. 그러나 단점은 속도가 적다는 것입니다.
비동기 유선 프로토콜은 장거리 통신에 적합합니다. 그러나 동기식 직렬 인터페이스에 범위를 부여하는 한 가지 단점이 있습니다.단점은 더 많은 송신기와 수신기를 연결할 필요가 있다면 설치 비용이 높다는 것입니다.
동기 직렬 프로토콜
동기 통신 프로토콜은 온보드 주변 장치에 가장 적합한 리소스입니다. 장점은 동일한 버스에서 더 많은 장치를 인터페이스 할 수 있다는 것입니다. 동기 프로토콜 중 일부는 I2C,SPI,CAN 및 LIN 입니다.
I2C 프로토콜
I2c(Inter-integrated circuit)는 두 개의 철사 양방향 프로토콜을 사용해 데이터 교환 다른 장치들 사이에서 같은 버스입니다. I2c 는 7 비트 또는 10 비트 주소를 사용하여 최대 1024 개의 장치를 연결할 수 있습니다. 그러나 시작 및 정지 조건을 생성하기위한 클록 신호가 필요합니다. 장점은 400kbps 의 데이터 전송을 제공한다는 것입니다. 그것은 온보드 통신에 적합합니다.
SPI 프로토콜
SPI(Serial 주변 장치 인터페이스)프로토콜 전송 및 수신 데이터를 연속 스트림에서 중단없이. 이 프로토콜은 고속 데이터 통신이 필요한 것이 좋습니다. 제공 할 수있는 최대 속도는 10mbps 입니다.
I2c 와 달리 SPI 에는 4 개의 와이어가 있습니다. MOSI(Master out slave in),MISO(Master in slave out),Clock 및 Slave select signal 입니다. 이론적으로 우리는 무제한의 슬레이브를 연결할 수 있으며 실제적으로 버스의 부하 커패시턴스에 따라 달라집니다.
CAN 프로토콜
이 프로토콜은 차량 시스템 또는 자동차 전용입니다. 구리를 절약하는 멀티 플렉스 전기 배선에 사용되는 메시지 지향 프로토콜입니다. 그것은 멀티-마스터 다 직렬 버스에 사용되는 응용 프로그램과 같은 자동적인 시작/정지의 차량,충돌 제거 체계 등등.
USB
USB 인터페이스는 최선의 대안을 직렬 또는 병렬 포트가 있습니다. USB 포트와 관련된 데이터 전송은 직렬 및 병렬 인터페이스보다 매우 빠릅니다. USB 는 1.5Mbps(USB1.0)에서 4.8Gbps(USB3.0)의 속도를 지원합니다. 오늘날 대부분의 임베디드 장치는 hex 파일을 마이크로 컨트롤러에 덤프하기 위해 USB OTG(go 프로그래밍 중)기술을 사용합니다.
Microwire
Microwire 는 3 선 직렬 통신 프로토콜입니다. 주변 칩과 인터페이스하기 위해 마이크로 컨트롤러에 직렬 I/O 포트가 있습니다. 최대 3mbps 의 속도를 지원합니다. I2c 및 spi 프로토콜의 하위 집합보다 빠릅니다.
결론
직렬 통신은 중요한 일부의 영역에서 전자공학과 임베디드 시스템입니다. 두 장치가 동일한 버스에서 정보를 교환하려는 경우 데이터 전송 속도가 중요합니다. 따라서 모든 응용 프로그램에 대해 유효한 직렬 프로토콜을 선택해야합니다.
또한 읽기:임베디드 시스템이란 무엇이며 어떻게 작동합니까?