UART를 통한 최소 ATMega328 속도


9

낮은 전력 소비를 위해 ATMega328을 저속으로 실행할 저전력 프로젝트를 설계하려고합니다.

현재 계획은 1200baud에서 통신 하기 위해 UART를 RF 링크 수신기 에 연결하는 것입니다.

그러나 내가 궁금한 것은 최소 속도는 ATMega328을 실행할 수 있고 여전히 1200baud UART를 실행할 수 있다는 것입니다. 1MHz는 충분히 빠릅니까?

답변:


11

UART 클럭은 전송 속도의 16 배로 실행됩니다. 따라서 19.2 kHz에서 벗어날 수 있습니다. 1 MHz가 좋습니다.

대부분의 경우 UART 전송 속도 클럭을 생성하기위한 편리한 분배기를 제공하는 클럭 속도로 실행하는 경우가 많지만 다른 처리를 수행하기에 충분히 빠릅니다. 바이트 또는 패킷이 UART를 통해 전송 될 때마다 CPU는 저전력 모드로 전환되고 더 많은 데이터가 준비되면 인터럽트에서 다시 깨어납니다.


"UART 클럭은 전송 속도의 16 배로 실행됩니다"라는 문장이 약간 오해의 소지가 있다고 생각합니다. USART 전송 속도 발생기는 시스템 / 오실레이터 클록에서 실행되며 UBRR 값에 의해 미리 스케일됩니다. 또한 작동 모드에 따라 다릅니다. 요소 16은 "비동기 표준 모드"에 적용됩니다.
Rev1.0

1

내 관측으로는 1Mhz 미만으로 ATMega328p를 실행하여 전력을 절약하는 것은 불가능합니다 (계산을 마치려면 더 많은 시간이 필요하기 때문에). 그러나 전압을 줄이면 전력을 많이 절약 할 수 있습니다. 1Mhz 및 1.8V에서 실행하면 16Mhz 및 5V에서 실행하는 경우 전력의 1 % 만 소비합니다. 이 ATMega328 전력 소비 차트를 만들었 습니다

AVR UART 계산기 에 따르면 AVR을 1MHz (외부 크리스털없는 기본 속도)로 실행하면 최대 4800 개의 UART를 수행 할 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.