CH374中文手册(一)

更新时间:2023-06-03 15:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2、特点 1、概述

CH374中文手册(一)

USB总线接口芯片CH374

中文手册(一)

版本:2A

CH374是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式,内置3端口HUB根集线器,支持低速和全速的控制传输、批量传输、中断传输以及同步/等时传输。在本地端,CH374具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。除此之外,CH374还提供了节约I/O引脚的SPI串行通讯方式,通过3线或者4线SPI串行接口以及中断输出与单片机/DSP/MCU/MPU等相连接。

● 支持1.5Mbps低速和12Mbps全速USB通讯,兼容USB V2.0,外围元器件只需要晶体和电容。 ● 支持USB-HOST主机接口和USB-DEVICE设备接口,支持动态切换主机方式与设备方式。 ● CH374U芯片内置3端口USB根集线器ROOT-HUB,可以同时连接和管理3个USB设备。 ● 支持常用的低速和全速USB设备的控制传输、批量传输、中断传输、同步/等时传输。 ● 自动检测低速和全速USB设备的连接和断开,提供设备连接和断开的中断通知。

● 内置USB信号线的阻抗匹配串联电阻、USB设备端的上拉电阻、USB主机端的下拉电阻。 ● 可选两种单片机接口:6MB速度的8位被动并行接口和3.5MB/28MHz速度的SPI串行接口。 ● 并行接口包含8位数据总线,1位地址,3线控制:片选输入、写选通以及可选的读选通。 ● 并行接口只占用两个地址位:索引地址口和数据口,读写数据口后内部索引地址自动递增。 ● SPI串行接口包含SPI片选、串行时钟、串行输入和输出,并且SPI输出与输入可以并联。

3、封装

封装形式

4、引脚

塑体宽度

CH374中文手册(一)

CH374S

CH374T 引脚号 引脚号28 20 12、23 18

类型 引脚

名称 VCC GND

电源 电源

引脚间距

封装说明

SOP-28 7.62mm 300mil 1.27mm 50mil 标准的28脚贴片 SSOP-20 5.30mm 209mil 0.65mm 25mil 超小型20脚贴片 有关CH374U和CH374G的封装、HUB引脚和HUB寄存器说明请参考手册(二)。

引脚说明

CH374S

CH374T

订货型号

正电源输入端,需要外接0.1uF电源退耦电容

公共接地端,需要连接USB总线的地线 在3.3V电源电压时连接VCC 输入外部电源,

9 5 V3 电源

在5V电源电压时外接容量为0.01uF退耦电容

13 8 XI 输入 晶体振荡的输入端,需要外接晶体及振荡电容 14 9 XO 输出 晶体振荡的反相输出端,需要外接晶体及振荡电容 10 6 UD+ USB信号USB总线的D+数据线 11 7 UD- USB信号USB总线的D-数据线

8位双向数据总线,内置弱上拉电阻,

22~15 17~10 D7~D0 双向三态D3兼是SPI接口的SCS#,D5兼是SPI接口的SCK,

D6兼是SPI接口的SDI,D7兼是SPI接口的SDO

4 3 RD# 输入 读选通输入,低电平有效,内置弱上拉电阻 3 2 WR# 输入 写选通输入,低电平有效,内置弱上拉电阻 27 19 CS# 输入 片选控制输入,低电平有效,内置弱上拉电阻 1 1 INT# 开漏输出中断请求输出,低电平有效,内置上拉电阻

地址线输入,区分索引口与数据口,内置弱上拉电阻,8 4 A0 输入

当A0=1时可以写索引地址,当A0=0时可以读写数据 在USB设备方式下是USB传输或活动状态输出,

24 无 ACT# 开漏输出在USB主机方式下是USB设备连接状态输出,

低电平有效,内置上拉电阻

● 中断输出引脚是可选连接,低电平有效,可以通过查询寄存器中的中断标志位代替。 ● 提供辅助功能:可编程时钟输出,上电复位输出以及可选的看门狗复位。

● 提供支持FAT12/FAT16/FAT32文件系统的U盘文件级子程序库,实现单片机读写U盘文件。 ● 支持5V电源电压和3.3V电源电压甚至3V电源电压。

● 提供SOP-28、SSOP-20、SSOP-24和SOP-16无铅封装,兼容RoHS,可以提供DIP28转换板,

引脚基本兼容CH375和CH372芯片。

5 6 2 25 26 7

无 无 无 无 无 无

UEN CKO RSTI RST RST# SLP

5、寄存器

CH374中文手册(一)

输入 USB信号UD+/UD-输出使能,内置下拉电阻

输出 可编程时钟输出,不用时必须悬空并且尽可能缩短连线输入 外部复位输入,高电平有效,内置下拉电阻 输出 电源上电复位和外部复位输出,高电平有效 输出 电源上电复位和外部复位输出,低电平有效 输出 睡眠状态输出,高电平有效

本手册中所指的单片机基本适用于DSP或者SCM/MCU/MPU/CPU等。

CH374的内部寄存器以及缓冲区分配在地址从00H到0FFH的范围内,由单片机寻址后访问。 复位后的默认值都是以二进制数表示,并可以由若干个字符标志说明其特性,字符标志如下:

0: 复位后总是0; 1: 复位后总是1;

X: 该位由内部硬件自动设置,或者受外部引脚状态的影响; =: 复位不影响数据,数据初值不确定;

?: 保留位,读出的数据没有意义,写入时必须写0或者保持原值。

注:受翻译习惯的影响,源于英文USB规范中的一些专业术语可能有多种相近的中文术语。 地址范围 寄存器名称(灰色) 寄存器说明(灰色) 软硬件复位十六进制 寄存器的位名称 寄存器的位说明 后的默认值00H-03H 保留 禁止读写 ???????? 04H REG_SYS_INFO 系统信息寄存器,只读 XXX?XX01

硬件上电复位完成状态:

04H位7 BIT_INFO_POWER_RST 0/X

0=正在复位;1=复位完成

芯片唤醒状态,不受软件复位影响:

04H位6 BIT_INFO_WAKE_UP X

0=正在睡眠或唤醒过程中;1=已唤醒

硬件1mS定时周期状态,

04H位5 BIT_INFO_SOF_PRES =/X

在主机方式下,1=将要产生SOF包

04H位4 保留 读出的数据无意义且不确定 ? 04H位3 BIT_INFO_USB_DP USB总线UD+引脚的逻辑电平状态 X 04H位2 BIT_INFO_USB_DM USB总线UD-引脚的逻辑电平状态 X 04H位1 固定值,总是为常量01,

硬件识别位 01

04H位0 用于验证硬件连接无误和读操作成功 05H REG_SYS_CTRL 系统控制寄存器,不受软件复位影响 00000000 05H位7 保留 读出的数据无意义且必须写0 0/?

UEN引脚的USB输出使能极性:

05H位6 BIT_CTRL_OE_POLAR 0 0=高电平使能,UEN低则禁止UD+/-输出;

1=低电平使能,UEN高则禁止UD+/-输出

INT#引脚的中断输出方式:

05H位5 BIT_CTRL_INT_PULSE 0 0=低电平中断,直到清除相应的中断标志;

1=低电平脉冲中断

RST引脚和RST#引脚的看门狗复位使能:

05H位4 BIT_CTRL_WATCH_DOG 0=禁用,仅提供上电复位,无看门狗复位; 0

1=启用,启用后无法禁止,除非硬件复位

05H位3 BIT_CTRL_RESET_NOW 芯片软件复位控制:0=不复位;1=复位 0

V3引脚的USB电源调节器控制:

05H位2 BIT_CTRL_USB_POWER 0=开启,从VCC引脚5V电源产生USB电源; 0

1=禁用,可以从V3引脚外部输入USB电源

CH374中文手册(一)

09H位6

09H位7

08H 08H位7 08H位6 至 08H位0 09H

07H位0

07H位1

07H位1

07H位2

07H位3

07H 07H位7 至 07H位4

06H位1 06H位0

06H位0

06H位1

06H位3 06H位2

06H位5 06H位4

06H位6

06H位6

05H位1 05H位0 06H 06H位7

REG_INTER_FLAG

保留

BIT_CTRL_OSCIL_OFF REG_USB_SETUP BIT_SETP_HOST_MODE

BIT_IF_USB_DX_IN

BIT_ADDR_USB_DEV

BIT_IF_USB_OE

在设备方式下为自身作为USB设备的地址, 在主机方式下为当前被操作的USB设备地址

读出的数据无意义且必须写0 0/?

时钟振荡器控制:0=允许振荡;1=停止振荡 0

USB配置寄存器 00000000

USB主从方式:0=设备方式;1=主机方式 0 在设备方式下,ACT#引脚低电平的激活事件:

BIT_SETP_LED_ACT 0

0=收发传输过程;1=USB主机活动 在主机方式下,自动产生SOF使能:

0 BIT_SETP_AUTO_SOF

0=禁止;1=允许,自动定时发出SOF包 USB总线速率(启用ROOT-HUB后用法不同):

BIT_SETP_USB_SPEED

00=全速模式12Mbps;11=低速模式1.5Mbps; 00

启用ROOT-HUB后保留

其它值=禁用

备用缓冲区应用方式: 00=禁用备用缓冲区;

01=连接接收缓冲区以连续接收128字节,

BIT_SETP_RAM_MODE 00

起始地址为RAM_ENDP2_EXCH/RAM_HOST_EXCH; 10=连续发送第二缓冲区,同步标志为1选中; 11=连续接收第二缓冲区,同步标志为1选中

在设备方式下,USB上拉电阻控制:

0 BIT_SETP_PULLUP_EN

0=禁用上拉电阻;1=启用上拉电阻/连接 在设备方式下,USB设备传输使能:

BIT_SETP_TRANS_EN 0

0=禁止;1=允许,启用USB设备/允许收发 在主机方式下,USB总线状态控制:

BIT_SETP_BUS_CTRL

00=正常/空闲;01=UD+低UD-低(总线复位); 00

启用ROOT-HUB后保留

10=禁用;11=UD+低UD-高(总线恢复)

REG_INTER_EN 中断使能寄存器,含可编程时钟设置 11110000

可编程时钟的分频除数:

BIT_IE_CLK_OUT_DIV 1111 输出频率 = ( 48MHz / ( 该值 + 1 ) ),

例:0001=24MHz;0010=16MHz;1111=3MHz

USB总线恢复/唤醒中断使能:

BIT_IE_USB_RESUME 0 0=使能芯片唤醒完成中断BIT_IF_WAKE_UP;

1=使能USB总线恢复中断BIT_IF_USB_RESUME

USB总线挂起中断使能:

BIT_IE_USB_SUSPEND 0

0=禁止;1=允许,从INT#引脚输出 在设备方式下,USB总线复位中断使能:

BIT_IE_BUS_RESET 0

0=禁止;1=允许,从INT#引脚输出 在主机方式下,USB设备检测中断使能:

BIT_IE_DEV_DETECT 0

0=禁止;1=允许,从INT#引脚输出

USB传输完成中断使能:

BIT_IE_TRANSFER 0

0=禁止;1=允许,从INT#引脚输出

REG_USB_ADDR USB设备地址寄存器 00000000

保留 读出的数据无意义且必须写0 0/?

中断标志寄存器,只读

全速时UD+引脚/低速时UD-引脚的采样状态: 0=低电平/速度失配;1=高电平/速度匹配 从UEN引脚输入的USB输出使能状态: 0=UEN引脚为低电平;1=UEN引脚为高电平

X

0000000

XXX00000

X

0AH

CH374中文手册(一)

0AH位3 至 0AH位0

BIT_IF_TRANSFER REG_USB_STATUS BIT_IF_WAKE_UP BIT_STAT_SUSPEND BIT_IF_BUS_RESET BIT_IF_USB_PAUSE BIT_STAT_SIE_FREE BIT_IF_DEV_DETECT BIT_IF_USB_RESUME BIT_IF_DEV_ATTACH BIT_STAT_TOG_MATCH BIT_STAT_BUS_RESET BIT_IF_USB_SUSPEND

0AH位1 0AH位0

0AH位3 0AH位2

0AH位4

0AH位5

0AH位6

0AH位7

09H位0

09H位1

09H位1

09H位2

09H位3

09H位3

09H位4

09H位5

BIT_STAT_THIS_ENDP

BIT_STAT_DEV_RESP

BIT_STAT_THIS_PID

USB设备的当前连接状态:

0=尚未连接任何USB设备/断开/拔出; 1=至少已经连接一个USB设备/插入

USB传输暂停标志,

1有效,向该位写1可清除该标志, 该位在每次USB传输完成后自动置1

芯片唤醒完成中断标志,

1有效,向该位写1可清除该标志, 该位在芯片唤醒完成后自动置1 USB总线恢复/唤醒中断标志, 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总线正在复位

指示当前接收的数据包是否同步:

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=设备应答错误或者超时无应答;

其它值=非法应答/意外

X

X

X

1/X

0/X

0/X

0/X

0/X

0/X

0/X

0/X

=/X

XX

XX

1XXXXXXX

XXXX

0DH

0BH

CH374中文手册(一)

0EH位4

REG_USB_LENGTH

保留 保留 REG_USB_ENDP2 BIT_EP2_RECV_TOG BIT_EP2_TRAN_TOG REG_USB_ENDP1 BIT_EP1_RECV_TOG BIT_EP1_TRAN_TOG REG_USB_ENDP0 BIT_EP0_RECV_TOG BIT_EP0_TRAN_TOG REG_USB_H_TOKEN BIT_EP2_TRAN_RESP BIT_EP2_RECV_RESP BIT_EP1_TRAN_RESP BIT_EP1_RECV_RESP BIT_EP0_TRAN_RESP BIT_EP0_RECV_RESP

0DH位3 至 0DH位0 0EH 0EH位7 0EH位6 0EH位5

0DH位7 至 0DH位4

0EH位1 0EH位0

0EH位3 0EH位2

0EH位5 0EH位4

0EH 0EH位7 0EH位6

0DH位3 至 0DH位0

0DH位5 0DH位4

0DH 0DH位7 0DH位6

0CH位3 至 0CH位0

0CH位5 0CH位4

0CH 0CH位7 0CH位6

BIT_HOST_PID_TOKEN

BIT_HOST_RECV_ISO

REG_USB_H_CTRL BIT_HOST_RECV_TOG BIT_HOST_TRAN_TOG

保留

BIT_HOST_PID_ENDP

指定被操作的目的端点号: 0000至1111=端点号0至15

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发送响应(对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状态

在主机方式下,USB主机控制寄存器 主机接收同步标志:0=DATA0;1=DATA1 主机发送同步标志:0=DATA0;1=DATA1

读出的数据无意义且必须写0 主机接收的传输类型:

0=控制/批量/中断传输;1=同步/等时传输

=

====

0000

0/? 0/?

00

00

00

====

====

00000000

0 0 0/?

========

00000000

0 0

========

= =

00000000

0 0

XXXXXXXX

0FH-1FH 20H-27H 28H-2FH 30H-37H 38H-3FH 40H-7FH C0H-FFH 80H-BFH 40H-7FH C0H-FFH 80H-BFH 0EH位0 0EH位2 0EH位1 0EH位3

6、功能说明

6.1. 单片机接口

CH374中文手册(一)

6.2. 并行接口

保留 保留

BIT_HOST_TRAN_ISO 保留

RAM_ENDP0_TRAN RAM_ENDP0_RECV RAM_ENDP1_TRAN RAM_ENDP1_RECV RAM_ENDP2_TRAN RAM_ENDP2_RECV RAM_ENDP2_EXCH RAM_HOST_TRAN RAM_HOST_RECV RAM_HOST_EXCH BIT_HOST_START

主机传输启动控制:

0=暂停;1=启动传输,完成后自动清0

读出的数据无意义且必须写0 读出的数据无意义且必须写0 主机发送的传输类型:

0=控制/批量/中断传输;1=同步/等时传输

禁止读写

USB设备方式下的端点0发送缓冲区 USB设备方式下的端点0接收缓冲区 USB设备方式下的端点1发送缓冲区 USB设备方式下的端点1接收缓冲区 USB设备方式下的端点2发送缓冲区 USB设备方式下的端点2接收缓冲区 USB设备方式下的端点2备用缓冲区 USB主机方式下的发送缓冲区 USB主机方式下的接收缓冲区 USB主机方式下的备用缓冲区

0/? 0/? 0

???????? ======== ======== ======== ======== ======== ======== ======== ======== ======== ========

CH374芯片在本地端提供了通用的8位被动并行接口和SPI同步串行接口(CH374G只支持SPI接口方式)。在CH374芯片上电复位时,CH374将采样CS#、WR#和RD#引脚的状态,如果WR#和RD#都为低电平(接地)并且CS#为高电平(接正电源),那么选择SPI串行接口,否则选择并行接口。

CH374芯片INT#引脚输出的中断请求默认是低电平有效,可以连接到单片机的中断输入引脚或普通输入引脚,单片机可以使用中断方式或查询方式获知CH374的中断请求。为了节约引脚,单片机可以不连接CH374的INT#引脚,而直接查询CH374的中断标志寄存器REG_INTER_FLAG获知中断。

并口信号线包括: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 0 0 X X/Z CH374芯片上电复位时开始采样,用于选择SPI接口方式 1 X X X X/Z 未选中CH374,不进行任何操作 0 1 1 X X/Z 虽然选中但无操作,不进行任何操作 0 0 1/X 1 输入 向CH374写入索引地址,即其后进行读写操作的起始地址 0 0 1/X 0 输入 向指定地址写入数据,完成后索引地址递增,便于连续读写 0 1 0 0 输出 从指定地址读出数据,完成后索引地址递增,便于连续读写 0 1 0 1 输出 从指定地址读出数据,索引地址不变,便于读出修改后写回 CH374芯片占用两个地址位,当A0引脚为高电平时选择索引地址端口,可以写入新的索引地址,或者读出数据但保持索引地址不变;当A0引脚为低电平时选择数据端口,可以读写索引地址对应的

6.3. SPI串行接口

CH374

中文手册(一)

6.4. 其它硬件

数据,并且在读写操作完成后自动将索引地址加1便于继续读写下一个数据。单片机通过8位并口对CH374芯片进行读写操作的步骤是:先从索引地址端口写入索引地址,再连续读写若干个数据。

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。

实际电路中未使用到的CH374芯片的任何引脚都可以悬空不接。

CH374芯片的ACT#引脚用于状态指示。在USB设备方式下,由BIT_SETP_LED_ACT选择激活ACT#引脚输出低电平的事件,默认是与自身有关的USB收发传输过程,也可以选择是USB主机的所有传输包括SOF包。在USB主机方式下,当USB设备断开后,该引脚输出高电平;当USB设备连接后,该引脚输出低电平。CH374的ACT#引脚可以外接串了限流电阻的发光二级管LED,用于指示相关的状态。

CH374芯片的UD+和UD-引脚是USB信号线,工作于USB设备方式时,应该直接连接到USB总线

6.5. 内部结构

CH374中文手册(一)

在功能方面,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字节。

上;工作于USB主机方式时,可以直接连接到USB设备。如果为了芯片安全而串接保险电阻或者电感或者ESD保护器件,那么交直流等效串联电阻应该在5Ω之内。

CH374芯片的UEN引脚用于控制USB信号线UD+和UD-的输出使能。对于没有UEN引脚的CH374T芯片,必须设置BIT_CTRL_OE_POLAR为1;对于CH374S芯片,可以由UEN引脚控制是否允许USB信号输出,UEN引脚可以在串接2KΩ电阻后连接到USB设备的电源线上,从而避免在USB设备失去工作电源时仍然发出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执行任何写操作都可以清除看门狗计时。

CH374芯片正常工作时需要外部为其提供24MHz的时钟信号。一般情况下,时钟信号由CH374内置的反相器通过晶体稳频振荡产生。外围电路只需要在XI和XO引脚之间连接一个标称频率为24MHz的晶体,并且分别为XI和XO引脚对地连接一个高频振荡电容。如果从外部直接输入24MHz时钟信号,那么应该从XI引脚输入,而XO引脚悬空。

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引脚应该外接容量为4700pF到0.02uF左右的电源退耦电容。当使用3.3V工作电压时,CH374芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH374芯片相连接的其它电路的工作电压不能超过3.3V,建议设置寄存器位BIT_CTRL_USB_POWER为1关闭电源调节器以节电(从40uA到15uA,睡眠电流节约63%)。

TA 名称 TS VCC VIO

7、参数

CH374中文手册(一)

名称 FCLK TPR TRI TRD TRO TDGC TDGR TWAK TINT

10

7.3. 基本时序(测试条件:TA=25℃,VCC=5V或VCC=3.3V)

7.2. 电气参数(测试条件:TA=25℃,VCC=5V,不包括连接USB总线的引脚)

7.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)

(如果电源电压为3.3V,则表中所有电流参数需要乘以40%的系数) 名称 参数说明 最小值 典型值

V3引脚不连VCC引脚 4.5 5

VCC 电源电压

V3引脚连接VCC引脚 3.0 3.3

VCC=5V 5

ICC 工作时的总电源电流

VCC=3.3V 2

低功耗状态的电源电流 VCC=5V 0.035

ISLP

I/O引脚悬空/内部上拉 VCC=3.3V 0.015

VIL 低电平输入电压 -0.5 VIH 高电平输入电压 2.0 VOL 低电平输出电压(4mA吸入电流) VOH 高电平输出电压(4mA输出电流) VCC-0.5 IUINT INT#引脚的高电平上拉输出电流 24 240 IUACT ACT#引脚的高电平上拉输出电流 53 530 IUP 其它内置上拉电阻的输入端的输入电流 3 150 IDUEN 内置下拉电阻的UEN引脚的输入电流 -30 -60 IDRI 内置下拉电阻的RSTI引脚的输入电流 -70 -140 VR 电源上电复位的电压门限 2.4 2.7

参数说明

USB主机方式XI引脚的输入时钟的频率

电源上电的内部复位时间 外部复位输入的有效信号宽度 外部复位输入后的复位延时

电源上电RST和RST#引脚输出复位时间

看门狗计时周期(溢出时间) 看门狗计时溢出产生的复位时间

芯片唤醒完成时间

低电平脉冲方式下INT#引脚的中断脉宽

参数说明

VCC=5V或者VCC=V3=3.3V

工作时的环境温度

VCC=V3=3.0V

储存时的环境温度

电源电压(VCC接电源,GND接地)

输入或者输出引脚上的电压

最小值 23.99 15 100 15 60 950 60 3 8

V V V V uA uA uA uA uA V mA

典型值 24.00 25 17 64 5

最小值 -40 -40 -55 -0.5 -0.5

最大值 5.3 3.6 30 15 0.15 0.07 0.7 VCC+0.5 0.5 360 800 250 -120 -210 3.0

最大值 85 70 125 6.0 VCC+0.5

最大值 24.01 40 20 150 1170 140 15 16

7.4. 并口时序(测试条件:TA=25℃,VCC=5V,括号中参数VCC=3.3V,参考下面附图)

V mA ℃ V V ℃ 单位 单位

可定制选项:关掉内部上电复位,低功耗睡眠状态的电源电流分别是5V时7uA,3.3V 时3uA。

单位 MHz mS nS mS mS mS mS mS mS

CH374

中文手册(一)

名称 名称 TWW TRW TWS TAS TAH TIS TIH TON TOF

参数说明

TSS TSH TNS TNH TN TCH TCL TDS TDH TOE TOX TOZ

参数说明

有效的写选通脉冲WR的宽度 有效的读选通脉冲RD的宽度 读选通或写选通脉冲的间隔宽度 RD或WR前的地址输入建立时间 RD或WR后的地址输入保持时间 写选通WR前的数据输入建立时间 写选通WR后的数据输入保持时间 读选通RD有效到数据输出有效 读选通RD无效到数据输出无效

11

(RD是指RD#信号有效并且CS#信号有效,WR#=1&RD#=CS#=0执行读操作) (WR是指WR#信号有效并且CS#信号有效,WR#=CS#=0执行写操作)

7.5. SPI串口时序(测试条件:TA=25℃,VCC=5V,括号中参数VCC=3.3V,参考上面附图)

SCK上升沿之前SCS#有效的建立时间 SCK上升沿之后SCS#有效的保持时间 SCK上升沿之前SCS#无效的建立时间 SCK上升沿之后SCS#无效的保持时间 SCS#无效时间(SPI操作间隔时间)

SCK时钟的高电平时间 SCK时钟的低电平时间

SCK上升沿之前SDI输入的建立时间 SCK上升沿之后SDI输入的保持时间

SCK下降沿到SDO输出有效 SCK下降沿到SDO输出改变 SCS#无效到SDO输出无效

最小值

典型值

最大值

最小值 典型值 30 (45) 30 (45) 4 (6) 3 1 4 (6) 18 (25)

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)

最大值 25 (40) 18 (25)

单位 nS nS nS nS nS nS nS nS nS nS nS nS

单位 nS nS nS nS nS nS nS nS nS

8、应用

8.1. 并口方式(下图)

8.2. SPI串口方式(下图)

这是CH374的并口连接电路。图中CH374芯片的VCC电源是5V电压。

电容C3用于CH374内部电源节点退耦,C3是容量为4700pF到0.02μ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复位。

建议在设计印刷线路板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等。

如果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的SPI串口方式为I/O引脚有限的单片机或者没有并口总线的单片机提供了进行USB通讯和控制USB设备的低成本接口方式。

8.3. 工作电压3.3V(下图)

8.4. 内置HUB连接3个设备(下图)

CH374U芯片内置了三端口根集线器Root-HUB,作为USB-Host主机使用时,可以同时连接3个USB设备,支持USB全速和低速设备混合应用。其中端口P5和P6只能用于Host方式连接外部USB设备,端口P4既可以用于Host方式连接外部USB设备,也能用于Device方式连接外部Host主机。

图中CH374芯片的VCC是3.3V电压或者3V,所以V3引脚必须和VCC短接,共同输入3.3V电压,但是作为USB主机端的USB电源电压,即提给USB端口P3的电压仍然必须是5V。

本文来源:https://www.bwwdw.com/article/ydk1.html

Top