MCU 입력 핀을 떠 다니는 것은 정말 나쁜 생각입니까?


28

입력 (기본 출력 대)으로 구성 할 때 MCU에 핀을 떠 다니는 것은 핀에 좋지 않으며 결국 실패하게 할 수 있다고 들었습니다. 이것이 사실입니까? 필자의 경우 NB는 들어오는 비디오 신호로 인해 0.3V와 1.3V 사이에 핀이 떠 있습니다. 3.3V에서 작동 할 때 0.8V-2.0V의 무인 영역에 해당하는 경우가 있습니다.


1
데이터 시트 및 MCU 제품군 문서를 확인 했습니까? 그것들은 꽤 명확한 답변을 가져야하며 핀이 내부적으로 어떻게 구현되는지 볼 수 있습니다.
XTL

@XTL, 나는 그들을 통해 스캔했지만 그것에 대한 참조를 찾지 못했습니다. 플로팅 핀은 정의되지 않은 상태로 들어갈 수 있지만 문제를 일으킬 수 있는지 여부는 언급하지 않습니다.
Thomas O

플로팅 디지털 입력과 아날로그로 정의 된 입력 간에는 차이가 있습니다. 이 소리는 아날로그 입력입니다.
Martin

@Martin 핀을 아날로그 입력으로 만들 수 없습니다. 비디오의 각 픽셀에 대해 ~ 125ns 시간 슬라이스 (25ns 명령 클럭)가 있으므로 단일 나노 초를 더 이상 소비 할 수 없습니다.
Thomas O

2
어떤 MCU를 사용하여 기본적으로 모든 핀을 출력 합니까? 그것은 재난의 요리법처럼 들립니다.
코너 울프

답변:


31

문제 :
입력 플로팅으로 구성된 핀을 남겨 두는 것은 단순히 핀 상태를 확신 할 수 없기 때문에 위험합니다. 앞에서 언급했듯이 회로 때문에 핀이 때때로 낮거나 때로는 사람이없는 땅에 있거나 때로는 높음으로 갈 수 있습니다.

결과 :
기본적으로 플로팅 입력은 칩 동작이 불규칙하거나 예상치 못한 동작을 유발합니다. 보드에 손을 더 가까이 대면 (ESD 손목 밴드를 착용하지 않았을 때) 일부 칩이 멈추거나 보드를 켤 때마다 시작 동작이 다를 수 있습니다.

이유 :
단순히 핀에 외부 노이즈가있는 경우 핀이 발진하여 CMOS 로직 게이트가 상태를 전환 할 때 전력을 소모하므로 전력이 소모되기 때문입니다.

솔루션 :
오늘날 대부분의 마이크로에는 내부 풀업도 포함되어 있으므로이 동작이 발생하지 않을 수 있습니다. 또 다른 옵션은 핀을 출력으로 구성하여 내부에 영향을 미치지 않도록하는 것입니다.


3
입력으로 사용하는 경우 확실히 입력이 잘못되지만 칩의 다른 부분에 실제로 영향을 미치고 시작 문제가 발생합니까?
endolith

3
핀을 무시하고 주변 장치에 사용하지 않으면 여전히 문제가 발생합니까?
Thomas O

@endolith와 토마스-mikeselectricstuff가 당신을 위해 대답했다고 생각합니다! 시스템의 다른 부분에 소음을 발생시키는 것만으로 문제가 발생할 수 있습니다. 출력으로 구성하자마자 문제가 사라지기 때문에 부동 핀 때문이라는 것을 알고 있습니다!
IntelliChick

2
떠 다니는 금속 조각이 시스템의 다른 부분에 소음을 유발할 수있는 방법을 이해하지 못합니다. 확실히 잡음을 포착하지만 입력에주의를 기울이지 않으면 중요하지 않습니다. 손을 흔드는 문제가 실제로 사용되지 않은 부동 입력 과 관련이 있습니까?
endolith

TIL 플로팅 핀은 무해하지 않습니다. 감사합니다 IntelliChick 및 @Yann!
Nick Johnson

13

알 수없는 상태에 있거나 불필요하게 토글하는 것보다 조금 나쁩니다. 오늘날 디지털 회로는 대부분 CMOS 유형이며 트랜지스터는 하이 사이드와 로우 사이드를 모두 스위칭합니다. 우리가 명확한 1과 0을 가질 때, 그것들은 꺼 지거나 포화 상태에 있으며, 트랜지스터가 위치하는 두 가지 가장 효율적인 상태입니다. 그러나 그 사이에는 선형 동작 영역이 있습니다. 아날로그 증폭기에 사용되지만 극단만큼 효율적이지는 않습니다. 즉, 트랜지스터의 열만큼 더 많은 전력이 낭비됩니다. 최악의 경우, 하이 사이드 트랜지스터와 로우 사이드 트랜지스터가 모두 누설되므로 (핀이 실제로 높거나 낮지 않기 때문에) 칩을 결합하여 칩 내부에서 주목할만한 전류를 유발할 수 있습니다. 그리고 낮음-연쇄 반응에서 다음 게이트와 동일하게 수행 할 수 있습니다. 전력이 공급되지 않더라도 열은 문제가 될 수 있습니다. IntelliChick의 솔루션이 여전히 적용됩니다.

ADC에 연결된 핀의 경우 일부 마이크로 컨트롤러는 디지털 입력 버퍼를 비활성화하는 기능을 제공하여이 문제를 방지하고 신호가 왜곡되는 누설을 방지합니다.


입력에 히스테리시스가 없습니까?
endolith

3
슈미트 트리거 입력은 일반적으로 아니요.
Yann Vernier

6

실제로 주요 효과는 전력 소비 증가입니다. 핀이 불확정 전압 소스에 연결된 것과 반대로 실제로 플로팅되는 경우 발진이 발생할 수 있으며 전력 소모가 증가하면 시스템의 다른 부분에 노이즈가 발생할 수 있습니다. ADC 또는 비교기 입력에 사용할 수있는 모든 핀에는이 문제를 피하기 위해 디지털 입력 버퍼를 분리하는 기능이 있습니다. (AVR의 DIDR, PIC의 ADCON1 / ANSEL)


정확히 진동하는 이유는 무엇입니까?
endolith

@endolith-핀의 입력 버퍼. 입력과 출력 사이에 커패시터가있는 인 버팅 버퍼에 대해 생각해보십시오.
코너 울프

@FakeName : 그러나 인버터는 어디에 있습니까? 입력으로 피드백되는 출력은 어디에 있습니까?
endolith

3
기본적으로 모든 IC IO 핀 은 IC Die 의 버퍼 (종종 인버터) 통과합니다 . 버퍼는 입력과 출력을위한 와이어를 가지므로 입력과 출력 사이에 용량 성 결합이있을 수 있습니다. 따라서 입력의 임피던스가 충분히 높으면 인버터 출력의 전환으로 인해 인버터 입력이 변경되어 출력이 다시 변경되는 등의 원인이 될 수 있습니다.
Connor Wolf

4

일반적으로 입력 핀을 부동 상태로두면 다음과 같은 원인이 될 수 있습니다.

a) 기능적 문제-알 수없는 입력 상태, 토글 (예 : 프로세서를 정지시키는 정의되지 않은 ISR로 인터럽트를 트리거 할 수 있음)

b) 전력 소비 증가-입력 게이트가 CMOS 인버터와 유사 할 가능성이 높습니다. 이 구조를 사용하면 입력이 레일 중 하나 (예 : 절반 공급 장치)에서 충분히 멀면 상당한 교차 전류가 지속적으로 흐릅니다.

c) 크로스 오버 전류가 흐를 경우, 핫 캐리어 주입 이 실제로 장치의 수명단축시킬 수 있음을 알고 있습니다 . 입력 게이트는 연속 전도가 아닌 일반 스위칭 용으로 만 설계되어 장치가 치명적으로 고장날 수 있습니다. 그러나이를 위해서는 고온에서 수백 시간 동안 이러한 상태로 장치를 배치해야합니다.

a)와 b)는 발생할 가능성이 가장 큰 실제 문제입니다. c) 문제가 발생할 가능성은 적지 만 왜 위험을 감수합니까?


3

입력은 EMI에 따라 0과 1 사이에서 전환됩니다. 입력이 실패하는지 확실하지 않지만 0에서 1로 0으로 전환되므로 더 많은 전력이 사용됩니다.

출력으로 설정하고 완료하십시오.


1
출력을 0 또는 1로 설정하면 비디오 신호가 접지되고 비디오가 손실됩니다.
Thomas O

내부 풀업을 활성화하고 완료 할 수 있습니까?
endolith

내부 풀업을 활성화하는 것이 좋습니다. 요점은 알려진 상태로 놓고 그대로 두는 것입니다.
Robert

2

입력이 플로팅 상태로 남아 있으면 일부 고속 CMOS 장치가 손상 될 수 있지만 가장 일반적인 문제는 소비 전류 증가입니다. PIC 시리즈 마이크로 컨트롤러에서 추가 전류는 플로팅 핀당 수백 마이크로 암페어 정도입니다. 장치 손상을 일으킬만큼 충분하지 않지만 5uA를 소비하는 응용 프로그램의 배터리 수명에 심각한 영향을 줄 정도로 충분 일부 칩에는 디지털 입력을 비활성화하는 옵션이 있습니다. 입력이 비활성화되면 자유롭게 떠 다닐 수 있습니다.

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