10_STM32/통신

간략한 통신 개념

Mi:sAng 2024. 2. 9. 08:41

이 글에서는 각각의 통신의 간략한 특징만 정리한다.

각 통신의 자세한 설명은 STM32를 이용한 통신 예제 정리 글에서 하겠다.

*시리얼 통신
-병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 방식
-시리얼은 직렬이고 패러럴(Parallel)의 반대되는 개념이다
    1)직렬 통신: 데이터를 한 데이터 선으로 보내는 것.
    2)병렬 통신: 데이터를 여러 데이터 선으로 보내는 것.
-ex) a와 b의 유무에 관한 정보를 전송한다고 했을 때,
       직렬은 a보낸 후 a를 보낸 데이터선에서 b를 보내는 방식으로 데이터를 전송하지만
       병렬은 a랑 b를 각각의 데이터선을 통해 보내는 방식이다.

*UART(Universal Asynchrounous Serial Receiver and Transmitter)
-비동기식 통신이다(CLK 신호로 사용하지 않는다.)
-CLK 신호가 없으므로 데이터를 수신할 때, 해석을 해주어야한다.
-이때 송수신 측에서 정한 일종의 규칙에 의해 해석을 한다.
    Baud Rate / 데이터 길이/ 패리티 비트/ 정지 비트 
-USART 방식도 있는데 S는 Synchronous를 의미하고 동기식을 지원하는 통신방식이다.


*I2C
-동기식 시리얼 통신이다.(CLK 신호 사용 >> 데이터 수신의 타이밍에 사용)
-SDA(직렬 데이터)SCL(직렬 클럭)를 사용한다.

-I2C에서 항상 사용되는 용어가 Master와 Slave이다.
-Master에서 Slave로 데이터가 전송된다. 이때 Slave는 여러 개를 둘 수 있다. 
-단, Slave 간의 구별을 위해서 Slave는 주소를 가진다. 따라서 데이터를 주고 받을 때에는 반드시 Slave의

 주소도 사용하여야한다.

*SPI(Serial Peripheral Interface Bus)
-동기식 시리얼 통신 방식이다.
-4가지선으로 이루어진다.
    MOSI : 마스터 출력, 슬레이브 입력(Master Out Slave In 약어)
    MISO : 마스터 입력, 슬레이브 출력
    SCK : 마스터로 부터 출력되는 직렬 클럭
    SS(CS):슬레이브 셀렉트(마스터로 부터 출력된다) 데이터 수신할 Slave 선택
-I2C를 병렬 통신으로 바꾼 느낌이다.