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

最新更新时间:2012-04-23来源: 互联网关键字:USB2.0  接口芯片  CY7C68013 手机看文章 扫描二维码
随时随地手机看文章

摘要: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公司的网站(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种)
3.2固件程序框架源码:
    
该文件提供了一个固件程序的框架结构,适用于一般的对数据传输的控制。该结构提供了对开发者开放的程序接口,开发者通过在这些接口函数中加入适当的代码来实现所需的功能。
    其工作流程如图 2所示,
   
                  图2      固件程序框架工作流程


3.3接口函数:
    
在固件程序框架中提供了功能函数接口,通过在这些接口函数中加入自行开发代码可以实现特定的功能并大大降低固件程序的开发难度,加速USB系统开发的过程。这些接口函数分三类:任务分配、标准设备请求执行和USB总线中断处理[3]。下面将依次介绍这些接口函数和用途。
3.3.1任务分配
    TD_Init()
说明:此函数主要是完成FX2的初始化,在FX2再次枚举和开始任务分配前被调用,其目的是初始化各个端口以及各端口的先入先出缓冲区。
    TD_Poll()
    说明:此函数在设备运行时被重复的调用,它应包括完成特别任务的代码。在该函数返回前,优先级高的任务可能已经完成。但是,如果它返回值为假,FX2将不会影响设备请求和USB总线设备挂起事件。如果需要大量的处理时间,FX2就会通过多次调用TD_Poll()函数将时间分段。
    TD_Suspend()
    说明:此函数是在设备进入挂起状态前调用的,开发者在其中加入适当的代码,对设备的工作状态进行配置,可使设备处于低功耗状态并返回真值。但是开发者可以改动TD_Suspend()的程序代码,使其返回为假,这样可以使FX2不进入挂起状态。
    TD_Resume()
    说明:当外部要求重新启动时(如,外界产生Wakeup中断或者USB总线有传输活动发生),设备就会通过调用此函数来对处理器进行重启,也就是TD_Suspend()函数的逆操作。此时,设备在正常电源下重新启动。
3.3.2设备请求
    设备请求函数具有如下的形式:
    BOOL DR_xxx(void)
    {
         ……     file://设备请求处理代码
         return(TURE);
    }
主要是完成对于来自主机的命令及请求的处理工作,如配置端口等。
3.3.3USB中断
    FX2设备的中断包括与标准8051中断相同的中断同时也包含一些FX2特有的中断。由于在固件程序中提供了中断服务例程接口,开发者只须在需要处理的中断服务例程接口中加入自己编写的中断服务代码即可完成对相应中断请求的服务,这样就可以避免深入研究FX2的中断自动引导(Interrupt Autovectors)的逻辑结构[2]。这些中断服务例程接口函数的形式为:
    void ISR_xxx(void)  interrupt 0
{
        ……  file://开发者中断服务代码
        EZUSB_IRQ_CLEAR();
        USBIRQ = bmXXX;         // 清除该中断请求
}


4. 总结:


在了解了Cypress的固件程序框架结构之后,采用Keil uVision2开发环境在该Cypress的固件框架下开发可以在很大程度上降低固件程序的开发难度并缩短开发周期,获得较高的效率。

关键字:USB2.0  接口芯片  CY7C68013 编辑:神话 引用地址:USB2.0接口芯片CY7C68013的固件程序开发

上一篇:USB双机通讯的原理
下一篇:X9628与PIC16C72的接口电路图

推荐阅读最新更新时间:2023-10-12 20:39

用网络接口芯片PS2000实现智能化家电与Internet连接
    摘要: 介绍了一种新型的智能网络接口芯片PS2000的结构和原理,以及应用这实现智能化家电与Internet连接。PS2000是Webchip网络接口系列中的重要成员,通过它可以实现智能公家电与PC机平台的网络接口,使智能化家电通过PS2000上网十分方便,并且设计这样的系统无需熟知网络协议。     关键词: 网络接口芯片 Internet Webchip PS2000 MCU Gateway 现在人们正处在信息时代,而Internet已经成为信息社会中很重要的组成部分。Internet技术深入到人们日常生活和工作中使用的电子设备中,可使人们快捷方便地查询和发布各类信息。同时,人们也希望通过Int
[手机便携]
DP来势凶猛,HDMI在便携市场寻求安慰
  2008年将是DisplayPort(简称DP)技术进入飞速发展的一年。在2008年的CES展上,采用最新DisplayPort技术的计算机主板、显示器、芯片等产品在DisplayPort 区集中进行了展示,预示着支持DP标准的产品在2008年开始集中上市,未来几年在PC数字接口市场将快速上涨。终端用户接触最直接的DP产品是支持DP接口的主板、显卡以及计算机显示器,而在LCD 面板上采用DP取代LVDS的应用进程也在加速。 李秀东:DP接口给用户感觉更友好,这种美妙的心理恰是市场需求的体现。   “DP接口给用户感觉更友好,这种美妙的心理恰是市场需求的体现。”硅谷
[焦点新闻]
射频接口芯片功率放大集成电路的选择
  选用美国Maxim公司的MAX4182。MAX4182为单片、带宽、含门限的电流反馈放大器。   MAX4182的管脚分布如图1所示。在图1中,VOC与VEE之间的电压输入为12V,模拟输入电压范围为(VEE- 0.3V)到(VCC+0.3V)。管脚SHDN电平为VCC与VEE之间的电平。MAX41 82的典型应用——反相放大器电 路如图2所示。                                图1 MAX4l82的管脚分布                                                                           图2  MAX4182的应用电路 
[嵌入式]
基于FPGA的USB接口数据采集系统设计
摘 要: 介绍了一种高速实时数据采集系统的设计。该系统以FPGA作为逻辑控制的核心,以USB2.0作为与上位机数据传输的接口,能同时支持单端16路和差分8路模拟信号输入,最大采样率为200 kHz,12位的转换精度。描述了系统的主要组成和FPGA模块化设计的实现方法,并给出了其核心模块的时序仿真波形图。 关键词: FPGA; USB2.0; 数据采集; 转换精度 传统的数据采集系统中通常采用单片机或DSP作为控制模块,控制A/D转换、存储和其他外围电路的工作,利用PCI、ISA等接口与上位机进行通信。随着数据采集对速度、实时性、简易性的要求越来越高,传统数据采集系统的弊端也日趋明显。近年来随着FPGA技术和USB
[嵌入式]
基于FPGA的USB<font color='red'>接口</font>数据采集系统设计
USB2.0接口PC TV MicStickD参考设计
  Micronas公司的SB2.0接口PC TV MicStickD参考设计可以让消费者在任何配有USB2.0接口的台式机或笔记本电脑上观看并实时接收DVB-T视频广播及节目表信息。   该方案整合了系列产品,包括DRX 3975D COFDM(编码正交频分调制)数字解调器、Microtune MT2060数字电视调谐器以及Cypress EZ-USB FX2LP控制器。Micronas DRX 3975D是首款符合NorDig-Unified V1.0.2接收器规格的COFDM解调器,MicStickD可以完全兼容全球现有的DVB-T接收系统标准。   DRX 3975D使用高级的数字滤波技术,并整合A/D转换器和PLL
[嵌入式]
具有I2C总线接口的A/D芯片PCF8591及其应用
1 引言 I2C总线是Philips公司推出的串行总线,整个系统仅靠数据线(SDA)和时钟线(SCL)实现完善的全双工数据传输,即CPU与各个外围器件仅靠这两条线实现信息交换。I2C总线系统与传统的并行总线系统相比具有结构简单、可维护性好、易实现系统扩展、易实现模块化标准化设计、可靠性高等优点。 在一个完整的单片机系统中,A/D转换芯片往往是必不可少的。PCF8591是一种具有I2C总线接口的A/D转换芯片。在与CPU的信息传输过程中仅靠时钟线SCL和数据线SDA就可以实现。 2 芯片介绍 PCF8591是具有I2C总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。这就是说
[单片机]
具有I2C总线<font color='red'>接口</font>的A/D<font color='red'>芯片</font>PCF8591及其应用
基于加速度传感器的无线人体动作测量设备
引言     长久以来,使用人体自然动作与计算机交互一直是人机交互技术追求的目标之一。目前主流的人机动作交互技术有2种:视频动作识别技术和惯性器件动作识别技术。     前者以Microsoft Xbox 360的Kinect视频感应器为代表,依靠摄像头采集人体动作视频,通过识别算法进行分析,可较准确地识别人体动作,但需要强大的硬件处理能力、复杂的软件识别算法,而且对于多人、高复杂度动作难以识别。后者的代表为任天堂的Wii mote手柄,主要依靠惯性器件反映出肢体的速度、位移及倾斜度。该技术算法简单,识别精度较高,但需要佩戴传感器模块,可能给体验者带来不适。识别动作的复杂度与传感器的数量、精度有关,如Wii mote局限在于仅能感知
[嵌入式]
带高速USB2.0 OTG的最低价ARM9微控制器
恩智浦半导体(NXP Semiconductors,由飞利浦创建的独立半导体公司)近日宣布推出LPC3130和LPC3131,它们是具有高速(480Mbps)USB2.0 On-The-Go (OTG)接口的业界最低价的ARM9微控制器。 恩智浦LPC3130集成了一个高速USB2.0 OTG,包括PHY, 特定的PLL、180MHz ARM926EJ核、96KB SRAM、NAND闪存控制器、灵活的外部总线接口、四通道10位 A/D,以及众多串行和并行接口于一颗单芯片上,针对消费、工业、医疗以及通讯等应用市场。LPC3130带一个非常灵活的时钟产生单元(CGU),能够提供运态时钟门控,级化优化系统以降低功耗。 恩智浦半导体微处
[单片机]
小广播
热门活动
换一批
更多
最新模拟电子文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved