0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CH375A控制芯片实现USB双模式接口的设计

电子设计 来源:电子技术 作者:熊雪晖 2021-05-05 13:54 次阅读

1 设计背景

随着嵌入式处理器设计功耗的降低,越来越多的设备朝着小型化和集成化发展,而外形的精简和功能的增加对外围接口功能的兼容性和通用性提出了新的要求,如何在有限的空间内通过最少的外围接口实现最多的功能是嵌入式系统设计面临的新课题之一。与研发新的通信协议相比,充分利用现有接U的多种通信模式更具有现实意义。本文提出一种针对USB接口工作模式复用的设计思路和实现方法。

2 双模式接口的设计原理

通用串行总线(USB)接LJ是当前应用领域最为广泛的接口之一,主要优点是速度快、功耗低,支持热插拔和具有良好的兼容性。根据USB通信协议的设计,USB接口支持双向通信,但只能有一个主控端对通信过程进行控制,因此USB设备存在两种工作模式:USB.Host模式和USB.Device模式。

工作于USB—Host模式的设备包含USB主控器,并且能够控制完成主机和USB设备之间的数据传输,USB系统的数据和命令的传输都是由USB—Host设备来启动的,常见的有计算机以及其他具有USB主控芯片的设备。而工作于USB-Device模式的设备则可分为USB集线器和USB功能设备两种。常见的u盘、MP3和移动硬盘都是USB功能设备。每个USB功能设备内部都包含有描述其功能和资源需求的配置信息,USB.Host设备必须在使用前对其进行配置。两种模式的通信交互模式如图1所示。

在传统的数据通信应用中由于设备功能单一,固定地将接口设定为Host或者Device能够满足实际需求,但在嵌入式系统的应用中往往会出现既需要访问USB设备,又需要和计算机进行通信的情况,这就需要在同一个接口上实现Host和Device两种工作模式。

3 双工作模式的设计实现

3.1硬件设计

设计选用同时支持USB.Host和USB.Device模式的CH375A作为接口控制芯片,该芯片具有8位双向数据总线和完整的读写、片选控制信号,具有全速USB—Host主机接口,支持动态切换主机与设备方式,兼容USB2.0协议。

在USB.HostI作模式下,CH375A提供了串行通信方式,通过串行输入、输出和中断输出与嵌入式主控芯片相连;在USB.DeviceT作模式下,CH375A内置了USB通信中的底层协议,可以采用方便的内置固件模式,也可以采用灵活的外置固件模式,完全满足设计需求。

由于物理接口是复用的,连接时采用并行数据接口与主控芯片通信。两种模式不能同时工作,而接口不能自动识别接入设备的工作模式,因此主从设备识别需要由嵌入式主控芯片根据外部输入来识别。硬件连接图如图2所示。

一图中输入输出接口符号均为CH375A与主控芯片互连的信号,为增强USB信号强度,设计电路时对差分信号采用等长走线,并串接共模电感以减小串扰。

3.2软件设计

设备上电时默认处于”未启用的USB设备”方式,需要主控芯片根据外部输入指定新的工作模式。当设备工作于USB.Host模式时,需要主动地对接入的设备进行检测和初始化,具体流程如图3所示。

程序采用查询方式检测设备接入,检测到设备的存在后首先获取设备中断状态并清空中断请求,初始化设备并查询该设备的存储特性,最后获取设备容量信息并对设备进行读写操作。部分功能函数代码如下:

CheckExist(); //测试CH375A工作状态;

SetUSBMode(USB MODE5); //设置CH375A工作于Host模式;

GetUSBStatus(); //初始化中断状态;

USB_DISK_INIT(); //初始化USB设备;

USB_DISK_INQUIRY() //查询USB存储设备的特性

GetUSBDiskSize(); //获取设备容量;

。..

WriteUSBCmd(int8 x); //向设备写入命令;

WriteUSBData(int8 x); //向设备写入数据;

。..

当设备工作于USB.Device模式时,设备本身就成为一个需要主机控制的USB设备,在接入上位机后流程如图4所示。

此时设备与上位机的通信方式采用请求加应答方式,由上位机主动请求数据,设备被动地应答上传数据。部分功能函数代码如下:

USB_Reset_ALL(): //设备复位;

CheckExist(); 测试CH375A工作状态;

SetUSBMode(USB_MODE2); //设置CH375A工作于内部固件Device模式;

GetUSBStatus(); //初始化中断状态:

USB Open Device(); //通信之前必须先打开设备:

USB_GetFirmwareInfo(); //获取调试固件程序版本,并取消未完成的上传数据块

。..

当设备需要在Host模式和Device模式中进行切换时,由主控芯片接受外部输入的模式切换信号,然后向CH375A发送模式转换命令,流程如图5所示。

在不同模式之间切换,首先要切换至“未启用的USB设备”模式,即上电复位后的默认模式。在经过一定的延时之后,再切换到所需的工作模式,如考虑进一步确保系统的稳定性还可在延时之前加入复位命令。具体功能函数如下:

SetUSBMode(USB_MODE0); //设置CH375A为未启用设备模式;

Delay(1000): //延时

SetUSBMode(USB_MODEn);//设置CH375A为目标模式;

。..。

4 结束语

实践证明,按照程序所规定的流程对USB接口进行配置在调试板上工作正常,在两个模式切换的过程中没有产生任何错误。由于芯片限制,此系统目前只能工作在USB1.1模式下,如何进一步提高两种工作模式下的数据传输速率将是下一步研究的重点。

作者简介:

熊雪晖(1984-),男,61938部队,助理工程师,研究方向:嵌入式系统设计与数据安全。联系地址:北京市海淀区半壁街南路2号,中国人民解放军61938部队数据备份室(100089)。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222141
  • 芯片
    +关注

    关注

    447

    文章

    47788

    浏览量

    409104
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288401
收藏 人收藏

    评论

    相关推荐

    USB总线接口芯片CH375

    CH375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/S
    发表于 03-08 14:28

    USB蓝牙双模式背光键盘

    切换。功能特点:•USB蓝牙双模式工作实时切换 •最多可连接255个蓝牙计算设备。 •多色背光•6键盘无冲设计 •29个功能热键•Broadcom蓝牙3.0 •轻薄设计:4.0 mm厚度, 220g重•450mA电池`
    发表于 02-22 14:16

    【Rico Board申请】双模式智能机器人

    双模式智能机器人的设计:模式一、无人导航,加入模糊神经网络的蔽障算法实现自动蔽障。二、遥控模式,基于无线遥控模块(预计使用蓝牙),完成遥控导航。4。硬件模块预计主要会涉及:蓝牙、超声
    发表于 10-20 15:50

    基于双模式USB接口的便携式比色计设计

    CH375支持 5V和 3.3V电源电压和低功耗模式。2.双模式USB接口硬件电路设计2.1 USB
    发表于 11-20 11:18

    采用CH375接口电路实现LPT-USB打印机驱动器设计

    单片机通过CH375控制USB打印机的硬件电路。CH375通过被动并行接口电路挂接到8位单片机的系统总线上,
    发表于 06-18 05:00

    请问USB控制芯片CH376 CH375的休眠模式下电流有多少?

    请问USB控制芯片 CH376 CH375 的休眠模式下电流有多少有没有人回答我一下,我看官方手
    发表于 07-14 06:02

    基于CH375多通道USB接口与PC机通信的实现

    利用USB接口技术,采用USB模块CH375,在加速器核辐射监测系统中实现了多个探测通道USB
    发表于 06-26 08:51 39次下载

    CH375中文资料,pdf datasheet(USB总线接口芯片)

    CH375 是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/
    发表于 07-22 11:07 299次下载

    USB接口芯片CH375的原理及应用

    USB接口芯片CH375的原理及应用:对USB 接口芯片
    发表于 09-20 18:07 132次下载

    基于双模式USB接口的便携式比色计设计

    本文设计一种以C8051F020 单片机为处理器,双模式USB接口的比色计仪器。该仪器可以工作在USB 设备和主机两种模式。在设备
    发表于 01-07 14:23 23次下载

    基于双模式USB接口的便携式比色计设计

    基于双模式USB接口的便携式比色计设计   引言:   目前市场上的光电比色计一般都是通过 RS232串口与计算机通信,随着计算机技术的发展,这种接口实现
    发表于 02-22 09:29 1087次阅读
    基于<b class='flag-5'>双模式</b><b class='flag-5'>USB</b><b class='flag-5'>接口</b>的便携式比色计设计

    USB接口芯片CH375与单片机的接口电路

    USB 接口选择南京沁恒电子公司研发的USB 接口芯片CH
    发表于 03-22 15:52 7527次阅读
    <b class='flag-5'>USB</b><b class='flag-5'>接口</b><b class='flag-5'>芯片</b><b class='flag-5'>CH375</b>与单片机的<b class='flag-5'>接口</b>电路

    USB总线通用接口芯片CH375对比色计仪器的设计

    CH375是一种USB总线的通用接口芯片,支持 USB-HOST主机方式和 USB-DEVICE
    发表于 07-17 15:21 1805次阅读
    <b class='flag-5'>USB</b>总线通用<b class='flag-5'>接口</b><b class='flag-5'>芯片</b><b class='flag-5'>CH375</b>对比色计仪器的设计

    沁恒股份USB总线接口芯片:CH375概述

    CH375 是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/
    的头像 发表于 11-01 11:16 2259次阅读
    沁恒股份<b class='flag-5'>USB</b>总线<b class='flag-5'>接口</b><b class='flag-5'>芯片</b>:<b class='flag-5'>CH375</b>概述

    用51单片机和ch375实现键鼠功能

    。若真想实现键鼠功能,推荐使用32及类似的单片机做。简单介绍:ch375CH375 是一个 USB 总线的通用接口
    发表于 11-20 14:06 19次下载
    用51单片机和<b class='flag-5'>ch375</b><b class='flag-5'>实现</b>键鼠功能