o 引 言
随着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芯片具有软硬件接口设计简单,性价比高,操作方便等优点。
仪器设备——示波器应该这样用!
输入输出模块,4 路开关量信号采集
阿里达摩院首份科技趋势报告出炉:2019年十大科技趋势预测
家庭常用的开关有哪些?
了解 在Linux 服务器绝对不能用的命令
基于CH375的USB移动存储接口设计
linux路由表的维护方法及常见类型
浪涌模型成功嵌入Mixmode仿真系统
建设泛在电力物联网的探索与实践
一个基于LT1070构建的5VDC至12VDC升压转换器电路
如何彻底关闭win10中的Cortana小娜
NAND闪存加速度,推动Multi-Die验证新范式
万用表型号及分类大全
系统工程的起源与发展趋势
中兴通讯推出了业界首个基于AI的5G网络切片商用运营系统
英特尔推出最新服务器芯片
体感试衣镜的应用为你带来不一样的智能试衣体验
把交流电变成直流电的装置叫做什么?
谷歌I/O大会推出新的智能家居设备
人工智能与国防安全解读