新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA和USB2.0的高速CCD声光信号采集系统

基于FPGA和USB2.0的高速CCD声光信号采集系统

作者: 时间:2010-03-17 来源:网络 收藏

  A/D转换模块 AD9822是ADI公司的专用CCD信号处理芯片,内部集成CDS,PGA,14位ADC、暗电平自动校准、偏置电压控制以及串行接口等功能,采样速度高达15 MHz。ADCCLK的下降沿输出数据的高8位,ADCCLK的上升沿输出数据的低6位。AD9822采样控制时序及寄存器编程都是由EP2C35实现,与RL2048P输出信号同步,保证采集数据的正确性。采用相关双采样模式可以抑制CCD的复位噪声,本系统设置其寄存器分别为0x0058,0x10C0,0x2000,0x50FF。

  USB接口传输模块 USB 2.0协议的传输速度高达480 Mb/s,且具有接口简单及误码率低等优点,能够满足该系统高速传输的需要。选用Cypress公司的新一代低功耗CY7C68013A芯片,与之相应的开发包和开发文档较齐全,缩短了开发周期,降低了开发难度。为了保证数据传输的速度,CY7C68013A工作于SlaveFIFO模式,不需要EZ-USB FX2LP的CPU干预,即可完成与的数据传输。EP2C35与CY7C68013A的通信采用了Slave FIFO模式下的异步方式,向大端点EP6写数据,配置其为512 B四重缓冲区,批量AUTO IN传输模式,每次自动提交512 B数据。图4为EP2C35与CY7C68013A的接口连接。

EP2C35与CY7C68013A的接口连接

  3 系统软件设计

  系统软件设计包括:

  固件程序(Firmware)设计 设备固件的主要功能是控制CY7C68013A接收并处理USB驱动程序的请求。如请求设备描述符,请求或设置设备状态,请求或设置设备接口等USB 2.0标准请求;辅助硬件完成设备的重新枚举、端点配置、控制和监测USB的活动,根据PC主机的命令与外围电路进行数据交换等。Cy-press公司为用户提供了一个固件程序框架,是通用性强的模块化程序。在框架的基础上,用户只需要编写Function.c文件即可完成USB功能开发。主要包括:Slave FIFO模式的初始化和用户自定义请求。

  驱动程序开发 系统包括两个USB驱动程序:一个驱动专用于下载芯片的固件程序CCDloader.sys,另一个通用驱动程序ccdusb.sys用来实现USB设备与应用程序的通信和控制。芯片固件程序在主机上,当系统上电时,前者将其下载到芯片的RAM中,并由增强型8051微处理器执行。当固件下载完成后,模拟一次断开重新连接,此时下载的固件响应USB枚举,并加载USB设备通用驱动程序。USB的驱动程序是WDM类型,可以使用Windows DDK,WinDriver,DriverStudio开发。

  应用程序开发 它的主要任务是与USB驱动程序通信,控制过程。在此用Visual C++6.0进行程序设计。CyAPI控制函数类为FX2LP系列USB接口芯片提供了十分精细的控制接口,只需在应用程序中加头文件CyAPI.h和库文件CyAPI.lib即可调用相应的控制函数,打开USB设备读取数据并存储到主机硬盘中的CcdData.txt文件。



评论


相关推荐

技术专区

关闭