Eu tenho um projeto simples no dispositivo host que deve acionar 2 pinos com alto nível lógico (tensão 3.3V, 5V ou 12V - não importa) e aguardar que outros 2 pinos sejam acionados em alto nível pelo dispositivo periférico.
Posso implementar esse dispositivo host com um PC padrão e qual hardware (interno ou extra) devo usar?
Respostas:
Não está claro o que você deseja que o PC faça e o que o dispositivo deve fazer ("dispositivo host" não faz sentido), mas parece que você deseja E / S digital básica de um PC.
Os PCs não são realmente projetados para E / S digital direta para dispositivos externos. Mas você pode comprar módulos de E / S digitais que se conectam ao PC via USB, o que permite ler e gravar sinais digitais individuais. Você pode fazer isso sozinho com um microcontrolador se comunicando com o PC através de uma porta COM.
No entanto, se este é realmente apenas um problema de controle simples, por que você precisa de um PC? Tenha um pequeno microcontrolador para executar toda a tarefa. É exatamente para isso que servem os microcontroladores. Eles são pequenos computadores com saída digital e outras linhas de E / S destinadas a se conectar diretamente ao hardware externo.
fonte
Se você ainda pode encontrar uma, vale a pena mencionar que uma verdadeira porta paralela é tão próxima de um GPIO quanto você encontrará em um PC pronto para uso. As implementações clássicas carecem de flexibilidade, pois muitos dos pinos têm direção fixa e algumas são invertidas, mas as pessoas trabalham nisso há anos.
A maior limitação é que essas portas estão se extinguindo. As substituições mais abstratas, como conversores paralelos USB, normalmente são utilizáveis apenas para controlar impressoras reais e não possuem registros que você pode ler / gravar diretamente para definir ou monitorar o estado dos pinos. Há rumores de que alguns possuem essa capacidade, mas eles podem ser difíceis de encontrar e requerem atenção detalhada aos motoristas.
Nesse ponto, tende a se tornar mais prático usar um dispositivo de E / S conectado a USB. Geralmente, este é um microcontrolador executando um firmware simples, do fabricante ou personalizado.
Uma grande vantagem de uma implementação personalizada é a possibilidade de descarregar as partes críticas de nível mais baixo, mais repetitivas e / ou cronometradas da manipulação de E / S para o processador no dispositivo, em vez de tentar fazê-lo no PC, onde a latência de A embalagem USB, atravessando vários barramentos e sistemas operacionais multitarefa tendem a tornar as operações bit a bit dolorosamente lentas.
Se você ainda não descobriu exatamente qual a forma da sua solução, uma possibilidade é pegar algo como um Arduino que é empacotado no sentido do hardware e da cadeia de ferramentas para facilitar o uso e pode operar como uma solução autônoma ou como auxiliar de E / S para executar tarefas de baixo nível sob comando de um PC conectado.
fonte
Eu recomendo usar um FTDI FT232RL usando um driver especial que habilite o modo bitbang . Este método funcionará em praticamente todos os PCs e permite acesso de latência decente a um GPIO simples.
Existem muitas placas breakout de chips FTDI por aí, mas eu pessoalmente uso essa .
fonte