As placas-mãe do computador desktop possuem o GPIO? Se o fizerem, como ler ou escrever para eles

17

Eu vi alguns pinos como os pinos GPIO do microcontrolador nas placas-mães do computador de mesa por algumas vezes, eu queria saber, primeiro, eles são realmente GPIOs? se sim, é possível ler ou escrever para eles?

    
por Mohsen Salahshoor 29.10.2015 / 17:47

4 respostas

12

Os PCs normais não têm o GPIO como tal no sentido de "pinos destinados a serem de propósito geral". Os conectores em uma placa-mãe do PC (sejam cabeçalhos internos ou externos) foram projetados para funções específicas. No entanto, alguns deles podem ser reaproveitados para seus próprios fins.

A coisa mais próxima do GPIO que os PCs têm é provavelmente a porta de impressora paralela que possui várias linhas de dados e linhas de handshake. Essas linhas são um pouco como os pinos GPIO, embora você tenha menos flexibilidade em termos de suas direções. link

As linhas de handshake nas portas seriais também podem ser usadas como IO geral, embora tenham níveis de voltagem estranhos.

Portas paralelas e seriais são menos comuns do que costumavam ser, mas ainda é muito fácil encontrar placas-mãe que as tenham, se você comprar por aí.

Você também pode reaproveitar entradas e saídas destinadas a LEDs, botões, etc., mas imagino que os detalhes serão muito específicos para um sistema em particular.

Os PCs usam um barramento baseado em I2C chamado SMBUS para várias funções de gerenciamento. Tenho certeza que já vi relatos de pessoas colocando seus próprios dispositivos I2C neste barramento por meio de fios de solda antes, mas não consigo encontrar links agora.

Há outro barramento I2C nas portas de vídeo usadas para identificação do monitor. Se você pode obter acesso a software para ele depende de qual SO e hardware de vídeo você está usando link

E, claro, há USB. Agora existem microcontroladores baratos com interfaces USB que você pode usar para se conectar a isso.

    
por 29.10.2015 / 18:37
2

Acho que a pergunta se as placas-mãe têm o GPIO é muito específica para o modelo e para o make. Alguns podem, outros não.

Por exemplo na minha desktop board Asus ele contém um Nuvoton NCT6775 para controle de ventoinha e leitura de temperatura. Isso é acessível a partir dos utilitários BIOS (personalizados personalizados) e da área de trabalho do Windows. Eu preciso rodar o software da Asus para que o controle do ventilador funcione, o que significa que o controle do ventilador PWM é feito por software. Em uma instalação Linux eu preciso configurá-lo manualmente através deste módulo do kernel e pwmconfig.

Se você olhar para a Folha de dados do Nuvoton NCT677xF você encontrará hardware genérico para controlar PWM, leitura de temperatura & voltagens e também GPIO via SMBus. Equipado com ambos, dá-lhe um bom começo para que funcione. Em teoria, você poderia usar este chipset para funções GPIO.

No entanto, eu não tocaria. Você não sabe qual hardware está conectado a ele, a menos que queira mergulhar em um modelo muito específico de placa-mãe e fazer engenharia reversa (por exemplo, layout, alocações de pinos, etc.). Não é quebrado para um conector nem.

Mais importante ainda, se a sua aplicação precisar durar vários anos, o modelo da placa-mãe também deve. Se não, ligar a um hardware muito específico da placa-mãe não é uma boa ideia.

    
por 29.10.2015 / 20:35
2

Eu sei que este é um tópico mais antigo, mas de qualquer forma ...

Tendo programado o código BIOS, posso dizer que toda placa-mãe tem GPIO e eles estão completamente disponíveis no espaço de endereço do usuário e o endereço da porta é geralmente muito próximo da porta paralela. Eu criei drivers personalizados para placas-mãe personalizadas usando drivers de porta paralela padrão, tudo o que eu tinha que fazer era modificar o número do endereço, mas eu sabia esse número antecipadamente.

Você pode usá-los? Bem, isso depende da pessoa que programou o BIOS. O estado de todos os GPIOs tem que ser pré-compilado, todos os GPIOs não utilizados podem ser facilmente configurados para serem desativados.

Se um GPIO não for utilizado e não for definido, qual é o seu estado padrão? Muito provavelmente apenas flutuando (a maioria é tri-state tão boa sorte) ..

Um GPIO tem um pullup / suspldown? Quem sabe se o EE adicionou um ..

Há vestígios para qualquer um dos GPIOs não utilizados? Eu duvido, mas tudo é possível ..

Em suma, você tem que ter sorte que um GPIO não utilizado foi definido de maneira que você possa usá-lo; muito parecido com o arduino (mas sem padrões reais), pense em "INPUT / OUTPUT / TRI". Ele tem que ter um rastreamento utilizável na placa-mãe que esperamos ter um pino ou pad para soldar. Então, se você souber a localização do endereço do GPIO, você pode usar um driver de espaço de usuário padrão facilmente.

    
por 29.07.2016 / 04:21
0

Os PCs geralmente têm interfaces i2c, e você pode encontrar chips expansores de E / S para i2c como o TI TCA9535DBR.

Então, indiretamente, você poderia fazer isso dependendo dos seus requisitos de velocidade. Se você está em um PC, os requisitos de tempo exato são complicados de qualquer maneira.

    
por 25.07.2018 / 17:39