FTDI FT2232H(USB <-> UART)波特率?


8

是否有人使用过FTDI 的FT2232H芯片之一?

具体来说,您如何计算允许的波特率?

数据表有点模糊,我必须选择1-3 MBaud的范围,但需要知道我的选择是什么。

Answers:


7

我也有这个问题。FTDI认为它更多的是驱动因素,而不是芯片问题。转到FTDI应用说明区域,并查看“ AN_120 Aliasing VCP波特率” PDF应用说明。


该应用笔记会告诉您确切的选择,然后需要确保您的微控制器可以以相同的波特率进行操作,且错误率不到10%。
Kortuk

10%?10%的误差对于良好的UART通信而言太高了……通常大约是+/- 3%。
杰森S

如果一侧有一个完美的时钟,则另一侧可能有高达10%的错误(使用8位数据,1次启动,1次停止)而没有错误。添加奇偶校验后,您需要减少该最大错误。但是,通常双方都不是完美的,并且您都必须减少开销,因为两者都有。
Kortuk's

@Kortuk:如果已知错误是在某个方向上发生的,则可以安排例如0-10%的远端容限,但是如果这样做的话,如果远端的容差为0.01%,则通信可能会失败。许多UART设计具有几乎对称的误差范围,尽管有些4x过采样的误差范围是不对称的。不过,我从未见过有人允许用户调整起始位时序以支持更快或更慢的遥控器。
supercat

@supercat,我认为我们以前使用的MSP430可以使用“调制”,它在第一个位上产生了很高的错误,但在位上有所改善。
2011年

2

同样值得注意的是,Linux驱动程序目前支持最高460800波特的速度(仅?)。


2
虽然很容易犯错,但事实并非如此。Linux上的BPS速率选择必须与POSIX兼容,并且70年代也有很多令人沮丧的负担。例如,过去您最多只能选择38400。稍后,您可以翻转一下,这样就可以使用57600和115200。这些全部在操作系统方面,而不是硬件方面。现代驾驶员仍然必须支持古老的Bxxxx旗帜,但他们也可以自定义费率。查看get_ftdi_divisor()驱动程序中的(第1077行)。您可以在FT232H上将自定义BPS速率设置为最高12,000,000。
Alexios '02
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.