입력 또는 출력 MCU 핀에서 풀업 및 풀다운 저항 사용


18

풀업 / 다운 저항 (내부 또는 외부)이 MCU INPUT 핀에만 필요합니까? 반대로, OUTPUT으로 구성된 MCU 핀은 구동하기 때문에 "현재 레벨을 알고 있습니다"-다른 회로의 일부 입력에 연결된 "플로팅"MCU OUTPUT 핀은 의미가 없습니다. MCU 핀의 상태 때문에 높거나 낮을 수 있습니다 ...이 권리가 있습니까? 이제 MCU 부팅 또는 오류 발생시 일부 "IC 입력"이 플로팅되지 않도록이 "MCU 출력-IC 입력"라인에 풀업 / 다운을 연결하는 것이 좋습니다.

어쩌면 여기에 내 자신의 질문에 대답했을 것입니다 ... 풀 업 / 다운 저항은 응용 프로그램에 따라 입력 및 출력 핀 모두에 사용할 수 있습니까?

답변:


21

풀업 및 풀다운은 일반적으로 라인이 정의 된 상태에서 능동적으로 구동되지 않도록하기 위해 사용됩니다. 플로팅 라인을 방지하기 위해 입력에 사용되며, 높고 낮은 영역과 중간 "정의되지 않은"영역 사이를 빠르게 전환합니다. 출력은 일반적으로 필요하지 않습니다.

그러나 대부분의 MCU 핀은 GPIO이며 시작시 출력 대신 입력으로 정의되는 경우가 있습니다. 말했듯이, 때로는 마이크로 컨트롤러의 GPIO로 구동 할 수있는 리셋 핀과 같이 시작시 IC 핀 입력이 플로팅되는 것을 원하지 않습니다.

이것은 회선 에서 약한 풀업 또는 풀다운 을 사용할 때 입니다. 그것들은 약하고 기본 상태를 선택하기 때문에 회로에 간섭을주지 않습니다 (입력이 항상 낮고 강하게 당겨지면 약한 풀다운을 선택하고 그 반대도 마찬가지입니다). 그들은 약간의 전류를 소비합니다. 그렇기 때문에 작업에 필요한 저항 약점 (값이 높을수록 약함)을 선택하는 것입니다.

풀업 (또는 풀다운, 드문 경우)을 사용하는 또 다른 일반 출력 설정은 Open Drain 또는 Open Collector 연결입니다. 이들은 연결을 낮게 구동하거나 회선을 해제하여 플로팅 상태로 둡니다. 풀업은 라인을 높은 로직 상태로 만드는 데 사용됩니다.


Open Drain 및 Open Collector 연결에 대해 언급했는데, 마이크로 컨트롤러에는 적용되지 않습니까? 논리적 수준을 설정하는 데 Mosfets가 사용됩니까? 마이크로 컨트롤러가 풀다운 저항이 높은 라인을 구동 할 수 있는지 여부를 명확히하고 싶었습니다.
genericpurpleturtle

9

당신은 옳은 일을합니다. 일반적으로 출력에서 ​​풀업이 필요하지 않지만 부팅 시간 동안 안전을 유지하는 데 유용 할 수 있습니다.

출력에 풀업 (pull-up)을 사용하는 또 다른 이유는 몇 가지의 MPU에서 여러 출력이 서로 연결되어있는 경우, 당신은 정말 하나의 VCC를 운전하고 같은 전선에 또 다른 운전 0V 싶지 않아! 따라서 출력에서 ​​0V를 구동하거나 출력을 끄십시오 (아마도 입력으로 구성하여). 모든 출력이 꺼지면 와이어는 풀업에 의해 '1'(Vcc)로 당겨집니다. 이것을 "유선 AND"신호라고합니다. 풀다운 R을 사용하여 동일한 운전 '1'을 수행하거나 해제 할 수 있으며이를 유선 OR이라고합니다.

이 패턴은 하나의 MPU가 오류 신호를 보내거나 LED를 켜거나 단일 회선에서 서로 메시지를 보내도록하는 등 여러 가지 용도로 사용됩니다.


4

언급했듯이 출력 핀으로 예상되는 핀에서 풀업 / 풀다운 저항을 사용하면 입력 상태를 보장 할 수 있습니다.

이는 펌웨어 / MCU 오류를 완화하기 위해 수행되지만 Hi-impedance 상태 (기본적으로 핀은 우연히 입력으로 구성됨)로부터 보호하기 위해 작동합니다.

대부분의 MCU는 부팅시 높은 임피던스 입력 상태에 대한 기본 IO 핀에 대해 잘 알고 있지만 보증 할 수는 없으며 모든 MCU 제품군 근처에 경험이 없으므로 핀을 초기화하는 데 시간이 오래 걸릴 수 있습니다. 상태가 실행됩니다.

때때로 이것은 중요하지 않고 다른 경우에는 중요하지 않습니다.


다른 답변도 칭찬하는 답변에 감사드립니다! 참고로 PIC24F 시리즈는 리셋시 GPIO 핀을 높은 임피던스 (입력)로 기본 설정합니다 (I / O 핀 데이터 시트).
The_Ders

3

답은 마이크로 컨트롤러 제품군에 따라 다르며 기본 동작은 전원 켜기 재설정에 있습니다. 마이크로 컨트롤러가 핀에서 "출력"또는 "입력"으로 만 구성 될 수있는 경우 이는 일반적으로 출력을 위해 토템폴 드라이버를 사용하고 있음을 의미합니다. 즉, 본질적으로 CMOS 게이트의 출력입니다. 출력은 항상 레일로 구동되므로 수동으로 영향을 줄 이유가 없습니다. 출력에서 풀업 / 풀다운을 사용하는 것이 적합한 경우는 Open Collector / Open Drain 토폴로지로 구성된 경우입니다. 핀이 입력으로 구성된 경우에만 적용 할 수있는 내부 풀업 / 풀다운 옵션을 보는 것이 훨씬 일반적입니다. 시스템에서 입력이 항상 무언가에 의해 구동된다는 것을 보장 할 수 있으면 약간의 전력이 낭비됩니다.


하드웨어 수준에서 훌륭한 설명. 감사합니다!
The_Ders

2

I2C를 수행하는 경우와 같이 일정 시간 출력되는 핀을 가질 수 있습니다 .


앞으로 I2C로 작업 할 때이 점을 명심하겠습니다. PIC24F 시리즈에서 I2C 모듈은 핀을 완전히 제어한다고 가정하고 라인에는 외부 풀업이 필요합니다. 이제 이것이 왜인지를 알고 있습니다-I2C 모듈은 데이터 핀의 출력 / 입력 여부에 따라 데이터 핀을 오픈 드레인 / 콜렉터 출력 (풀업 저항이 필요) 또는 높은 임피던스 입력으로 본질적으로 구성하고 있습니다. I2C 모듈 ...이 권리가 있습니까? 나는 I2C에 익숙하지 않다.
The_Ders

맞습니다.
pjc50

I2C는 유선 AND 패턴의 한 예입니다. 오픈 컬렉터는 GPIO 핀으로 간단하게 만들 수 있습니다.
Brian Drummond 10
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.