전원없는 MCU에 UART 핀?


11

배터리로 전원이 공급되는 MCU와 함께 USB-UART IC를 사용하고 있습니다.

USB-UART IC는 배터리가 아닌 USB 커넥터에서 전원이 공급되므로 스위치가 꺼졌다가 켜질 때마다 콘솔을 열 필요가 없습니다.

개략도

이 회로 시뮬레이션CircuitLab을 사용하여 작성된 회로도

편집 : 나는 그림에 그리지 않았지만 IC에는 내부 3.3V 레귤레이터가 있으며 스위치가 켜질 때 모든 VDD는 3.3V 레벨에 있습니다.

이제 USB가 언제 연결되어 있고 스위치가 꺼져 있는지 걱정됩니다.

MCU 문서에 따르면 모든 입력 핀의 최대 정격은 VDD + 0.3이며 MCU에 전원이 공급되지 않을 때 0.3V입니다.

USB-UART 쪽의 TX / RX 쌍이 높으면 MCU 쪽의 핀이 파손됩니까?

그렇다면 TX / RX 쌍간에 무엇이 필요합니까?


@Toor "tbh"는 무슨 뜻입니까?
Elliot Alderson

1
게이트는 공급 전압 범위의 상단에서 작동 할 수 있어야하기 때문에 최대 작동 전압까지 견딜 수 있어야합니다. Vdd + 0.3은 MCU의 ESD 클램프 다이오드와 관련이 있지만 MCU의 전원을 끄면 이러한 다이오드에 클램프 할 레일이 없습니다. 5V 가능 MCU가 3V의 전원을 끄고 5V를 I / O에 적용한 경우 이러한 다이오드는 3.3V 레일에 고정하려고 시도하지만 5V에서 끊지 않고 터질 것이라는 의미는 아닙니다. 직렬 저항을 사용하여 상기 다이오드를 통한 전류를 제한 할 수 있습니다.
DKNguyen

3
@ElliotAlderson "tbh"는 "정직하게"하는 일반적인 인터넷 개념입니다.
Hearth

7
@Toor 다이오드는 파워 레일 을 생성 합니다. youtube.com/watch?v=2yFh7Vv0Paw를 참조하십시오 .
CL.

5
이것은 이론적 인 손상의 위험 일뿐만 아니라 실제 전원이 공급되기 전에 I / O에 의해 전원이 공급 된 이전에 리셋을했을 때 깨끗한 전원을 공급하지 않는 부품이 실제로 문제가 될 수 있습니다. "꺼짐"상태에서 보드 전원 네트가 .5v-.6v로 올라가면 문제가 발생할 수 있습니다.
Chris Stratton

답변:


14

MCU에 따라 다르지만 대부분의 경우 MCU 및 MCU를 통해 나머지 보드에 전원을 공급합니다. MCU는 실행을 시도하고 이상한 일을합니다. 당신의 보드는 이상한 일을 할 것입니다. 보드가 충분한 전류를 소비하면 MCU의 해당 핀이 손상됩니다.

MCU가 꺼져있을 때 UART 신호가 0V를 유지하도록 정렬해야합니다. 사용중인 UART 칩 (또는 UART)에 활성화 핀이없는 경우 (내가 작업 한 USB UART 칩을 정확히 설명 할 수 있도록 구성 할 수 있음) AND 마이크로 프로세서의 VCC.


5

솔루션은 USB-UART (드레인)의 TX 핀과 MCU (소스)의 RX 핀 사이의 NMOS처럼 간단하며 게이트는 MCU VDD에 연결되어 있습니다.

이는 USB-UART가 트랜지스터의 임계 전압을 뺀 최대 3.3V까지만 구동 할 수 있음을 의미합니다. 이것이 여전히 MCU의 V_IH를 만족시키기에 충분한 지 확인해야합니다.

VBUS에서 (간접적으로) 논리 게이트를 사용하는 솔루션에 회의적입니다. 로직 게이트가 MCU 입력을 높게 구동하는 한, MCU VCC는 TX 드라이버를 끄기에 충분히 떨어지지 않을 수 있습니다. NMOS 솔루션을 사용하면 TX 핀을 VCC보다 낮은 전압으로 만 구동 할 수 있으므로 이러한 종류의 피드백이 불가능합니다.

그건 그렇고, 당신은 또한 역방향을 고려해야합니다 : MCU에 전원이 공급되지만 USB-UART에 전원이 공급되지 않으면 실수로 USB-UART에 약간의 전원을 공급하지 않도록하십시오. 예상보다 빨리 배터리. 이를 위해서는 소프트웨어 전용 솔루션으로 충분합니다.


2

완전히 다른 해결책이 있지만 사용하는 USB 칩에 따라 다릅니다.

그들 중 일부는 VBUS와 VCCIO가 다릅니다. 이 경우 해당 칩의 IO 부분에 uC를 함께 공급할 수 있습니다.


1
이것은 좋은 생각이지만 USB 트랜시버의 데이터 시트를주의 깊게 읽으십시오. 전원 공급 장치를 적용하지 않으면 일부 IC에서 다른 장애가 발생할 수 있습니다. 데이터 시트의 시작 부분에있는 Absloute Maximum Ratings 섹션에이 내용이 포함되어야합니다.
jherbold

1

쉬운 해결책은 I / O 핀 사이에 일부 저항을 배치하는 것입니다. 이렇게하면 트랜시버가 uC에 전원을 공급할 수 없도록 핀으로 흐르는 전류가 제한됩니다. 저항 값은 칩 간의 대역폭 제한과 전류 제한 간의 균형입니다.

논리 버퍼는 USB에 의해 전원이 공급되지만 uC에 의해 출력이 활성화됩니다. 이것은 다른 답변의 트랜시버 출력 활성화와 동일합니다.

컴퓨터에 연결된 상태에서 uC를 끄면 이점이 있습니까? 그렇지 않은 경우 5V USB 전원으로 uC에 전원을 공급할 수 있습니다. 이를 수행하는 방법은 다음과 같습니다.

  1. 배터리 전원이 꺼져있을 때 USB 전원을 선택하는 SPDT 스위치. 회로도에서 SPST 스위치를 교체합니다.
  2. 사용 가능한 경우 USB 전원을 선택하기 위해 uC로 제어되는 다이오드, 다이오드, 이상적인 다이오드 집적 회로 또는 MOSFET입니다. 이제 배터리 스위치가 닫히고 USB가 연결될 때 어떤 일이 발생하는지 고려해야합니다. 제어되지 않은 배터리 교환은 거의 좋은 일이 아닙니다.

7
그렇게 생각할 수도 있지만 저항만으로는 실제로 작동하지 않습니다 . UART 수신 라인의 큰 직렬 저항조차도 그렇게하지 않습니다 (손상을 방지 할 수 있음). 문제는 매우 낮은 임계 전압을 초과 할 때까지 실제로 전류를 끌어들이는 것이 없으며 심지어 클록 없이는 그리 많지 않다는 것입니다. 따라서 직렬 저항을 사용하더라도 보드 전원 레일은 상황이 부적절한 상태가되기 시작하는 지점까지 끌어 올릴 수 있습니다.이 시점에서 전원 켜기 재설정은 더 이상 신뢰할 수 없습니다.
Chris Stratton

동의했다. 내 답변에 대한 자세한 내용을 제공해 주셔서 감사합니다. 나는 빠른 프로토 타입 솔루션을 제공하기를 바랐으며 그렇게 말 했어야했다. 이 솔루션은 완벽한 솔루션이 아니며 uC 시동 전류가 저항에서 충분한 전압 강하를 생성하여 uC의 전압을 낮게 유지하여 브라운에서 벗어날 수 없을 정도로만 높은 경우에만 작동합니다.
jherbold

0

몇 개의 3 상태 버퍼가 좋은 솔루션인지 고려해 보셨습니까? 활성화 핀을 스위치에 연결 한 다음 tx에서 rx 로의 극성이 올바른지 확인하여 원하는 보호 기능을 효과적으로 제공 할 수 있습니다.

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