마이크로 컨트롤러를 임의의 낮은 클럭 주파수에서 실행할 수 있습니까? 속도에서 더

예를 들어 ATTiny13A의 데이터 시트에는 최소 주파수 0MHz가 나열되어 있습니다. 이것은 어떤 영향도없이 임의의 저주파에서 클럭을 실행할 수 있다는 것을 의미합니까? 낮은 클럭 속도에서 더 낮은 전류를 소비한다고 가정합니까? 0 MHz는 클럭을 완전히 멈출 수 있다는 것을 의미하며, 전원이 계속 공급되는 한 그 상태를 무기한으로 기억합니까?



답변

예. 데이터 시트에 “완전히 정적 인 작동”이 표시되면 0Hz까지 어떤 속도로든 클럭 할 수 있습니다. “동적”칩은 특정 속도로 클럭을 가져야하거나 상태를 잃습니다.


답변

마지막 질문에 이전에 답변하지 않았기 때문에 다른 답변을 게시하고 있습니다.

Todbot이 완전히 정확합니다. 또한 낮은 속도에서 더 낮은 전력을 소비합니다. 예를 들어, 다른 프로세서에서 클럭을 공급하는 경우 최대 속도보다 빠르지 않으면 언제든지 공급을 중단 한 다음 나중에 클럭을 시작할 수 있습니다.

필자는 32768Hz 오실레이터와 1MHz 오실레이터 사이에서 크기 변화가 발생했습니다. 나는 속도가 필요없는 응용 프로그램을 가지고 있었고, 나를 위해 기본적인 데이터 처리를하는 다른 작은 사람이 필요했습니다.

도움이 되었기를 바랍니다.


답변

대부분의 최신 마이크로 컨트롤러 디자인은 클록 입력의 모든 패턴에서 작동합니다. 단, 높은 펄스가 특정 최소 길이 미만이 아니고, 낮은 펄스가 특정 최소 길이 미만이 아니며, 저고 / 저 또는 고 / 저가 없음 펄스 쌍이 특정 길이 미만입니다. 본질적으로 발생하는 일은 칩이 특정 클럭 에지와 관련된 모든 작업을 수행 한 후 칩이 다음 클럭 에지를 기다리는 것 외에는 아무 것도하지 않는 상태입니다. 다음 클럭 에지가 10 일 동안 도착하지 않으면 (칩에 외부 감시 장치가없는 경우) 칩은 칩이 준비된 순간에 에지가 도착한 것과 동일한 상태가됩니다.

일반적으로 마이크로 컨트롤러에서 클록을 일시 정지하면 전류 소비가 실질적으로 줄어들지 만 “슬립”기능을 사용하는 것만 큼은 아닙니다. “실행”모드에서 대부분의 마이크로 컨트롤러의 전류 소비는 일정한 대기 전류와 초당 사이클 당 일정량의 전류 (사이클 당 충전으로 ‘보다 자연스럽게’표현 될 수 있음)로 추정 할 수 있습니다. 예를 들어, 칩의 대기 전류는 10uA이고 전류는 0.1mA / MHz (100pC / 사이클)입니다. 이러한 칩을 10MHz에서 실행하면 1.01mA의 전류가 생성됩니다. 1MHz에서 실행하면 0.11mA가 생성됩니다. 100KHz에서 실행하면 0.02mA가 생성됩니다. 1Hz woudl에서 실행하면 0.0100001mA가 생성됩니다. 한편, 칩은 1uA의 슬립 전류를 제공 할 수있다. 일반적으로, 슬립 모드로 들어가면 칩이 슬립 상태 일 때 유용한 기능을 수행하지 않는 칩 영역의 전원이 완전히 꺼 지므로 해당 영역에서 발생할 수있는 누설 전류를 피할 수 있습니다. 경우에 따라 레지스터 파일과 같은 영역의 전압을 레지스터 파일이 내용을 보유 할 수있는 수준으로 낮추지 만 매우 빠르게 액세스 할 수는 없습니다 (아무 액세스하지 않기 때문에 액세스 속도는 중요하지 않습니다) .

일부 구형 마이크로 프로세서, 마이크로 컨트롤러 및 기타 장치는 최대 클록 높이 및 / 또는 클록 로우 시간을가집니다. 이러한 프로세서는 회로를 절약하기 위해 동적 로직을 사용했습니다. 동적 로직의 예로, 시프트 레지스터를 고려하십시오. 일반적인 정적 레지스터 비트는 값을 유지하기 위해 2- 트랜지스터 회로가 필요하지만 동적 레지스터 비트는 판독 트랜지스터의 게이트에서 값을 유지합니다. 2 상 클록 동적 시프트 레지스터는 비트 당 4 개의 NFET 및 2 개의 저항을 사용하여 NMOS에서 실현 될 수있다. 정적 시프트 레지스터에는 비트 당 8 개의 NFET와 4 개의 저항이 필요합니다. 오늘날 동적 로직 접근 방식은 그리 일반적이지 않습니다. 1970 년대에, 게이트 커패시턴스는 상당했고 그것을 제거 할 수 없었습니다. 따라서 그것을 이용하지 않는 특별한 이유는 없었다. 오늘, 게이트 커패시턴스는 일반적으로 훨씬 낮으며, 칩 제조업체는이를 적극적으로 줄이기 위해 노력하고 있습니다. 동적 로직을 안정적으로 작동 시키려면 종종 게이트 커패시턴스를 높이기 위해 의도적으로 작동해야합니다. 대부분의 경우, 커패시턴스를 증가시키는 데 필요한 여분의 칩 영역은 커패시턴스를 불필요하게 만들기 위해 더 많은 트랜지스터를 추가하는 데 효과적으로 사용될 수 있습니다.


답변

예, 시계를 완전히 멈추고 나중에 아무런 결과없이 시계를 다시 시작할 수 있습니다. 푸시 버튼으로 시계를 교체하고 문자 그대로 단계별로 프로그램을 진행할 수도 있습니다 (주파수 : 약 0.1Hz).

전력은 주파수와 거의 선형입니다. 10MHz에서는 마이크로 컨트롤러가 1MHz보다 10 배 많은 전력을 소비합니다. 그렇다고 0Hz에서 소비가 완전히 0임을 의미하지는 않습니다. 정적 소산은 항상 있지만 일반적으로 1uA 이하로 매우 낮습니다.

PS : ADC는 최소 작동 주파수를 가지고 있습니다. 주파수가 너무 낮 으면 전압이 측정되는 커패시터가 너무 많이 방전되어 측정이 잘못됩니다.


답변

이 질문에 늦게 와서, 얼마 전에 본 프로젝트를 떠올리게되었습니다.

그것은 대부분의 시간 동안 0 Hz에서 실행되는 PIC를 사용하는 박쥐 탐지기이며 감지하는 바로 신호에 의해 클럭됩니다.

http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html


답변