FTDI芯片如何工作?


20

前几天有人问我,FTDI USB转串行UART的工作原理,我意识到自己不知道。我查看了FT232R的数据表,但框图并没有真正帮助我。谁能解释我或将我链接到一个好的解释?


3
除了实现USB CDC设备的设备端以外,还有更多解释吗?zh.wikipedia.org/wiki/USB_communications_device_class
肯尼

1
@kenny,实际上不是。它使用专有的配置文件,这就是为什么您需要安装驱动程序才能使用它(至少在Windows上如此)。
阿瓦卡

2
@avakar,它在所有操作系统上使用驱动程序,其中一些只是预装的。
2011年

Answers:


15

FTDI芯片实现USB协议栈。该硬件的职责是(使用一些标识信息)告诉您的PC它是什么,以便您的计算机可以为其加载正确的驱动程序,并且还可以在其后管理与PC的数据事务-查找USB端点为了更好地解释这些过程。

加载完这些驱动程序后,这将指定您的PC可用来查询芯片的命令集。该硬件负责方程式的一侧(与PC通讯)。另一端将是一些用于管理UART协议的专用硬件,其中包括逻辑,缓冲区和线路驱动器以及排序。前面提到的命令集将用于读取或写入UART硬件。可能应该提到,USB设备是由PC轮询的,因此在您使用基于事件的代码的情况下,您的PC实际上正在进行一些轮询以确定新数据已到达-这可能与本机串行不同端口,我不知道。

可以将上述逻辑实现为专用ASIC,也可以使用精简的微控制器内核来执行ROM上的固件。如果确实是微控制器内核,那么我可以想象UART作为外围设备连接到它。


您如何确定没有执行固件程序?与等效的ASIC专用硬件实现相比,微控制器通常需要更少的逻辑门。如果用户无法访问微控制器固件,那么很难通过ASIC告诉微控制器。
Ben Voigt

@本:你知道吗?我可能不应该这么说。由于我的无知,答案已被编辑。在查看了框图之后,我坚持了自己的直觉假设,但我想最好还是抽象出任何潜在的uC细节。我想只有FTDI的人会知道,我想这归结为核心许可成本与房屋开发时间的关系。
乔恩·L

1
通常,当您拥有一个“协议”时,您最终会得到一个“程序”来处理它……即使它运行在深埋在ASIC或FPGA中的引擎上。例外的情况是,令人难以置信的快速速度胜过复杂性,您很可能会看到状态机或大规模并行性。在这两者之间的引擎中,计算路径与控制逻辑不成比例,这是DSP处理器背后的原始思想
克里斯·斯特拉顿

2

内部有一个USB微控制器,它通过USB讨论专有协议(因此需要驱动程序),并将其转换为“正常” UART信号,然后再次返回。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.