VBUS 감지 입력에 5V 허용 오차


8

STM32L476을 중심으로 장치를 설계하고 있습니다. 내 장치는 주로 배터리 전원을 사용하지만 USB 포트가 있는데, 플러그를 꽂으면 배터리 소모를 제한하기 위해 3.3V 레귤레이터를 통해 대체 전원으로 사용하고 싶습니다. 배터리가없는 상태에서 사용자가 USB 포트를 연결할 수도 있습니다.

USB 포트가 언제 연결되는지 감지하고 싶기 때문에 PA9를 OTF_FS_VBUS로 사용하고 있습니다.

좋은 소식 : 데이터 시트에 따르면 PA9 핀은 5V까지 허용됩니다.

나쁜 소식 : 5V 허용 핀은 전원이 공급 될 때만 실제로 5V 허용되는 것 같습니다. 데이터 시트 §6.2 표 18의 내용 :

FT_xxx 핀의 최대 입력 전압 : 최소 (VDD, VDDA, VDDIO2, VDDUSB, VLCD) + 4.0V

필자의 경우 배터리가없고 사용자가 USB 포트를 연결하면 레귤레이터가 시작되기 전에 CPU 공급 핀에 전원이 전혀 공급되지 않고 PA9의 전압이 5V가되는 시간이 있습니다.

더 나쁜 소식 : 현재 주사는 허용되지 않습니다 : 데이터 시트 §6.2, 표 19에 따르면,

FT_xxx에 주입 된 전류 : -5 / + 0 (주 4 참조)

참고 4 : VIN> VDDIOx에 의해 양성 주입이 유도되고 VIN <VSS에 의해 음성 주입이 유도됩니다. IINJ (PIN)를 초과해서는 안됩니다.

따라서 레귤레이터가 시작되는 동안 PA9의 과전류를 제한하기 위해 간단한 저항을 사용할 수없는 것 같습니다. VDD가 상승하기 전에 VBUS에서 PA9로 흐르는 모든 양의 전류는 분명히 금지되어 있습니다.

다른 사람들은 무엇을 했습니까?

VTM 연결을 살펴보면서 STM32 칩 주변의 수많은 디자인을 보았지만 관심이없는 것 같습니다. 그들은 VBUS를 PA9에 직접 연결하거나 결국 저항을 통해 연결하지만 더 복잡한 것을 본 적이 없습니다. 그러나 대부분 개발 보드이므로 견고성이 중요합니다. 그리고 그들은 일반적으로 USB 포트를 통해 전원이 공급되지 않으며, 보드의 전원을 켜기 전에 사용자가 USB 포트를 연결하지 않을 것이라고 가정합니다.

내 계획은 무엇입니까?

USB 포트의 VBUS와 MCU의 PA9 핀 사이에 이것을 넣으십시오.

VBUS 보호

나는 그것을 간단하게 유지하려고 노력했다. 기본적으로 VUSB_CPU (PA9 핀)는 괜찮 으면 전원을 소비하지 않고 VCPU + 4V (Vz + Vbe)를 초과 할 수 없습니다.

나의 주요 질문은 : 내가 분석에 맞습니까? 이 회로가 좋은 솔루션입니까? 관련없는 것들에 대해 걱정하고 있습니까? 왜 아무도이 잠재적 인 문제에 관심이없는 것 같습니까?

추가 질문 : USB OTG를 사용할 계획입니다. 커넥터와 PA9 핀 사이에 4.7k 저항이 있으면 문제입니까? SRP 중에 VBUS 펄스를 사용해야한다면이 방법이 필요하지만이 방법은 더 이상 사용되지 않습니다. 내 장치의 역할 (장치 / 호스트)이 무엇이든간에 좋습니까?

마지막 : VDDUSB 공급 핀에 의해 소비되는 최대 전류는 얼마입니까? 데이터 시트는 USB 주변 장치에 대해 AHB 클럭 도메인의 경우 16.4µA / MHz + 독립 클럭 도메인의 경우 23.2µA / MHz를 지정하지만 데이터가 어디에서 그려 지는지 (VDD 또는 VDDUSB) 알 수 없습니다.


또 다른 PA9 보호 옵션은 USB의 + 5v와 PA9 사이에 mos 스위치를 배치 한 다음 조정기의 출력으로 스위치의 게이트를 구동하는 것입니다.
Mark

왜 저항 분배기를 사용하지 않습니까? 430k 및 630k는 핀에서 3.3v를 제공합니다.
b degnan

그러나 저항 분배기는 주입 문제를 해결하지 못합니다. 디바이더는 부품에 전원이 공급되기 전에 핀에 3.3 볼트를 주입합니다.
Mark

데이터 시트에서 전원을 끈 경우에도 핀이 4V를 견딜 수 있음을 이해합니다 (정확합니까?). 따라서 저항 분배기는 좋은 솔루션이지만 영구적으로 전력을 소비합니다. 나는 그것에 대해 엄격한 제약이 있다고 언급하는 것을 잊었습니다.
희미

답변:


4

Vbus에서 저항 분배기 (430k / 620k)와 함께 사용하면 마이크로 컨트롤러의 사양이 유지되며 기생 전류 소모는 배터리가 아닌 Vbus에서만 공급되므로 문제가되지 않습니다. 보존하고 싶다고 가정합니다).


어리석은 ... 전류 소비로 인해 저항 분배기를 배제하고 있었지만 내 추론은 분명히 불완전했습니다. 실제로 vbus에서 전원을 끌어 오는 것은 문제가되지 않습니다. 자, 왜 아무도 보드에서 그렇게하지 않습니까? ST 자체 (발견위원회), olimex, ...? 나는 아직도 그 점을 이해하지 못한다.
희미한

0

아마도 가장 간단한 방법은 전압이 증가하는 데 시간이 걸리도록 지연 커패시터 (uF 이상의 커플러)에 전력을 공급하는 높은 값의 저항 (10-100k)을 사용하는 것입니다. 레귤레이터가 시동되는 동안 커패시터를 가로 질러 축적되며, 마이크로가 ESD 보호를 받으면 입력은 수십 uS 동안 5-10V를 처리 할 수 ​​있습니다.


이것은 훌륭하게 들립니다 ...하지만 전원이 제거되면 어떻게 될지 생각할 때까지만. 커패시터는 큰 값의 저항을 갖는 것보다 실제로 상황을 악화시킬 수 있습니다. 저항은 많은 전류를 공급할 수 없지만 충전 된 커패시터는 가능합니다.
Chris Stratton

작은 제너를 통해 그것을 운전할 수 있습니까? 데이터 시트의 해당 섹션에서 VDD + 4V가 맞습니까? VDD + 4V 미만으로 레일을 떨어 뜨리는 제너가 있다면 괜찮을까요?
Sam

나는 회로도없이 당신의 제너 제안을 잘 시각화하지 못합니다. 그러나 솔루션이 내 것과 같은 복잡성 (3 개의 저렴한 개별 구성 요소)을 가지고 있다면 크게 얻지 못할 것입니다.
희미한

기본적으로 : 입력-> 제너-> PA9, 직렬 저항과 달리 입력과 직렬로 연결된 제너, 제너는 볼트를 2 또는 2로 떨어 뜨려 PA9의 전압은 항상 약간 낮습니다. 개발 보드가 묶여 있다면 괜찮을 것입니다. MCU의 전원을 켠 후에 경고가 적용될 수 있다고 생각합니다. 전원 시퀀싱 또는 시작 동작에 대한 섹션이 있는지 확인하십시오.
Sam

1
@Tom 그것은 실제로 내 주요 문제입니다. 나는 확인했다, 그들은 아무것도하지 않는다. PA9는 Discovery 데모 보드의 USB 포트 (저항을 통해서도)의 VBUS에 직접 연결됩니다. 따라서 내가 놓친 것이 없다면 이것은 데이터 시트와 완전히 모순됩니다. 내 문제는 실제로 보호 회로 자체가 아닙니다. 내 솔루션은 확실히 개선 되더라도 작업을 수행 할 수 있다고 생각합니다. 솔직히 말해서, 나의 주요 문제는 단지 : 모든 것이 정말로 필요한가?
희미한
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.