本文详细阐述了一种用于嵌入式系统中的 USB 总线接口电路,该电路基于 USB 专用芯片 CH375 实现,并给出了系统硬件实现和应用程序;实验结果表明,该电路具有成本低、可靠性高等特点,可方便地集成到各种嵌入式系统中。
接口电路设计:单片机与 CH375 芯片的连接方式有串行接口和并行接口两种。串行接口连接方式虽然电路连接简单、不用扩展使用外部地址空间,但其要遵循一定的通信协议,软件设计较为复杂,并且传输速度比并行接口要慢。对于大多数嵌入式系统应用,因串口资源较少,而且扩展外部地址空间技术非常成熟,故本接口电路采取了并口连接方式,其电路原理图如图 2 所示。

图 2 接口电路图
图 2 中的 X8 为 USB 接口插座。为了避免 USB 设备接入嵌入式系统时工作电流突然加大、干扰嵌入式系统的正常运行,在设计电路时,在靠近 USB 接口插座的位置加了一个 2Ω 的限流电阻,用于防止 USB 设备接入时电流过载;同时,在 USB 接口插座电源处加上一个 100μF 的电解电容,用于储能和滤波,提高 USB 端口的带载和抗干扰能力。
图 2 中 CH375 的复位端(RSTI)与嵌入式系统复位信号(RESET)连接,从而保证嵌入式系统复位时 CH375 能同步复位;发送端(TXD)决定芯片的工作方式,该引脚内置弱上拉电阻,在复位期间输入低电平则使能并口、悬空或输入高电平则使能串口,本接口电路工作在并口方式,图中发送端(TXD)直接接地;晶体振荡的输入端(XI)和反相输出端(XO)外接 12MHz 的晶体及 2 个 15pF 的振荡电容,为芯片提供工作时钟;8 位双向数据总线(D0~D7)直接与嵌入式系统的低 8 位数据总线连接,用于两者间的数据交换。读选通输入端(/RD)、写选通输入端(/WR)、中断请求输出端(/INT)分别与嵌入式系统的读信号(/OE)、写信号(/WE)和外部中断输入端(/INT375)连接;片选控制输入端(/CS)与嵌入式系统中译码器输出端(/CS_USB)连接;地址线输入端(A0)用于区分命令口与数据口,与系统地址线 A0 连接。以上控制信号用于控制芯片按照正确的时序工作。电路的其他一些电容主要用于电源的去耦和滤波,不再一一详叙。