基于ch372的usb高速接口的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CH372的USB高速接口的设计 导语:?本文针对现有与计算机通信的高速接口存在的问题,以STC89C58为核心,基于USB接口芯片CH372设计了一个高速接口,详细介绍了硬件电路设计,下位机固件程序设计和上位机应用程序设计。 摘要:本文针对现有与计算机通信的高速接口存在的问题,以STC89C58为核心,基于USB接口芯片CH372设计了一个高速接口,详细介绍了硬件电路设计,下位机固件程序设计和上位机应用程序设计。结果表明,该接口能很好完成高速通信,有较高的可靠性,可用于检测测量控制系统的高速数据采集和监控调试等场合,具有很大的应用价值。 关键词:USB;高速接口;CH372;固件编程;数据采集 0引言 在现代科学研究和工业现场应用中,信号采集和图像处理等诸多领域,对高速的数据通信要求越来越高。传统的高速数据通信多是基于PCI,ISA等接口的数据卡,存在过多占用系统资源、设计复杂、不便携带、价格较高和扩展性差等缺点。因此提出一种基于USB接口芯片CH372实现的高速接口。USB(UniversalSerialBus,通用串行总线)是在1995年被提出来的,并由Compaq,DigitalEquipmentCorp,IBM,Intel,Microsoft,NEC和NorthernTelecom等7家公司定义和推广[1]。由于其具有的易扩展,支持热插拔,价格低廉,使用方便等优点,应用广泛,已成为计算机外设的主流必备接口之一,具有低速和高速两种模式,在USB2.0高速模式下,速率可达480Mbps,满足大部分高速通信的要求。 1CH372芯片介绍 CH372是沁恒公司生产的USB总线的通用设备接口芯片。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写文件。同时,CH372内置了USB通讯中的底层协议,具有省事的内置固件模式和灵活的外置固件模式。在内置固件模式下,CH372自动处理默认端点0的所有事务,本地端单片机只要负责数据交换,所以单片机程序非常简洁。在外置固件模式下,由外部单片机根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备[2]。 CH372为全速USB,兼容USB2.0,即插即用,外围元器件简单,只需要晶体和电容。提供一对主端点和一对辅助端点,支持控制传输、批量传输、中断传输等多种传输模式。通用Windows驱动程序提供设备级接口,通过DLL提供API应用层接口。可以自定义厂商标识(VendorID)和产品标识(ProductID)。主端点上传下传缓冲区各64字节,辅助端点上传下传缓冲区各8字节[2]。由于CH372内置了USB底层通讯协议,且提供驱动程序,大大节省了开发者的开发时间,提高效率,降低了成本。 2硬件设计 CH372与单片机连接可选择总线扩展或非总线扩展的方式,在本设计中,AT89C58和CH375采用地址/数据复用的总线扩展方式连接。其硬件接口电路图如图1所示。 图1硬件接口电路 Fig.1HardwareInterfaceCircuit CH372芯片的八位数据线与单片机P0口连接,RD#和WR#则分别连接到单片机的读选通输出引脚和写选通输出引脚,片选信号CS#为低时选中芯片,INT#用于接单片机中断引脚INT0,中断请求为低电平有效。当A0引脚为高电平时选择命令端口,可以写入新的命令,或者读出中断标志;当A0引脚为低电平时选择数据端口,可以读写数据[3]。 CH372的UD+和UD-引脚直接连接到USB总线上。R1是为了芯片安全而串接保险电阻,大小为1Ω。CH372芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。CH372的VCC接+5V电源,在VCC和GND之间的0.1μF电解电容C2用于外部电源退耦,电容C1选用独石电容或者高频瓷片电容,用于CH372内部电源节点退耦。在设计PCB时,退耦电容C1和C2要尽量靠近CH372的相连引脚;使D+和D-信号线尽量平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和XO引脚相关信号线的长度,为了减少高频时钟对外界的干扰,可以在相关元器件周边环绕地线或者覆铜。 3软件设计 3.1下位机固件程序设计 下位机固件程序是与CH372相连的单片机中执行的代码,配合相应上位机应用程序,实现数据通信。其程序流程图如图2所示。 图2程序流程图 Fig.2ProgramFlowChart 固件程序主要分为初始化程序模块和中断程序

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档