
CH370中文技术手册.pdf
9页CH370 中文手册 1 USB-Host 接口芯片 CH370 手册 版本:1A 1、概述 CH370 是一个 USB 总线的 Host 主机接口芯片,支持低速和全速的控制传输和批量传输以及中断 传输,与单片机/DSP/MCU/MPU 等控制器的接口支持 8 位并行总线和 4 线或者 3 线 SPI 串行总线 2、特点 ● 支持 1.5Mbps 低速和 12Mbps 全速 USB 通讯,兼容 USB V2.0 ● 支持常用的低速和全速 USB 设备的控制传输、批量传输、中断传输 ● 自动检测 USB 设备的连接和断开,提供设备连接和断开的中断通知 ● 内置 USB 信号线的阻抗匹配串联电阻和 USB 主机端的下拉电阻 ● 可选两种单片机接口:5MB 速度的 8 位被动并行接口和 3MB/24MHz 速度的 SPI 串行接口 ● SPI 串行接口包含 SPI 片选、串行时钟、串行输入和输出,并且 SPI 输出与输入可以并联 ● 中断输出引脚是可选连接,低电平有效,可以通过查询寄存器中的中断标志位代替 ● 支持 5V 电源电压和 3.3V 电源电压,内置电源上电复位CH370V 只支持 3.3V 电源电压。
● 采用 SSOP-20 无铅封装,兼容 RoHS 3、封装 CS# INT# UD- UD+ WR# RD# A0 D [7-0] CH370 接口芯片 并行接口 本地端 控制器 单片机 DSP MCU MPU 等 USB 设备 SCS# INT# UD- UD+ MISO MOSI SCK CH370 接口芯片 SPI 接口 本地端 控制器 单片机 DSP MCU MPU 等 USB 设备 CH370 中文手册 2 封装形式 塑体宽度 引脚间距 封装说明 订货型号 SSOP-20 5.30mm 209mil 0.65mm 25mil 超小型 20 脚贴片 CH370T SSOP-20 5.30mm 209mil 0.65mm 25mil 超小型 20 脚贴片 CH370V 注:CH370V 只支持 3.3V 电源电压,CH370T 支持 5V 电源电压和 3.3V 电源电压 4、引脚 引脚号 引脚名称 类型 引脚说明 20 VCC 电源 正电源输入端,需要外接 0.1uF 电源退耦电容 8 GND 电源 公共接地端,需要连接 USB 总线的地线 5 V3 电源 在 3.3V 电源电压时连接 VCC 输入外部电源, 在 5V 电源电压时外接容量为 0.01uF 退耦电容 9 XI 输入 晶体振荡的输入端,需要外接晶体及振荡电容 10 XO 输出 晶体振荡的反相输出端,需要外接晶体及振荡电容 6 UD+ USB 信号 USB 总线的 D+数据线 7 UD- USB 信号 USB 总线的 D-数据线 18~11 D7~D0 双向三态 8 位双向数据总线,内置弱上拉电阻, D3 兼是 SPI 接口的 SCS#,D5 兼是 SPI 接口的 SCK, D6 兼是 SPI 接口的 SDI,D7 兼是 SPI 接口的 SDO 3 RD# 输入 读选通输入,低电平有效,内置弱上拉电阻 2 WR# 输入 写选通输入,低电平有效,内置弱上拉电阻 19 CS# 输入 片选控制输入,低电平有效,内置弱上拉电阻 1 INT# 开漏输出 中断请求输出,低电平有效,内置上拉电阻 4 A0 输入 地址线输入,区分索引口与数据口,内置弱上拉电阻 5、寄存器 本手册中所指的单片机基本适用于 DSP 或者 SCM/MCU/MPU/CPU 等。
CH370 的内部寄存器以及缓冲区分配在地址从 00H 到 0FFH 的范围内,由单片机寻址后访问 复位后的默认值都是以二进制数表示,并可以由若干个字符标志说明其特性,字符标志如下: 0: 复位后总是 0; 1: 复位后总是 1; X: 该位由内部硬件自动设置,或者受外部引脚状态的影响; =: 复位不影响数据,数据初值不确定; ?: 保留位,读出的数据没有意义,写入时必须写 0 或者 1 或者保持原值 地址范围 十六进制 寄存器名称(灰色) 寄存器的位名称 寄存器说明(灰色) 寄存器的位说明 软硬件复位 后的默认值 00H-03H 保留 禁止读写 ???????? 04H REG_SYS_INFO 系统信息寄存器,只读 XXX?XX01 CH370 中文手册 3 04H 位 7 BIT_INFO_POWER_RST 硬件上电复位完成状态: 0=正在复位;1=复位完成 0/X 04H 位 6 BIT_INFO_WAKE_UP 芯片唤醒状态,不受软件复位影响: 0=正在睡眠或唤醒过程中;1=已唤醒 X 04H 位 5 BIT_INFO_SOF_PRES 硬件 1mS 定时周期状态, 1=将要产生 SOF 包 =/X 04H 位 4 保留 读出的数据无意义且不确定 ? 04H 位 3 BIT_INFO_USB_DP USB 总线 UD+引脚的逻辑电平状态 X 04H 位 2 BIT_INFO_USB_DM USB 总线 UD-引脚的逻辑电平状态 X 04H 位 1 04H 位 0 硬件识别位 固定值,总是为常量 01, 用于验证硬件连接无误和读操作成功 01 05H REG_SYS_CTRL 系统控制寄存器,不受软件复位影响 00000000 05H 位 7 至 05H 位 4 必须为 0100 读出的数据无意义且必须写 0100 0000 05H 位 3 BIT_CTRL_RESET_NOW 芯片软件复位控制:0=不复位;1=复位 0 05H 位 2 BIT_CTRL_USB_POWER V3 引脚的 USB 电源调节器控制: 0=开启,从 VCC 引脚 5V 电源产生 USB 电源; 1=禁用,可以从 V3 引脚外部输入 USB 电源 0 05H 位 1 保留 读出的数据无意义且必须写 0 0 05H 位 0 BIT_CTRL_OSCIL_OFF 时钟振荡器控制:0=允许振荡;1=停止振荡 0 06H REG_USB_SETUP USB 配置寄存器 00000000 06H 位 7 必须为 1 读出的数据无意义且必须写 1 0 06H 位 6 BIT_SETP_AUTO_SOF 自动产生 SOF 使能: 0=禁止;1=允许,自动定时发出 SOF 包 0 06H 位 5 06H 位 4 BIT_SETP_USB_SPEED USB 总线速率: 00=全速模式 12Mbps;11=低速模式 1.5Mbps; 其它值=禁用 00 06H 位 3 06H 位 2 BIT_SETP_RAM_MODE 备用缓冲区应用方式: 00 或 01=禁用备用缓冲区; 10=连续发送第二缓冲区,同步标志为 1 选中; 11=连续接收第二缓冲区,同步标志为 1 选中 00 06H 位 1 06H 位 0 BIT_SETP_BUS_CTRL USB 总线状态控制: 00=正常/空闲;01=UD+低 UD-低(总线复位); 10=禁用;11=UD+低 UD-高(总线恢复) 00 07H REG_INTER_EN 中断使能寄存器 11110000 07H 位 7 至 07H 位 2 必须为 111100 读出的数据无意义且必须写 111100 111100 07H 位 1 BIT_IE_DEV_DETECT USB 设备检测中断使能: 0=禁止;1=允许,从 INT#引脚输出 0 07H 位 0 BIT_IE_TRANSFER USB 传输完成中断使能: 0=禁止;1=允许,从 INT#引脚输出 0 08H REG_USB_ADDR USB 设备地址寄存器 00000000 08H 位 7 保留 读出的数据无意义且必须写 0 0 08H 位 6 至 08H 位 0 BIT_ADDR_USB_DEV 当前被操作的 USB 设备地址 0000000 09H REG_INTER_FLAG 中断标志寄存器,只读 X0X00000 CH370 中文手册 4 09H 位 7 BIT_IF_USB_DX_IN 全速时 UD+引脚/低速时 UD-引脚的采样状态: 0=低电平/速度失配;1=高电平/速度匹配 X 09H 位 6 保留 读出的数据无意义 0 09H 位 5 BIT_IF_DEV_ATTACH USB 设备的当前连接状态: 0=尚未连接任何 USB 设备/断开/拔出; 1=至少已经连接一个 USB 设备/插入 =/X 09H 位 4 BIT_IF_USB_PAUSE USB 传输暂停标志, 1 有效,向该位写 1 可清除该标志, 该位在每次 USB 传输完成后自动置 1 0/X 09H 位 3 BIT_IF_WAKE_UP 芯片唤醒完成中断标志, 1 有效,向该位写 1 可清除该标志, 该位在芯片唤醒完成后自动置 1 0/X 09H 位 2 保留 读出的数据无意义 0/X 09H 位 1 BIT_IF_DEV_DETECT USB 设备插拔检测中断标志, 1 有效,向该位写 1 可清除该标志, 该位在检测到 USB 设备插拔后自动置 1 0/X 09H 位 0 BIT_IF_TRANSFER USB 传输完成中断标志, 1 有效,向该位写 1 可清除该标志, 该位在每次 USB 传输完成后自动置 1 0/X 0AH REG_USB_STATUS USB 状态寄存器,只读, 通常仅在检测到相应的中断之后查询 1XXXXXXX 0AH 位 7 BIT_STAT_SIE_FREE 当前 USB 接口引擎 SIE 的状态: 0=忙/正在传输;1=空闲/等待 1/X 0AH 位 6 保留 读出的数据无意义 X 0AH 位 5 保留 读出的数据无意义 X 0AH 位 4 BIT_STAT_TOG_MATCH 指示当前 USB 传输是否成功: 0=传输失败;1=传输成功且同步 X 0AH 位 3 至 0AH 位 0 BIT_STAT_DEV_RESP USB 设备的应答 PID: 0010=设备对 OUT/SETUP 事务应答 ACK; 1010=设备对 IN/OUT/SETUP 事务应答 NAK; 1110=设备对 IN/OUT/SETUP 事务应答 STALL; 0011=设备对 IN 事务应答 DATA0; 1011=设备对 IN 事务应答 DATA1; XX00=设备应答错误或者超时无应答; 其它值=非法应答/意外 XXXX 0BH REG_USB_LENGTH USB 长度寄存器,只读/只写, 读为 USB 主机的接收长度, 写为 USB 主机发送长度 XXXXXXXX 0CH 保留 禁止读写 ???????? 0DH REG_USB_H_TOKEN USB 主机令牌寄存器 ======== 0DH 位 7 至 0DH 位 4 BIT_HOST_PID_TOKEN 指定事务/令牌 PID: 1101=SETUP 事务;0001=OUT 事务; 1001=IN 事务;0101=SOF 包;其它值=禁用。
注:SOF 包完成后无中断,可查询 SIE 状态 ==== 0DH 位 3 至 0DH 位 0 BIT_HOST_PID_ENDP 指定被操作的目的端点号: 0000 至 1111=端点号 0 至 15 ==== 0EH REG_USB_H_CTRL USB 主机控制寄存器 00000000 0EH 位 7 BIT_HOST_RECV_TOG 主机接收同步标志:0=DATA0;1=DATA1 0 CH370 中文手册 5 0EH 位 6 BIT_HOST_TRAN_TOG 主机发送同步标志:0=DATA0;1=DATA1 0 0EH 位 5 保留。
