CCD信号采集系统的USB接口设计

发布者:Quail最新更新时间:2006-08-16 来源: 现代电子技术关键字:采集  驱动  接口  函数 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

  CCD(ChargeCoupledDevices)电荷耦合器件是20世纪70年代初发展起来的新型半导体集成光电器件。由于CCD器件具有诸多优点:灵敏度高、光谱响应宽、动态范围大、空间自扫描等,使得近30年来,CCD器件及其应用技术的研究取得了惊人的进展,特别是在图像传感和非接触测量领域的发展更为迅速。目前,CCD应用技术已成为集光学、电子学、精密机械及微计算机为一体的综合性技术,在现代光子学、光电检测技术和现代测量技术中成果累累。随着CCD技术的迅猛发展,针对CCD信号的采集及采集之后的信号如何与计算机进行信息通信就成为CCD应用的一个重要问题,而能够针对CCD每一个象素进行高速采集并实时的传输给计算机处理,将会大大的提高采集到的CCD信号的精度并解决实时处理的问题,这在CCD信号采集和处理领域都将有非常广阔的前景。

  通用串行总线USB(UniversalSerialBus)是1995年由康柏、微软、IBM,DEC等公司为解决传统总线不足而推广的一种新型的通信标准。USB总线接口具有较高的数据传输率、使用灵活、易扩展等优点,非常适合CCD的数据采集。他有低速、全速和高速三种工作方式,即USBl.1版本中.的低速模式和全速模式,低速模式的传输速率为1.5Mb/s,支持一些不需要很大数据吞吐量和很高实时性的设备,如鼠标、键盘等;全速模式的传输速率可以达到12Mb/s。,可以外接速率更高的外设,适合用于线阵CCD的数据采集。在USB 2.0版本中,增加了一种高速模式,其数据传输率最高可以达到480Mb/s,完全可以满足高速CCD数据采集系统的需要。

2 接口硬件组成

  本系统选用高速的AD(模数)转换器,用于采集CCD信号,配以先进先出(FIFO)存储器作为数据高速缓冲器,用于存储AD转换后的数据,并采用具有微控制器的USB接口芯片,从而通过USB接口将采集到的数据输入计算机。系统原理框图如图1所示。

  其中使用CPLD技术完成本采集系统的控制模块。CPLD(可编程逻辑器件)技术已经成为当今设计数字电路最为流行的方式,他可以将数字电路集成到一块芯片上,大大减小了电路板的体积和可靠性,而且他的可编程性使得设计好的电路在升级和修改上变得非常简单和方便。

  USB控制芯片选用Cypress公司EZ-USB系列的AN2131QC,片内嵌有一个增强型的8051微控制器,并使用片内RAM作程序和数据存储器,使得芯片具有软特性,允许客户随时不断地设置和升级。内部框图如图2所示。

  EZ-USBAN2131QC符合USB规范1.1版本,有4种传输方式:控制传输、中断传输、批量传输和同步传输。其中同步传输又有2种方式,即普通读写方式和快速读写方式。在本系统中采用的是快速读写方式,使得芯片可以在0.5 ms内读写1 kB的数据。

3 软件设计

  软件主要分为3部分:USB芯片的固件程序、USB设备驱动程序以及主机的用户应用程序。固件响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。USB-驱动程序为USB采集系统提供了应用软件与USB设备的接口,他的开发使USB广泛应用于数据采集系统成为可能。而应用软件则实现用户与采集系统的交互,完成数据采集命令,进行实时显示。

3.1 固件程序代码

  由USB芯片集成的加强型8051单片机来处理,当EZ-USB设备连接到USB口时,主机进行总线枚举,根据设备ID先使用系统程序将固件下载到芯片内部,然后进行重枚举,固件作为用户的功能设备开始执行。

  Cypress公司提供固件程序框架,来完成控制传输和大部分的数据传输工作。本采集系统的固件程序就是基于此固件框架开发的,使用KeilC进行编译。程序流程图如图3所示。

  图3中:TD_Init()为初始化全局变量;TD_Poll()为用户功能;TD_Suspend()为响应挂起事件;TD_Resume()为响应外部唤醒事件。

  EZ-USB使用8051的INT2来响应21种USB中断,自动矢量(Autovector)机制帮助使8051内核进入相应的ISR(Interrupt Service Routine中断服务例程)。在初始化函数中加入使能EZ-USB的SOF(帧起始)中断语句,可以开始同步传输。每1 ms开始发生SOF中断,标志帧的开始。在SOFISR中从外部FIFO读取一个包长度的字节数据到端点缓冲区中。

3.2 驱动程序设计

  USB客户驱动程序是支持即插即用功能的标准WDM(Windows Driver Model)驱动程序,这是分层的驱动程序模型,即设备驱动被分成了若干层,典型地分成:高层驱动程序、中间层驱动程序、底层驱动程序。每层驱动再把I/O请求划分成更简单的请求,以传给更下层的驱动执行。最底层的驱动程序在收到I/O请求后,通过硬件抽象层,与硬件发生作用,从而完成I/O请求工作。在这样的架构下,上面的驱动层就不需要对每个操作系统都要开发一遍了。USB客户驱动程序接收I/O管理器发来的IRP(I/ORequestPacket),构造URB(USBRequest Block)传递给主控制驱动程序接口USBDI。在USBDI的基础上进行编程将大大简化,用户不用关心IRP的类型,而只需要在相应的分发例程中通过构造URB(USBRequestBlock)并将其通过USBDI发送下去就可以实现对USB设备的控制了。

  开发USB设备驱动程序的工具目前广泛应用的主要有2类:

(1)Windows DDK(Device Driver Kits),DDK基于汇编语言的编程方式和内核模式的调用,对没有深厚的操作系统原理和编程水平的人员来说,任务相当艰巨。

(2)NuMega公司的Driverstudio工具开发包,其中的DriverWorks实际上实现了对DDK类的封装,可以提供给用户驱动程序的开发框架,只需用户在相应的代码段中加入自己系统的控制代码即可,不必了解内核机制,大大加速了USB外设的开发速度。本系统就是使用DriverWorks来开发USB设备驱动程序的。生成的应用接口函数在VC"中调用,大大降低了主机软件的难度。

3.3 用户应用程序设计

  应用程序实现的功能有:启动/关闭USB设备,设置USB数据传输管道/端口,采集数据,显示数据等。这里,采用VisualC++6.0作为程序的开发环境,并且充分运用了多线程的编程思想。从而实现同时进行数据采集与实时显示。

  为了实现与驱动程序的通信,应用程序首先创建一个事件和一个线程,再将事件句柄传递给WDM,用这一线程来等待WDM发送的事件消息,接收到事件消息后,就读取驱动程序的数据,显示数据。

  在Windows中,Win32应用程序调用的APl函数有5个;CreateFile(),ReadFile(),WriteFi|e(),DeviceloControl()和CloseHandle()。
应用程序为打开一个WDM设备驱动程序,使用CreateFile()函数。他的第一个参数是一个符号链接名。如果用DriverWorks创建一个WDM驱动程序,通常会用类KUnitizedName生成一个设备符号链接名。这名字的后面有一个数字,一般是一个o。例如,若符号链接名为"USBDevice",则传递给CreateFile()的是"\\\\.\\USBDevice0"。

  一旦应用程序获得设备的有效句柄,他就能够调用Win32函数,这将产生对应于此设备对象的相应IRP,发送给驱动程序,完成相应功能。这种关系如表1所示。

4 结 语

  本采集系统利用USB技术实现与计算机通信,有众多的优点:
①安装方便,支持即插即用。
②供电方便,可直接由主机通过USB接口提供5V的电压。
⑧性价比高,远优于并行口和串行口的CCD图像采集系统。

关键字:采集  驱动  接口  函数 引用地址:CCD信号采集系统的USB接口设计

上一篇:SHARC DSP与SJA1000的CAN总线接口设计
下一篇:高速USB数据采集系统的设计

推荐阅读最新更新时间:2024-05-13 18:13

真实性是全球购物者消费和忠诚度的新驱动因素
真实性是全球购物者消费和忠诚度的新驱动因素 67% 的全球购物者在他们认为具真实性的品牌上花费更多 73%的人更忠于具真实性的零售商 香港、法国和西班牙购物者的消费受真实性影响最大 北京,中国 - Media OutReach - 2023年4月3日 - 国际电子商务和函件递送解决方案领导者Asendia的最新研究显示,随着大众消费趋于理性,真实性已成为全球购物者消費和忠诚度的关键驱动因素。 Asendia最新发布的原创研究报告《如何在消费者需求发生矛盾的时代开展直接销售》,涵盖对全球8,000多名购物者。研究结果显示,超过三分之二(67%)的全球购物者会在他们认为具真实性的零售商处花更多的钱,59%的人表示
[工业控制]
5G、AI、车用会驱动明年半导体产业逆势成长
研调机构集邦科技2日发布2020年10大科技趋势预测,其中提及,今年在中美贸易战影响下,全球半导体产业呈现衰退。2020年尽管市场仍有不确定性,但5G、人工智能(AI)及车用电子将是驱动整个半导体产业逆势成长的三驾马车。 集邦分析,为因应三大新兴应用,设计业者将导入新一代矽智财(IP)、强化ASIC与芯片定制化能力,并加速在7纳米EUV与5纳米的应用。制造方面,7纳米节点采用率持续增加,5纳米量产及3纳米研发时程也逐渐明朗,先进制程制造占比将进一步提升。 此外,化合物半导体材料如碳化矽(SiC)、氮化镓(GaN)与砷化镓(GaAs)等,具备耐高电压、低阻抗与切换速度快等特性,适用于功率半导体、射频开关等元件,在5G、电动车相关应用
[手机便携]
直流电机位置伺服系统驱动器设计
摘 要: 直流电机位置伺服系统是天然气发动机电子调速系统的关键组成部分。本文利用Freescale公司的MC9S12型单片机,结合电机位置反馈和电枢电流检测,研制出了数字式PWM型伺服驱动器。该驱动器充分利用单片机的内嵌资源,实现了位置、速度和电流三闭环控制策略。 关键词: 天然气发动机 直流电机 位置伺服系统 三闭环控制 随着我国能源紧缺问题的日益严峻,在生产实践中不断提高能源利用率是大势所趋。然而我国西部的大部分油田仍然存在伴生天然气大量放空的现象。为此可以将伴生天然气经简单分离处理后直接驱动大功率天然气发动机工作,使其带动发电机发电并送入电网,从而提高能源的综合利用率。因此这种天然气发动机及发电机组将具有十分广阔的应
[单片机]
直流电机位置伺服系统<font color='red'>驱动</font>器设计
DRV8870/DRV8872替代芯片PN7707B 24V直流电机驱动ic
PN7707 24v直流电机驱动ic是用四个功率开关器件所构成的驱动电路,使用MOS管来作为功率开关,DRV8872/DRV8870替代芯片PN7707是一款具有低功耗睡眠模式的两通道直流马达驱动芯片,可降低PCB空间的占用,降低成本。 DRV8872/DRV8870替代芯片PN7707特征 ■ 宽电源电压范围:3V~24V ■ 低导通电阻(HS:0.3ohm;LS:0.3ohm) ■ 正转、反转、刹车和睡眠模式 ■ 低睡眠电流:IVCC 10uA(IN1=IN2=“L”,维持1ms 以上)   ■ 输入管脚兼容5V和3.3V控制信号 ■ 3A峰值驱动输出,2A连续驱动输出 ■ 异常保护反馈功能 PN7707宽电源
[嵌入式]
DRV8870/DRV8872替代芯片PN7707B 24V直流电机<font color='red'>驱动</font>ic
Melexis 推出预驱动器芯片 MLX81340 和 MLX81344
Melexis 推出预驱动器芯片 MLX81340 和 MLX81344,实现基于 LIN 的 500W 机电模块小型化设计 借助 Melexis ASIL-B 单芯片预驱动器,可改进油泵、水泵和冷却液泵、鼓风机、风扇和阀门等热管理应用 2021 年 12 月 3 日,比利时泰森德洛 - 全球微电子工程公司 Melexis今日宣布,针对汽车机电应用推出新款 LIN BLDC 电机预驱动器芯片解决方案--- MLX81340 和 MLX81344,兼具小尺寸、高性能以及高功率等优势。MLX81340(32KB 闪存)和 MLX81344(64KB 闪存)内置三个通道的高侧和低侧驱动器。可以控制高达 60nC 电容的外部
[工业控制]
Melexis 推出预<font color='red'>驱动</font>器芯片 MLX81340 和 MLX81344
基于51单片机和PDIUSB12的USB接口设计
简介:为解决51单片机与计算机的串行总线(USB)的通信问题,以PDIUSB12芯片为基础,选择51单片机中的STC89C52为示例,设计了一款USB的接口电路,解决了多款51单片机与计算机的USB通信困难的问题。 引言 USB因其使用方便、传输速度快、连接灵活而受到用户和计算机厂商的广泛青睐。微控制器(MCU)在与计算机实现通信时大多依靠USB来实现。在MCU中,51单片机是国内使用最广的单片机之一,但是由于多款51单片机无法直接与计算机实现USB通信,而给许多用户开发和使用带来不便。本文以51单片机中的典型代表STC89C52和恩智浦半导体公司的PDIUSB12为基础设计的USB接口电路,解决了MCU和计算机的USB通信问
[单片机]
基于51单片机和PDIUSB12的USB<font color='red'>接口</font>设计
基于千兆网接口摄像机设计
   1 引 言        随着监控系统在商用民用的日渐普及,监控摄像机被广泛应用在各个领域,为社会治安保驾护航。视频监控摄像机广泛应用于居民住宅、楼盘别墅、商场店铺、财务室。每个不同的应用领域,需要有不同类型的监控摄像机。传统的监控摄像机图像分辨率低,难以满足一些有特殊要求的应用场合。利用网络来实现对高分辨率高帧率视频图像传输是视频监控系统的一种重要思想。但百兆网传输带宽不足、数据传输速度太慢严重制约了其在监控领域的应用。针对这一问题,本文提出了基于千兆以太网传输视频图像并充分利用了FPGA并行处理和SDRAM高速缓存的优势,提高了视频图像的传输速度。 2 硬件总体设计    硬件总体框架如上图,主
[嵌入式]
Windows2000下USB接口的IC卡读写装置客户程序设计
    摘要: 分析了Windows2000下USB客户程序的框架,并就如何开发Windows2000下USB接口的IC卡读写装置客户程序进行了阐述。     关键词: USB总线 客户程序 IC卡 Windows2000 IC卡是高科技的产物,它广泛用于银行、电信、交通运输、小区管理、校园管理等领域,体现了它的巨大优越性。作者在开发一个IC卡机房收费系统时遇到了新问题,那就是当计算机和IC卡装置通信的时候,如果采用传统的串行通信方式固然可行,但供电必须休用单独的外置电源,这样加大了读卡装置的体积。通过翻阅资料发现USB接口可以输出5V电压、500mA的电流,能满足IC卡装置对电源的要求。另外,USB接口和Wi
[应用]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved