概述:CH372是一个USB总线的通用设备接口芯片,是CH371的升级产品,是CH375芯片的功能简化版。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写文件。

     CH372内置了USB通讯中的底层协议,具有省事的内置固件模式和灵活的外置固件模式。在内置固件模式下,CH372自动处理默认端点0的所有事务,本地端单片机只要负责数据交换,所以单片机程序非常简洁。在外置固件模式下,由外部单片机根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备。

 

一、CH372功能和特点
* 全速设备接口,兼容USB V2.0,即插即用,外围元器件只需要晶体和电容。
* 提供一对主端点和一对辅助端点,支持控制传输、批量传输、中断传输。
* 具有省事的内置固件模式和灵活的外部固件模式。
* 内置固件模式下屏蔽了相关的USB协议,自动完成标准的USB枚举配置过程,完全不需要本地端控制器作任何处理,简化了单片机的固件编程。
* 通用Windows驱动程序提供设备级接口,通过DLL提供API应用层接口。
* 产品制造商可以自定义厂商标识(Vendor ID)和产品标识(Product ID)。
* 通用的本地8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。
* 主端点上传下传缓冲区各64字节,辅助端点上传下传缓冲区各8字节。
* 支持5V电源电压和3.3V电源电压,CH372A芯片还支持低功耗模式。
* CH372芯片是CH375芯片的功能简化版,CH372在CH375基础上减少了USB主机方式和串口通讯方式等功能,所以硬件成本更低,但是其它功能完全兼容CH375,可以直接使用CH375的WDM驱动程序和DLL动态链接库。
* 采用SSOP-20封装

 

二、CH372引脚功能排列

 

三、CH372典型应用电路
1.连接USB总线

如上图所示,P1是USB端口,USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可以达到500mA,一般情况下,低功耗的USB产品可以直接使用USB总线提供的5V电源。如果USB产品通过其它供电方式提供常备电源,那么CH372应该与单片机一起使用该常备电源并且断开USB总线的电源;如果需要同时使用USB总线的电源,那么可以通过阻值约为1Ω的电阻R1连接USB总线的5V电源线与USB产品的5V常备电源,并且两者的接地线直接相连接。

 图中,可选电阻R2用于在电源断电后将电解电容C5中的电能及时释放掉,使VCC及时下降到0V,确保在下次通电时CH372能够可靠地上电复位。 电容C3用于CH372内部电源节点退耦,C3是容量为0.01μF的独石或高频瓷片电容,如果对EMI没有要求那么可以省掉C3。电容C4和C5用于外部电源退耦,C4是容量为0.1μF的独石或高频瓷片电容。晶体X1、电容C1和C2用于CH372的时钟振荡电路。X1的频率是12MHz,C1和C2是容量为15pF的独石或高频瓷片电容。

在设计印刷线路板PCB时,需要注意:退耦电容C3和C4尽量靠近CH372的相连引脚;使D+和D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和XO引脚相关信号线的长度,为了减少高频时钟对外界的干扰,可以在相关元器件周边环绕地线或者覆铜。

 

2.连接单片机总线(总线扩展)

CH372芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP、MCU等。在普通的MCS-51系列单片机的典型应用电路中,CH372芯片可以通过8位被动并行接口的D7~D0、-RD、-WR、-CS、A0直接挂接到单片机U2的系统总线上。 如果MCS-51单片机没有用U3锁存A7~A0地址,那么可以用U2的P20等引脚驱动CH372的地址线A0,当然单片机程序中的端口地址需要相应修改。U4用于简单的地址译码,产生所需的片选信号,图中CH372芯片的片选地址范围为B000H-BFFFH,而实际上CH372只需要占用两个地址:地址BXX1H用于写命令,地址BXX0H用于读写数据。

 

3.连接单片机I/O(非总线扩展)

在没有外部扩展总线的单片机系统中,单片机也可以用普通的I/O引脚模拟出8位并口时序操作CH372芯片。 在普通的MCS-51系列简化单片机的典型应用电路中,CH372的CS#固定为低电平,一直处于片选状态,U5的P1端口作为8位双向数据总线,在单片机程序中,可以控制各个I/O引脚模拟并口时序与CH372进行数据交换。 图中电路精简,可以用于软件狗、USB加密锁、USB转串口或RS485等。