2021년 12월 30일 목요일

라즈베리파이와 아두이노의 시리얼통신에 대한 전체적인 원리를 설명해주세요!!!!!!

 질문입니다.


1. 라즈베리파이와 아두이노의 시리얼통신에 대한 전체적인 원리를 설명해주세요!!!!!!



라즈베리파이보다 훨씬 빠른 데스크탑에서 보내는 시리얼이든
세계 최고 성능의 슈퍼컴퓨터에서 보내는 시리얼이든
아두이노에서 문제없이 처리합니다.
보레이트 9600bps는 정해진 비트 속도이며
이 처리속도보다 더 빠른 115200bps에서도 아두이노는 아무런 문제없이 처리를 합니다.
//
반대로 생각하세요
아두이노에서는 매 1바이트 수신마다 빠뜨리지 않고 꼬박 꼬박 처리를 할 수 있지만
라즈베리파이나 데스크탑 등 OS가 탑재된 애들은 망할 OS에서 제대로 처리를 하지 못해서
수신이벤트를 매 바이트마다 전달해주지 못합니다.
한가하면 1바이트에서 수신이벤트를 주기도 하지만
좀만 바쁘면 수십바이트 단위로 묶어서 이벤트를 전달하며
115200으로 데이터를 연속으로 쏘면
애들이 정신 못차리고 어플리케이션 창도 잘 못 움직일 정도로 버벅입니다.

정확한 타이밍에 맞춰서 처리를 해야하는 제어에서 PC등을 사용하지 못하고 아두이노나 AVR 같은 MCU를 사용하는 이유도 이 때문입니다.

리즈베리파이는 적은 용량의 소규모 리눅스가 포팅되고, 이런 용도로 사용 할 때에는 설치된 프로그램도 아주 적기 때문에
그나마 아두이노처럼 빠르게 처리할 수 있는 것처럼 보이는 겁니다.

쉬운 예를 하나 들어보죠
아두이노에서는 10us주기에서 1us HIGH 펄스를 정확하게 출력 할 수 있습니다.
이런 제어는 PC나 라즈베리파이에서는 할 수 없습니다.
PC나 레즈베리파이는 빠른 처리속도와 거대한 메모리를 바탕으로 많은 데이터의 처리및 연산 등을 고속으로 할 수 있지만 짧은 주기의 정확한 제어는 아두이노에 비해서 떨어집니다.
OS가 그런 용도에 적합하지 않도록 설계 되었기 때문입니다.

추가문의는 https://www.basic4mcu.com

댓글 없음:

댓글 쓰기