본문 바로가기
Embedded

2. UART(Universal Asynchronous Receiver/Transmitter)

by 밥통대장 2022. 11. 2.
반응형

UART라고도 알려진 범용 비동기 수신기 송신기에 대한 개요를 제공하겠습니다.

그러기 전에 직렬 통신과 병렬 통신의 차이에 대해 알아보겠습니다.

예를 들어, 8비트 병렬 통신이 있다고 가정해 보겠습니다.


<Serial vs. Parallel>

그림에서 보는 것과 같이 직렬 통신에서는 8비트가 한 번에 하나씩 전송되는 반면, 8비트는 동시에 전송됩니다.

이 화살표는 각 비트를 나타내고 있습니다..

UART는 직렬 통신 장치입니다.

직렬 데이터 통신은 두 가지 방법을 사용합니다.

synchronous 방식 또는 asynchronous방식을 사용합니다.

동기 방식은 클럭이 데이터와 함께 전송되는 것을 의미하지만 비동기 방식에서는 클럭이 전송되지 않습니다.

synchronous

Clock is transmitted with the data

Asynchronous

No clock is transmitted. Transmitter and receiver agree on the Clock speed for the data transmission(Baudrate)


송신기와 수신기는 데이터 전송의 클럭 속도에 일치합니다.
이를 보드 레이트라고 하며 UART 구성을 시작할 때 수신기와 송신기 모두에서 보드 레이트를 선택해야 합니다.

두 가지 방법, 즉 Synchronoss와 비동기 방식이기 때문에, 우리 모듈은 실제로 사용하는 방법에 따라 UART 또는 USART입니다.

마이크로일렉트로닉스 문서를 보면 UART라는 단어가 없다는 것을 알 수 있습니다.유니버설 동기 비동기 수신기의 USART와 USART 표준이 있는데 반해 유니버설 비동기 수신기의 UART라는 단어는 없습니다

그래서 이것이 의미하는 것은 만약 우리가 그것을 비동기 모드에서 사용하고 싶다면, 우리는 그것을 UART라고 부르고, 그것은 보편적인 비동기 수신기 송신기가 된다는 것입니다.

그러나 전체 모듈은 범용 동기/비동기 수신기 송신기로 알려져 있으므로 동기 모드 또는 비동기 모드에서 사용할 수 있습니다.

통신을 구성을 시작할 때 전송 모드를 선택해야 하기 때문입니다.

Duplex:

Data can be transmitted and received

Simplex:

Data can be transmitted only or received only. i.e. one direction only

Half Duplex:

Data can be transmitted in only one way at a time.

Full Duplex:

Data can be transmitted in both ways at a time.




Protocol Summary


In asynchronous transmission, each byte(character)is packed between start and stop bits
-Start bit is always 1 bit, the value of the start bit is always 0
-Stop bit can be 1 or 2 bits, the value of the stop bit is always 1

각 바이트 또는 문자는 Start Bit 및 Stop Bit라고 하는 비트 사이에 채워집니다.
네Start Bit는 항상 1비트이고 Start Bit의 값은 항상 0입니다.
그리고 Stop Bit는 하나 또는 두 개입니다.
Stop Bit의 값은 항상 '1' 입니다.

예를 들어, 여기에 ASCII 문자를 전송하고 싶다고 가정해 봅시다. 대문자 A의 이진수 값은, 우리가 여기에 썼듯이, 0 1 0 0 0 0 0 0 1입니다.
그래서 우리는 Start Bit를 가져오고 이것은 실제 데이터이고 우리는 여기에 2비트 Stop Bit를 사용하고 있습니다.
Stop Bit는 하나 또는 두 비트일 수 있다고 했습니다.
여기서는 2비트를 사용하고 있으며, Stop Bit 값은 항상 1입니다.

이 비트가 데이터를 전송하는 데 어떻게 도움이 되는지, 프로토콜에서 그것을 멈추는 역할이 무엇인지 알려드리고 싶습니다.

이제 구성 매개 변수에 대해 살펴보겠습니다.

Baudrate

-Connection speed expressed in bits per second

Stop Bit

-Number of stop bits transmitted, can be one or two

Parity

-Indicates the parity mod, whether odd or even.
Used for error checking.

Baurate가 있습니다.다. 이것은 연결 속도이고 그것은 초당 비트 수로 표현됩니다. 그리고 Stop Bit가 있습니다.Stop Bit는 두 가지 옵션이 있기 때문에 구성해야 하는 매개 변수입니다.
Start Bit는 필수이며 값은 항상 0이기 때문에 구성할 필요가 없습니다.

우리는 하나의 Stop Bit를 원하는지 아니면 두 개의Stop Bit를 원하는지, 그리고 Parity를 선택해야 합니다.

홀수 Parity 인지 짝수 Parity인지, 패리티를 오류 검사에 사용하는지 여부를 우선 순위 모드로 표시해야 합니다.

Mode

-Specifies whether RX or TX mode is enabled or disabled.

Word Length

-Specifies the number of data bits transmitted or received. CAn be 8-bits or 9-bits

Hardware Flow Control

-Specifies whether Hardware Flow Control is enabled or disabled


우리가 나타내야 할 또 다른 매개 변수는 모드이며, 이것은 우리가 말한 듀플렉스에 해당하며, 우리는 우리가 RX인지 TX 모드인지 또는 둘다인지를 설정해야합니다.
그리고 우리는Word Length도 정해야 합니다.
워드 길이는 전송 또는 수신할 데이터 비트 수를 지정하며, 이는 8비트 또는 9비트일 수 있습니다.
마지막으로 Hardware Flow Control를 사용할지 여부, 사용 여부를 지정해야 합니다.




반응형

'Embedded' 카테고리의 다른 글

3. ADC(Analog to Digital)  (0) 2022.11.03
1. ARM Cortex-M GPIO 모듈 개요  (0) 2022.11.02

댓글