用LabVIEW 开发虚拟函数发生器
用 LabVIEW 开发虚拟函数发生器 X
庞卫子
(盐城工学院 电气工程系 ,江苏 盐城 224003)
摘 要 :介绍了一种虚拟函数发生器的工作原理及其软硬件设计。该仪器采用图形化编程语
言 LabVIEW设计对该函数发生器的功能及软件开发设计作了详细介绍。
关键词 :虚拟仪器 ; 函数发生器 ; 图形化编程 ;LabVIEW
中图分类号 :TM45 文献标识码 :A 文章编号 :1671-5322 (2002) 04-0017-02
本文介绍用美国国家仪器公司(NI) 的数据采
集卡和该公司的图形化编程环境 LabVIEW实现
的基于 PC 机的虚拟函数发生器的设计 ,它能充
分使用 PC 机的键盘、鼠标、显示器和硬盘 ,使用
方便 ,功能强。该仪器的显示和操作面板同传统
函数发生器类似 ,可以让使用者充分利用原来的
操作经验。
1 虚拟函数发生器
虚拟函数发生器主要由一块基于 PCI总线的
数据采集卡和相应软件组成。将数据采集卡和虚
拟函数发生器软件装入一台普通的 PC 机上 (操
作系统为 Windows98P2000PNT) ,即构成了一个功
能强大的虚拟函数发生器。该函数发生器的主面
板如图 1 所示。
图 1 虚拟函数发生器主面板图
Fig.1 Themainpanelofvirtualfunctiongenerator
1.1 数据采集卡
虚拟函数发生器所采用的数据采集卡是 NI
公司的 NI-5411 数据采集卡 ,单通道 ,分辨率为
12 位 ,最大刷新速率可达 40MHz;DDS 累加器为
32 位 ,16MB 的波形存储器 ,输出电压的范围为
±5V (带 50Ω负载 ) 、±10V (高阻抗负载) ;输出
电压精度为 ±0.1dB, 输出阻抗 50 Ω 或 75 Ω,正
弦频谱纯度 :信号频率 ≤1MHz 时为 -60dBc, 信
号频率 ≤16MHz 时为 35dBc 。该卡还具有 NI 公
司所提供的实时系统集成技术(RTSI) 和相应的硬
件配置[1] 。利用这项技术 ,可以将 NI 公司生产的
硬件通过时钟总线用软件进行互连 ,从而实现多
个仪器之间的时钟同步 :如果在计算机里插了 2
块 NI-5411, 并通过它们的 RTSI线互连 ,则能实
现双通道函数发生器。
1.2 虚拟函数发生器功能设计
虚拟函数发生器的设计参考了常见信号发生
器的功能 ,并结合虚拟仪器基于计算机的特点 ,在
功能上有所扩展。仪器主要功能和指标如下 : (1)
可产生正弦波、方波、三角波、正或负锯齿波及直
流输出 ; (2) 输出的正弦波信号的频率可达到 16
MHz,其它波形能达到 1MHz; (3) 可以产生用户自
定义的波形 ,用户可以通过一个文本文件向导建
立自定义的波形文件 ,只要该文件包含足够的采
样点数(在本设计中 ,文本文件需包含 16384 个采
样点) ,就能将用户自定义的波形输出 ; (4) 可以实
现扫频和跳频功能 ,用户调用频率列表编辑器 ,并
第 15 卷 第 4 期
2002 年 12 月
盐城工学院学报 (自然科学版)
JournalofYanchengInstituteofTechnology (NaturalScience)
Vol.15No.4
Dec.2002
X 收稿日期 :2002-10-11
作者简介 :庞卫子 (19462) ,女 ,江苏盐城市人 ,盐城工学院电气工程系副教授。
设定一个最多可至 512 个不同频率的波形序列 ,
如果设定的频率是从小到大顺序递增的 ,则实现
扫频功能 ,扫频或跳频的频率值和持续时间的大
小可任意设定[2] 。
2 仪器软件设计
2.1 软件开发环境
多通道虚拟波形记录仪的软件设计采用了
NI 公司的图形化编程语言工具 Labview6.0 。Lab2
VIEW ( LaboratoryVirtualInstrumentEngineering
Workbench) 是目前国际上应用最广泛的虚拟仪器
开发环境之一 ,主要用于仪器控制、数据采集、数
据分析、数据显示等领域 ,并适合于 Windows9X、
Macintosh、UNIX等多种不同的操作系统平台。与
传统程序语言不同 ,LabVIEW采用强大的图形化
语言( G语言) 编程 ,面向测试工程师而非专业程
序员 ,编程简单 ,界面形象直观 ,具有强大的数据
可视化分析和仪器控制能力等特点。LabVIEW是
一个功能强大、方便灵活的集成开发环境。为更
逼真地模拟传统仪器的工作方式 ,LabVIEW提供
了丰富的控件 ,如各种旋钮、开关、仪表盘、模拟数
字示波器等 ,并可根据实际需要定制控制 ;Lab2
VIEW完整地集成了与 GPIB、VXI、RS-232 、RS-
485 和内插式数据采集卡等硬件的通迅 ;LabVIEW
还具有内置程序库 ,提供了大量的连接机制 ,通过
DLLs、共享库、ActiveX等途径实现与外部程序代
码或软件系统的连接 ,将其自身无法或不易实现
的任务通过能够或更适于完成此类任务的外部程
序代码来实现 ,从而最终增强了 LabVIEw的整体
功能。同时 ,LabVIEW还拥有最大的多厂商仪器
驱动程序库 ,支持用户的二次开发 ,可以帮助用户
方便、迅速的完成系统设计工作。
2.2 主要功能模块
虚拟函数发生器主要功能如图 2 所示 :虚拟
函数发生器通过正弦波、三角波、方波、直流及正
负锯齿波等程序模块输出相应的波形。在输出波
形的同时 ,可以通过动态配置模块 ,改变输出波形
的频率和幅值及偏置。此外 ,虚拟函数发生器还
提供了用户定义模块 ,通过该模块调用文本文件
向导 ,在该向导上用户可以定义文本方式的波形
序列文件 ,将该文件导入即可把波形序列发出去。
用户通过调用频率列表编辑器 ,在该编辑器上定
义扫频的各频率间隔及跳频设定 ,实现扫频和跳
频的功能 ,频率列表编辑器如图 3 所示 ,输出方式
有以下几种 :单次触发、连续触发、单步触发、脉冲
触发等。
图 2 函数发生器结构图
Fig.2 Thestructureoffunctiongenerator
图 3 频率列表编辑器
Fig.3 Frequencylisteditor
3 结束语
本文介绍的虚拟函数发生器已在某型测试系
统中实际使用 ,应用表明 :基于 PC 机的虚拟函数
发生器仪具有产生信号精度高、功能强、稳定性好
及操作方便灵活等特点。而且由于虚拟仪器的功
能是由软件来完成的 ,软件即仪器 ,仪器功能的修
改和升级很方便。实践证明采用 LabVIEW开发
平台开发各种用途的虚拟仪器是仪器领域的一个
重要发展方向。
参考文献 :
[1]NICrop.NationalInstrumentsLabVIEWMeasurementsManual[M].NICrop,2000.
[2]NICrop.NationalInstrumentsVirtualBenchUserManual[M].NICrop,2000.
(下转第 58 页)
·81· 盐城工学院学报 (自然科学版) 第 15 卷
第 13 至 16 字节为分区大小。
如果用 DEGUG中的 E 命令修改扩展 DOS分
区的系统标志 0F (或 05) 为非 DOS分区的系统标
志 FF, 然后用 E 命令修改 AH 中的 02 为 03, 即将
上述程序代码中的相应行 MOVAX,0201 改为
MOVAX,0301, 然后再用 G=100 执行这个程序 ,
就能将修改后的结果写回硬盘 ,重新启动计算机 ,
扩展分区就全部隐藏起来了 ,而且不可访问。如
果只想隐藏 E 分区 ,不隐藏 D 分区 ,那么可将上
述代码段中的相应行 MOVCX,0001 改为 MOVCX
A681, 然后再用 G=100 执行这个程序 ,再次读出
如下数据 :
000181A6 0B EF7F4B3F000000216C9C
00
0000414C 05 EFBF5E606C9C0030B22B
01
用同样的方法再将 DOS分区的系统标志 05
(或 0F) 改为非 DOS分区的系统标志 FF, 再将结
果写回硬盘 ,重新启动计算机 ,D 分区可以正常访
问 ,而 E 分区不能正常访问 ,也就是 E 分区被隐
藏了。如果要访问隐藏的分区 ,只需将分区表中
相应的系统标志由 FF 再改为相应的 05(或 0F) 即
可。
3 结语
以上两种方法都能很好的隐藏镜像文件分
区 ,使得操作者无法访问隐藏的分区 ,从而达到保
护相应分区上镜像文件的安全性 ,一旦 C 分区上
的软件遭到破坏 ,很容易通过隐藏分区上的镜像
文件来还原 C 分区。
参考文献 :
[1]PeterNorton. 中文 Windows98管理手册[M]. 北京 :机械工业出版社 ,1999.
[2] 刘加明. 学习使用中文 Windows95[M].北京 :人民邮电出版社 ,1997.
[3]RichardMansfield.Windows95 使用大全[M]. 北京 :机械工业出版社 ,1997.
HowtoShowandHidepartitionofHardDisk
SHAOHong2cheng
(ComputerCenterofYanchengInstituteofTechnology,JiangsuYancheng 224003,China)
Abstract:Theinstalledsoftwareanddataareeasilydamagedbecauseofvirusoroperators ’mistakes.Thispaperusestheregistertablein
thewindowsandsystematicsymbolinthepartitiontabletohidetheimportantsothattheoperatorswillfailtovisitthispartitiontoprefect
thesoftwareanddata.
Keywords:partition;show;hide;windows;registertable
(上接第 18 页)
TheDesignofVirtualFunctionGeneratorwithLabview
PANGWei2zi
(DepartmentofElectricalEngineeringofYanchengInstituteofTechnology,JiangsuYancheng 224003,China)
Abstract:Inthispaper,thebasicprincipleandthedesignmethodofavirtualfunctiongeneratorisintroduced,whichisdevelopedusing
thegraphprogramminglanguage“LabVIEW”.Thefunctionofthisfunctiongeneratorandprocessofdevelopmentaredetailed.
Keywords:VirtualInstrument;FunctionGenerator;GraphicalProgramming;LabVIEW
·85· 盐城工学院学报 (自然科学版) 第 15 卷
用LabVIEW 开发虚拟函数发生器.pdf