Arduino가 20MHz 대신 16MHz 크리스털을 제공하는 이유는 무엇입니까?


33

Arduino 보드가 20MHz 대신 16MHz 크리스털로 배송되는 이유는 무엇입니까? 그들은 결국 20MHz에서 작동하도록 지정되었습니다.

더 느리게 (소비 전력이 낮고, 수명이 길다) 실행하는 데는 몇 가지 이점이 있지만, 뭔가 빠진 것이 틀림 없습니다.


1
이것은 또한 오래된 Arduino 포럼에서 요청되었습니다 : arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1240016311
vicatcu

3
이 25 %의 응용 프로그램 속도 차이는 적절한 프로그래밍을 통해 여러 번 얻을 수 있습니다. 그래도 모든 IC의 극한 한계에서 벗어나려고합니다.
tyblu 2016 년

답변:


29

Arduino 포럼에서 답변을 구입하려고합니다.

원래 ATmega8 Arduino는 16MHz에서 실행되었으며 사용 된 ATmega8 CPU의 최고 정격 클럭 속도였습니다. ATmega168 (20MHz 최고 CPU 속도)로 "업그레이드"할 때, 설계자는 더 많은 사람 / 코드가 새로운 클럭 속도에서 이전 버전과의 호환성 문제가있을 수 있다고 생각했기 때문에 아마도 16MHz로 남았을 것입니다. CPU 성능 %. 나는 그들이 옳았다 고 생각한다 ...


6

실제로 내가 들었던 가장 좋은 이유 중 하나는 UART가 16MHz에서 실행될 때 1Mbit 및 2Mbit 속도와 완벽하게 일치 할 수 있지만 20MHz에서는 실행할 수 없다는 것입니다. 다이나믹 셀 로봇 서보 라인과 같이 1 및 2 Mbit UART 입력이있는 많은 장치가 있습니다.


5

세 번째 요점은 ATmega168 및 ATmega328의 저전력 크리스털 발진기가 16MHz 이상에서 작동하지 않는다는 것입니다. 따라서 XTAL 핀에 20MHz 크리스털이 연결되어 있으면 풀 스윙 크리스털 발진기를 사용하여 더 많은 전력을 소비하거나 크리스털을 전혀 사용하지 않아야합니다.

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