0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CH374S

CH374S

  • 厂商:

    WCH(南京沁恒)

  • 封装:

    SOP28_300MIL

  • 描述:

    USB 总线接口芯片

  • 数据手册
  • 价格&库存
CH374S 数据手册
1 CH374 中文手册 USB 总线接口芯片 CH374 中文手册 版本:3B http://wch.cn 1、概述 CH374 是一个 USB 总线的通用接口芯片, 支持 USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式, 内置 3 端口 HUB 根集线器,支持低速和全速的控制传输、批量传输、中断传输以及同步/等时传输。 在本地端,CH374 具有 8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机 /DSP/MCU/MPU 等控制器的系统总线上。除此之外,CH374 还提供了节约 I/O 引脚的 SPI 串行通讯方式, 通过 3 线或者 4 线 SPI 串行接口以及中断输出与单片机/DSP/MCU/MPU 等相连接。 D [7-0] 本地端 控制器 计算机或 3 个 USB 设备 INT# CH374 接口芯片 单片机 DSP MCU MPU 等 CS# 本地端 控制器 单片机 DSP MCU MPU 等 INT# CH374 接口芯片 SCS# SPI 接口 UD+ UD- 并行接口 A0 RD# WR# UD+ UD- SCK SDO ( CH374-SDI ) SDI ( CH374-SDO ) 例如: USB 打印机 U 盘/闪存盘 USB 摄像头 USB 键盘等 计算机或 3 个 USB 设备 例如: USB 打印机 U 盘/闪存盘 USB 摄像头 USB 键盘等 2、特点 ● ● ● ● ● ● ● ● ● ● 支持 1.5Mbps 低速和 12Mbps 全速 USB 通讯,兼容 USB V2.0,外围元器件只需要电容。 支持 USB-HOST 主机接口和 USB-DEVICE 设备接口,支持动态切换主机方式与设备方式。 CH374F/U 芯片内置 3 端口 USB 根集线器 ROOT-HUB,可以同时连接和管理 3 个 USB 设备。 支持常用的低速和全速 USB 设备的控制传输、批量传输、中断传输、同步/等时传输。 自动检测低速和全速 USB 设备的连接和断开,提供设备连接和断开的中断通知。 内置 USB 信号线的阻抗匹配串联电阻、USB 设备端的上拉电阻、USB 主机端的下拉电阻。 可选两种单片机接口:6MB 速度的 8 位被动并行接口和 3.5MB/28MHz 速度的 SPI 串行接口。 并行接口包含 8 位数据总线,1 位地址,3 线控制:片选输入、写选通以及可选的读选通。 并行接口只占用两个地址位:索引地址口和数据口,读写数据口后内部索引地址自动递增。 SPI 串行接口包含 SPI 片选、串行时钟、串行输入和输出,并且 SPI 输出与输入可以并联。 2 CH374 中文手册 ● ● ● ● ● 中断输出引脚是可选连接,低电平有效,可以通过查询寄存器中的中断标志位代替。 提供辅助功能:可编程时钟输出,上电复位输出以及可选的看门狗复位。 提供支持 FAT12/FAT16/FAT32 文件系统的 U 盘文件级子程序库,实现单片机读写 U 盘文件。 支持 5V 电源电压和 3.3V 电源电压甚至 3V 电源电压。 提供 QFN-28、SSOP-24、SOP-16、SOP-28 和 SSOP-20 无铅封装,兼容 RoHS,可以提供 DIP28 转换板,引脚基本兼容 CH375 和 CH372 芯片。 3、封装 封装形式 塑体宽度 引脚间距 封装说明 订货型号 QFN28_4X4 4*4mm 0.4mm 15.7mil 方形无引线 28 脚 CH374F SSOP-24 5.30mm 209mil 0.65mm 25mil 超小型 24 脚贴片 CH374U SOP-16 3.9mm 150mil 1.27mm 50mil 标准的 16 脚贴片 CH374G SOP-28 7.62mm 300mil 1.27mm 50mil 标准的 28 脚贴片 CH374S SSOP-20 5.30mm 209mil 0.65mm 25mil 超小型 20 脚贴片 CH374T 注:1、仅 CH374F 既可以选择外接晶体及电容,也可以选择不外接而直接使用内置时钟; 其它 CH374 不支持内置时钟,必须外接晶体及振荡电容。 2、新设计请优先选用 CH374F 和 CH374U 及 CH374G。 4、引脚 374F 引脚 23 9、0 底板 374U 引脚 23 4 6 21 374G 引脚 15 2、 8 374S 引脚 28 12、 23 374T 引脚 20 引脚 名称 VCC 18 3 9 5 类型 引脚说明 电源 正电源输入端,需要外接 0.1uF 电源退耦电容 GND 电源 公共接地端,需要连接 USB 总线的地线 V3 电源 在 3.3V 电源电压时连接 VCC 输入外部电源, 在 5V 电源电压时外接容量为 0.1uF 退耦电容 3 CH374 中文手册 10 11 9 13 8 XI 11 12 10 14 9 XO 5 7 4 10 6 UD+ 6 8 5 11 7 UD- 7 8 28 1 9 10 3 4 6 7 无 无 无 无 无 无 无 无 无 无 UD1+ UD1UD2+ UD2- 19~ 12 20~ 13 11、 12、 13、 14 27 26 22 2 1 22 无 无 无 4 3 27 3 2 19 RD# WR# CS# 24 24 16 1 1 INT# 3 5 无 8 4 A0 20 无 无 24 无 ACT# 无 无 无 5 无 UEN 无 无 无 6 无 CKO 25 21 无 2 无 无 无 无 1 无 无 无 2 25 26 7 无 无 无 无 RSTI RST RST# SLP 22~ 17~10 D7~D0 15 晶体振荡的输入端,需外接晶体及振荡电容, 对于 CH374F 内置时钟模式,XI 应该接 GND 晶体振荡的反相输出端,需外接晶体及振荡电 输出 容,对于 CH374F 内置时钟模式,XO 应该悬空 USB 总线的 D+数据线, USB 信号 USB 总线的根集线器 HUB0 的 D+数据线 USB 总线的 D-数据线, USB 信号 USB 总线的根集线器 HUB0 的 D-数据线 USB 信号 USB 总线的根集线器 HUB1 的 D+数据线 USB 信号 USB 总线的根集线器 HUB1 的 D-数据线 USB 信号 USB 总线的根集线器 HUB2 的 D+数据线 USB 信号 USB 总线的根集线器 HUB2 的 D-数据线 8 位双向数据总线,内置弱上拉电阻, D3 兼是 SPI 接口的 SCS#, 双向 D5 兼是 SPI 接口的 SCK, 三态 D6 兼是 SPI 接口的 SDI, D7 兼是 SPI 接口的 SDO 输入 读选通输入,低电平有效,内置弱上拉电阻 输入 写选通输入,低电平有效,内置弱上拉电阻 输入 片选控制输入,低电平有效,内置弱上拉电阻 开漏 中断请求输出,低电平有效,内置上拉电阻 输出 地址线输入,区分索引口与数据口,内置弱上 输入 拉电阻,当 A0=1 时可以写索引地址,当 A0=0 时可以读写数据 在 USB 设备方式下是 USB 传输/活动状态输出, 开漏 在 USB 主机方式下是 USB 设备连接状态输出, 输出 低电平有效,内置上拉电阻 输入 USB 信号 UD+/UD-输出使能,内置下拉电阻 可编程时钟输出, 输出 不用时必须悬空并且尽可能缩短连线 输入 外部复位输入,高电平有效,内置下拉电阻 输出 电源上电复位和外部复位输出,高电平有效 输出 电源上电复位和外部复位输出,低电平有效 输出 睡眠状态输出,高电平有效 输入 5、寄存器 本手册中所指的单片机基本适用于 DSP 或者 SCM/MCU/MPU/CPU 等。 CH374 的内部寄存器以及缓冲区分配在地址从 00H 到 0FFH 的范围内,由单片机寻址后访问。 复位后的默认值都是以二进制数表示,并可以由若干个字符标志说明其特性,字符标志如下: 0: 复位后总是 0; 1: 复位后总是 1; X: 该位由内部硬件自动设置,或者受外部引脚状态的影响; =: 复位不影响数据,数据初值不确定; ?: 保留位,读出的数据没有意义,写入时必须写 0 或者保持原值。 4 CH374 中文手册 注:受翻译习惯的影响,源于英文 USB 规范中的一些专业术语可能有多种相近的中文术语。 寄存器说明(灰色) 软硬件复位 地址范围 寄存器名称(灰色) 十六进制 寄存器的位名称 寄存器的位说明 后的默认值 00H 保留 01H REG_SYS_AUX 01H 位 7 ~位 4 01H 位 3 BIT_GP_BIT 01H 位 2 BIT_EP0_16BYTES 01H 位 1 01H 位 0 02H 保留 硬件识别位的位反 REG_HUB_SETUP 02H 位 7 BIT_HUB_DISABLE 02H 位 6 BIT_HUB_PRE_PID 02H 位 5 BIT_HUB2_DX_IN 02H 位 4 BIT_HUB1_DX_IN 02H 位 3 BIT_HUB0_ATTACH 02H 位 2 BIT_HUB0_POLAR 02H 位 1 BIT_HUB0_RESET 02H 位 0 BIT_HUB0_EN 03H REG_HUB_CTRL 03H 位 7 BIT_HUB2_ATTACH 03H 位 6 BIT_HUB2_POLAR 03H 位 5 BIT_HUB2_RESET 03H 位 4 BIT_HUB2_EN 03H 位 3 BIT_HUB1_ATTACH 03H 位 2 BIT_HUB1_POLAR 03H 位 1 BIT_HUB1_RESET 03H 位 0 BIT_HUB1_EN 禁止读写 系统辅助设置寄存器 (注:仅批号 2017XXXXX 的 CH374F 和 CH374U 及 CH374G 支持该寄存器) ???????? 读出的数据无意义且必须写 0000 0000/???? 00000010 通用位变量,可以软件定义 0 端点 0 支持最大 16 字节数据长度模式: 0=最大 8 字节模式,端点 0 收发缓冲区独立; 0 1=最大 16 字节模式,端点 0 收发缓冲区共用 固定值,总是为常量 10, 10 用于验证硬件连接无误和读操作成功 在主机方式下,ROOT-HUB 配置寄存器 10XXX000 ROOT-HUB 根集线器功能: 1 0=允许(仅 USB 主机方式),1=禁止 低速前置包 PRE PID 输出控制: 0 0=禁止,1=允许(外部设备是 USB-HUB) HUB2 全速时 UD2+/低速时 UD2-引脚的采样状态: X 0=低电平/速度失配,1=高电平/速度匹配 HUB1 全速时 UD1+/低速时 UD1-引脚的采样状态: X 0=低电平/速度失配,1=高电平/速度匹配 HUB0 端口的 USB 设备连接状态: X 0=尚未连接/断开/拔出,1=已经连接/插入 HUB0 端口的信号极性控制: 0 0=正极性/全速,1=负极性/低速 HUB0 端口的 USB 总线复位控制: 0 0=不复位,1=USB 总线复位 HUB0 端口的 USB 传输使能: 0 0=禁止 USB 传输,1=允许 USB 传输 在 USB 主机方式下,ROOT-HUB 控制寄存器 X000X000 HUB2 端口的 USB 设备连接状态: X 0=尚未连接/断开/拔出,1=已经连接/插入 HUB2 端口的信号极性控制: 0 0=正极性/全速,1=负极性/低速 HUB2 端口的 USB 总线复位控制: 0 0=不复位,1=USB 总线复位 HUB2 端口的 USB 传输使能: 0 0=禁止 USB 传输,1=允许 USB 传输 HUB1 端口的 USB 设备连接状态: X 0=尚未连接/断开/拔出,1=已经连接/插入 HUB1 端口的信号极性控制: 0 0=正极性/全速,1=负极性/低速 HUB1 端口的 USB 总线复位控制: 0 0=不复位,1=USB 总线复位 HUB1 端口的 USB 传输使能: 0 0=禁止 USB 传输,1=允许 USB 传输 5 CH374 中文手册 04H REG_SYS_INFO 04H 位 7 BIT_INFO_POWER_RST 04H 位 6 BIT_INFO_WAKE_UP 04H 位 5 BIT_INFO_SOF_PRES 04H 位 4 04H 位 3 04H 位 2 04H 位 1 04H 位 0 05H 05H 位 7 BIT_INFO_CLK_8KHZ BIT_INFO_USB_DP BIT_INFO_USB_DM 硬件识别位 REG_SYS_CTRL 保留 05H 位 6 (在启用 ROOT-HUB 前) BIT_CTRL_OE_POLAR 05H 位 6 (在启用 ROOT-HUB 后) 保留 05H 位 5 BIT_CTRL_INT_PULSE 05H 位 4 BIT_CTRL_WATCH_DOG 05H 位 3 BIT_CTRL_RESET_NOW 05H 位 2 BIT_CTRL_USB_POWER 05H 位 1 BIT_CTRL_CLK_12MHZ 05H 位 0 06H 06H 位 7 BIT_CTRL_OSCIL_OFF REG_USB_SETUP BIT_SETP_HOST_MODE 06H 位 6 BIT_SETP_LED_ACT 06H 位 6 BIT_SETP_AUTO_SOF 06H 位 5 06H 位 4 (在启用 ROOT-HUB 前) BIT_SETP_USB_SPEED 06H 位 5 06H 位 4 06H 位 3 06H 位 2 (在启用 ROOT-HUB 后) BIT_SETP_LOW_SPEED (在启用 ROOT-HUB 后) 保留 BIT_SETP_RAM_MODE 系统信息寄存器,只读 硬件上电复位完成状态: 0=正在复位;1=复位完成 芯片唤醒状态,不受软件复位影响: 0=正在睡眠或唤醒过程中;1=已唤醒 硬件 1mS 定时周期状态, 在主机方式下,1=将要产生 SOF 包 硬件 8KHz 时钟位 USB 总线 UD+引脚的逻辑电平状态 USB 总线 UD-引脚的逻辑电平状态 固定值,总是为常量 01, 用于验证硬件连接无误和读操作成功 系统控制寄存器,不受软件复位影响 读出的数据无意义且必须写 0 当 BIT_HUB_DISABLE=1 时, UEN 引脚的 USB 输出使能极性: 0=高电平使能,UEN 低则禁止 UD+/-输出; 1=低电平使能,UEN 高则禁止 UD+/-输出 当 BIT_HUB_DISABLE=0 时, 读出的数据无意义且必须写 1, 相当于原 BIT_CTRL_OE_POLAR 位必须置 1 INT#引脚的中断输出方式: 0=低电平中断,直到清除相应的中断标志; 1=低电平脉冲中断 RST 引脚和 RST#引脚的看门狗复位使能: 0=禁用,仅提供上电复位,无看门狗复位; 1=启用,启用后无法禁止,除非硬件复位 芯片软件复位控制:0=不复位;1=复位 V3 引脚的 USB 电源调节器控制: 0=开启,从 VCC 引脚 5V 电源产生 USB 电源; 1=禁用,可以从 V3 引脚外部输入 USB 电源 XI 引脚输入时钟频率选择: 0=24MHz;1=12MHz 时钟振荡器控制:0=允许振荡;1=停止振荡 USB 配置寄存器 USB 主从方式:0=设备方式;1=主机方式 在设备方式下,ACT#引脚低电平的激活事件: 0=收发传输过程;1=USB 主机活动 在主机方式下,自动产生 SOF 使能: 0=禁止;1=允许,自动定时发出 SOF 包 当 BIT_HUB_DISABLE=1 时,USB 总线速率: 00=全速模式 12Mbps;11=低速模式 1.5Mbps; 其它值=禁用 当 BIT_HUB_DISABLE=0 时,USB 总线传输速度: 0=12Mbps;1=1.5Mbps 当 BIT_HUB_DISABLE=0 时, 读出的数据无意义且必须写 0 备用缓冲区应用方式: 00=禁用备用缓冲区; XXX?XX01 0/X X =/X X X X 01 00000000 0/? 0 0 0 0 0 0 0 0 00000000 0 0 0 00 0 0/? 00 6 CH374 中文手册 06H 位 1 06H 位 0 06H 位 1 06H 位 0 06H 位 1 06H 位 0 07H 07H 位 7 至 07H 位 4 07H 位 3 07H 位 2 07H 位 1 07H 位 1 07H 位 0 08H 08H 位 7 08H 位 6 至 08H 位 0 09H 01=连接接收缓冲区以连续接收 128 字节, 起始地址为 RAM_ENDP2_EXCH/RAM_HOST_EXCH; 10=连续发送第二缓冲区,同步标志为 1 选中; 11=连续接收第二缓冲区,同步标志为 1 选中 在设备方式下,USB 上拉电阻控制: BIT_SETP_PULLUP_EN 0=禁用上拉电阻;1=启用上拉电阻/连接 在设备方式下,USB 设备传输使能: BIT_SETP_TRANS_EN 0=禁止;1=允许,启用 USB 设备/允许收发 当 BIT_HUB_DISABLE=1 时, (在启用 ROOT-HUB 前) 在主机方式下,USB 总线状态控制: BIT_SETP_BUS_CTRL 00=正常/空闲;01=UD+低 UD-低(总线复位); 启用 ROOT-HUB 后保留 10=禁用;11=UD+低 UD-高(总线恢复) (在启用 ROOT-HUB 后) 当 BIT_HUB_DISABLE=0 时, 保留 读出的数据无意义且必须写 0 REG_INTER_EN 中断使能寄存器,含可编程时钟设置 可编程时钟的分频除数: BIT_IE_CLK_OUT_DIV 输出频率 = ( 48MHz / ( 该值 + 1 ) ), 例:0001=24MHz;0010=16MHz;1111=3MHz USB 总线恢复/唤醒中断使能: BIT_IE_USB_RESUME 0=使能芯片唤醒完成中断 BIT_IF_WAKE_UP; 1=使能 USB 总线恢复中断 BIT_IF_USB_RESUME USB 总线挂起中断使能: BIT_IE_USB_SUSPEND 0=禁止;1=允许,从 INT#引脚输出 在设备方式下,USB 总线复位中断使能: BIT_IE_BUS_RESET 0=禁止;1=允许,从 INT#引脚输出 在主机方式下,USB 设备检测中断使能: BIT_IE_DEV_DETECT 0=禁止;1=允许,从 INT#引脚输出 USB 传输完成中断使能: BIT_IE_TRANSFER 0=禁止;1=允许,从 INT#引脚输出 REG_USB_ADDR USB 设备地址寄存器 保留 读出的数据无意义且必须写 0 BIT_ADDR_USB_DEV REG_INTER_FLAG 09H 位 7 BIT_IF_USB_DX_IN 09H 位 6 BIT_IF_USB_OE 09H 位 5 BIT_IF_DEV_ATTACH 09H 位 4 BIT_IF_USB_PAUSE 09H 位 3 BIT_IF_WAKE_UP 09H 位 3 BIT_IF_USB_RESUME 在设备方式下为自身作为 USB 设备的地址, 在主机方式下为当前被操作的 USB 设备地址 中断标志寄存器,只读 HUB0 全速时 UD+/低速时 UD-引脚的采样状态: 0=低电平/速度失配;1=高电平/速度匹配 从 UEN 引脚输入的 USB 输出使能状态: 0=UEN 引脚为低电平;1=UEN 引脚为高电平 USB 设备的当前连接状态: 0=尚未连接任何 USB 设备/断开/拔出; 1=至少已经连接一个 USB 设备/插入 USB 传输暂停标志, 1 有效,向该位写 1 可清除该标志, 该位在每次 USB 传输完成后自动置 1 芯片唤醒完成中断标志, 1 有效,向该位写 1 可清除该标志, 该位在芯片唤醒完成后自动置 1 USB 总线恢复/唤醒中断标志, 0 0 00 00/?? 11110000 1111 0 0 0 0 0 00000000 0/? 0000000 XXX00000 X X =/X 0/X 0/X 0/X 7 CH374 中文手册 09H 位 2 BIT_IF_USB_SUSPEND 09H 位 1 BIT_IF_BUS_RESET 09H 位 1 BIT_IF_DEV_DETECT 09H 位 0 BIT_IF_TRANSFER 0AH REG_USB_STATUS 0AH 位 7 BIT_STAT_SIE_FREE 0AH 位 6 BIT_STAT_SUSPEND 0AH 位 5 BIT_STAT_BUS_RESET 0AH 位 4 BIT_STAT_TOG_MATCH 0AH 位 3 0AH 位 2 BIT_STAT_THIS_PID 0AH 位 1 0AH 位 0 BIT_STAT_THIS_ENDP 0AH 位 3 至 0AH 位 0 BIT_STAT_DEV_RESP 0BH REG_USB_LENGTH 0CH 0CH 位 7 0CH 位 6 REG_USB_ENDP0 BIT_EP0_RECV_TOG BIT_EP0_TRAN_TOG 0CH 位 5 0CH 位 4 BIT_EP0_RECV_RESP 1 有效,向该位写 1 可清除该标志, 该位在检测到 USB 总线恢复时自动置 1 USB 总线挂起中断标志, 1 有效,向该位写 1 可清除该标志, 该位在检测到 USB 总线挂起时自动置 1 在设备方式下,USB 总线复位中断标志, 1 有效,向该位写 1 可清除该标志, 该位在检测到 USB 总线复位时自动置 1 在主机方式下,USB 设备插拔检测中断标志, 1 有效,向该位写 1 可清除该标志, 该位在检测到 USB 设备插拔后自动置 1 USB 传输完成中断标志, 1 有效,向该位写 1 可清除该标志, 该位在每次 USB 传输完成后自动置 1 USB 状态寄存器,只读, 通常仅在检测到相应的中断之后查询 当前 USB 接口引擎 SIE 的状态: 0=忙/正在传输;1=空闲/等待 当前 USB 总线挂起状态: 0=总线有活动;1=总线挂起 在设备方式下,当前 USB 总线复位状态: 0=USB 总线空闲/正常/没有复位; 1=USB 总线正在复位 指示当前 USB 传输是否成功: 0=传输失败;1=传输成功且同步 在设备方式下,USB 传输的事务/令牌 PID: 00=OUT 事务;01=保留/意外; 10=IN 事务;11=SETUP 事务 在设备方式下,USB 传输的目的端点号: 00=端点 0;01=端点 1; 10=端点 2;11=保留/意外 在主机方式下,USB 设备的应答 PID: 0010=设备对 OUT/SETUP 事务应答 ACK; 1010=设备对 IN/OUT/SETUP 事务应答 NAK; 1110=设备对 IN/OUT/SETUP 事务应答 STALL; 0011=设备对 IN 事务应答 DATA0; 1011=设备对 IN 事务应答 DATA1; XX00=设备应答错误或者超时无应答; 其它值=非法应答/意外 USB 长度寄存器,只读/只写, 读为当前 USB 传输的接收长度, 在设备方式下,写为 USB 端点 2 发送长度, 在主机方式下,写为 USB 主机发送长度 在设备方式下,USB 端点 0 控制寄存器 端点 0 接收同步标志:0=DATA0;1=DATA1 端点 0 发送同步标志:0=DATA0;1=DATA1 端点 0 接收响应(对 OUT 事务) : 00=应答 ACK;01=禁用; 10=应答 NAK;11=应答 STALL 0/X 0/X 0/X 0/X 1XXXXXXX 1/X X X X XX XX XXXX XXXXXXXX 00000000 0 0 00 8 CH374 中文手册 0CH 位 3 至 0CH 位 0 BIT_EP0_TRAN_RESP 0DH 0DH 位 7 0DH 位 6 REG_USB_ENDP1 BIT_EP1_RECV_TOG BIT_EP1_TRAN_TOG 0DH 位 5 0DH 位 4 BIT_EP1_RECV_RESP 0DH 位 3 至 0DH 位 0 BIT_EP1_TRAN_RESP 0EH 0EH 位 7 0EH 位 6 REG_USB_ENDP2 BIT_EP2_RECV_TOG BIT_EP2_TRAN_TOG 0EH 位 5 0EH 位 4 BIT_EP2_RECV_RESP 0EH 位 3 0EH 位 2 保留 保留 0EH 位 1 0EH 位 0 BIT_EP2_TRAN_RESP 0DH REG_USB_H_TOKEN 0DH 位 7 至 0DH 位 4 BIT_HOST_PID_TOKEN 0DH 位 3 至 0DH 位 0 0EH 0EH 位 7 0EH 位 6 0EH 位 5 BIT_HOST_PID_ENDP REG_USB_H_CTRL BIT_HOST_RECV_TOG BIT_HOST_TRAN_TOG 保留 0EH 位 4 BIT_HOST_RECV_ISO 0EH 位 3 BIT_HOST_START 0EH 位 2 0EH 位 1 保留 保留 0EH 位 0 BIT_HOST_TRAN_ISO 0FH-1FH 20H-27H 保留 RAM_ENDP0_TRAN 28H-2FH RAM_ENDP0_RECV 端点 0 发送响应(对 IN 事务) : 0000 至 1000=应答数据长度 0 至 8; 1110=应答 NAK;1111=应答 STALL; 其它值=禁用 在设备方式下,USB 端点 1 控制寄存器 端点 1 接收同步标志:0=DATA0;1=DATA1 端点 1 发送同步标志:0=DATA0;1=DATA1 端点 1 接收响应(对 OUT 事务) : 00=应答 ACK;01=禁用; 10=应答 NAK;11=应答 STALL 端点 1 发送响应(对 IN 事务) : 0000 至 1000=应答数据长度 0 至 8; 1110=应答 NAK;1111=应答 STALL; 其它值=禁用 在设备方式下,USB 端点 2 控制寄存器 端点 2 接收同步标志:0=DATA0;1=DATA1 端点 2 发送同步标志:0=DATA0;1=DATA1 端点 2 接收响应(对 OUT 事务) : 00=应答 ACK;01=同步/等时传输; 10=应答 NAK;11=应答 STALL 读出的数据无意义且必须写 0 读出的数据无意义且必须写 0 端点 2 发送响应(对 IN 事务) : 00=应答 DATA0/DATA1;01=同步/等时传输; 10=应答 NAK;11=应答 STALL 在主机方式下,USB 主机令牌寄存器 指定事务/令牌 PID: 1101=SETUP 事务;0001=OUT 事务; 1001=IN 事务;0101=SOF 包;其它值=禁用。 注:SOF 包完成后无中断,可查询 SIE 状态 指定被操作的目的端点号: 0000 至 1111=端点号 0 至 15 在主机方式下,USB 主机控制寄存器 主机接收同步标志:0=DATA0;1=DATA1 主机发送同步标志:0=DATA0;1=DATA1 读出的数据无意义且必须写 0 主机接收的传输类型: 0=控制/批量/中断传输;1=同步/等时传输 主机传输启动控制: 0=暂停;1=启动传输,完成后自动清 0 读出的数据无意义且必须写 0 读出的数据无意义且必须写 0 主机发送的传输类型: 0=控制/批量/中断传输;1=同步/等时传输 禁止读写 USB 设备方式下的端点 0 发送缓冲区 8 字节模式下(BIT_EP0_16BYTES=0) , USB 设备方式下的端点 0 接收缓冲区 0000 ======== = = = ==== 00000000 0 0 00 0/? 0/? 00 ======== ==== ==== 00000000 0 0 0/? 0 0 0/? 0/? 0 ???????? ======== ======== 9 CH374 中文手册 20H-2FH RAM_ENDP0_BUF 30H-37H 38H-3FH 40H-7FH C0H-FFH 80H-BFH 40H-7FH C0H-FFH 80H-BFH RAM_ENDP1_TRAN RAM_ENDP1_RECV RAM_ENDP2_TRAN RAM_ENDP2_RECV RAM_ENDP2_EXCH RAM_HOST_TRAN RAM_HOST_RECV RAM_HOST_EXCH 16 字节模式下(BIT_EP0_16BYTES=1) , USB 设备方式下的端点 0 接收和发送缓冲区 USB 设备方式下的端点 1 发送缓冲区 USB 设备方式下的端点 1 接收缓冲区 USB 设备方式下的端点 2 发送缓冲区 USB 设备方式下的端点 2 接收缓冲区 USB 设备方式下的端点 2 备用缓冲区 USB 主机方式下的发送缓冲区 USB 主机方式下的接收缓冲区 USB 主机方式下的备用缓冲区 ======== ======== ======== ======== ======== ======== ======== ======== ======== 6、功能说明 6.1. 单片机接口 CH374 芯片在本地端提供了通用的 8 位被动并行接口和 SPI 同步串行接口(CH374G 只支持 SPI 接 口方式) 。在 CH374 芯片上电复位时,CH374 将采样 CS#、WR#和 RD#引脚的状态,如果 WR#和 RD#都为 低电平(接地)并且 CS#为高电平(接正电源) ,那么选择 SPI 串行接口,否则选择并行接口。 CH374 芯片 INT#引脚输出的中断请求默认是低电平有效,可以连接到单片机的中断输入引脚或普 通输入引脚,单片机可以使用中断方式或查询方式获知 CH374 的中断请求。为了节约引脚,单片机可 以不连接 CH374 的 INT#引脚,而直接查询 CH374 的中断标志寄存器 REG_INTER_FLAG 获知中断。 6.2. 并行接口 并口信号线包括:8 位双向数据总线 D7~D0、读选通输入引脚 RD#、写选通输入引脚 WR#、片选 输入引脚 CS#和地址输入引脚 A0。通过被动并行接口,CH374 芯片可以很方便地挂接到各种 8 位单片 机、DSP、MCU 的系统总线上,并且可以与多个外围器件共存。 CH374 芯片的 CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。 对于类似 Intel 并口时序的单片机,CH374 芯片的 RD#引脚和 WR#引脚可以分别连接到单片机的 读选通输出引脚和写选通输出引脚。对于类似 Motorola 并口时序的单片机,CH374 芯片的 RD#引脚应 该接低电平,并且 WR#引脚连接到单片机的读写方向输出引脚 R/-W。 下表为并口 I/O 操作的真值表(表中 X 代表不关心此位,Z 代表 CH374 三态禁止) 。 CS# WR# RD# A0 D7-D0 对 CH374 芯片的实际操作 1 1 0 0 0 0 0 X 1 0 0 1 0 X 1 1/X 1/X 0 CH374 芯片上电复位时开始采样,用于选择 SPI 接口方式 未选中 CH374,不进行任何操作 虽然选中但无操作,不进行任何操作 向 CH374 写入索引地址,即其后进行读写操作的起始地址 向指定地址写入数据,完成后索引地址递增,便于连续读写 从指定地址读出数据,完成后索引地址递增,便于连续读写 从指定地址读出数据,索引地址不变,不适用于 20H 及以上地 0 1 0 1 输出 址,仅用于 00H-1FH 地址范围的寄存器,便于读出修改后写回 CH374 芯片占用两个地址位,当 A0 引脚为高电平时选择索引地址端口,可以写入新的索引地址, 或者读出数据但保持索引地址不变;当 A0 引脚为低电平时选择数据端口,可以读写索引地址对应的 数据,并且在读写操作完成后自动将索引地址加 1 便于继续读写下一个数据。单片机通过 8 位并口对 CH374 芯片进行读写操作的步骤是:先从索引地址端口写入索引地址,再连续读写若干个数据。 索引地址自动递增只适用于地址不小于 20H 的各个缓冲区,不适用于地址小于 20H 的寄存器。 6.3. SPI 串行接口 X X X 1 0 0 X/Z X/Z X/Z 输入 输入 输出 CH374 中文手册 10 SPI 同步串行接口信号线包括:SPI 片选输入引脚 SCS#、串行时钟输入引脚 SCK、串行数据输入 引脚 SDI 和串行数据输出引脚 SDO。通过 SPI 串行接口,CH374 可以用较少的连线挂接到各种单片机、 DSP、MCU 的 SPI 串行总线上,或者进行较远距离的点对点连接。 CH374 芯片的 SCS#引脚由单片机的 SPI 片选输出引脚或者普通输出引脚驱动,SCK 引脚由单片机 的 SPI 时钟输出引脚 SCK 驱动,SDI 引脚由单片机的 SPI 数据输出引脚 SDO 或 MOSI 驱动,SDO 引脚则 连接到单片机的 SPI 数据输入引脚 SDI 或 MISO。对于硬件 SPI 接口,建议 SPI 设置是 CPOL=CPHA=0 或者 CPOL=CPHA=1,并且数据位顺序是高位在前 MSB first。 CH374 的 SPI 接口支持单片机用普通 I/O 引脚模拟 SPI 接口进行通讯。CH374 的 SDO 是三态输出 引脚,只在收到读操作命令后才输出。为了节约引脚,CH374 的 SDO 引脚可以与 SDI 引脚并联后再连 接到单片机的双向 I/O 引脚,建议 CH374 的 SDO 引脚先串接几百欧姆的电阻后再并联到 SDI 引脚。 CH374 的 SPI 接口支持 SPI 模式 0 和 SPI 模式 3,CH374 总是从 SPI 时钟 SCK 的上升沿输入数据, 并在允许输出时从 SCK 的下降沿输出数据,数据位顺序是高位在前,计满 8 位为一个字节。 SPI 的操作步骤是: ① 单片机产生 CH374 芯片的 SPI 片选,低电平有效; ② 单片机按 SPI 输出方式发出一个字节的地址码,用于指定其后读写操作的起始地址; ③ 单片机发出一个字节的命令码指明操作方向,读操作命令码是 C0H,写操作命令码是 80H; ④ 如果是写操作,单片机发出一个字节的待写数据,CH374 收到并保存到指定地址后地址自动 加 1,单片机继续发出若干个字节的待写数据,CH374 依次处理,直到单片机禁止 SPI 片选; ⑤ 如果是读操作,CH374 从指定地址读出一个字节数据并输出后地址自动加 1,单片机收到数据 并保存,CH374 继续从下一个地址读出数据并输出,直到单片机禁止 SPI 片选; ⑥ 单片机禁止 CH374 芯片的 SPI 片选,以结束当前 SPI 操作。 下图是 SPI 逻辑时序图,前一个是向 12H 地址写入 34H,后一个是从 56H 地址读出 78H。 6.4. 其它硬件 实际电路中未使用到的 CH374 芯片的任何引脚都可以悬空不接。 CH374 芯片的 ACT#引脚用于状态指示。在 USB 设备方式下,由 BIT_SETP_LED_ACT 选择激活 ACT# 引脚输出低电平的事件,默认是与自身有关的 USB 收发传输过程,也可以选择是 USB 主机的所有传输 包括 SOF 包。在 USB 主机方式下,当 USB 设备断开后,该引脚输出高电平;当 USB 设备连接后,该引 脚输出低电平。CH374 的 ACT#引脚可以外接串了限流电阻的发光二级管 LED,用于指示相关的状态。 CH374 芯片的 UD+和 UD-引脚是 USB 信号线,工作于 USB 设备方式时,应该直接连接到 USB 总线 上;工作于 USB 主机方式时,可以直接连接到 USB 设备。如果为了芯片安全而串接保险电阻或者电感 或者 ESD 保护器件,那么交直流等效串联电阻应该在 5Ω之内。 CH374 芯片的 UEN 引脚用于控制 USB 信号线 UD+和 UD-的输出使能。对于没有 UEN 引脚的 CH374T 芯片,必须设置 BIT_CTRL_OE_POLAR 为 1;对于 CH374S 芯片,可以由 UEN 引脚控制是否允许 USB 信 号输出,UEN 引脚可以在串接 2KΩ电阻后连接到 USB 设备的电源线上,从而避免在 USB 设备失去工作 CH374 中文手册 11 电源时仍然发出 USB 信号。UEN 从无效变成有效还可以用于唤醒处于睡眠过程中的 CH374 芯片。 CH374 芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI 引脚用于从外部 输入异步复位信号;当 RSTI 引脚为高电平时,CH374 芯片被复位;当 RSTI 引脚恢复为低电平后,CH374 内部会继续延时复位 25mS 左右,然后进入正常工作状态。为了在电源上电期间可靠复位并且减少外 部干扰,可以在 RSTI 引脚与 VCC 之间跨接一个容量为 0.1uF 左右的电容。RST 引脚和 RST#引脚是复 位状态输出引脚,分别是高电平有效和低电平有效;当 CH374 电源上电复位、被外部强制复位或复位 延时期间,以及启用看门狗后在看门狗计时溢出时,RST 和 RST#引脚将分别输出高电平和低电平;在 CH374 内部复位完成后,RST 和 RST#引脚将继续延时几十毫秒再分别恢复到低电平和高电平。RST 和 RST#引脚用于向外部单片机提供上电复位信号。对 CH374 执行任何写操作都可以清除看门狗计时。 CH374F 芯片支持外部时钟和内置时钟两种模式,其它 CH374 芯片仅支持外部时钟模式。 CH374 芯片外部时钟模式下正常工作时需要外部为其提供 24MHz 的时钟信号。一般情况下,时钟 信号由 CH374 内置的反相器通过晶体稳频振荡产生。外围电路只需要在 XI 和 XO 引脚之间连接一个标 称频率为 24MHz 的晶体,并且分别为 XI 和 XO 引脚对地连接一个高频振荡电容。如果从外部直接输入 24MHz 时钟信号,那么应该从 XI 引脚输入,而 XO 引脚悬空。 CH374F 芯片内置时钟模式下,应该将 XI 引脚接 GND,并悬空 XO 引脚,从而节约外部的晶体及振 荡电容。内置时钟的精度不能满足 USB 规范,不建议用于 USB 主机,可能不适用于部分 USB 设备。 CH374 芯片的 SLP 引脚是睡眠状态输出,默认输出低电平。如果设置 BIT_CTRL_OSCIL_OFF 为 1 关闭时钟振荡器,那么 CH374 芯片进入睡眠状态,SLP 引脚输出高电平,直到唤醒后恢复低电平。 CH374 芯片的 CKO 引脚是可编程时钟输出,用于向单片机提供从 3MHz 到 24MHz 的时钟信号,支 持时钟频率动态调整并能够平滑过渡,在 CH374 芯片睡眠后该引脚将停止时钟输出。 CH374 芯片支持 5V 电源电压或者 3.3V 电源电压(批号 2032XXXXX 只支持 5V 电压) 。当使用 5V 工作电压时,CH374 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 0.01uF 到 0.1uF 左右的电源退耦电容。当使用 3.3V 工作电压时,CH374 芯片的 V3 引脚应该与 VCC 引脚相连接,同时 输入外部的 3.3V 电源,并且与 CH374 芯片相连接的其它电路的工作电压不能超过 3.3V,建议设置寄 存器位 BIT_CTRL_USB_POWER 为 1 关闭电源调节器以节电(从几十 uA 到几 uA,睡眠电流节约 80%)。 6.5. 内部结构 在功能方面,CH374 芯片基本上是 CH375 芯片去掉命令解释器、控制传输的协议处理器、通用的 固件程序后的纯接口芯片。由于去掉了协议处理器和固件程序,所以外部的单片机程序更加复杂;但 是由于减少了内部处理等中间环节,所以提高了与单片机之间的接口速度。 CH374 芯片内部具有一个 USB 主机方式和 USB 设备方式的一体式主从 USB 接口引擎 SIE 以及根集 线器,用于完成物理的 USB 数据接收和发送,自动处理位跟踪和同步、NRZI 编码和解码、位填充、 并行数据与串行数据之间的转换、CRC 数据校验、事务握手、出错重试、USB 总线状态检测等。 CH374 芯片内部具有 7 个物理端点: 端点 0 是默认端点,支持上传和下传,上传和下传缓冲区各是 8 个字节; 端点 1 包括上传端点和下传端点,上传和下传缓冲区各是 8 个字节, 上传端点的端点号是 81H, 下传端点的端点号是 01H; 端点 2 包括上传端点和下传端点,上传和下传缓冲区各是 64 个字节,上传端点的端点号是 82H,下传端点的端点号是 02H; 主机端点包括输出端点和输入端点,输出和输入缓冲区各是 64 个字节,主机端点与端点 2 合用同一组缓冲区,主机端点的发送缓冲区就是端点 2 的上传缓冲区,主机端点的接收 缓冲区就是端点 2 的下传缓冲区,主机端点的接收缓冲区可以扩展为 128 字节。 CH374 的端点 0、1、2 只用于 USB 设备方式,在 USB 主机方式下只需要用到主机端点。在 USB 主 机方式下,CH374 支持各种常用的 USB 低速 Low-Speed 设备、全速 Full-Speed 设备以及通过 USB-HUB 级联的 USB 设备。USB 设备的端点号可以是 0~15,两个方向最多支持 31 个端点,USB 设备的包长度 可以是 0~64 字节,在接收方向上的最大包长度可以是 0~128 字节。 6.6. 根集线器操作流程 12 CH374 中文手册 CH374 芯片内置了 3 端口根集线器 ROOT-HUB,ROOT-HUB 仅用于 USB 主机方式,在 USB 设备方式 下只能使用 HUB0 的 UD+和 UD-进行 USB 传输。根集线器的用法如下: ①、通过设置 BIT_SETP_HOST_MODE 启用 USB 主机方式,通过设置 BIT_SETP_AUTO_SOF 允许 CH374 自 动产生 SOF 包,通过清除 BIT_HUB_DISABLE 允许 ROOT-HUB。 ②、等待 USB 设备插入,检测到 BIT_IF_DEV_DETECT 为 1 说明检测到 USB 设备插拔。 ③、查询 BIT_HUB0_ATTACH、BIT_HUB1_ATTACH、BIT_HUB2_ATTACH 分析是哪个 HUB 端口发生了 USB 设 备插拔事件,插拔事件会自动清除相应 HUB 端口的 BIT_HUB?_EN(?代表 0/1/2,下同) 。 ④、如果是新的 USB 设备插入,那么通过查询 BIT_IF_USB_DX_IN、BIT_HUB1_DX_IN、BIT_HUB2_DX_IN 区分是全速 USB 设备还是低速 USB 设备,对于低速 USB 设备则设置相应的 BIT_HUB?_POLAR。 ⑤、通过设置 BIT_HUB?_RESET 对相应的 HUB 端口进行 USB 总线复位。 ⑥、USB 总线复位完成后,通过查询 BIT_HUB?_ATTACH 等待该 USB 设备连接。 ⑦、一旦 USB 设备连接,就通过设置 BIT_HUB?_EN 允许该 USB 端口,并延时数十 mS 等待设备稳定。 ⑧、按标准流程对 0#地址的 USB 设备进行初始化枚举,并分配一个不冲突的 USB 地址。如果初始化 失败并且重试后仍然失败而必须放弃该 USB 设备,那么必须清除 BIT_HUB?_EN 以关闭相应的 HUB 端口,避免对其它 USB 设备的通讯造成干扰。 ⑨、在初始化枚举过程和以后的正常通讯过程中,如果目标设备是低速 USB 设备,那么对其进行 USB 传输操作前,必须设置 BIT_SETP_LOW_SPEED 选择低速传输,传输完成后再清除该位;如果目标 设备是通过外部集线器 HUB 间接操作 USB 低速设备,那么既要设置 BIT_SETP_LOW_SPEED 选择低 速,还应该设置 BIT_HUB_PRE_PID 启用低速前置包 PRE PID,传输完成后再清除该两位。 ⑩、单片机软件必须为每个 HUB 端口建立一条信息记录,包括 USB 设备是否存在、低速还是全速、是 否已经分配 USB 地址以及 USB 地址是多少、是否完成 USB 配置、USB 设备的功能或者类型、端点 号集合和每个端点的属性以及最大包长度等等。检测到 USB 设备插拔后必须及时更新相应的信息 记录。在每次操作 USB 设备前,必须根据目标设备或者端口的记录设置好 BIT_SETP_LOW_SPEED、 设置好 REG_USB_ADDR、选择好端点号和 PID,对于通过外部 HUB 连接的低速 USB 设备还应该设置 BIT_HUB_PRE_PID 以启用低速前置包 PRE PID,然后对指定端点进行 USB 传输,传输完成后清除 BIT_SETP_LOW_SPEED 以及 BIT_HUB_PRE_PID 等。 ⑪ 、根据上述操作,按如下规则判断 USB 设备的状态,如果 BIT_HUB?_ATTACH 为 0 则该端口没有 USB 设备连接,如果 BIT_HUB?_ATTACH 为 1 并且 BIT_HUB?_EN 为 0 则该端口的 USB 设备刚刚连接尚未 初始化(或者断开后再连接) ,如果 BIT_HUB?_ATTACH 为 1 并且 BIT_HUB?_EN 为 1 则该端口的 USB 设备已经初始化成功。 7、参数 7.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏) 名称 TA TS VCC VIO 参数说明 最小值 最大值 VCC=5V 或 VCC=V3=3.3V,外部时钟 工作时的 VCC=V3=3.0V,外部时钟 环境温度 VCC=5V 或 VCC=V3=3.3V,内置时钟 储存时的环境温度 电源电压(VCC 接电源,GND 接地) 输入或者输出引脚上的电压 -40 -40 -20 -55 -0.5 -0.5 85 70 70 125 6.0 VCC+0.5 7.2. 电气参数(测试条件:TA=25℃,VCC=5V,不包括连接 USB 总线的引脚) (如果电源电压为 3.3V,则表中所有电流参数需要乘以 40%的系数) 单位 ℃ ℃ V V 13 CH374 中文手册 名称 VCC ICC ISLP VIL VIH VOL VOH IUINT IUACT IUP IDUEN IDRI VR 参数说明 V3 引脚不连 VCC 引脚 电源电压 V3 引脚连接 VCC 引脚 VCC=5V 工作时的总电源电流 VCC=3.3V VCC=5V 低功耗状态的电源电流 VCC=3.3V I/O 引脚悬空/内部上拉 VCC=3.3V 关闭调节器 低电平输入电压 高电平输入电压 低电平输出电压(4mA 吸入电流) 高电平输出电压(4mA 输出电流) INT#引脚的高电平上拉输出电流 ACT#引脚的高电平上拉输出电流 其它内置上拉电阻的输入端的输入电流 内置下拉电阻的 UEN 引脚的输入电流 内置下拉电阻的 RSTI 引脚的输入电流 电源上电复位的电压门限 最小值 4.4 3.0 典型值 5 3.3 5 2 0.07 0.06 最大值 5.3 3.6 25 12 0.15 0.09 0.003 0.01 0 2.0 VCC-0.5 30 60 3 -40 -60 2.1 0.7 VCC 0.5 单位 V mA mA 280 300 150 -100 -100 2.5 360 800 250 -350 -210 3.0 V V V V uA uA uA uA uA V 7.3. 基本时序(测试条件:TA=25℃,VCC=5V 或 VCC=3.3V) 名称 参数说明 最小值 典型值 最大值 单位 FCLK FCLKI TPR TRI TRD TRO TDGC TDGR TWAK TINT USB 主机方式 XI 引脚的输入时钟的频率 CH374F 内置时钟模式下的内置时钟频率 电源上电的内部复位时间 外部复位输入的有效信号宽度 外部复位输入后的复位延时 电源上电 RST 和 RST#引脚输出复位时间 看门狗计时周期(溢出时间) 看门狗计时溢出产生的复位时间 芯片唤醒完成时间 低电平脉冲方式下 INT#引脚的中断脉宽 23.99 23.52 13 100 14 60 950 60 3 7 24.00 24.00 25 24.01 24.48 40 17 20 150 1200 140 15 16 MHz MHz mS nS mS mS mS mS mS mS 64 5 7.4. 并口时序(测试条件:TA=25℃,VCC=5V,括号中参数 VCC=3.3V,参考下面附图) (RD 是指 RD#信号有效并且 CS#信号有效,WR#=1&RD#=CS#=0 执行读操作) (WR 是指 WR#信号有效并且 CS#信号有效,WR#=CS#=0 执行写操作) 名称 参数说明 最小值 典型值 最大值 TWW 有效的写选通脉冲 WR 的宽度 30 (45) TRW 有效的读选通脉冲 RD 的宽度 30 (45) TWS 读选通或写选通脉冲的间隔宽度 120 (140) TAS RD 或 WR 前的地址输入建立时间 4 (6) TAH RD 或 WR 后的地址输入保持时间 4 TIS 写选通 WR 前的数据输入建立时间 1 TIH 写选通 WR 后的数据输入保持时间 4 (6) TON 读选通 RD 有效到数据输出有效 18 (25) 25 (40) TOF 读选通 RD 无效到数据输出无效 18 (25) 单位 nS nS nS nS nS nS nS nS nS 14 CH374 中文手册 7.5. SPI 串口时序(测试条件:TA=25℃,VCC=5V,括号中参数 VCC=3.3V,参考上面附图) 名称 参数说明 最小值 TSS TSH TNS TNH TN TCH TCL TDS TDH TOE TOX TOZ SCK 上升沿之前 SCS#有效的建立时间 SCK 上升沿之后 SCS#有效的保持时间 SCK 上升沿之前 SCS#无效的建立时间 SCK 上升沿之后 SCS#无效的保持时间 SCS#无效时间(SPI 操作间隔时间) SCK 时钟的高电平时间 SCK 时钟的低电平时间 SCK 上升沿之前 SDI 输入的建立时间 SCK 上升沿之后 SDI 输入的保持时间 SCK 下降沿到 SDO 输出有效 SCK 下降沿到 SDO 输出改变 SCS#无效到 SDO 输出无效 20 (30) 20 (30) 20 (30) 20 (30) 80 (120) 14 (18) 18 (24) 4 (6) 3 2 典型值 12 (18) 8 (12) 最大值 单位 18 (25) 12 (18) 18 (25) nS nS nS nS nS nS nS nS nS nS nS nS 8、应用 8.1. 并口方式(下图) 这是 CH374 的并口连接电路。图中 CH374 芯片的 VCC 电源是 5V 电压。 电容 C3 用于 CH374 内部电源节点退耦,C3 是容量为 0.01μF 到 0.1μF 的独石或者高频瓷片电 容。电容 C4 用于外部电源退耦,C4 是容量为 0.1μF 的独石或高频瓷片电容。 晶体 X1、电容 C1 和 C2 用于 CH374 的时钟振荡电路。USB-HOST 主机方式要求时钟频率比较准确, X1 的频率是 24MHz±0.4‰,参考手册中的设置,X1 的频率也可以选用 12MHz。C1 和 C2 是容量约为 22pF 的独石或高频瓷片电容。电容 C5 是可选的,仅用于延长电源上电时 CH374 芯片的复位时间,一 般的应用电路中可以省去 C5,或者也可以由单片机的普通 I/O 引脚控制 CH374 复位。 CH374F 成品板如果改用内置时钟模式,只需要去掉 X1 和 C1,并将 C2 换成 0Ω 电阻。 CH374 中文手册 15 建议在设计印刷线路板 PCB 时,退耦电容 C3 和 C4 尽量靠近 CH374 的相连引脚;使 D+和 D-信号 线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短 XI 和 XO 引脚 相关信号线的长度,为了减少高频时钟对外界的干扰,可以在相关元器件周边环绕地线或者覆铜。 电阻 R2 和电容 C7 通常用于在 USB-HOST 应用中限制 USB 设备刚连接时的峰值电流,电阻 R2 可 以用限流电阻或者电感代替。UEN 引脚可以通过 2KΩ电阻连接到 USB 电源,用于在 USB 设备失去工作 电源时关闭 USB 信号输出。发光管 L1 及限流电阻 R1 是可选的,用于状态指示。 CH374 还为单片机系统提供了以下辅助信号:RST 和 RST#引脚可以用于为单片机提供上电复位和 看门狗复位信号;CKO 引脚可以用于为单片机提供频率可动态编程的时钟信号;SLP 引脚可以用于为 单片机或者其它外设提供睡眠断电后的自动唤醒控制。 如果不连接中断请求输出引脚 INT#,那么单片机程序也可以通过查询中断标志寄存器代替。 CH374 芯片具有通用的被动并行接口,通过 D0-D7、A0、-RD、-WR、-CS 和-INT 信号,可以直接 连接多种单片机、DSP、MCU、CPU 等。 8.2. SPI 串口方式(下图) 如果 CH374 芯片的 RD#引脚和 WR#引脚为低电平(接地)并且 CS#引脚为高电平(接正电源),那 么 CH374 将工作于 SPI 串口方式。在 SPI 串口方式下,CH374 只需要与单片机/DSP/MCU 连接 5 个信号 线:SCS#引脚、SCK 引脚、SDI 引脚和 SDO 引脚以及 INT#引脚,其它引脚都可以悬空。 为了节约引脚,INT#引脚可以不连接,而代之以查询中断标志寄存器,但是查询效率较低。 为了节约引脚,CH374 的 SDO 输出引脚可以在串接 330Ω的电阻 R4 后并联到 SDI 引脚上,再与 单片机的 SDI 和 SDO 连接,当然,单片机的 SDO 引脚必须也是三态输出或者是可以关闭输出的。 SPI 串口方式除了连接线比并口方式较少之外,其它外围电路与并口方式基本相同。在软件编程 方面,除了硬件抽象层的接口子程序不同之外,所有功能性的程序基本相同。 CH374 中文手册 16 CH374 的 SPI 串口方式为 I/O 引脚有限的单片机或者没有并口总线的单片机提供了进行 USB 通讯 和控制 USB 设备的低成本接口方式。 8.3. 工作电压 3.3V(下图) 图中 CH374 芯片的 VCC 是 3.3V 电压或者 3V,所以 V3 引脚必须和 VCC 短接,共同输入 3.3V 电压, 但是作为 USB 主机端的 USB 电源电压,即提供给 USB 端口 P3 的电压仍然必须是 5V。 8.4. 内置 HUB 连接 3 个设备(下图) CH374F 和 CH374U 芯片内置了三端口根集线器 Root-HUB,作为 USB-Host 主机使用时,可以同时 连接 3 个 USB 设备,支持 USB 全速和低速设备混合应用。其中端口 P5 和 P6 只能用于 Host 方式连接 外部 USB 设备, 端口 P4 既可以用于 Host 方式连接外部 USB 设备, 也能用于 Device 方式连接外部 Host 主机。 8.5. 根集线器例子程序 参考 CH374 评估板资料 CH374EVT\EXAM\EMB_HUB\ROOTHUB.C 程序,支持内置 ROOT-HUB 的三个端 口,也支持外部二级 HUB 级联,直接或者间接操作 USB 全速或者 USB 低速设备。 参考 CH374LIB 中的 EXAM14,支持内置 ROOT-HUB,三个端口分别用于读写 U 盘文件、控制 USB 键 盘或鼠标等。 参考 CH374LIB 中的 EXAM15,通过 ROOT-HUB 的两个端口实现两个 U 盘之间的文件复制。
CH374S 价格&库存

很抱歉,暂时无法提供与“CH374S”相匹配的价格&库存,您可以联系我们找货

免费人工找货
CH374S
    •  国内价格
    • 1+18.85680
    • 10+16.44840
    • 25+15.01200

    库存:0