두 개의 MCU 핀을 서로 직접 연결하는 것이 안전합니까?


10

한 주변 장치의 출력을 다른 주변 장치의 입력으로 라우팅해야하는 MSP430 프로젝트를 진행 중입니다. 따라서 두 개의 MCU 핀이 서로 직접 연결되어 있습니다. 프로그래밍 오류로 인해 둘 다 (충돌 할 수있는) 출력이 발생할 수 있기 때문에 이것은 의심 스럽습니다. 또한 시작 및 프로그래밍 상태 문제가 있습니다.

최악의 경우, 하나의 핀이 HI를 구동하고 다른 핀이 LO를 구동하는 경우 GPIO 핀은 일반적으로 소스 기능보다 더 많은 싱크 기능을 갖습니다. 따라서 HI 출력을 가져 와서 거의 바닥. 어느 것이 나쁘지만 ... 얼마나 나쁩니 까? MCU가 손상 될 가능성이 있습니까?

나는 종종 Arduino를 사용하여 저항없이 두 핀 사이의 LED를 켜는 사람들의 웹에서 예제를 보았으며 LED 이외의 것을 튀기는 사람에 대한 이야기는 듣지 못했습니다. 분명히 제품 에서이 작업을 원하지 않지만 제조업체는 일반적으로 GPIO 핀에서 과부하가 걸리지 않도록 MCU를 보호하려고합니까?

그것을 회상하여 생각하면 두 핀 사이에 전류 제한 저항을두면 걱정할 필요가 없지만 약간의 하드웨어 변경 조차도이 시점에서 수행하기가 매우 어렵습니다.

향후 참조 및 후손의 이점을 위해 누구나 두 개의 MCU 핀을 함께 연결하는 위험을 최소화하고 GPIO 핀이 과부하 될 가능성으로 인한 위험을 최소화하는 적절한 방법에 대한 다른 아이디어가 있습니까?


두 핀을 모두 출력으로 사용하면 단락 가능성이 있지만 msp430 컨트롤러를 사용하면 단락 될 가능성이 있지만 핀을 출력으로 구성하고 다른 핀을 입력으로 구성하면 문제가 발생하지 않습니다. 그러나 어쨌든 연결할 주변 장치는 무엇입니까?
yogece

타이머 출력을 다른 타이머 입력에 연결하고 있습니다. 문제는 전적으로 단락 가능성에 관한 것입니다. 나는 그것들을 출력으로 사용하는 것에 대해 생각하지 않지만, 통제 할 수없는 요인으로 인해 우연히 (적어도 일시적으로) 출력 될 가능성이 있습니다.
Dmitri

답변:


6

문제는 아니지만 출력 충돌이 걱정되는 경우 1k 옴 저항으로 연결하십시오. 이에 따라 전류가 제한됩니다.

그러나 입력에 매우 빠른 에지가 필요한 경우 작동이 확실 할 때 1k 옴을 짧게 또는 100 옴으로 브리지하십시오.

저항을 갖는 추가 이점은 설계가 PCB에 적용되면 쉽게 다시 배선 옵션을 제공한다는 것입니다.

사용하지 않는 입력의 경우와 동일한 문제입니다. 입력을 접지 또는 Vcc에 연결하고 진행중인 문제를 쉽게 해결할 수있는 방법없이 장치에서 큰 전류를 소비 할 위험이 있습니다. 사용하지 않는 경우 1k 또는 10k를 통해 연결하십시오.

과부하 제한은 일부 칩에서 이루어 지지만 트랜지스터가 본질적으로 "암페어"를 공급할 수 없기 때문에 그래야만 작동 할 수 있지만 여러 o / p 핀이 접지로 단락되어 있고 각 핀이 정상적으로 제한되어 있기 때문에 여전히 장치의 전원 핀에 대한 최대 전류 등급을 초과 할 수 있습니다.

문서 의 MSP430 시리즈 2 페이지 21에 대해 다음같이 말합니다.-

여기에 이미지 설명을 입력하십시오

이것은 여러 핀의 결합 된 출력 전류가 특정 한계에 도달하면 다른 핀 (약하게로드 될 수있는 것)의 출력 기능이 같은 양만큼 손상되거나 더 악화 될 수 있음을 알려줍니다.


나는 electronics.stackexchange.com/questions/50539/… 와 그 그룹에있는 다른 것들을 적어도 세 번 이상 보았습니다 . 당신은 PSU 핀 과전류에 대해 아주 좋은 지적을합니다. 아마도 미사용 핀을 GND / PSU에 연결하는 것이 가장 큰 위험이라고 생각합니다. 따라서 GPIO 핀의 트랜지스터는 PSU 범위를 벗어난 것으로 단락되지 않는 한 자체 손상을 입힐 정도로 충분히 전도되지 않을 것입니다.
Dmitri

사용하지 않는 입력 (High-Z로 간주)이 전류를 많이 소비하는 이유는 무엇입니까?
통행인

@passerby 일부 사람들이 좋아하는 PSU 레일에 연결하면 실수로 출력이됩니다. 내가 연결 한 문자열의 질문을보고 꽤 흥미로운 토론을하십시오.
Dmitri

@passerby OP는이 "프로그래밍 오류가 발생하여 (충돌 가능성이있는) 출력이 될 수 있음"을 제안하고 있으며 이것이 사용되지 않는 핀의 프로그래밍 오류에 적용된다고 가정합니다.
Andy 일명

프로그래밍 라인 오류없이 레일에 연결되지 않은 입력을 사용하면 마치 드로우가 발생하는 것처럼 보입니다.
통행인

2

가장 큰 문제는 앞에서 언급했듯이 프로그래밍 오류입니다. 문제가 발생할 가능성이 있으므로주의해서 코딩해야합니다. 그 외에, 핀이 서로 다른 레벨의 출력이 아닌 한 괜찮습니다.

단일 소스를 구동하기 위해 두 개의 핀을 사용하는 것은 드문 일이 아닙니다 (전류 출력 결합).

두 개의 핀을 사용하여 LED를 구동하는 것도 드문 일이 아닙니다. 저항을 사용하지 않는 것이 좋지만 멀리 갈 수 있습니다. 출력 전압이 LED 순방향 전압에 상대적으로 가까운 경우 전류 소모에 문제가 없을 수 있습니다. 그리고 핀 전압 강하가 있습니다. 전류가 공급됨에 따라 해당 핀의 전압이 감소합니다 (Vcc-Vcc-0.3--1 등). 전류 싱크가 증가함에 따라 전압이 증가합니다 (Gnd에서 Gnd + 0.3v에서 + 1v 등). 그것은 약간의 자기 교정 축복이지만, 의존해서는 안됩니다.

이미 언급했듯이 간단한 전류 제한 저항을 사용할 수 있습니다.

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