전기적 특성 섹션의 AVR 데이터 시트에서 일반적으로 다음과 같은 그래프를 볼 수 있습니다 (ATMega328에서 가져온 것임).
"작동"하는 것처럼 보이지만 음영 처리 된 봉투 외부에서 작동하는 디자인을 보았습니다. 특히 외부 16MHz 크리스털에서 클럭을 실행하는 3.3V (Arduino) 디자인을 보았습니다. 분명히 이것은 사양에 맞지 않습니다. 이 봉투 밖에서 실행하면 실제로 부정적인 결과는 무엇입니까?
전기적 특성 섹션의 AVR 데이터 시트에서 일반적으로 다음과 같은 그래프를 볼 수 있습니다 (ATMega328에서 가져온 것임).
"작동"하는 것처럼 보이지만 음영 처리 된 봉투 외부에서 작동하는 디자인을 보았습니다. 특히 외부 16MHz 크리스털에서 클럭을 실행하는 3.3V (Arduino) 디자인을 보았습니다. 분명히 이것은 사양에 맞지 않습니다. 이 봉투 밖에서 실행하면 실제로 부정적인 결과는 무엇입니까?
답변:
인생을 더 재미있게 만드는 방법 101 :
신경 쓰지 않으면
귀하의 결과가 때때로 잘못 될 수 있고,
귀하의 시스템이 때때로 고장날
수 있고 , 귀하의 삶이 더 흥미로워 질 수 있고,
Segway 클론이 명백한 이유없이 때때로 얼굴 식물을 생산
한다는 것 , ...
그런 다음 반드시 제조업체 사양 외부에서 부품을 실행하십시오.
당신은 당신이 지불하지 않는 것을 얻습니다.
머리가 10 달러라면 헬멧을 10 달러 사십시오.
종종 효과가있을 수 있습니다.
때때로 작동하지 않을 수 있습니다.
때때로 작동하지 않는 것은 분명하지 않을 수 있습니다.
ADC 값이 정확할 수 있습니다.
아니면
이러한 종류의 속도에서 대부분의 프로세서는 특정 클록 사이클에서 필요한 모든 신호를 계산하고 안정화되는 동안 다음 클록 에지를 기다리고 모든 신호를 래치하고 다음 클록 사이클에서 필요한 신호를 계산하여 작동합니다. 필요한 신호가 안정화되기 전에 클럭 에지에 도달하면 안정화되지 않은 신호가 깨끗하게 래치되지 않을 수 있습니다. 마이크로 컨트롤러에서 이러한 현상이 발생하면 최소한 두 가지 이유로 인해 효과를 예측할 수 없습니다.
uint32_t eep_checksum, eep_addr, eep_data; #define EEPROM_WRITE (주소, 데이터, 술어) \ eep_checksum = 0xC0DEFACE, eep_addr = (주소), eep_data = (데이터), \ eep_checksum + = eep_addr + eep_data, ((조건 자) || HARD_CRASH ()), \ eep_checksum + = (0xCAFEBABE-C0DEFACE), eep_do_write () 무효 eep_do_write (void) { ENABLE_EEPROM_WRITE_HARDWARE (); if (eep_checksum! = eep_addr + eep_data + 0xCAFEBABE) { DISABLE_EEPROM_WRITE_HARDWARE (); HARD_CRASH (); } DO_EEPROM_WRITE (); DISABLE_EEPROM_WRITE_HARDWARE (); }주소와 데이터가로드되기 전에 "eep_checksum = 0xC0DEFACE"가 실행되지 않으면 eeprom_write 루틴이 데이터 쓰기를 시도 할 가능성은 거의 없습니다. 이를 실행 한 후, 체크섬을 적절한 값으로 조정하고 eeprom_store 루틴을 호출하기 전에 술어의 유효성을 검사합니다.
제조업체는 프로세서의 작동 매개 변수를 지정하여 해당 매개 변수 내에서 프로세서가 정상적으로 작동하도록합니다. 봉투 외부로 물건을 밀면 프로세서가 99.9999999의 신뢰성 만 저하 될 수 있습니다. 그것은 너무 나쁘게 들리지 않을 수도 있지만, 1 분 정도 한 번 (16MHz의 그림) 임의로 작동하는 프로세서를 진단하는 것은 재미가 없습니다.
귀하의 질문에 대한 간단한 답변 :
"안전 속도 영역"밖에서 작업하면 시스템 작동이 불안정해질 수 있습니다. 그게 무슨 뜻이야? 잘못된 계산 결과, 마이크로 컨트롤러 재설정 등
당신이 재미를 위해 그것을하고 싶다면 다음 페이지 / 기사를 살펴보십시오.
액체 질소 냉각 방식의 오버 클럭킹 Arduino. 20⇒65.3Mhz @ -196 ° C / -320 ° F
유효하지 않은 전압 범위 (3.3V에서 16MHz)의 유효 주파수에서 작동하는 것과 관련이 적지 만 유효 전압 범위 (5V에서 24MHz)에서 유효하지 않은 주파수에서 작동하는 것과 관련이있는 한 가지 고려 사항은 열 손실입니다.
칩의 게이트가 켜지거나 꺼질 때마다 열이 방출됩니다. MOSFET으로 구성된 게이트는 ON과 OFF 또는 OFF와 ON 사이의 기간에 가변 저항처럼 작동합니다. 물론 그 저항은 열을 소산시킵니다. 더 자주 스위치를 전환할수록 칩에서 열을 방출하기위한 전환 사이의 시간이 줄어들고 열이 발생할 위험이 있습니다.
Ergo는 달리는 속도가 빠를수록 더 많은 열이 축적 될 수 있습니다. 그렇기 때문에 PC CPU에는 큰 팬이 있습니다. 너무 빨리 전환하여 칩에서 열을 충분히 빨리 방출 할 수 없으므로 도움이 필요합니다.
칩의 최고 정격 속도는 유효한 작동 조건 (예 : 주변 온도, 예를 들어 최대 85 ° C 또는 105 ° C)에서 칩이 열 축적을 안정적으로 분산시킬 수 있도록 선택됩니다. 해당 주파수를 초과하면 칩이 과열 될 수 있습니다.
그렇습니다. 방열판 및 팬과 같은 도움이 필요한 경우 의도 한 것보다 더 빠르게 칩을 작동시킬 수 있으며 주변에 공기 흐름이 원활하게 이루어 지도록 할 수 있습니다. 그러나 여름의 따뜻한 날에는 겨울 내내 완벽하게 작동하는 장치가 갑자기 이상한 일을 시작한다는 것을 알 수 있습니다.
고려해야 할 또 다른 사항은 슬 루율입니다. 클럭 신호 (및 기타 신호)도 원하는 수준으로 상승 또는 하강하는 데 시간이 걸립니다. 칩 내부가 클럭 신호가 LOW에서 HIGH로 상승하는 데 15ns가 걸리고 42ns (24MHz)와 같은 HIGH주기의 주파수에서 클럭을 시도하면 27ns의 유효한 클록 만 남는 경우 남은 기간. 실제로 클럭의 64 %에 해당하는 클럭 신호입니다. 나머지는 쓰레기입니다. IO 핀과 동일합니다. SPI 클록 출력과 같은 것은 IO 핀의 슬 루율에 의해 제한되므로 칩을 오버 클로킹하여 SPI를 더 빠르게 얻으면 클록 출력에서 기대할 수있는 멋진 구형파와 같이 항상 계획대로 진행되지는 않습니다. 더 이상 사각형이 아닙니다.
일부 전압 / 온도 조합에서는 장치가 작동하지 않을 수 있습니다.