新闻中心

EEPW首页 > 模拟技术 > 设计应用 > USB2.0接口芯片CY7C68013的固件程序开发

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

作者:时间:2012-04-23来源:网络收藏

摘要:接口技术为外设与主机之间提供了一种灵活高效的双向数据通道。可广泛地应用于数据采集、工业控制和消费数码等方面。本文简要介绍了支持协议的的结构。分析了 芯片的固件程序框架的结构。给出了如何在该固件程序框架下使用C语言进行固件程序开发的方法。
关键字, 接口,固件程序

引言:

现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。USB2.0接口以其高速率、灵活性等优点渐有取代传统的ISA及PCI数据总线的趋势。与此同时作为一种灵活而又低廉的接口技术,USB接口更是以其热插拔特性成为各种PC外设的首选接口。因此,围绕着USB2.0的开发成为当前的一大热门。
下面将以Cypress公司的芯片为例来探讨一下支持USB2.0协议的固件程序的开发。


1. CY7C68013简介:
CY7C68013芯片是Cypress公司的EZ-USB FX2系列中一种既满足USB2.0协议同时兼容USB1.1协议的功能强大的。其结构如下图所示[2]:

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

图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公司的网站(http://www.cypress.com)上提供了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 1 ;; 共有几种配置(1种)

pid控制相关文章:pid控制原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭