《USB2.0接口芯片CY7C68013的固件程序开发》.docVIP

《USB2.0接口芯片CY7C68013的固件程序开发》.doc

  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文档。上传文档
查看更多
《USB2.0接口芯片CY7C68013的固件程序开发》.doc

USB2.0接口技术摘要:USB2.0接口技术为外设与主机之间提供了一种灵活高效的双向数据通道。可广泛地应用于数据采集、工业控制和消费数码等方面。本文简要介绍了支持USB2.0协议的接口芯片CY7C68013的结构。分析了 CY7C68013芯片的固件程序框架的结构。给出了如何在该固件程序框架下使用C语言进行固件程序开发的方法。? ?? 关键字: USB2.0, 接口,固件程序 ??????????????????????????????? 引言: ??? 现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。USB2.0接口以其高速率、灵活性等优点渐有取代传统的ISA及PCI数据总线的趋势。与此同时作为一种灵活而又低廉的接口技术,USB接口更是以其热插拔特性成为各种PC外设的首选接口。因此,围绕着USB2.0的开发成为当前的一大热门。 ??? 下面将以Cypress公司的CY7C68013芯片为例来探讨一下支持USB2.0协议的固件程序的开发。 1. 接口芯片CY7C68013简介: CY7C68013芯片是Cypress公司的EZ-USB FX2系列中一种既满足USB2.0协议同时兼容USB1.1协议的功能强大的接口芯片。其结构如下图所示[2]: ???????????????????? 图1?? CY7C68013接口芯片结构 该芯片有如下几个特点[2]: 1)?集成有一块增强型8051内核 与普通8051微处理器相比该增强型处理器有如下改进: l?完成每个指令周期只需4个时钟周期; l?时钟频率可软配置为12/24/48MHz; 2)?集成有一个串行接口引擎(SIE)以及一个USB2.0收发器 由于USB2.0收发器和串行接口引擎完成了USB协议的封包、解包等功能,屏蔽了底层信号的电气特性。 3)?支持软配置: 采用再次枚举(ReNumeration)技术,固件程序可以保存在主机上,每次上电后通过USB接口将固件下载到芯片RAM中。具有很大的灵活性。 4)?通用可编程接口(GPIF): GPIF提供可编程控制的接口时序,使得无需附加逻辑(glue logic)即能实现与外围芯片如DSP、ASIC等的连接,同时也支持ATAPI、EPP等总线标准。 5)?四个可编程端口(Endpoint): CY7C68013共有7个输入输出端口:EP0、EP1OUT、EP1IN、EP2、EP4、EP6、EP8。其中EP2、EP4、EP6、EP8 分别可以被配置为批量/中断/同步传输模式,传输方向均可配置为出/入。 6)?可编程缓冲区(Buffer)深度: 端口EP2、EP6的缓冲区大小可编程为512或1024字节,深度可编程为2/3/4倍大小;端口EP4、EP8的缓冲区固定为512字节大小,深度为2倍。采用不同的配置方式,实现特定带宽、速率要求的数据传输。 2.开发工具: ??? Cypress公司的网站()上提供了CY7C68013芯片的开发工具包下载,该开发包提供了开发固件程序的所需的一些资源:Keil uVision2集成开发环境(限制版);Cypress C51固件框架程序以及一些例子程序。 ??? Keil uVision2 是一个功能强大的集成开发环境,该开发环境集成有C51编译器和A51汇编器以及BL连接定位器等一系列工具和模拟仿真、调试器,因此它能够支持C程序和汇编程序混合的工程,给软件的开发带来很大的便利[5]。 Keil C51是一种专为8051单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储空间极小,完全可以个汇编语言相媲美。同时,C51具有丰富的库函数,多达100多种功能函数。因此,采用C语言作为开发语言以Keil uVision2作为工程开发平台,完成源代码的编写、仿真、调试,将在相当程度上降低固件开发难度、提高开发效率[4]。 3.固件结构及组成: ??? 固件程序的功能虽然复杂,在编写时需要用到大量的函数,但其基本结构却相对简单,包括如下几个部分: 3.1设备描述符表: ??? 每一个USB设备在与主机建立数据通信之前必须先向主机通报自己的具体配置,包括设备的厂商、产品识别号(VID、PID),设备的供电方式以及能量消耗等一系列重要信息。而这些有关设备的信息就是通过设备描述符表来通报给主机,从而使主机采用适当的方式建立与设备之间的连接.其结构如下所示: ??? DeviceDscr:?? ????? db?? 18?????????????? ;;该描述符长度(以字节为单位) ????? db?? DSCR_DEVICE?? ;; 描述符类型 ????? …… ????? db?

文档评论(0)

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

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

1亿VIP精品文档

相关文档