### CH372 USB总线的通用设备接口芯片详解 #### 概述 CH372作为一款USB总线的通用设备接口芯片,是CH371的升级版,并且相较于CH375芯片功能有所简化。这款芯片设计用于简化单片机(MCU)、数字信号处理器(DSP)或其他微处理器(MPU)与USB主机之间的通信过程。它不仅提供了一个便捷的硬件接口,还通过其配套软件实现了易于使用的操作接口。 #### 特性介绍 1. **8位数据总线与控制信号**:CH372具备8位数据总线及读、写、片选控制线等,这使得它可以轻松地接入单片机或类似控制器的系统总线中。 2. **USB端点管理**:该芯片支持多个USB端点的配置与管理,包括但不限于端点0和端点1的收发器工作方式设置。 3. **外部固件模式下的命令集**:在外部固件模式下,CH372提供了一系列附加命令,如设置USB地址(SET_USB_ADDR)、设置端点工作方式(SET_ENDP2至SET_ENDP7)等,以实现更高级别的控制。 4. **同步状态查询**:通过GET_TOGGLE命令可以获取当前OUT事务的同步状态,这对于确保数据传输的一致性和完整性至关重要。 5. **高效通信**:CH372能够在4微秒内完成诸如设置端点工作方式等命令,这意味着它能够快速响应USB主机的请求,从而提高整体通信效率。 #### 外部固件模式下的附加命令 ##### 1. SET_USB_ADDR - 设置USB地址 - **命令说明**:此命令用于设置USB设备的地址。当外部单片机处理完USB标准设备请求SET_ADDRESS后,必须立即使用该命令将USB主机分配的USB设备地址写入CH372中,以便后续的通信能够使用新的地址进行。 - **输入数据**:1个字节,表示新分配的USB设备地址。 - **输出数据**:无。 ##### 2. SET_ENDP2 至 SET_ENDP7 - 设置USB端点工作方式 这些命令允许用户设置不同USB端点的收发器的工作方式,具体包括: - **SET_ENDP2**:设置USB端点0的接收器。 - **SET_ENDP3**:设置USB端点0的发送器。 - **SET_ENDP4**:设置USB端点1的接收器。 - **SET_ENDP5**:设置USB端点1的发送器。 - **SET_ENDP6**:设置USB端点2的接收器。 - **SET_ENDP7**:设置USB端点2的发送器。 - **命令说明**:每个命令都需要输入1个数据字节来指定端点的工作方式。例如,当端点无法及时处理数据时,可以通过这些命令设置端点对OUT事务返回NAK,从而使USB主机等待并重发数据。 - **输入数据**:1个字节,用于指定新的工作方式。 - **输出数据**:无。 ##### 3. GET_TOGGLE - 获取同步状态 - **命令说明**:此命令用于获取当前OUT事务的同步状态,这对于确保数据传输过程中不会出现混乱非常重要。 - **输入数据**:1个字节(1AH),表示查询同步状态的命令。 - **输出数据**:1个字节,其中位4为同步状态的指示符。 #### 工作方式字节解析 - **同步触发标志**:如果位7为1,则位6表示新的同步触发标志,可设置为00、01、10或11,分别代表保持当前标志不变、置0、置1。 - **保留位**:位5~位4,未定义,必须为0。 - **事务响应方式**:位3~位0,用于指定端点对于OUT或IN事务的响应方式。例如,0000~1000分别表示端点准备发送的数据长度为0~8字节。 通过上述详细介绍,我们可以看到CH372为USB通信提供了一种高效、灵活的解决方案。无论是对于初学者还是经验丰富的开发人员来说,掌握这些特性都将极大地提升他们利用CH372进行项目开发的能力。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Centos7.x通过RPM包升级OpenSSH9.6最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos7.x通过RPM包升级OpenSSH9.9最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos7.x通过RPM包升级OpenSSH9.8最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos7.x通过RPM包升级OpenSSH9.7最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- 机器人开发的操作案例练习
- Centos6.x通过RPM包升级OpenSSH9.7最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos6.x通过RPM包升级OpenSSH9.8最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- Centos6.x通过RPM包升级OpenSSH9.9最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- 软考冲刺的基本内容和操作
- Centos8.x通过RPM包升级OpenSSH9.8(openssl-3.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务