基于FPGAUSB2.0的数据采集和数据下传系统

上传人:tia****nde 文档编号:245200515 上传时间:2024-10-07 格式:PPT 页数:40 大小:1.52MB
返回 下载 相关 举报
基于FPGAUSB2.0的数据采集和数据下传系统_第1页
第1页 / 共40页
基于FPGAUSB2.0的数据采集和数据下传系统_第2页
第2页 / 共40页
基于FPGAUSB2.0的数据采集和数据下传系统_第3页
第3页 / 共40页
点击查看更多>>
资源描述
Clique para editar o estilo do ttulo mestre,Clique para editar os estilos do texto mestre,Segundo nvel,Terceiro nvel,Quarto nvel,Quinto nvel,*,*,无忧,PPT,整理发布,无忧,PPT,整理发布,Clique para editar o estilo do ttulo mestre,Clique para editar os estilos do texto mestre,Segundo nvel,Terceiro nvel,Quarto nvel,Quinto nvel,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,基于,FPGA+USB2.0,的数据采集和数据下传系统,数据采集和下传的系统结构,USB,部分,USB,基本概念和特点,EZ-USB FX2,(,CY7C68013,)简介,EZ-USB FX2,从属,FIFO,固件框架和程序,FPGA,部分,设备驱动和主机应用程序部分,总结,基于,FPGA+USB2.0,的数据采集和数据下传系统,USB,数据采集系统,数据采集和下传的系统结构,USB,数据下传系统,数据采集和下传的系统结构,USB,是通用串行总线(,Universal Serial Bus,)的缩写。最早是由,Compaq,、,Intel,、,Microsoft,等多家公司于,1994,年,11,月共同提出的,其目的是用,USB,来取代,PC,现有各种复杂的外围接口,使外围设备的连接具有单一化、即插即用、热插拔、低成本等特点。,USB,的基本概念和特点,USB,基本概念,USB,协议定义了两种连接器:使用在电缆“上游”端的,A,系列和使用在电缆“下游”端的,B,系列。各种连接器的引脚和电缆颜色如图:,USB,连接器,系列,A,、,B,连接器,导线,电缆颜色,1,VCC,(,+5V,),红,2,D,白,3,D,绿,4,GND,(地线),黑,USB2.0,支持三种信道速率:低速的,1.5Mb/s,,全速的,12 Mb/s,以及高速的,480Mb/s,。通常,USB,传输速率指的是信号或信道支持的位速率,每个,USB,设备的实际数据传输速率会比理想值低,除了数据之外,信道还需要传输状态控制和错误检查的信号,由于多个,USB,设备可能分享同一个信道,所以在实际应用中,对于单一传输最大速率,高速模式下为,53Mb/s,全速模式下为,1.2Mb/s,低速模式下则为,800b/s,。,USB2.0,传输速率,USB,主机,任何,USB,系统中,只有一个主机,主机是,USB,唯一的主控者,这是,USB,最基本的概念。,USB,设备将会等待主机的请求而加以响应。我们通常所用的,USB,主机设计即,PC,上位机。,USB,方向,由于主机是,USB,主控者,这样很容易理解,USB,方向:,OUT,是指从主机到设备,而,IN,是从设备的到主机。例如,端点,6,发送数据到主机,则定义为,IN,端点,。,USB,的主机和方向,批量传输,批量传输是一种突发的传输模式。此种传输方式中,在全速方式时,以,8,、,16,、,32,、,64,字节信息包传输;高速方式时,以,512,字节信息包传输。由于其具有自动的错误数据校验机制(,CRC,),所以批量传输能确保其正确性。使用于大批量数据的连续传输。,控制传输,控制传输用于配置设备,给设备发送命令。当,USB,设备初次安装时,,USB,系统软件采用控制数据对设备进行设置。,USB,传输类型,中断传输,中断传输数据是少量的,且其数据延迟时间也是有范围的。这种数据可由设备在任何时刻发送。,同步传输,同步数据的建立、传输和使用是连续且实时的,并以稳定的速率发送和接收实时的信息。适用于语音传输等实时性要求高的,USB,设备。,USB,传输类型,EZ-USB FX2,简介,Cypress,半导体公司的,EZ-USB FX2,芯片即,CY7C68013,,是新一代高速,USB,系列,可以用,USB2.0,最大数据传输速率传输数据。该芯片基于,EZ-USB FX,芯片开发,通过集成的收发器、,SIE,(串行接口引擎)、,8051,微控制器,存储器和可编程,I/O,接口,提供,USB2.0,支持。,EZ-USB FX2,简介,EZ-USB FX2,简化框图,集成的,USB,收发器连接到,USB,总线中的,D+,和,D-,;串行接口引擎,SIE,进行译码、编码、错误纠正和位填充,变换,USB,所需要的信号电平;最终,从,USB,接口,,SIE,发送和接收数据。,EZ-USB FX2,的,CPU,采用增强,8051,,提高了运行速度,增强了功能。同时芯片还采用了内部,RAM,用于程序和数据存取。,FX2,共有三种接口工作模式,端口模式、从属,FIFO,(,Slave FIFO,)模式和通用可编程接口模式(,GPIF,)。,端口模式:,FX2,的,CPU,(增强型,8051,)使用特殊功能寄存器来控制,I/O,管脚的输出,读取或写入等功能。,通用可编程接口模式(,GPIF,):,GPIF,作为内部的主控制器与,FIFO,直接相连,并产生用户可编程的控制信号与外部接口进行通信。,EZ-USB FX2,接口模式,从属,FIFO,模式:在,Slave FIFO,模式下,外部逻辑或外部处理器直接与,FX2,端点,FIFO,相连。在这种模式下,,GPIF,不被激活,因为外部逻辑可直接控制,FIFO,。这种模式下,外部主控端既可以是,异步方式,,也可以是,同步方式,,工作时钟可选为内部产生或外部输入,其它控制信号也可灵活地设置为高有效或低有效。,EZ-USB FX2,接口模式,从,FX2,的角度来看,端点就是总线上接收或保持传输数据的缓冲区。,FX2,从,OUT,端点缓冲区读主机发出的数据,并且向,IN,端点缓冲区写要传输给主机的数据。,FX2,包含了,3,个,64,字节的端点缓冲区,加上可定义为不同端点方式的,4KB,缓冲区空间。,3,个,64,字节缓冲区是共有的,并且被设计成,EP0,、,EP1IN,和,EP1OUT,。其中,,EP0,是默认的控制端点,0,,是一个用于,IN,和,OUT,数据的单,64,字节缓冲区双向端点。端点,1,支持批量传输、中断传输和同步传输,且端点,0,和端点,1,只能由,FX2,的,CPU,进行访问。,4KB,可配置的缓冲区用于端点,2,、,4,、,6,、,8(EP2,、,EP4,、,EP6,、,EP8),。,EZ-USB FX2,端点缓冲区,端点,2,、,4,、,6,和,8,是大端点,用于高带宽的数据传输。他们能够配置成各种不同的方式,从而适应带宽的要求。如下图:,EZ-USB FX2,端点缓冲区,EZ-USB FX2,端点缓冲区,从属,FIFO,模式下,外围设备电路可以像访问普通,FIFO,一样访问,FX2,的端点,2,、端点,4,、端点,6,和端点,8,的端点,FIFO,,也就是说,端点,FIFO,被外部控制器所控制。,EZ-USB FX2,从属,FIFO,异步方式和同步方式下的时序,异步方式下:,SLRD,和,SLWR,是读,/,写的选通信号;,同步方式下:,SLRD,和,SLWR,作为,IFCLK,时钟引脚的使能信号。,Cypress,公司为,FX2,系列的产品提供了固件框架和固件库,是由,Keil C51 C,编写的。固件框架和固件库提供了能够完成,USB,设备基本功能需求的参数和函数,大大提高了开发的效率。固件框架主要包括初始化、处理标准,USB,设备请求以及,USB,挂起时的电源管理等。,固件框架,固件框架流程,固件框架完成一个简单的任务循环。首先框架初始化内部的状态变量,然后调用用户初始化函数,。该函数返回后,框架初始化,USB,接口到未配置状态并使能中断。然后每隔,1s,进行一次设备重枚举,直到端点,0,接收到一个配置包(,SETUP,)。一旦检测到,SETUP,包,框架将开始交互的任务调度,其任务调度如下:,1.,调用用户函数,TD_Poll,()函数,实现,USB,外设的主要功能。,2.,判断是否有标准设备请求等待处理,如果有,则分析该请求并响应。,3.,判断,USB,内核是否收到,USB,挂起信号,如果收到,则调用函数,TD_Suspend(),。该函数成功返回后(返回值为,TRUE,),再检测是否发生,USB,唤醒事件。如果未检测到,则处理器进入挂起方式;如果检测到,则调用函数,TD_Resume,()函数,程序继续运行。如果从,TD_Suspend,函数返回,FALSE,,则程序继续运行。,本系统的固件程序设计,由于采用,SlaveFIF0,模式进行数据高速传输,因此,配置数据接收和发送端点为,SlaveFIFO,模式,,CPU,不再参与数据的传输。数据采集系统中,端点,FIFO,在接收到,FPGA,输入的信号后,等待,PC,读取,,USB,芯片只作为一个数据传输通道。由于,FX2,的,EP2,、,EP4,、,EP6,、,EP8,这四个端点共享,4KFIFO,缓冲区,故在该系统中,将,EP6,配置成,Bulk,块传输,大小为,512B,,,2,倍缓存,,16,位工作模式,并设置为,AUTOIN,模式,而用,EP0,作为控制参数传递。相反,数据下传系统中,打开,EP2,端点,同样设置成,Bulk,块传输,大小为,512B,,,2,倍缓存,,16,位工作模式,并设置为,AUTOOUT,模式,这样,固件程序就能完成主机和设备的双向数据传输。,固件程序,在自动输入输出模式下,对于,IN,端点,允许外部逻辑将数据连续传送到,FIFO,中,不需要外部逻辑或,FX2,固件程序来打包数据或发送信号到主机来确认;对于,OUT,端点,允许主机连续填充,FIFO,,而不需要外部逻辑或,FX2,固件与每一个引入的包进行握手即提供端点缓存区。因此,在固件程序中,我们只需要完成初始化函数,TD_Init,的配置,而用户函数,TD_Poll,程序代码则不是必需的。,固件程序,void TD_Init(void),CPUCS=(CPUCS /,设置,CPU,时钟为,48MHz,IFCONFIG|=,0 x4B,;/,异步,从属,FIFO,模式,选择外部时钟为,30MHz,FIFOPINPOLAR=,0 x00,;/,设置,SlaveFIFO,接口引脚为低电平有效,SYNCDELAY;/,同步时延,/reset the fifos,FIFORESET=0 x80;/,将,0 x80,写入该寄存器不应答所有从主机来的传输,然后写,SYNCDELAY;,/0 x02,、,0 x04,、,0 x06,或,0 x08,,复位,FIFO,FIFORESET=0 x02;SYNCDELAY;,FIFORESET=0 x04;SYNCDELAY;,FIFORESET=0 x06;SYNCDELAY;,FIFORESET=0 x08;SYNCDELAY;,FIFORESET=0 x00;SYNCDELAY;,PINFLAGSAB=,0 xE0,;/,设置,FLAGB,为,EP6,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!