【问题标题】:Generate a 10 MBit RS485 (UART) datastream with an USB device使用 USB 设备生成 10 MBit RS485 (UART) 数据流
【发布时间】:2016-09-29 09:11:12
【问题描述】:

我需要使用 USB 设备生成 10 MBit RS485 (UART) 数据流。到目前为止,我认为 FT2232H 非常适合,但据我了解,FT2232H 只能生成 12 MBit 或 8 Mbit,因为主分频器 0 和 1 的子分频器有限。 USB 设备应在 PC 上枚举为支持 10 Mbit 波特率的串行接口。

那么知道哪种芯片适合特定任务吗?

谢谢。

【问题讨论】:

  • 全速 USB 需要 48 MHz 时钟,因为它的比特率为 12 Mbps,因此您发现的大多数 USB 设备的时钟速度为 48 MHz、72 MHz 或其中的某个除数。因此,您实际上不太可能找到能够为您提供 10 MHz 串行波特率的设备。你为什么需要那个?您可能需要一个使用更标准波特率(如 115.2 kHz)的 USB 连接,然后将其馈送到时钟频率为 10 MHz 倍数的定制微控制器板上以转换信号。
  • 如果您使用 USB 转以太网,您可以(理论上)获得 100Mbits(甚至 1G)。只是说。 10Mbit 的 RS485 只走 50 英尺,100baseT 走 100m。
  • 感谢您的建议;我需要 10 Mbit 串行数据流来测试外部设备。因此我无法更改波特率。什么uC适合? STM32 只支持 10.5 MBit ...

标签: serial-port usb uart rs485


【解决方案1】:

好的,我终于实现了一个合适的解决方案。 将波特率设置为 12 MBit 并使用 2 个停止位和 1 个奇偶校验位。 在 CPLD 或 FPGA 中实现 12 MBit RS422 接收器,并将其直接与 FT2232H 连接。 CPLD/FGPA 去掉一个停止位和奇偶校验位。

使用常规的 8N1 10 MBit RS422 发送器在 CPLD/FPGA 中输出接收到的数据。总的来说,这必须进行两次,但要切换 12 和 10 MBit。

就像一个魅力,CPLD 甚至可以是 QFN32 Lattice iCE40 CPLD。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    相关资源
    最近更新 更多