电子说
在电子设备开发中,USB 接口的应用极为广泛。Silicon Labs 提供了一系列 USBXpress 单芯片连接桥解决方案,支持 USB 到串行协议,以及用于人机接口设备(HID)类和 USB 音频应用的专用桥。本文将详细介绍如何使用 Simplicity Studio 提供的工具来配置这些设备的选项,以及如何进行生产编程和订购预编程部件。
文件下载:CP2108EK.pdf
每个 USB 设备都需要一个唯一的供应商 ID(VID)、产品 ID(PID)和序列号组合,以避免冲突。PC 通过匹配设备的 VID/PID 来使用相应的驱动程序。VID 由 USB 实施者论坛(USB - IF)分配给供应商公司,拥有特定 VID 的公司可以拥有该 VID 下的所有可能的 PID。可以从 http://www.usb.org/developers/vendor 获取唯一的 VID,也可以使用 Silicon Labs 的默认 VID(0x10C4),并通过 http://www.silabs.com/RequestPID 为基于 CP210x/CP211x/CP2130 的产品请求唯一的 PID。定制 USB 字符串虽然是可选的,但强烈推荐,因为唯一的 VID/PID 组合可以防止驱动程序与其他 USB 驱动程序冲突。
USB 是广泛使用的外设,USB 实施者论坛(USB - IF)为符合条件的 USB 产品引入了受商标保护的标志。要使用该标志,USB 产品需要符合 USB - IF 的标准。产品通过 USB - IF 的合规性和/或认证测试意味着该产品已通过测试符合规范。每种 USB 产品都需要进行特定测试才能列入集成商列表,这对 OEM 和消费者都很重要,因为经过 USB - IF 测试和认证的产品可以确保相互兼容。要获得使用 USB - IF 标志的许可,需要向 USB - IF 注册产品的 VID 和 PID,并将产品提交到 USB - IF 合规计划,详情可参考 http://www.usb.org/developers/compliance。产品认证后可以添加到 USB - IF 集成商列表,并在产品上使用“Certified USB”标志。
不同系列的 USBXpress 设备在配置上有不同的要求。
CP210x 系列设备提供 USB 到 UART 的通信,需要在主机上安装驱动。Silicon Labs 提供了两种驱动:虚拟 COM 端口(VCP)驱动和 USBXpress 驱动,一次只能为一个设备关联一个驱动,驱动基于匹配的 VID/PID 与设备关联。
CP211x 系列属于 HID 类设备,大多数操作系统可以使用通用的原生驱动自动识别,不需要额外安装驱动,但 PC 应用程序需要使用特定的 CP211x HID 规范与设备通信,相关规范可参考 AN433 和 AN496。
CP2130 系列设备提供 USB 到 SPI 的通信,通常可以使用通用的 USB 驱动,如 Microsoft 的 WinUSB 或开源的 libUSB 驱动,需要生成适当的驱动 INF 文件将 CP2130 与特定的 USB VID/PID 关联。
Silicon Labs 提供了两种工具来定制 USBXpress 设备:Simplicity Studio 中的 Xpress Configurator 和遗留的 CP21xx 设备定制软件。
Xpress Configurator 通过 Simplicity Studio 支持所有主要操作系统,可对除 CP2114 外的所有 USBXpress 设备进行编程,未来版本将添加对 CP2114 的支持。可以配置设备的 USB 属性,如 Vendor ID / Product ID、设备字符串、发布版本、USB 电源模式等,大多数设备还有其他可配置选项,如调制解调器信号、特殊功能、GPIO、接口选项等。
工具会验证配置的所有更改,并在视图底部的 [Problems] 列表中提醒用户任何配置问题或潜在问题。用户开发出有效的配置后,可点击 [Program to Device] 将配置下载到设备。工具还会从设备读取配置以确保请求的值已正确编程,如果设备被锁定或为一次性可编程且已编程,请求的值可能无法编程到设备,此时存储在设备上与请求值不匹配的值将被高亮显示。
工具还包含每个可配置参数的数据表信息,点击参数旁边的小 [I] 按钮可查看。在设备编程和导入过程中,工具会在项目视图底部的 [Status] 窗格提供实时状态更新,状态消息的描述可在相应的编程 API 文档中找到。
配置完成后,工具可用于生成生产编程的输出配置,或向 Silicon Labs 请求预编程部件。保存项目时会生成一个配置文件,可与 Standalone Manufacturing Tools 一起用于设备的生产编程。点击 [Request Parts] 按钮并填写所需信息,然后点击 [Confirm and Send] 可订购预编程设备。
以 CP2103 USB - to - UART 桥为例:
CP21xx 设备定制软件是一个 Windows 应用程序,主要用于 CP2114 系列设备。软件会自动识别连接到 PC 的设备,启动时会搜索 Windows 注册表中的 CP21xx 设备,并将找到的所有设备的完整路径信息插入“Select Device”下拉列表中,自动选择第一个设备。
该软件使用 Windows 主机 API 函数,可对连接设备的可编程区域中的描述符进行读写访问。也可以使用适合特定生产环境需求的 DLL 实现自定义应用程序。对于大订单,也可以在生产时在工厂设置描述符。
点击 [Advanced] 选项卡并选择 [DAC Configuration CP2114] 可访问 DAC 配置实用程序,该应用程序允许将音频配置字符串发送到一次性可编程内存,CP2114 使用该音频字符串配置 DAC/CODEC。
Xpress Configurator 生成的配置文件可与独立制造工具(SMT)命令行编程器一起使用来编程 USBXpress 设备。该文件可在 Simplicity Studio 中通过展开配置器项目在项目资源管理器中访问。每个系列的设备都有自己的制造工具,如 cp210xsmt 用于 CP210x 系列设备。
独立制造工具从命令行使用,输入结构为:tool.exe option1 option1_argument option2 option2_argument…。工具的选项包括:
给出了两个使用独立制造工具的示例,分别展示了使用 set - and - verify 选项和分步骤进行配置、复位和验证的过程。
对于生产订单,Silicon Labs 为所有 USBXpress 设备提供编程服务,预编程设备可以直接安装在最终系统中,无需进行系统内编程。如果使用 Xpress Configurator,点击 [Request Parts] 按钮,填写表格并点击 [Confirm and Send],会提供后续操作说明,也可以联系当地销售代表了解更多信息。
在实际的电子设计中,你是否遇到过类似的 USB 设备配置和编程问题呢?你又是如何解决的呢?欢迎在评论区分享你的经验。
全部0条评论
快来发表一下你的评论吧 !