Estou trabalhando em um projeto MSP430 que exige que eu direcione a saída de um periférico para a entrada de outro periférico. Portanto, tenho dois pinos MCU conectados diretamente um ao outro. Isso me parece suspeito, pois existe a possibilidade de um erro de programação causando ambas as saídas (possivelmente conflitantes). Além disso, há a questão dos estados de inicialização e programação.
Na pior das hipóteses, se um pino está dirigindo HI, o outro está dirigindo LO, os pinos GPIO geralmente têm muito mais capacidade de afundamento do que a capacidade de fonte ... então será como pegar uma saída HI e colocá-la em curto para quase terra. O que é ruim ... mas quão ruim é? É provável que cause danos ao MCU?
Muitas vezes vejo exemplos na web de pessoas que usam Arduinos para acender um LED entre dois pinos sem resistor, e não ouvi nenhuma história de alguém fritando nada além do LED. Claramente, você não gostaria de fazer isso em um produto, mas os fabricantes geralmente tentam proteger o MCU dos pinos GPIO sobrecarregados?
Pensando nisso em retrospecto, colocar um resistor limitador de corrente entre os dois pinos teria evitado qualquer preocupação, mas mesmo uma pequena alteração de hardware é uma coisa muito difícil de se fazer neste momento.
Para referência futura e o benefício da posteridade, alguém tem outras idéias sobre a maneira correta de minimizar os riscos de conectar dois pinos MCU e, de maneira mais geral, minimizar os riscos decorrentes da possibilidade de sobrecarregar um pino GPIO?
fonte
Respostas:
Não é um problema, mas se você estiver preocupado com a possibilidade de haver um conflito de saídas, conecte-os a um resistor de 1k ohm. Isso limitará a corrente de acordo.
Se, no entanto, a entrada precisar de arestas muito rápidas, quando tiver certeza de que está funcionando, faça a ponte de 1k ohm com um curto ou 100 ohms, talvez.
O bônus adicional de ter o resistor é que, se você tiver o design comprometido com a placa de circuito impresso, ele oferece uma opção fácil de religar.
É o mesmo problema com as entradas não utilizadas - amarre-as ao terra ou Vcc e você corre o risco de captar uma corrente pesada do dispositivo sem qualquer maneira fácil de descobrir o que está acontecendo - amarre através de um 1k se não for usado ou talvez 10k.
A limitação de sobrecarga é feita em alguns chips, mas apenas em virtude de os transistores não poderem fornecer "amperes" inerentes, mas isso pode funcionar contra você, porque se você tiver vários pinos de O / P em curto no chão (ou um no outro) e cada um deles estiver limitando normalmente, você ainda pode exceder a classificação máxima de corrente nos pinos de energia do dispositivo.
Para o MSP430 series 2, a página 21 deste documento diz: -
Isso me diz que, se as correntes combinadas de saída de vários pinos atingirem um determinado limite, os recursos de saída de outros pinos (mesmo aqueles que podem ser carregados levemente) podem ser prejudicados pela mesma quantidade ou possivelmente pior.
fonte
O maior problema é como você mencionou, erros de programação. Há um potencial de problemas, então você deve codificar com cuidado. Fora isso, desde que os pinos não sejam as duas saídas com níveis diferentes, tudo bem.
Usar dois pinos para acionar uma única fonte não é incomum (combinando a saída atual).
Usar dois pinos para acionar um led (ou dois) também não é incomum. Embora não seja recomendável não usar um resistor, você pode se safar. Se a sua tensão de saída estiver relativamente próxima da tensão direta do led, o consumo de corrente poderá não ser um problema. E há a queda de tensão dos pinos. À medida que a fonte de corrente aumenta, a tensão nesse pino diminui (Vcc para Vcc - 0,3 para -1, etc). À medida que a corrente diminui, a tensão aumenta (de Gnd para Gnd + 0,3v para + 1v, etc). É um pouco de uma bênção auto-corrigível, mas não deve ser invocada.
E, como você já disse, um simples resistor limitador de corrente pode ser usado.
fonte