单片机/MCU论坛
直播中

吴湛

9年用户 809经验值
擅长:33391
私信 关注

PSoc5LP有可能以LS(1.5Mbps)而不是 FS(12Mbps)运行USBFS组件吗?

我有一个项目,客户希望使用一根长 (5M+) USB 电缆来连接我们基于 PSoC5LP 的 USB HID。 问题是 USB 全速最大电缆长度为3M。

我CAN采取任何措施将 PSoC5LP 降低到低速设备而不是全速设备以满足此要求?如果主机不通过 FS 通信,它 CAN会自动切换到 LS 吗?

到那时还会有关于速度的其他担忧吗? PSoC USBFS 组件配置为鼠标+键盘复合设备,2 个端点,每个端点 8 字节,我认为应该可以吗?

此项目还通过集成的 USB 集线器将 PSoC USB 设备发送给客户,这可能会消除问题?
                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(2)

李莉

2024-1-29 15:24:26
如果我没记错的话,USB 快速标准中内置了较低的 USB 速度合规性。
可能有 4 种方法可以实现这一目标。


  • 让从属 USB 端口连接到 USB 主站后传达合规性级别。我不知道该怎么做,但我敢打赌它确实存在。希望这个论坛上的其他人 CAN 告诉我们如何做。
  • 连接较长的电缆(>3M 电缆),然后尝试以最大速度发送。可能存在一个 ISO 低级例程,它会看到太多位错误,并强制下一个 USB 对话以较低的数据速率来提高 BER 可靠性。在此模式下,此操作将作为 USB 堆栈中 OSI 级通信的一部分自动为您完成。
    这是来自 USB 维基的截图:
    “从计算机用户的角度来看,USB接口在几个方面提高了易用性:


    • USB 接口是自配置的,用户无需调整设备的速度或数据格式设置,也无需配置 中断、输入/输出地址或直接存储器访问通道。[13]”


  • 使用较长的电缆将 PSoC 连接到仅符合较低数据速率的 USB 集线器。 集线器可能使用 " 1."以实现强制性较低的费率。
  • 您 CAN 购买传递 USB 信号并缓冲它们的 USB 中继器。 它们会增加整体数据传输的延迟,但对于应用程序来说可能是可以接受的解决方案。

实验建议:


  • 创建 一个简单的 USB 通信项目,用于设置 PSoC USBFS 并尝试以最大速度传输数据。
  • 注意:USB标准在每个Tx数据包上使用CRC以确保数据完整性。 这是在两端都处理的。
  • 使用 Systick(或计时器)计算估计的 Tx 数据速率。 使用 PSoC UART 端口显示估计的发射数据速率。
  • 使用 3M 或更少的电缆,测试项目。请注意估计的数据速率。 这是您的 USB“快速”参考。
  • 现在使用大于 3M 的电缆。请注意估计的数据速率。如果明显低于参考值,则由于传输错误,数据速率会自动降低。
  • 作为进一步的测试,请使用 USB 扩展器继续添加更多 USB 电缆长度。

3M for USB Fast 是基于标准电缆线路损耗和阻抗/电感/电容延迟问题的推荐。电缆越长:


  • 串联电阻越多(线路损耗)
  • 感应延迟(电流延迟)越多
  • 电容延迟(通过 RC tau 实现的电压延迟)这是导致上升和下降时间延长、限制最大传输频率的主要原因。
  • 由于线路终端不够理想,以及电子线中移动的光速,信号反射时间更长,可能更明显。

现实情况是,USB 找到更好的长CAN 电缆,以成本提供3M等效的性能(光因子反射速度除外)。注意: CAN 延长器延长电缆长度。不推荐。 每个连接器上通常会有 0.5dB 到 1.5 dB 的连接丢失。 如果需要延长器,通常最好使用镀金端子。
问题:您要在应用程序中达到的最低汇总数据速率是多少?
如果速度相对较慢(200Kbps),那么您 CAN 使用其他通信方法,例如RS485。
如果它需要快速但要保持一定距离,那就考虑一下WiFi。WiFi CAN 使用中继器传输很长的距离(延迟不断增加)。想想互联网上的数据。 布线成本和安装成本可以忽略不计。 但是根据距离的不同,可能需要路由器/中继器。
                                                                                                                                                                 
举报

杨万富

2024-1-29 17:45:42
PSoC5LP的USBFS组件可以配置为全速(FS)模式,但不能直接配置为低速(LS)模式。USBFS组件通过使用PLL和分频器来实现全速模式,这样可以支持最高12Mbps的数据传输速率。

如果你需要满足5米以上的USB电缆长度要求,建议使用USB2.0的增强型主动负载线缆(Active USB 2.0 Extension Cable)。这种电缆具有内置的信号放大器,可以补偿传输信号的损耗,并支持长达30米的传输距离。

另外,如果你已经将PSoC5LP配置为全速设备,并且主机不支持全速模式通信,则主机可以自动切换到低速模式。但需要注意的是,这只解决了连接速度的问题,仍然需要使用增强型主动负载线缆来支持超过3米的电缆长度。

将PSoC5LP通过集成的USB集线器发送给客户可能可以消除一些问题,因为集线器可以提供额外的电源和信号补偿,但仍然需要使用增强型主动负载线缆来支持长距离连接。

综上所述,为了满足你的需求,我们建议使用增强型主动负载线缆来支持长距离连接,同时将PSoC5LP配置为全速设备。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分