USB通信实现

USB通信实现
一、CY7C68013A芯片简介
CYPRESS公司的EZ-USB FX2系列芯片是世界上第一个集成USB2.0协议的微处理器,它支持12Mb/s的全速传输和480Mb/s高速传输,可使用4种USB传输方式:控制传输、中断传输、批量传输和同步传输;完全使用USB2.0,并向下兼容USB1.1。
芯片结构
EZ-USB FX2的前身是EZ-USB ,其芯片固件也是存储在主机上而不是在芯片内部,显著特点是代码升级容易。芯片结构也与EZ-USB 类似,主要包括USB2.0收发器、串行接口引擎(SIE)、增强型8051、16KB的RAM,4KB的FIFO存储器、I/O口、数据总线、地址总线和通用可编程结构(GPIF),如图1.1所示:
伞齿轮传动
图1.1 EZ-USB FX2系列芯片的结构
CY7C68013A特点:
1、 USB2.0单芯片解决方案,包括USB2.0收发器,串行接口引擎USB2.0和增强型51内核。组合鞋架
2、 可“软配置”RAM,大小为16k,取代传统51的RAM和ROM,程序可通过下面方式下载:
通过USB口下载
通过外部E2PROM装载
手机防盗系统● 外界存储设备(只有128引脚封装技术)
3、 通用可编程接口GPIF,GPIF是FX2的一个重要技术:
可设置为主从模式,主模式下可对外部FIFO、存储器、ATA接口设备进行高速读写操作,从模式下外部主控制器(如DSP,MCU)可把GPIF端口当做FIFO进行高速读写操作。
支持与外设通过并行8位或16位总线传输。
支持通过GPIF工具编程,灵活产生各种波形。支持多CTL输出和多RDY输入。
4、 增强工业级8051内核,特点有
隐藏的信息
支持48M时钟
4个时钟指令周期,在时钟为48M时,单指令执行时间为83.3ns
两个UART
三个TIMER
多中断系统
多数据指针
5、3.3V工作电压,低功耗,在任何工作模式下电流小于85mA。
6、智能串行接口引擎(SIE)。
7、USB中断矢量。
8、100KHZ或400KHZ I2C接口。
9、4个集成FIFO
低成本与外设实现“胶连接”自动实现从16位FIFO转换
薄膜式压力传感器支持主从工作模式
FIFO支持内部时钟和同步数据触发
轻松实现与ASIC,DSP连接
10、包括40个通用IO端口。
11、4种可选封装—56引脚SSOP和QFN,100引脚TQFP和128引脚TQFP。
功能特点
EZ-USB FX2拥有一个独特的结构,其串行接口引擎(SIE)负责完成独立串行数据的编解码、差错控制、位填充等于USB协议有关的功能,它把嵌入式MCU(增强型8051)解放出来,简化了固件代码的开发。FX2中还包含一个通用可编程结构(GPIF),它支持所有通
用的总线标准,如ATAPI(PIO和UDMA)、IEEE1284(EPP并行口)和UTOPLA等,并可与外部ASIC,DSP等直接连接。
EZ-USB系列芯片需要微处理器(增强型8051)参与端点FIFOS与外围电路间的数据传输,由于增强型8051本身的工作频率较低,这限制了传输速率的进一步提高。虽然这种限制在12Mb/s全速模式下并不明显,但当速率提升至480Mb/s的告诉模式时,微处理器必将成为整个系统的带宽瓶颈。为此,EZ-USB FX2中,USB接口和外围电路直接共享FIFO存储器。这时增强型8051可不参与数据传输,但可通过FIFO或RAM的方式访问所传输的数据,另外,这些FIFOS与USB之间的传输是以数据包的形式实现的,而不是一次只传输1字节。这种处理结构被成为“量子FIFO”,它较好地解决了USB告诉模式下的带宽问题。
二、Slave FIFO控制器模块设计
采用CyPress公司的EZ-USB FX2接口芯片来传输数据,此芯片完全支持USB2.0协议,最高传输速率可以达到48OMB/S,非常适合传输大数据量的视频信号。为了降低用户设计难度及缩短设计周期,CyPress公司为开发者提供了完整的开发套件,包括开发板及非常详尽的开发资源,使开发者可以在短期内开发出自己的USB设备。
在传输要求甚高的情况下,选用EZ-USBFXZ提供的Slave FIFO的BULK(批量传输)模式,能很好的满足传输要求。在这种模式下,USB芯片内存单元中划分出6个端点(end Point),以下简称为EP。Ep0和Ep1被保留作为芯片配置FIFO。EP2、4、6、8可作为用户传输,并且4个EP采用双重FIFO(double FIFO)的方式组织构成。
图2.1 FX2端点缓冲区
举例来说,如上图2.1所示,USB执行OUT传输,将EP2端点设成512字节双重。在外部器件看来,USB端只要有1个512字节的FIFO为“半满”,就可以继续发送数据。当操作的FIFO写“满”时,FX2自动将其转换到外部接口端,排除等候读取;并将USB接口队列中下一个为“空”的FIFO转移到USB接口上,供其继续写数据。外部接口端与此类似,只要有1个FIFO为“半满”,就可以继续读取数据。当前操作的FIFO读“空”时,FX2自动将其转换到USB接口端,排除等候写并将外部接口队列中下一个为“满”的FIFO转移到接口上,供外部器件使用。
图2.2所示为双重FIFO的工作过程。当一个512字节的FIFO满时,FPGA可以取出里面的数据,同时PC可以向另一个FIFO写入数据(一组实箭头)。当一个512字节的FIFO为空时,PC可以写入数据。同时FPGA可以读取另一个仍然有数据的FIFO(一组虚箭头)。
旋转座椅
图2.2 双重FIFO工作过程
CY7C68013A与外设的数据传输模式
CY7C68013A有Ports模式、Slave FIFO和GPIF三种接口模式。
(1) Ports模式是一种最基本地数据传输方式,其数据传输主要由固件程序完成,需要CPU的参与,因此数据传输速率比较低,适用于传输速率要求不高的场合。
(2) Slave FIFO方式是从机方式,外部控制器,如FPGA,可像对普通FIFO一样对FX2的多层缓冲FIFO进行读写。FX2内部的FIFO提供的时序信号、握手信号(满、空等)和输出使能等。这里就是在Slave FIFO模式下实现USB2.0接口和FPGA的数据通信。

本文发布于:2024-09-23 18:19:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/271733.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   模式   接口   数据   芯片   支持
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议