您的位置 首页 产品

NANO2开发板实例之USB2.0接口通讯回环

基于FPGA实现USB2.0接口通信, USB2.0 PHY芯片是Cypress68013, 68013内部集成8051 内核,USB2.0芯片读写需要对8051核进行固件配置。一.FX2特性介绍1

根据FPGA完结USB2.0接口通讯, USB2.0 PHY芯片是Cypress68013, 68013内部集成8051 内核,USB2.0芯片读写需求对8051核进行固件装备。

一.FX2特性介绍1.1介绍

Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微操控器和可编程的外围接口。FX2这种独创性结构可使数据传输率到达56Mbytes/s,即USB2.0答应的最大带宽。在FX2中,智能SIE能够硬件处理许多USB1.1和USB2.0协议,然后减少了开发时刻和保证了USB的兼容性。GPIF(General Programmable Interface)和主/从端点FIFO(8位或16位数据总线)为ATA、UTOPIA、EPP、PCMCIA和DSP等供给了简略和无缝衔接接口。

1.2结构

CY7C68013结构图如图1所示。它有三种封装方法:56SSOP,100TQFP和128TQFP。

图片1.png

1.3特征

★ 内嵌480MBit/s的收发器,锁相环PLL,串行接口引擎SIE——集成了整个USB 2.0协议的物理层。

★ 为习惯USB 2.0的480MBit/s的速率,FIFO端点可装备成2,3,4个缓冲区。

★ 内嵌可作业在48MHz的增强型8051,它具有以下特征:

– 具有256Byte的寄存器空间,两个串口,三个定时器,两个数据指针。

– 四个机器周期(作业在48MHz下时为83.3ns)即组成一个指令周期。

– 特别功用寄存器(包含I/O口操控寄存器)可高速拜访。

– 运用USB向量中止,具有极短的ISR呼应时刻。

– 只用作USB事务管理,操控,不参加数据传输,较好地处理了USB高速形式的带宽问题。

★ “软装备”——USB固件可由USB总线下载,片上不需集成ROM。

★ 具有四个FIFO接口,可作业在内部或外部时钟下。端点和FIFO接口的运用使外部逻辑和USB总线可高速衔接。

★ 内嵌通用可编程接口GPIF,它是一个状况机,可充任主操控器,供给外部逻辑和USB总线的“无胶张贴”。

★ 一种单片USB 2.0外设处理方案,不需求外部的协议物理层,FX2把一切的功用集成在一个芯片上。

二、Slave FIFO传输2.1概述

当有一个与FX2芯片相连的外部逻辑只需求运用FX2做为一个USB 2.0接口而完结与主机的高速通讯,而它本身又能够供给满意Slave FIFO要求的传输时序,能够做为Slave FIFO主操控器时,即可考虑用此传输方法。

Slave FIFO传输的暗示图如下:

图片2.png

在这种方法下,FX2内嵌的8051固件的功用仅仅装备Slave FIFO相关的寄存器以及操控FX2何时作业在Slave FIFO形式下。一旦8051固件将相关的寄存器装备完毕,且使本身作业在Slave FIFO形式下后,外部逻辑(如FPGA)即可依照Slave FIFO的传输时序,高速与主机进行通讯,而在通讯进程中不需求8051固件的参加。

2.2硬件衔接(规范)

在Slave FIFO方法下,外部逻辑与FX2的衔接信号图如下:

图片3.png

IFCLK:FX2输出的时钟,可做为通讯的同步时钟;

FLAGA,FLAGB,FLAGC,FLAGD:FX2输出的FIFO状况信息,如满,空等;

SLCS:FIFO的片选信号,外部逻辑操控,当SLCS输出高时,不行进行数据传输;

SLOE:FIFO输出使能,外部逻辑操控,当SLOE无效时,数据线不输出有用数据;

SLRD:FIFO读信号,外部逻辑操控,同步读时,FIFO指针在SLRD有用时的每个IFCLK的上升沿递加,异步读时,FIFO读指针在SLRD的每个有用—无效的跳变沿时递加;

SLWR:FIFO写信号,外部逻辑操控,同步写时,在SLWR有用时的每个IFCLK的上升沿时数据被写入,FIFO指针递加,异步写时,在SLWR的每个有用—无效的跳变沿时数据被写入,FIFO写指针递加;

PKTEND:包完毕信号,外部逻辑操控,在正常状况下,外部逻辑向FX2的FIFO中写数,当写入FIFO端点的字节数等于FX2固件设定的包巨细时,数据将主动被打成一包进行传输,但有时外部逻辑或许需求传输一个字节数小于FX2固件设定的包巨细的包,这时,它只需在写入必定数意图字节后,声明此信号,此刻FX2硬件不论外部逻辑写入了多少字节,都主动将之打成一包进行传输;

FD[15:0]:数据线;

FIFOADR[1:0]:挑选四个FIFO端点的地址线,外部逻辑操控。

2.3 Slave FIFO的几种传输方法

2.3.1 同步Slave FIFO写

同步Slave FIFO写的规范衔接图如下:

图片4.png

同步Slave FIFO写的规范时序如下:

IDLE:当写事情产生时,进状况1;

状况1:使FIFOADR[1:0]指向IN FIFO,进状况2;

状况2:如FIFO满,在本状况等候,不然进状况3;

状况3:驱动数据到数据线上,使SLWR有用,继续一个IFCLK周期,进状况4;

状况4:如需传输更多的数,进状况2,不然进状况IDLE。

状况跳转暗示图如下:

图片5.png

几种状况的时序图暗示如下(FULL,EMPTY,SLWR,PKTEND均假定低有用):

图片6.png

图示FIFO中原本没有数据,外部逻辑写入第一个数据时的状况。

图片7.png

图示假定FX2设定包巨细为512字节,外部逻辑向FIFO端点中写入的数据达512字节时的状况。此刻FX2硬件主动将已写入的512字节打成一包预备进行传输,这个动作就和在一般传输中,FX2固件向FIFO端点中写入512字节后,把512这个数写入EPxBC中一样,只不过这个进程是由硬件主动完结的。在这里能够看出“FX2固件不参加数据传输进程”的意义了。外部逻辑只须按上面的时序图所示的时序向FIFO端点中一个一个字节(或字)地写数,写到必定数量,FX2硬件主动将数据打包传输,这一切均不需固件的参加,由此完结高速数据传输。

图片8.png

图示的是FIFO端点被写满时的状况。

2.3.2 同步Slave FIFO读:

同步Slave FIFO读的规范衔接图如下:

图片9.png

同步Slave FIFO读的规范时序如下:

IDLE:当读事情产生时,进状况1;

状况1:使FIFOADR[1:0]指向OUT FIFO,进状况2;

状况2:使SLOE有用,如FIFO空,在本状况等候,不然进状况3;

状况3:从数据线上读数,使SLRD有用,继续一个IFCLK周期,以递加FIFO读指针,进状况4;

状况4:如需传输更多的数,进状况2,不然进状况IDLE。

状况跳转暗示图如下:

图片10.png

几种状况的时序图暗示如下(FULL,EMPTY,SLRD,SLOE均假定低有用):

图片11.png

图示正常状况时的时序。

图片12.png

图示FIFO被读空时的状况。

图片22.png

几种状况的时序图暗示如下(FULL,EMPTY,SLWR,PKTEND均假定低有用):

图片23.png

图示FIFO中原本没有数据,外部逻辑写入第一个数据时的状况。

三、测验USB接口:

关于USB接口的测验,本次试验操控开发板上面的USB接口完结与PC机的通讯。

用usb2.0线衔接pc与开发板usb接口,先下载s3_dram.bit程序,在没有掉电的状况下,翻开相应的EZ-USB软件(ez-usb为usb2.0接口PC端驱动,装置文件在 “CY7C68013开发相关东西” 目录下)。

在运用前,接上USB2.0接口到PC端,PC端设备管理器能够识别到USB设备,假如没有识别到USB设备,需求手动装置驱动,驱动文件为ezusbw2k.inf(测验目录下)的文件,手动挑选inf地点目录。

图片24.png

方位如图:

图片25.png

发动画面如下图:

图片26.png

上图表明衔接能够进行下面测验,经过EZ_USB软件下载相应固件s3_dpram.bit程序,slavefifo.hex文件在“下载bit”目录下点击Download,

图片27.png

双击翻开相应读写的\usb接口VC程序(如下图)

图片28.png

看到写的测验现象,流过的数据速率。

图片29.png

运用渠道 :赤色飓风NANO2

图片30.jpg

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/288880.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部