티스토리 뷰

직렬 통신

임베디드 장치간 통신에 사용하고자 이번에도 역시나 직렬통신을 다루게 되었습니다. 매번 쓰는 거지만 따로 정리를 해 놓은것이 없는 듯 하여 몇자 적어봅니다. 우선 직렬통신이라 부르는 이유는 뭘까요? 한번에 1비트씩 데이터를 송수신하기 때문이 아닐까 싶네요. 병렬은 한번에 데이터를 여러개 보내는 것이고 직렬은 데이터를 한개 보내는 것이니깐요. 그래서인지 선도 몇가닥 필요 없어서 케이블이 단순해집니다. 구현도 쉽고 기존의 통신 선로도 이용가능하다는 장점이 있네요.


직렬통신 전송 방법은 어떤 것이 있을까?

클럭의 유무에 따라서 2가지로 나뉘어 집니다. 동기 전송(Synchronous)과 비동기 전송(Asynchronous)이 있죠. 동기, 비동기 이런 한자어가 들어가면 일단 머리에서 거부를 합니다만 별 것 없습니다. 기준이 되는 클럭 펄스에 맞춰서 데이터를 전송하는 것이 동기 전송이고 통신하는 장치들 간에 데이터 비트 유지시간을 미리 약속해 놓고 보내고 싶을 때 아무때나 클럭 없이 데이터를 보내는 것이 비동기 전송입니다.




시리얼 통신의 종류

UART (RS232-C), SPI, I2C, CAN 등이 각각의 특징에 따라서 사용됩니다. 각각에 대해 좀 더 이야기 해보고 싶지만 내공이 부족하여~ ^^;;; 괜찮은 pdf 자료가 보이기에 첨부로 올려놓습니다.


시리얼 통신.pdf