USB芯片CY7C68013利用.docx
- 文档编号:18343118
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:11
- 大小:366.44KB
USB芯片CY7C68013利用.docx
《USB芯片CY7C68013利用.docx》由会员分享,可在线阅读,更多相关《USB芯片CY7C68013利用.docx(11页珍藏版)》请在冰点文库上搜索。
USB芯片CY7C68013利用
CY7C68013芯片利用
图一CY7C68013内部构造
CY7C68013特点:
支持,内部包括收发器、串行接口引擎(SIE)和增强型51内核;
灵活配置,可“软配置”RAM,取代了传统51的RAM和ROM,程序能够通过以下方式下载:
通过USB口下载;通过外部E2PROM装载;外界存储设备(仅128引脚支持)
模式灵活,可设置为主从模式,主模式下可对外部FIFO、存储器、ATAn接口设备进行高速读写操作,从模式下外部主控器(例如DSP、MCU)可把GPIF端口看成FIFO进行高速读写操作。
支持与外设通过并行8位或16位总线传输
硬件连接方式
在SlaveFIFO方式下,外部逻辑与FX2的连接信号图如下:
图一从模式下的硬件连接
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端点的地址线,外部逻辑操纵。
相应的读写时序:
Ø同步SlaveFIFO写
同步SlaveFIFO写的标准连接图如下:
同步SlaveFIFO写的标准时序如下:
IDLE:
当写事件发生时,进状态1;
状态1:
使FIFOADR[1:
0]指向INFIFO,进状态2;
状态2:
如FIFO满,在本状态等待,不然进状态3;
状态3:
驱动数据到数据线上,使SLWR有效,持续一个IFCLK周期,进状态4;
状态4:
如需传输更多的数,进状态2,不然进状态IDLE。
状态跳转示用意如下:
几种情形的时序图示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):
图示FIFO中本来没有数据,外部逻辑写入第一个数据时的情形。
图示假定FX2设定包大小为512字节,外部逻辑向FIFO端点中写入的数据达512字节时的情形。
此刻FX2硬件自动将已写入的512字节打成一包预备进行传输,那个动作就和在一般传输中,FX2固件向FIFO端点中写入512字节后,把512那个数写入EPxBC中一样,只只是那个进程是由硬件自动完成的。
在那个地址能够看出“FX2固件不参与数据传输进程”的含义了。
外部逻辑只须按上面的时序图所示的时序向FIFO端点中一个一个字节(或字)地写数,写到必然数量,FX2硬件自动将数据打包传输,这一切均不需固件的参与,由此实现高速数据传输。
图示的是FIFO端点被写满时的情形。
以下图是同步SlaveFIFO写入时序:
同步SlaveFIFO写入时序
逻辑时序设计中,数据应该在IFCLK上升沿写入。
同时注意SLWR、DATA之间的时序关系。
Ø同步SlaveFIFO读:
同步SlaveFIFO读的标准连接图如下:
同步SlaveFIFO读的标准时序如下:
IDLE:
当读事件发生时,进状态1;
状态1:
使FIFOADR[1:
0]指向OUTFIFO,进状态2;
状态2:
使SLOE有效,如FIFO空,在本状态等待,不然进状态3;
状态3:
从数据线上读数,使SLRD有效,持续一个IFCLK周期,以递增FIFO读指针,进状态4;
状态4:
如需传输更多的数,进状态2,不然进状态IDLE。
状态跳转示用意如下:
单个和突发读取时序:
SLAVEFIFO同步读取序列和时序图
SlaveFIFO同步事件序列图
从上图所示,FPGA应该在IFCLK上升沿处搜集数据。
Ø异步SlaveFIFO写:
异步SlaveFIFO写的标准连接图如下:
异步SlaveFIFO写的标准时序如下:
IDLE:
当写事件发生时,进状态1;
状态1:
使FIFOADR[1:
0]指向INFIFO,进状态2;
状态2:
如FIFO满,在本状态等待,不然进状态3;
状态3:
驱动数据到数据线上,使SLWR有效,再无效,以使FIFO写指针递增,进状态4;
状态4:
如需传输更多的数,进状态2,不然进状态IDLE。
状态跳转示用意如下:
几种情形的时序图示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):
图示FIFO中本来没有数据,外部逻辑写入第一个数据时的情形。
SlaveFIFO异步写时序
数据必需在SLWR解除沿前Tsfd出此刻总线上,当SLWR上升沿时,数据将被写进FIFO中,同时更新FIFO的指针。
Ø异步SlaveFIFO读:
异步SlaveFIFO读的标准连接图如下:
异步SlaveFIFO读的标准时序如下:
IDLE:
当读事件发生时,进状态1;
状态1:
使FIFOADR[1:
0]指向OUTFIFO,进状态2;
状态2:
如FIFO空,在本状态等待,不然进状态3;
状态3:
使SLOE有效,使SLRD有效,从数据线上读数,再使SLRD无效,,以递增FIFO读指针,再使SLOE无效,进状态4;
状态4:
如需传输更多的数,进状态2,不然进状态IDLE。
状态跳转示用意如下:
几种情形的时序图示意如下(FULL,EMPTY,SLRD,SLOE均假定低有效):
图示正常情形时的时序。
SlaveFIFO异步读时序
Data总线在SLRD下降沿时被触发更新,有一按时刻的延迟,因此采纳异步读取的方式,应该在SLRD上升沿处搜集数据。
Ø同步与异步读写的引脚不同:
同步读
异步读
同步写
异步写
IFCLK
IFCLK
FIFOADR[1:
0]
FIFOADR[1:
0]
FIFOADR[1:
0]
FIFOADR[1:
0]
EMPTY
EMPTY
FULL
FULL
SLOE
SLOE
SLWR
SLWR
SLRD
SLRD
FD[15:
0]
FD[15:
0]
FD[15:
0]
FD[15:
0]
PKTEND
PKTEND
SLCS
SLCS
SLCS
SLCS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 芯片 CY7C68013 利用
![提示](https://static.bingdoc.com/images/bang_tan.gif)