当前位置:首页 > 工业控制 > 工业控制
[导读]设计一个基于FPGA和USB 2.0接口控制芯片的高速线阵CCD声光信号采集系统。FPGA是硬件电路系统的核心,主要完成线阵CCD时序脉冲的产生,专用A/D芯片的采样控制以及FIFO缓存数据的片内配置,并通过USB 2.0接口与上位机实现通信。讨论并开发了USB 2.0接口控制芯片的固件程序、USB驱动程序及上位机应用程序。实验结果表明,系统达到了设计要求,可广泛应用于相关领域的信号检测。

0 引 言
   
在现代通信和雷达领域中,宽带、高增益、实时并行处理是现代接收机的重要标志。因而,这种具有高速并行处理能力和特有的大带宽性能的声光处理系统具有巨大的潜在优势。以声光器件为基础的接收机除了具有宽带、高增益、实时并行处理等特点外,还具有容量大,体积小,功耗低等优点。因而,采用声光信号处理技术解决带宽、高增益和实时并行处理问题具有重要意义,声光信号的采集系统的设计是整个声光系统关键之一。这里设计了一个基于FPGAUSB 2.0的高速CCD声光信号采集系统,为声光信号采集提供了硬件平台。

1 系统概述
    声光信号采集系统框图如图1所示。系统主要由CCD声光信号采集模块、A/D转换模块、FPGA驱动和控制模块及USB接口传输模块四部分组成。

    系统上电后,USB设备按照上位机的命令完成对。FPGA数据采集参数的初始化设置及采集控制。RL2048P在驱动时序的严格控制下工作,采集的模拟信号经专用CCD信号处理芯片AD9822的相关双采样及模/数转换后,缓存在EP2C35内部配置的FIFO中,然后判断当FIFO中的数据达到2 048 B时,向USB控制器CY7C68013A中异步写数据,由于USB设置自动IN模式,可以直接把FIFO中数据传输到PC上位机硬盘文件中,因而可完成CCD声光信号的采集、传输及存储。

2 系统各模块设计
   
系统各模块设计为:
    FPGA驱动及控制模块 系统采用Altera公司的CycloneⅡ系列。EP2C35F672C6芯片,具有高性价比及丰富的逻辑资源,可满足系统的要求。有4个PLL,33 216个LE,48 KB存储器资源,可以配置成各种模式的ROM,RAM及。FIFO,35个18×18的专用乘法器。FPGA的主要功能是产生RL2048P驱动时序,控制AD9822采样及对其寄存器实现串行编程,内部配置FIFO缓存数据以及与USB接口通信,并传输数据到上位机中。
    CCD声光信号采集模块 选用PerkinElmer公司的RL2048P线阵CCD。该芯片主要用于高速信号采集,2 048个有效像元,具有高灵敏度、大动态范围、宽光谱范围等特点,最高工作频率为40 MHz,该系统设计为10 MHz。EP2C35的时序驱动输出是3.3 V的LVTTL电平,不能直接驱动RL2048P(多电平要求)。因此,使用DG642和74FCT16244TV芯片完成电平转换,增强驱动能力。图2为RL2048P驱动时序图;图3为使用Verilog HDL编写驱动时序的QuartusⅡ仿真。由比较可见,设计完全能满足时序的严格要求。

    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干预,即可完成与FPGA的数据传输。EP2C35与CY7C68013A的通信采用了Slave FIFO模式下的异步方式,向大端点EP6写数据,配置其为512 B四重缓冲区,批量AUTO IN传输模式,每次自动提交512 B数据。图4为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文件。

4 实验数据分析
   
使用TEKTRONIX公司的示波器,对经过隔直处理后的RL2048P输出信号在各种实验条件下进行了测试和分析。如图2所示,VOUT为像元输出信号,每一个像元输出信号的开始都有一个同步参考信号,后面部分才为有效信号输出,由于CCD输出信号为负极性信号,所以有效信号值相对于参考信号为负。
    图5为全暗条件RL2048P的输出,由于光敏面上没有光,只有暗电平信号输出,所以像元的输出有效信号几乎为零。图6为弱光条件RL2048P的输出,有效信号幅值发生了变化。图7为全亮条件RL2048P的输出,有效信号到达了饱和值。RL2048P的实际输出和理论分析一致,工作正常。声光信号通过中间有孔的不透光遮挡板照在CCD上,使用应用软件进行数据采集。从CCD Data.txt数据文件中连续提取8 192个像元点即四帧CCD数据,Matlab软件分析如图8所示。

    有光照射的位置对应为高,实测数据和理论值吻合。在其他条件下也做相关实验,结果与理论基本一致。由于篇幅所限,本文不做详细介绍。实验结果表明,系统功能完整,可以实现声光信号的高速采集、传输及储存。

5 结 语
   
系统采用现场FPGA作为硬件设计核心,使用Veritog语言。进行硬件描述,使系统更灵活,可在线编程,便于扩展和升级。这里的CCD驱动时序采用状态机与分频相结合的新方法,实际测试驱动波形稳定且没有毛刺,CCD输出信号质量高。USB应用于Slave FIFO高速传输模式,满足了高速CCD声光信号采集的要求,具有实时性、高速、稳定、可靠等特点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

USB-C接口全称为USB Type-C,属于USB 3.0下一代接口,其亮点在于更加纤薄的设计、更快的传输速度(最高可达10Gbps)、更强的电力传输(最高100W),此外USB-C接口还支持双面插入,正反面随便插,相...

关键字: iPhone 15 Lightning USB

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...

关键字: FPGA DS18B20温度传感器

这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。

关键字: FPGA OLED屏幕

第八例啦,本例将介绍如何通过FPGA采集DS18B20传感器的温度值。

关键字: FPGA DS18B20传感器

这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...

关键字: FPGA OLED屏幕

工业控制

13478 篇文章

关注

发布文章

编辑精选

技术子站

关闭