当前位置:首页 > 单片机 > 单片机
[导读]由于USB技术具有易于使用、热插拔、速度快、功耗低等特点,使得USB通信技术得到广泛应用。基于此,本文提出了一种基于CH372芯片的USB通信技术,可实现单片机与计算机之间的USB通讯。  1 CH372简介  USB接口芯片种

由于USB技术具有易于使用、热插拔、速度快、功耗低等特点,使得USB通信技术得到广泛应用。基于此,本文提出了一种基于CH372芯片的USB通信技术,可实现单片机与计算机之间的USB通讯。

  1 CH372简介

  USB接口芯片种类繁多,基本上可分为两类:一类是内带有CPU通用功能的USB接口芯片,另一类是内部不带集成CPU的纯粹的USB接口芯片。CH371、CH372、CH375芯片系列就是后者。本研究中,由于USB接口仅用于读写等数据传送功能,且数据处理及信号转换部分还需单片机控制,因此选用纯粹的USB接口芯片CH372与AT89C52单片机配合实现。在单片机端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便挂接到单片机/DSP/MCU/MPU等控制器的系统总线上;在计算机端,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写文件一样便捷。

  CH372芯片与普通的通用串口芯片相比有以下优点:

  1)全速设备接口,兼容USB2.0,即插即用,外围元器件只需晶体和电容即可;

  2)提供一对主端点和一对辅助端点,支持控制传输、批量传输、中断传输;

  3)具有省事的内置固件模式和灵活的外部固件模式,内置固件模式下屏蔽了相关的USB协议,自动完成标准的USB枚举配置过程,完全不需要本地端控制器做任何处理,简化了单片机的固件编程;

  4)通用Windows驱动程序提供设备接口,通过DLL提供API应用层接口;

  5)通用的本地8位数据总线,4线控制:读选通、写选通、片选输入、中断输出;

  6)主端点上传下传缓冲区各64字节,辅助端点上传下传缓冲区各8字节。

  2 系统硬件电路设计

  CH372芯片在本地端提供了通用的被动并行接口,包括:8位双向数据总线D7~D0、读选通输入引脚RD#、写选通输入引脚WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。通过被动并行接口,CH372可以很方便地连接到各种8位单片机、DSP、MCU芯片上,并且可以与多个外围器件共存。基于CH372芯片的信息和参数。这里给出了CH372芯片单片机端的USB通讯电路,如图1所示。同时,该芯片可通过普通USB传输线实现与计算机的互通,图1中J1即为USB接头。

  


 

  CH372芯片电路及PCB板设计需要注意的事项有:

  1)为了降低电磁辐射,减少来自外界的干扰,PCB板的晶体Y1的金属外壳接地;

  2)为了降低对时钟信号的干扰,PCB设计时尽量不在晶体及振荡电容附近走线,尤其是不要走继电器、电动机等带有瞬时冲击电流的电源线和强信号线;

  3)给USB插座单独供电,使USB设备刚插上时的电容充电过程不影响单片机和CH372:

  4)在USB插座前串接限流电阻或电感;

  5)PCB板布局要合理,电阻电容对齐,温度敏感的器件布置远离电源,板子要敷铜。
3 软件设计

  CH372在计算机应用层与本地端单片机之间提供了端对端的连接,在这个基础上,USB接口可以选用单向数据流和请求加应答两种通讯方式。采用请求加应答的方式实现通信,都是由计算机主动请求,单片机被动应答完成数据传输。在程序编制过程中约定3种数据传输模式,通过计算机传输数据进行确定,分别是:

  1)计算机下传数据01H,单片机上传存放数据的文件的参数;

  2)计算机下传数据02H及8字节参数,8字节参数包括存放数据的地址、数据的数量,单片机通过调用相关子程序分析参数,并将相应的数据上传;

  3)计算机下传数据03H,单片机执行关闭CH372的操作命令。

  3.1 单片机端程序

  在单片机端采用汇编语言编写程序,在程序设计过程中,考虑到系统的可靠性、稳定性以及调试过程直观性的需要,故采用汇编语言编写程序,程序流程如图2所示。

  

 

  3.2 计算机端程序

  CH372在计算机端提供了应用层接口,应用层接口是由CH372动态链接库DLL提供的面向功能应用的API,所有API在调用后都有操作状态返回,但不一定有应答数据。CH372动态链接库提供的API包括:设备管理API、数据传输API、中断处理API。

  在计算机端采用Visual Basic(VB)编写程序,利用VisualBasic的该特性,调用CH372动态链接库DLL提供的面向功能的应用API函数编写计算机端的应用程序,其工作流程如图3所示。

  


4 试验结果

  本文自主研发的基于CH372的USB通信技术,设计约定了3种通信模式,下面仅介绍模式2(下传02H和8字节参数)下的通信调试过程,其调试通信步骤如下:

  1)在计算机端安装了CH372的Windows系统下的驱动CH372DRV,安装后,上位机电路板可以像U盘一样在计算机上进行热插拔。

  2)运行上位机板USB芯片的初始化程序后,计算机端设备管理器会跳出如图4的窗口,表示芯片工作正常,计算机和上位机板就可以采用请求加问答的方式进行通信。

  3)计算机运行Visual Basic平台下的程序代码如下所示,向上位机发送数据02H和参数。

  

 

  


4)发送数据结束后,计算机跳出如图5反馈窗口,该窗口表示下传9个参数成功,单片机在接收到02H及相应的参数后,通过分析参数,确定要上传数据的存放地址、上传数据的个数,并通过CH372将数据上传至计算机。在计算机端,接收的数据放在预先设定的文件中,如图6所示,以备为计算机分析处理数据所调用。

  

 

  5 结束语

  本文研究了基于CH372的USB通讯技术,设计了采用CH372实现单片机与计算机连通的硬件电路,并自主开发了计算机端和单片机端的应用程序。试验表明在所设计的约定下,单片机与计算机很好地实现了数据通信,且该设计能够明显提高了系统数据传输速度,增强了数据传输的准确性和可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭