DIY编程器网
标题: 基于CH375的USB移动存储接口设计 [打印本页]
作者: admin 时间: 2015-4-26 20:10
标题: 基于CH375的USB移动存储接口设计
0 引 言
随着USB技术的快速发展,USB移动存储设备的使用越来越广泛,目前在一些具有数据采集分析功能的仪器设备上都提供了USB接口。在众多USB移动存储设备接口芯片中,CH375是一种具有极高性价比的国产芯片。这里介绍在蓄电池活化检测设备中应用该芯片的一些实践经验,供读者参考。
1 CH375功能及特点
1.1 芯片概述
CH375是一个USB总线通用接口电路,支持HOST主机方式和SLAVE设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB主机方式下,提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连。外部单片机/DSP/MCU/MPU可以通过CH375按照相应的USB协议与USB设备通信,使设计人员设计开发USB工作简单化。应用框图见图1。
1.2 内部结构
CH375内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串型接口、命令解释器、控制传输的协议处理器、通用的固件程序等。
CH375芯片内部具有7个物理端点。端点O是默认端点,支持上传和下传,上传和下传缓冲区各是8 B;端点1包括上传端点和下传端点,上传和下传缓冲区各是8 B,上传端点的端点号是81H,下传端点的端点号是01H;端点2包括上传端点和下传端点,上传和下传缓冲区各是64 B,上传端点的端点号是82H,下传端点的端点号是02H。主机端点包括输出端点和输入端点,输出和输入缓冲区各是64 B,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲区,主机端点的输入缓冲区就是端点2的下传缓冲区。其中,CH375的端点0、端点1、端点2只用于USB设备方式,在USB主机方式下只需要用到主机端点。CH375A内部中断逻辑图如图2所示。
1.3 芯片特性
(1)低速和全速USB-HOST主机接口,支持LISB 2.0,外围元器件只需要1个晶振和2个电容;(2)低速和全速USB设备接口,支持动态切换主机与设备方式;
(3)主机端点输入和输出缓冲区各有64 B,支持常用的12 Mb/s全速USB设备和1.5 Mb/s低速设备;
(4)支持USB设备的控制传输、批量传输、中断传输;
(5)自动检测USB设备的连接和断开,提供设备连接和断开的事件通知;
(6)内置控制传输的协议处理器,简化常用的控制传输;
(7)内置固件处理海量存储设备的专用通信协议;
(8)并行接口包含8位数据总线,4线控制:读选通、写选通、片选输入和中断输出;
(9)串行接口包括串行输入、串行输出和中断输出,支持通信波特率的动态调整;
(10)支持5 V电源电压和3.3 V电源电压,支持低功耗模式。
2 硬件电路设计
2.1 蓄电池活化设备框图
蓄电池活化设备是一种集电池数据采集、分析及活化处理多项功能于一体的智能设备。在活化过程中,需要分别对每组24节电池的端电压实时采样并存储以供上层分析软件进行分析处理。传统设备与上层软件一般通过RS 232串行通信口进行数据传输,在实际应用中必须携带计算机到现场,同时要求计算机必须配备串口硬件使用极不方便。
在此,提出一种基于CH375A USB接口芯片的智能蓄电池活化设备,使蓄电池活化设备具有通用USB接口,为智能设备和计算机提供了一种简单方便的数据通信方法,具有操作简单使用方便等优点。蓄电池活化设备系统如图3所示,其工作原理如下所述。
蓄电池活化设备系统采用ATMEGA64单片机+U盘主控芯片CH375A,实现对U盘的读写,并把蓄电池活化设备的每次工作状态及参数值,按照固定格式以单独文件进行存储,可以为上层分析软件提供基站信息、电池组信息、电池组充放电状态、电池充放电电流、设置的充放电时间、实际充放电时间、电池组开路电压、电池组电压、单节电池电压、电池组电流、电池组温度、告警等必要信息。这里重点介绍CH375芯片的应用,系统中其他部分功能电路不做介绍。
2.2 CH375与ATMEGA64单片机接口原理
图4所示为ATMEGA64单片机通过CH375实现USB接口的硬件电路。
在该设计中CH375工作于USB-HOST主机并行接口方式,即直接把CH375芯片的TXD引脚接地,使CH375通过被动并行接口电路挂接到8位单片机的系统总线上。
CH7375的8位双向数据总线D0~D7直接与单片机的PA数据口相连,RD和WR分别连接到单片机的读选通输出引脚和写选通输出引脚。片选信号CS连接到系统译码电路74HCl38的P14引脚,该引脚为低电平时选通CH375。INT连接到单片机的中断输入PE7引脚,中断请求是低电平有效,单片机通过中断方式获取中断请求。地址输入线AO连接至单片机的PD4引脚,当AO引脚为高电平时选择命令端口,可以写入命令;当AO引脚为低电平时选择数据断口,可以读写数据。
3 软件设计
CH375可以支持各种常用USB全速设备,对符合Mass-Storage海量存储设备的通信协议的USB设备,使用内置固件可以通过Mass-Storage海量存储设备的通信协议直接通信。对不符合上述要求的USB设备需要外部单片机通过控制传输以及ISSUE_TOKEN命令或ISSUE_TKN_X命令自行处理相关通信协议。
3.1 本地端单片机软件
单片机通过8位并口对CH375芯片进行读写,所有操作都由1个命令码、若干输入数据和若干个输出数据组成。部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如下:
(1)在A0=1时向命令端口写入命令代码;
(2)如果该命令具有输入数据,则在A0=O时依次写入输入数据,每次1个字节;
(3)如果该命令具有输出数据,则在A0=0时依次读取输出数据,每次1个字节;
(4)命令完成,可以暂停或转入(1)继续执行下一个命令。
CH375芯片专门用于处理USB通信,在检测到USB总线的状态改变或命令执行完成后,CH375以中断方式通知单片机进行处理。
3.2 UBS接口软件程序流程
HC375不仅是一个通用的USB-HOST硬件接口芯片,还内置了相关的固定程序,可以方便地实现对USB存储设备文件系统的管理。在该应用中采用C语言编程,对蓄电池每次处理数据以一个文件的形式进行存储,程序支持文件打开、新建、删除和读写等功能。设备与USB存储设备之间通信过程主要包括对CH375芯片初始化、状态查询和并行数据的采集。通信部分程序流程如图5所示。
4 结 语
这里在蓄电池活化设备USB接口电路中成功地使用了CH375芯片,取得了令人满意的运行效果。利用该设计能够很好地实现检测设备数据移动转存,为蓄电池活化设备的使用者提供了极大方便。结果表明,在实现USB数据移动存储接口电路设计中采用CH375芯片具有软硬件接口设计简单,性价比高,操作方便等优点。
欢迎光临 DIY编程器网 (http://diybcq.com/) |
Powered by Discuz! X3.2 |