郭军磊正文 Microsoft Word 文档.docx
- 文档编号:12384122
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:15
- 大小:279.24KB
郭军磊正文 Microsoft Word 文档.docx
《郭军磊正文 Microsoft Word 文档.docx》由会员分享,可在线阅读,更多相关《郭军磊正文 Microsoft Word 文档.docx(15页珍藏版)》请在冰豆网上搜索。
郭军磊正文MicrosoftWord文档
1.前言
美国国家仪器(NI)公司的虚拟仪器开发平台LabVIEW,使用图形化编程语言编程,界面友好,简单易学,配套的图像处理软件包能提供丰富的图像处理与分析算法函数,极大地方便了用户,使构建图像处理与分析系统容易、灵活、程序移植性好,大大缩短了系统开发周期。
在推出应用软件的基础上,NI公司又推出了图像采集卡,对于NI公司的图像采集卡,可以直接使用采集卡自带的驱动以及LabVIEW中的DAQ库直接对端口进行操作。
但由于NI公司的图像采集卡成本很高,大多用户难以接受,因此硬件平台往往采用通用图像采集卡,软件方面的图像处理程序仍采用LabVIEW以及视频处理模块编写。
本文正是基于这样的目的,提出了一种在LabVIEW环境下驱动通用图像采集卡的方案,在TDS642EVM高速DSP视频处理板卡的平台下,完成实时图像采集及处理。
在图象处理的工作中主要完成对CCD光电探测器的辐射标定。
由于探测器在自然环境下获取图像时,会受到来自大气干扰,自身暗电流,热噪声等影响,使CCD像元所输出信号的数值量化值与实际探测目标辐射亮度之间存在差异,所以要得到目标的精确图像就必须对探测器进行辐射标定。
图像处理:
采用LabVIEW进行图像处理。
LabVIEW (LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器工程平台)是美国NI公司开发的一种领先的工业标准图形化编程工具。
它是目前应用最广的虚拟仪器开发环境,主要用于数据采集、分析、显示,自动化测试测量与仪器控制等领域。
下面将对虚拟仪器、LabVIEW 软件和本次设计的图像采集系统进行详细介绍
2.虚拟仪器的介绍
2.1虚拟仪器的概念
美国国家仪器公司(NI)在20世纪80年代最早提出虚拟仪器(VirtualInstrument,简称VI)的概念。
其核心的思想是利用计算机的强大资源使本来需要硬件实现的技术软件化,以便最大限度地降低系统成本,增强系统功能与灵活性。
虚拟仪器,就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一种计算机仪器系统。
其基本思想就是在测试系统或仪器设计中尽可能地用软件代替硬件,即“软件就是仪器”。
虚拟仪器的基本构成包括计算机、虚拟仪器软件、硬件接口模块等。
用户可以通过友好的图形界面(这里称作虚拟前面板)操作计算机,如同操作功能相同的单台传统仪器一样。
在以PC计算机为核心组成的硬件平台支持下,虚拟仪器通过软件编程设计来实现仪器的测试功能,而且可以通过不同测试功能的软件模块的组合来实现多种测试功能。
虚拟仪器采用的开发平台LabVIEW现在已经成为行业标准的测试测量软件平台。
LabVIEW软件为不同领域的工程师简化了各种技术融合的复杂性,帮助工程师通过同一个软件平台,在第一时间内运用最先进的主流商业技术,加快工作效率。
例如一个没有学习过FPGA编程的工程师使用LabVIEWFPGA模块,可以借助LabVIEW这一已经掌握的工具开发FPGA应用,使用其自动生成的VHDL代码,而无需花时间了解FPGA的技术细节。
LabVIEW的优势在于其图形化的编程方式,直观、便于用户自定义;LabVIEW可集成多种I/O和硬件平台;并且可以连接到多种第三方算法和不同的测试仪器。
现有的虚拟仪器系统按硬件工作平台主要可分为基于PC总线的虚拟仪器、基于VXI的虚拟仪器、基于PXI的虚拟仪器,所应用场合不同各有其特点。
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。
这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。
只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。
2.2虚拟仪器的组成
2.2.1虚拟仪器的硬件构成
硬件接口电路与计算机仪器构成了虚拟仪器的硬件。
计算机是虚拟仪器的核心,主要完成数据的分析处理和结果的显示,硬件接口电路主要完成被测信号的采集、放大、模/数转换,根据构成虚拟仪器的接口总线不同,主要可分为以下几种方案,如图1所示。
图1虚拟仪器的硬件构成框图
(1)基于数据采集卡的虚拟仪器,它是以信号调理电路、数据采集卡(DataAcquisition,简称DAQ)及PC机为仪器硬件平台,采用PCI或ISA计算机本身的总线,将DAQ直接插入PC机的相应标准的总线扩展插槽即可,因此这种虚拟仪器又称PC—DAQ/PCI插卡式虚拟仪器。
(2)基于通用接口总线GPIB(GeneralPropuseInterfaceBus)接口的虚拟仪器,它是以GPIB接口仪器、GPIB接口卡以及PC机为仪器硬件平台,GPIB仪器具有独立的仪器操作界面,能够脱离计算机使用,也可以通过GPIB标准电缆连接计算机实施程序控制。
(3)基于串行口仪器的虚拟仪器,它是由Serial标准总线仪器及PC机为仪器硬件平台,符合RS一232或者RS一422标准的PLC和单片机系统。
(4)基于VXI仪器的虚拟仪器,它是以VXI(VMEbusExtensionforInstrumentation)标准总线仪器模块以及PC机为仪器硬件平台,由主机箱、控制器和仪器模块构成。
其中,控制其安装在零号槽中,VXI称为零槽控制器。
控制器包括嵌入式工作站控制器、外置工作站控制器和嵌入式PC控制,可根据测试功能的要求来选用。
(5)基于仪器的虚拟仪器,它是以PXI(PCIExtensionforInstrumentation)标准总线仪器模及PC机为硬件平台,PXI总线方式是在PCI总线内核技术上增加同步触发总线,参考时钟规范和要求形成。
标准的PXI模块化仪器系统有8个插槽,还可以CompactPCI交互操作,可与GPIB或VXI集成,组成大规模、多用途系统。
(6)基于现场总线的虚拟仪器,它是以FieldBus标准总线仪器及PC机为仪器硬件平台。
上述的几种方案中,GPIB、VXI、PXI方案主要适合构成大型高精度测试系统;PCI.DAQ/PCI、串行口方案主要适合构成大规模的网络测试系统,如测试任务需要,也可将上述集中方案结合构成混合测试系统。
2.2.2虚拟仪器的软件构成
虚拟仪器的核心技术是软件,通过修改程序可实现功能完全不同的各种测量测试仪器,以满足各种不同的需求。
软件可以定义为各种仪器,可以说“软件即是仪器”。
使原来需要硬件实现的功能软件化,以便最大限度的降低系统成本,增强系统功能及灵活性。
由于计算机很容易与网络、外围设备,以及其他应用连接,对于数据采集、系统控制、远程传送都非常方便。
我们只要利用数据采集卡或数据采集电路,就可在计算机上构造新的仪器系统,由软件进行编程实现不同的功能。
虚拟仪器系统的软件从底层到顶层可分为三个层次,即VISA库、仪器驱动程序、应用程序。
(1)VISA(VirtualInstrumentationSoftwareArchitecture)库,VISA库实质是标准的I/O函数库及相关规范的总称,它存在于仪器(即I/0接口设备)与仪器驱动程序之问,是一个为仪器与仪器驱动提供信息传递的底层软件,是实现统一的、开放的虚拟仪器系统的基础与核心。
(2)仪器驱动程序,对于数据的采集与控制,由于涉及到硬件操作,需要对应的硬件驱动程序。
驱动程序是完成对某一特定仪器的控制与通信的软件程序集合,是连接应用程序和VISA库的桥梁,每一个仪器模块都有对应的仪器驱动程序,仪器厂家以源码的形式提供给用户,用户在应用程序中可方便地调用其仪器驱动程序,而不必自己重新设计。
(3)应用软件,它是建立在仪器驱动程序之上,需要由用户自己编写,通过提供直接友好的测控操作界面,丰富的数据分析与处理功能来完成自动测控任务。
目前,虚拟仪器的应用软件开发环境主要有两种:
一种是基于文本语言式的软件开发环境,主要有Labwindows/CVI、VisualC++、VisualBasic、Delphi等;另一种是基于图形化语言的软件开发环境,主要有LabVIEW、HPVEE等。
3.LabView软件的介绍
3.1LabView简介
LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench实验室虚拟仪器工程平台)是一个程序开发环境。
类似于C、BASIC。
但LabVIEW的特点在于,它使用图形化编程语言G在流程图中创建源程序,而非使用基于文本的语言来产生源程序代码。
LabVIEW还整合了与诸如满足GPIB、VXI、RS-232和RS-485以及数据采集卡等硬件通讯的全部功能。
内置了便于TCP/IP、ActiveX等软件标准的库函数。
虽然LabVIEW是一个通用编程系统,但是它也包含为数据采集和仪器控制特别设计的函数库和开发工具。
LabVIEW程序被称为虚拟仪器(VIs),是因为它们的外观和操作能模仿实际的仪器。
由于LabVIEW所使用的术语、图标和概念都是技术人员、科学家、工程师所熟悉的,故而即使用户没有多少编程经验,同样也能利用LabVIEW来开发自己的应用程序。
创建虚拟仪器的过程共分三步:
(1)虚拟仪器的交互式用户接口被称为前面板,因为它模仿了实际仪器的面板。
前面板包含旋钮、按钮、图形和其它的控制与显示对象。
通过鼠标和键盘输入数据、控制按钮,可在计算机屏幕上观看结果。
(2)虚拟仪器从流程图中接收命令(用G语言创建)。
流程图是一个编程问题的图形化解决方案。
流程图也是虚拟仪器的源代码。
(3)一个虚拟仪器的图标和连接就象一个图形(表示某一虚拟仪器)的参数列表。
这样,其它的虚拟仪器才能将数据传输给一个子仪器。
图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序中的子程序(子仪器)。
1.图形化编程环境
该环境包含前面板、流程图、图标和连接。
在软件启动时,系统会建立一个缺省名为Untitled.1的文件(VI)。
该文件包含两个窗口,一个用以编辑前面板,另一个用作编辑流程图。
前面板就象是虚拟仪器的用户接口,尤如实际仪器的面板。
前面板基本上是控制和显示对象的集合。
用以控制模拟仪器输入设备,为虚拟仪器的流程图提供数据。
显示模拟仪器的输出设备及流程图中获得或产生的数据。
2.编程工具介绍
LabVIEW提供了三个模板来编辑虚拟仪器:
工具模板(ToolsPalettes)、控制模板(ControlsPalettes)、功能模板(FunctionsPalettes)。
工具模板提供用于图形操作的各种工具,诸如移动,选取,设置卷标、断点,文字输入等等。
控制模板则提供所有用于前面板编辑的控制和显示对象的图标以及一些特殊的图形。
功能模板包含一些基本的功能函数,也包含一些已做好的子仪器。
这些子仪器能实现一些基本的信号处理功能,具有普遍性。
其中控制、功能模板都有预留端,用户可将自己制做的子仪器图标放入其中,便于日后调用。
3.仪器的开发
熟悉了环境之后,便可以来开发自己的虚拟仪器了。
由于实验条件的限制,本实验只做虚拟仪器的后两部分,实验中所采用的信号不是来自外部采集所得,而是通过软件的方法获得,也就是在流程图中编制一个简单的信号发生器,产生一些周期信号,冲激波及一些虚拟数据(用于拟合)。
前面板的设计分为两部分--显示部分和控制部分,并以左右形式排列在前面板编辑窗口中。
其中显示部分包含原始信号的显示和信号处理后的结果显示。
控制部分包含一些参数的设置,功能的选择,还有系统控制。
为了使面板更接近于真实的仪器面板,利用控制模板中Decorations>>Recessedbox实现凸凹的效果;为了使控制部分和显示部分一一对应起来,防止用户的误操作,对于某些暂不使用的按钮,利用属性Visible、Disable来实现按钮的隐藏、灰显效果。
至于流程图,它是和前面板一一对应的。
整体上采用一个WhileLoop结构,由系统控制按钮来控制。
其内部大体包含两部分:
信号发生器和信号处理部分。
这两部分均用Case窗来实现。
信号处理部分的功能实现较多,因而对每一个功能采用定制子仪器的方法将其做成一个个子仪器,用特定的图标表示。
此法可减少流程图的复杂程度,便于数据流的跟踪和调试。
3.2LabVIEW的特点
虚拟仪器具有传统独立仪器无法比拟的优势,但它并不否定传统仪器的作用,它们相互交叉又相互补充,相得益彰。
在高速度、高带宽和专业测试领域,独立仪器具有无可替代的优势。
在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的拿手好戏,是传统的独立仪器难以胜任的,甚至不可思议的工作。
专家们指出,在这个计算机和网络时代,利用计算机和网络技术对传统的产业进行改造,已是大势所趋,而虚拟仪器系统正是计算机和网络技术与传统的仪器技术进行融合的产物,因此,在21世纪,虚拟仪器将大行其道,日渐受宠,将会引发传统的仪器产业一场新的革命。
LabVIEW是NI推出的虚拟仪器开发平台软件,它们能够以其直观简便的编程方式、众多的源码级的设备驱动程序、多种多样的分析和表达功能支持,为用户快捷地构筑自己在实际生产中所需要的仪器系统创造了基础条件。
LabVIEW采用图形化编程语言--G语言,产生的程序是框图的形式,易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用,可在很短的时间内掌握并应用到实践中去。
特别是对于熟悉仪器结构和硬件电路的硬件工程师、现场工程技术人员及测试技术人员来说,编程就像设计电路图一样;因此,硬件工程师、现场工程技术人员及测试技术人员们学习LabVIEW驾轻就熟,在很短的时间内就能够学会并应用LabVIEW。
也不必去记忆那眼花缭乱的文本式程序代码。
像C或C++等其它计算机高级语言一样,LabVIEW也是一种通用编程系统,具有各种各样、功能强大的函数库,包括数据采集、GPIB、串行仪器控制、数据分析、数据显示及数据存储,甚至还有目前十分热门的网络功能。
LabVIEW也有完善的仿真、调试工具,如设置断点、单步等。
LabVIEW的动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,比其它语言的开发环境更方便、更有效。
而且LabVIEW与其它计算机语言相比,有一个特别重要的不同点:
其它计算机语言都是采用基于文本的语言产生代码行,而LabVIEW采用图形化编程语言--G语言。
LabVIEW程序又称为虚拟仪器,它的表现形式和功能类似于实际的仪器;但LabVIEW程序很容易改变设置和功能。
因此,LabVIEW特别适用于实验室、多品种小批量的生产线等需要经常改变仪器和设备的参数和功能的场合,及对信号进行分析研究、传输等场合。
总之,由于LabVIEW能够为用户提供简明、直观、易用的图形编程方式,能够将繁琐复杂的语言编程简化成为以菜单提示方式选择功能,并且用线条将各种功能连接起来,十分省时简便,深受用户青睐。
与传统的编程语言比较,LabVIEW图形编程方式能够节省85%以上的程序开发时间,其运行速度却几乎不受影响,体现出了极高的效率。
使用虚拟仪器产品,用户可以根据实际生产需要重新构筑新的仪器系统。
例如,用户可以将原有的带有RS232接口的仪器、VXI总线仪器以及GPIB仪器通过计算机,联接在一起,组成各种各样新的仪器系统,由计算机进行统一管理和操作。
可以预见,由于LabVIEW这些其他语言无法比拟的优势,已经成为该领域的一朵奇葩!
最终将引发传统的仪器产业一场新的革命。
4.图像采集卡简介
闻亭公司TDS642EVM(简称642)多路实时视频处理板卡是基于DSPTMS320DM642芯片设计的开发板。
计算能力可达到4Gips,板上的视频接口和视频编解码芯片PhilipsSAA7115H相连,实现实时多路视频图像采集功能,支持多种PAL,NTSC和SECAM视频标准。
本系统通过642的PCI接口与主机进行数据交换。
PCI支持“即插即用(PnP)”自动配置功能,使图像采集板的配置变得更加方便,其一切资源需求的设置工作在系统初启时交由BIOS处理,无需用户进行繁琐的开关与跳线操作。
PCI接口的海量数据吞吐,为其完成实时图像采集和处理提供保证。
5.系统组成及工作原理
图2.图像采集及实时处理系统框图
图像采集的过程也就是图像采集板卡对来自CCD的标准视频信号(PAL制式)进行模数转换的过程,将量化后的数据通过PCI总线传入计算机内存,然后通过编制的应用程序读取显示。
如图2所示,彩色CCD相机输出的视频模拟信号经解码器SAA7115转换为数字信号并输入到642芯片中,642将处理好的实时数字图像信号输出到编码器,由编码器将数字信号转化为标准的PAL制式YCbCr视频信号输出到LCD上,与此同时,输出的Y-Cb-Cr格式数字视频信号经过视频端口的内部FIFO缓冲后,由642通过EDMA将数据传送到片外同步动态存储器芯片SDRAM中,其中包括四组数据,分别是Sem_标志变量(8bit);Y:
Cb:
Cr(4:
1:
1)图像信号:
Y(720*574*8bit)数组,Cb(360*287*8bit)数组,Cr(360*287*8bit)数组,分别存储在SDRAM中的0x80003804,0x8102E000,0x81092E80,0x810AC280地址,以供应用程序使用。
视频采集应用程序由LabVIEW编制完成。
在需要进行图像采集时,LabVIEW发送读取SDRAM中存储的YCbCr格式图像数据的请求,642获得请求后,开始采集图像并将采集到的YCbCr数值存储到相应的内存地址,在642完成整一帧的图像采集之后,将SDRAM中的标志变量Sem设定为0,LabVIEW在这个过程中循环读取标志变量的值,当为0时,则从SDRAM中获得图像数据,也就是Y,Cb,Cr三个数组的数据,然后将其转化为LabVIEW能够显示的标准RGB格式输出该图像。
6.图像采集及图像处理
6.1调用动态链接库驱动图像采集卡
NI公司针对自己生产的图像采集卡附带有卡的驱动和管理程序,对于普通的I/O卡,还不能直接被LabVIEW所应用,必须采取其他方法。
LabVIEW提供了4种调用外部程序代码的途径:
端口直接操作、调用库函数节点(CallLibraryFunctionNode即CLFN)调用DLL(DynamicLinkLibrary动态连接库)、使用CIN(CodeInterfaceNode,外部代码节点),调用ActiveX控件。
其中端口直接操作,利用PortIn.Vi和PortOut.vi功能,此法应用简单,但无法实现较复杂的接口功能。
而采用动态链接库,可以根据具体需要编写适当的程序,灵活利用LabVIEW的各项功能。
较其余三种具有明显的优势。
用户可以调用Windows标准的动态连接库(DLL),也可以调用用户自己编制的DLL,实现LabVIEW与硬件的连接。
建立一个DLL需要的文件有:
①h函数声明文件(可选,可包含在c源文件里);②c源文件(必需);③def模块定义文件(如果是使用标准调用或函数输出必需添加关键字__declspec(dllexport)函数名)。
H文件的作用是声明DLL要实现的函数原型,供DLL编译使用,同时还提供应用程序编译使用。
C文件是实现具体文件的源文件,它有一个入口点函数,在DLL被初次调用的运行,做一些初始化工作。
一般情况下,用户无须做什么初始化工作,只需保留入口点函数框架即可。
def文件是DLL项目中比较特殊的文件,它用来定义该DLL项目将输出哪些函数,只有该文件列出的函数才能被应用函数调用。
要输出的函数名列在该文件EXPORTS关键字下面。
本系统在LabVIEW平台下调用动态链接库实现图像数据的采集主要分为五步:
1.初始化并打开设备(DM642图像采集卡);2.读取标志信号位,看是否初始化为默认值3.写入标志信号位,进行图像数据采集;4.对SDRAM中所存储的图像数据进行读取;5.关闭句柄并释放端口资源。
主要调用动态链接库sd_pci64.dll的目标函数有PCI64_Open,PCI64_MemRead32和PCI64_Close,函数功能如下表所示:
表一:
函数的具体参数如下:
①PCI64_APIINT32PCI64_Open(intBoardNum,PCI64_HANDLE*pHndl);
BoardNum板口号(0-3),*pHndl返回句柄的无符号指针,当返回值为0时,表示打开端口成功,非0时,表示失败。
②PCI64_APIINT32PCI64_MemRead32(PCI64_HANDLEHndl,UINT32Taddr,UINT32Count,UINT32*pData);
获取由PCI64_Open传递的句柄指针,对目标地址存储的数据进行读取,需注意的是目标地址的寻址空间在4M之内,必须初始化一个所需目标数据大小的无符号32位数组空间。
同样返回值为0时,表示成功,非0表示失败。
③PCI64_APIINT32PCI64_Close(PCI64_HANDLEHndl);
需要注意的是,在每次调用PCI64_MemRead32完成读取后,都要将端口关闭,释放地址空间。
具体的调用过程如下:
首先在新建的VI的BlockDiagram中,Function>Advanced子菜单中添加CallLibraryFunctionNode控件,然后对其进行配置,添加该节点后进行配置的对话框如下图3所示:
图3调用CLFN配置框图
分别对DLLs文件名称及存放路径,函数调用方式,需要调用的目标函数的名称,参数个数,每个参数的类型,数据类型及返回值类型进行设置。
设置完成后单击“OK”返回LabVIEW的设计面板(diagram)中。
此时,CallLibraryFunction已经根据刚才配置好的参数个数和类型设置好了输人输出端口,和其它的LabVIEW节点图标一样,只需要将其对应的参数连线即可。
程序调用sd_pci64.dll的目标函数PCI64_Open,PCI64_MemRead32和PCI64_Close完成对指定地址空间0x8102E000化为十进制21*49280,103320大小的数据读取,最后将读取的数据存储在无符号32位pData数组里面。
在LabVIEW中利用CLFN节点可以较容易地实现访问动态连接库(DLL)。
由于DLL是一个外部模块,提高了程序的开发效率,而且在购买普通数据采集卡的时候,厂商一般会给用户提供动态连接库(DLL),所以研究在LabVIEW平台下通过调用动态链接库功能来驱动普通图像采集卡实现图像采集的方法,成为值得推广的方法,具有重要意义。
6.2CCD的介绍
CD,英文全称:
Charge-coupledDevice,中文全称:
电荷耦合元件。
可以称为CCD图像传感器。
CCD是一种半导体器件,能够把光学影像转化为数字信号。
CCD上植入的微小光敏物质称作像素(Pixel)。
一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。
CCD的作用就像胶片一样,但它是把图像像素转换成数字信号。
CCD上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。
经由外部电路的控制,每个小电容能将其所带的电荷转给它相邻的电容。
CD的原理图为:
图4.TC237B的原理框图
下图为CCD检测电路:
图4.CCD图像检测电路
CCD图像传感器可直接将光学信号转换为数字电信号,实现图像的获取、存储、传输、处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 郭军磊正文 Microsoft Word 文档 郭军磊 正文