GPIO 라인에서 IC 전원 공급


10

Li 코인 셀에서 전원을 공급받는 저전력 응용 프로그램이 있습니다. 선택한 MCU로 만족스러운 수면 전류를 달성했습니다.

그러나 애플리케이션 ADC IC는 다른 문제이다 : 비활성 상태에서 900µA-코인 셀 애플리케이션에 비해 너무 많다.

그래서 ADC를 사용하지 않을 때 전원을 차단하지 않는 이유를 생각했습니다. ADC Vdd의 하이 사이드 FET 또는 ADC의 Vdd (또는 Vss) 핀을 MCU GPIO 핀 중 하나에 연결하는 두 가지 아이디어가 떠 올랐습니다 (전류가 MCU의 소스 / 싱크 사양 내에 있다고 가정).

이 아이디어를 다루는 기사, 앱 노트 등이 많이있을 것이라고 생각했지만 아직 아무것도 찾지 못했습니다. 실험을 시작하기 전에 온라인으로 관련 기사 / 앱 노트를 알려줄 수 있습니까? 아니면 나쁜 생각입니까? 만약 그렇다면 왜?

(예, 대부분의 MCU에 ADC가 내장되어 있다는 것을 알고 있습니다. 쿼리 범위를 벗어난 이유로이 외부 ADC IC를 사용해야합니다.)

감사!


ADC의 모델은 무엇입니까?
Nick Alexeev

답변:


8

GPIO 핀을 통해 장치에 전원을 공급하는 것은 일반적으로 나쁜 생각입니다. 저전력 체제에서는 아마도 그것을 피할 수는 있지만 매우 엄격한 제약이 없으면 권장하지 않습니다.

이미 ADC의 요구 사항이 핀의 드라이브 기능보다 낮은 지 확인했습니다. 그것은 일반적으로 많은 사람들이 확인을 방해하지 않는 것입니다. 소비량이 필요한 한도 내에 있으면 해당 카운트에 문제가 없을 수 있습니다. 그러나 ADC의 모든 과도 전류 요구 사항이 GPIO 드라이브 기능에도 포함되어 있는지 확인하십시오. 최소한 ADC 전원 공급 장치에는 상당히 큰 디커플링이 필요합니다. GPIO 출력은 저임피던스 공급 라인이 아니며 과도 전류 요구 사항에 느리게 응답한다는 사실을 기억하십시오.

둘째, ADC를 사용하고 있기 때문에 uC에 내장되어 있지 않은 ADC (매우 낮은 전력 소비를 위해해야 ​​할 일임)이므로 다음과 같은 몇 가지 요구 사항이 있다고 가정합니다. 내부 ADC가 만족하지 않습니다. 공급 라인이 아니고 마이크로 컨트롤러의 GPIO 인 GPIO는 uC의 클록 주파수, 고조파 및 가능하면 고조파에 의해 가장 확실하게 오염됩니다. 당신은 또한 그것을 통해 상당한 전류를 공급할 것이기 때문에, 다른 효과도 가져와도 놀라지 않을 것입니다. 어떤 GPIO를 사용하고 디커플링이 얼마나 무거운 지에 따라 SPI / I2C의 작은 구성 요소 / 공급 장치에있는 구성 요소가 표시 될 수도 있습니다. ADC 분해능과 노이즈 성능이 중요한 경우

하이 사이드 FET는 훨씬 더 나은 내기이며 더 안전합니다. LDO 등과 같은 활성화 제어 기능이있는 전원 관련 IC를 여러 개 사용하는 것도 고려할 수 있습니다. ADC 전원에 가까운 LDO도 성능 향상에 도움이 될 수 있습니다. 그러나 이것은 ADC가 약간 더 낮은 전압에서 실행되어야 함을 의미합니다. 이것은 간단한 트랜지스터 스위치에서도 발생하며 Rdson FET가 낮 으면 효과가 훨씬 작아 지지만 존재합니다.

전원이 공급되지 않은 IC의 디지털 라인을 전원이 공급되는 uC의 GPIO에 연결하는 것은 좋지 않다는 점에 유의해야합니다. 디지털 IO를 통해 ADC의 전원을 켜고 이상하고 잠재적으로 위험한 행동을 유발합니다. 특히, OFF 상태에서도 ADC가 응답하지 않으면 놀랍습니다. 이것은 장기적인 열화를 일으킬 수 있으며, 처음부터 절전의 이점을 누립니다. 잘 끄려면 출력을 비활성화 (삼상 상태) 할 수있는 기능과 함께 두 디지털 라인 사이의 모든 디지털 라인에 대해 레벨 변환 버퍼를 사용해야합니다. 이것은 EN 핀을 사용하거나 다른 메커니즘과 함께 버퍼를 사용하여 비활성화 할 수 있습니다 (예를 들어 한쪽의 공급 장치를 접지로 가져 오는 경우 SN74LVC1T45는 3 상태). 스킴이 유용한 지 여부는 OFF 상태의 버퍼 소비, ON 상태의 소비 및 듀티 사이클 (켜기 원하는 시간의 비율) 및 ADC 소비 (900uA)에 따라 다릅니다. 이렇게하면 저장할 수 있습니다. 매우주의를 기울이면 ADC를 종료하기 전에 ADC에 연결된 uC IO를 3 단계로 조정하여 동일한 효과를 만들어 버퍼의 필요성을 피할 수 있습니다.


좋은 대답입니다. 언급해야 할 또 다른 사항은 ADC가 전원 핀에 디커플링 커패시터를 원할 것입니다. 커패시터의 돌입 전류는 아마도 GPIO 라인을 화나게 할 것입니다.
Rocketmagnet

5

예, 그렇게 할 수 있습니다. 모든 제약 조건이 충족되는지 확인하십시오. 나는 이것을 몇 번했다. 마이크로 컨트롤러 출력을 사용하여 실제로 전력을 소비하는 대신 작은 회로에 전력을 공급하면 공간을 절약하는 유용한 방법이 될 수 있습니다. 예를 들어 필자는 필요할 때만 초음파 수신기 아날로그 프론트 엔드를 켜기 위해 하나의 프로젝트에서 이것을 사용했습니다.

출력 핀에서 사용할 수있는 제한된 전류라는 명백한 문제 이외에도 스위치 회로로 유입되는 마이크로의 잡음을 관찰하고 회로에서 발생하는 과도 전류를 처리해야합니다. 디지털 출력 핀의 접지에 캡을 추가하면 두 가지 문제 모두에 도움이되지만 라인을 켜거나 끄는 동안 마이크로가 구동 할 수있는 정전 용량도 고려해야합니다.

이것은 당신이 가볍게해야 할 일이 아니며, 문제에 대해 신중하게 생각해야하지만, 숙제를 마친 후에도 여전히 합리적입니다.


5

예, 당신은 이것을 할 수 있습니다. 그리고 많은 사람들이 있습니다. 예를 들어, Adafruit는 adruino에서 ds1307 RTC에 대해 수행되었으며 두 개의 gpio (vcc 및 gnd)로 구동됩니다 . 이것은 화면에 1mA 만 필요로하는 Nokia LCD에서도 수행됩니다 (백라이트 LED는 다른 이야기이지만 gpio로 수행 할 수 있음).

전원은 전원입니다. 전류 소모가 낮 으면 (또는 mcu의 포트 핀에서 전류 소모로 인한 전압 강하를 허용 할 수있는 한) 할 수 있습니다.

이제는 gpio 출력이 얼마나 깨끗한 지에 달려 있습니다. 일부 IC는 다른 IC보다 약간 더티 라인에 대해 불평 할 가능성이 적습니다. ADC는 최선의 선택이 아닌 것들 중 하나 일 수 있습니다. 더티 소스는 ADC의 해상도 또는 신뢰성에 영향을 줄 수 있습니다. 외부 ADC가 내부 ADC보다 더 나빠질 수 있습니다. 다른 사람들이 언급했듯이 모자가 도움이 될 수 있습니다.

ADC를 튀기지 않을 것이므로 가장 좋은 방법은 무엇입니까? 그것을 연결하고 교정 테스트를 통해 실행하십시오. 작동하면 함께 가십시오. 그렇지 않으면 npn 트랜지스터 또는 이와 유사한 fet를 사용하여 전원을 차단하십시오. 단 하나. IC가 꺼질 때 데이터 핀을 입력으로 전환하고 전원 핀을 켤 때까지 기다렸다가 필요한 모드로 전환하십시오.

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