基于USB20与FPGA模块的高速数据采集系统的设计实现

基于USB20与FPGA模块的高速数据采集系统的设计实现

ID:41061669

大小:41.50 KB

页数:8页

时间:2019-08-15

基于USB20与FPGA模块的高速数据采集系统的设计实现_第1页
基于USB20与FPGA模块的高速数据采集系统的设计实现_第2页
基于USB20与FPGA模块的高速数据采集系统的设计实现_第3页
基于USB20与FPGA模块的高速数据采集系统的设计实现_第4页
基于USB20与FPGA模块的高速数据采集系统的设计实现_第5页
资源描述:

《基于USB20与FPGA模块的高速数据采集系统的设计实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于USB2.0与FPGA模块的高速数据采集系统的设计实现近年来笔记本电脑迅速普及和更新,其中大部分已经不配置RS232接口,而USB接口已成为今后一段时间PC机与外设接口的主流。本采集系统的设计构建了一个基于USB接口的多功能通用数据采集、传输平台,将嵌入式系统的实时性、灵活性和PC机强大的数据存储、处理、显示功能结合起来。该采集系统在智能仪器仪表、测控系统、工控系统等领域有广阔的应用前景。1系统总体结构设计1.1系统总体结构系统总体结构框图如图1所示,系统包括:单片机与USB接口模块、FPGA模块、信号调理及A/D模块。其中,单片机外围电路相对简单,整个系统主要通过PC机的程序界

2、面控制操作;USB接口负责与PC机通信;FPGA模块负责完成数据的采集与缓存。1.2单片机与USB接口模块本设计的目的是构建以PC机为平台的数据采集系统,单片机的功能仅限于接收PC机的命令、控制FPGA工作。PC机作为整个系统的人机界面,控制整个数据采集系统进行采集、存储和处理。由此单片机可以选择低成本的8XC51系列。为了提高系统的灵活性,采用单片机与USB接口芯片分离的方案,选择Philip公司的ISP1581USB2.0接口芯片。该芯片与8XC51系列单片机的接口非常简单,可以极大地降低系统成本。1.3FPGA模块采用FPGA进行采样控制的最大特点是系统具有重构性和通用性。设计

3、中采用了Altera公司的低成本FPGA的Cyclone系列(实际试验时,在更便宜的Acex1k器件上也可以实现),控制高速A/D芯片以20MSPS的速度采样。FPGA模块的设计具体包括FIFO、单片机接口、A/D控制接口、DMA控制模块和主控制器等子模块的设计。1.4PC机端软件平台PC机采集程序使用VC++实现,直接调用Philips公司提供的驱动程序进行数据读写,大大降低了开发难度与风险。本设计中,PC机端软件设计包括应用程序的界面设计、多线程数据采集、存储与处理模块的设计,以及与USB底层驱动程序的通信动态链接库的设计。2USB接口模块设计2.1USB接口芯片USB接口芯片I

4、SP1581具有体积小、高速、与单片机的接口相对简单等特点。除了控制端点外,ISP1581还有7个输入(IN)端点和7个输出(OUT)端点。每个端点可以灵活配置数据传输方式以及数据缓存区(FIFO)的大小,端点FIFO最大容量可以达到2KB。ISP1581芯片在配置枚举时需要单片机固件的支持,一旦正确完成了配置和驱动加载,单片机对于ISP1581芯片就如同普通存储器一样可以进行读写操作,以发送或接收数据。2.2固件编程USB通信完全由PC主机发起。在这种结构下,固件总是一直在等待主机命令,再根据命令去执行相应的程序。固件的基本思想是采用模块化设计,分成main.c等7个模块。ISP1

5、581固件结构如图2所示。图中,main.c为主循环,isr.c主要负责中断处理,Chap9.c主要负责响应主机的请求。用户的应用程序将来也可以包括在main.c循环中。2.3单片机端程序设计单片机端程序主要包括初始化模块,外围Flash、EEPROM、RAM、液晶显示器、按键等的读写控制模块,USB接口芯片固件模块,A/D采样工作模式、速度以及采样数据的读写的FPGA硬件控制模块等。本设计的指导思想是:充分利用PC机和嵌入式系统的优点,对MCU端的要求尽量简化。具体软件流程示意图如图3所示。USB作为一个通信接口,首先必须完成配置,然后才能进行用户数据的发送/接收,在循环中必须随时

6、检查是否有主机的配置命令。配置枚举过程是USB固件编程当中较为复杂的部分,其流程如图4所示。USB设备接入到主机并被主机识别后,主机首先以默认的地址(00H)发送一个设置(SETUP)包,新接入的设备必须接收此包并响应请求。然后主机会发送输入包读取设备描述符,初步判断设备的属性后,再设置设备的地址,随后再用这个地址读取设备的各种描述符以识别并且配置设备。可见,在设备配置过程中,主机读取的数据较多,设备一旦接收到一个SETUP包之后便会判断主机的请求类型,然后进入请求处理循环等待主机的进一步命令,如果再次收到一个IN令牌便会向控制端点中写入数据,并且根据数据长度再次写端点直到数据发送完

7、毕。USB的标准请求包括读取设备描述符、配置描述符、端点描述符、设置地址、配置设备等,厂商请求由用户自行定义。ISP1581接收到主机的数据后,将根据相应的情况设置片内的中断寄存器标志中断源,然后向单片机申请中断,中断服务程序流程如图5所示。单片机响应中断后,首先读取中断标志寄存器并判断中断源,然后设置相应的标志。在用户的发送/接收程序中,将根据相应的标志产生相应的动作。例如,主机发送一段数据给ISP1581,ISP1581接收、握手完毕后,设置中断标志并

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。