我在主机设备上有一个简单的项目,该项目应驱动2个具有高逻辑电平的引脚(电压3.3V,5V或12V-无关紧要),并等待其他2个引脚被外围设备驱动为高电平。
我可以在标准PC上实现这种主机设备吗?应该使用什么硬件(内置或额外的硬件)?
我在主机设备上有一个简单的项目,该项目应驱动2个具有高逻辑电平的引脚(电压3.3V,5V或12V-无关紧要),并等待其他2个引脚被外围设备驱动为高电平。
我可以在标准PC上实现这种主机设备吗?应该使用什么硬件(内置或额外的硬件)?
Answers:
目前尚不清楚您希望PC做什么以及该设备应该做什么(“主机设备”没有意义),但是似乎您希望从PC获得基本的数字I / O。
PC并非真正为直接数字I / O到外部设备而设计的。但是,您可以购买通过USB连接到PC的数字量I / O模块,然后再通过它们读取和写入单个数字信号。通过使微控制器通过COM端口与PC通信,您可以最轻松地自己完成此操作。
但是,如果这真的只是一个简单的控制问题,那么为什么根本需要一台PC?有一个小型微控制器自己完成整个任务。这正是微型控制器的用途。它们是带有数字和其他I / O线的小型计算机,旨在直接连接到外部硬件。
如果您仍然可以找到一个,那么值得一提的是,真正的并行端口与GPIO的距离与在现成PC中所能找到的一样近。经典的实现方式缺乏灵活性,因为许多引脚具有固定的方向,而有些引脚却是倒置的,但是人们已经为此工作了多年。
更大的限制是,这些端口正在消失。诸如USB并行转换器之类的更抽象的替代品通常仅可用于控制实际打印机,并且缺少可直接读取/写入以设置或监视引脚状态的寄存器。有传言说有少数具有此功能,但可能很难找到它们,需要驾驶员特别注意。
到那时,使用USB连接的I / O设备变得更加实用。通常,这是一个运行简单固件的微控制器,该固件可以来自制造商或定制公司。
定制实现的一个主要优点是可以将I / O操作的最低级别,最重复和/或时序关键的部分卸载到设备上的处理器,而不是尝试从PC上等待USB数据包化,遍历多条总线和多任务操作系统往往会使逐位操作的速度变慢。
如果您还没有弄清楚解决方案将采用哪种形式,那么一种可能性就是抢购类似Arduino的产品,该产品以硬件和工具链的形式打包在一起,易于使用,并且可以作为独立解决方案或作为I / O助手,可以在连接的PC的命令下执行低级任务。
我建议使用带有特殊驱动程序的FTDI FT232RL来启用它的bitbang模式。这种方法几乎可以在所有PC上使用,并允许对简单GPIO的适当延迟访问。
那里有许多FTDI芯片分线板,但我个人使用这一板。