任意波形发生器板.docx

上传人:b****3 文档编号:24707404 上传时间:2023-05-31 格式:DOCX 页数:22 大小:478.36KB
下载 相关 举报
任意波形发生器板.docx_第1页
第1页 / 共22页
任意波形发生器板.docx_第2页
第2页 / 共22页
任意波形发生器板.docx_第3页
第3页 / 共22页
任意波形发生器板.docx_第4页
第4页 / 共22页
任意波形发生器板.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

任意波形发生器板.docx

《任意波形发生器板.docx》由会员分享,可在线阅读,更多相关《任意波形发生器板.docx(22页珍藏版)》请在冰豆网上搜索。

任意波形发生器板.docx

任意波形发生器板

北京慧孚达科技有限公司

USBSG800任意波形发生卡

 

使用说明书

第一章功能概述

现今社会是飞速发展的信息社会,信息技术对社会发展有着深远影响,而数据采集是信息技术的关键环节。

我公司推出的基于PCI总线、PCIe总线、USB总线及嵌入式等数据采集卡综合了国内外众多同类产品的优点,以其使用的便捷、性能的稳定、性价比高,获得了客户的一致好评,是您理想的选择。

第一节、简介

USBSG800是具有USB接口的便携式任意波形卡。

用户可用根据需要编辑输出任意波形,可选择正弦波、方波、三角波、锯齿、白噪声等常用波形;也可自行定义输出波形,如高斯噪声、梯形、指数、AM、FM、扫频等波形,可设置波形的幅度、频率、等参数。

也可扫频输出正弦波。

USBSG800采用DDS合成技术、大规模FPGA技术,具有频率精度高、分辨率高、可靠性好、软件支持丰富等优点,可广泛用于个人实验室和自动测控系统。

第二节、板卡性能指标

Ø波形频率:

1Hz~5Mhz

Ø频率分辨率:

0.04Hz

ØDAC采样频率最高可达120Mhz。

Ø波形长度:

标配1Msa。

Ø垂直分辨率:

14位

Ø波形幅度:

-5V~+5V

Ø输出阻抗:

50欧姆,输出电流大于50mA

Ø低通滤波:

截止频率10Mhz

Ø谐波失真-65dBc(<1KHz)、-60dBc(100KHz)

Ø可输出扫频正弦波0.1Hz~5Mhz。

输出信号的扫频范围,频率步进步长长度及每一频率信号循环时间都可以由用户设定。

Ø可以连续输出1024组波形数据,每一组的波形频率、类型、循环次数及采样点个数可有用户选择,整个波形组的循环次数也可由用户设定。

Ø具有软件触发及外触发功能,外触发信号可以为标准TTL脉冲信号。

Ø具有16路数字IO,电平标准为TTL电平。

ØUSB2.0接口,数据传输速度快,即插即用,方便快捷。

Ø3个LED输出指示灯。

Ø外供电电源5V/2A。

第三节、软件支持

USBSG800任意波形发生卡提供丰富的软件支持,提供集成软件和驱动程序以及编程接口、动态连接库、使用例程等。

第二章硬件详述

RP2

第一节、板卡外形

信号输出

接口

RP1

LED指示灯

电源

接口

USB接口

数字IO接口

第二节、板卡构造说明

1:

数字IO定义(J3)

管脚

管脚

管脚

管脚

1

DGND

6

DI2

11

DO1

16

DO4

2

DGND

7

DI5

12

DO0

17

DO7

3

DI1

8

DI4

13

DO3

18

DO6

4

DI0

9

DI7

14

DO2

19

DGND

5

DI3

10

DI6

15

DO5

20

DGND

其中DI0~DI7为数字输入,DO0~DO7为数字输出。

电平为TTL电平标准。

DI0也可作为DAC输出的外触发信号(外触发电平可以是高电平触发也可以是低电平触发)。

2:

电源管脚定义

外部输入直流电源为5V/2A,J4为电源插头,管脚1为电源管脚(靠近板卡外侧管脚),管脚2(靠近板卡内侧管脚)为地管脚。

3:

波形信号输出管脚

J1为波形信号输出管脚,管脚1为信号接头,管脚2为AGND。

BNC接头。

4:

LED指示灯

LED1:

用来指示波形输出处于扫频模式

LED2:

用来指示波形输出处于非扫频模式

LED3:

用来指示系统上电复位成功

5:

如何微调输出波形的幅值和零点

产品出厂时已经校准,当用户使用一段时间后,认为需要校准时,可按如下方法进行校准。

准备一块5位半精度以上数字电压表,安装好该产品,打开主机电源,预热15分钟,数字万用表连接波形输出信号。

运行USBSG800高级程序。

1)零点校准:

首先进行参数配置。

总循环次数配置为0;触发源选择软件触发;鼠标点击右下方方框内“添加”二字,添加一组波形的参数及数据,点击“波形”选项的方格,可以修改该组波形数据及段长度(波形选择直线,数据位数14位,数据点数1024,垂直偏移0,码值8192),该组波形循环次数选项填写0,波形频率选项可以填写1000值;点击写入参数和数据按钮;点击使能设备按钮,开始输出波形。

调整电位器RP1,万用表显示信号电压值为0为止。

2)满度校准:

首先进行参数配置。

参数配置方法同上,波形码值选项填写16383;点击使能设备按钮,开始输出波形。

调整电位器RP2,万用表显示信号电压值为5V为止。

6:

安装驱动

将USBSG800.inf文件和USBSG800.sys文件分别拷贝到C:

\windows\inf\文件夹和C:

\windows\system32\drivers\文件夹下(将AMathEx.dll文件拷贝到C:

\windows\system\文件夹下面,这样就可以使用用户提供的高级应用软件sys.exe)。

将USBSG800板卡上电,并将USB接口和计算机USB接口连接。

系统的“设备管理器”中“通用串口控制器”一栏显示“USBSG800”设备。

 

第三章软件使用说明

第一节、界面构成

用户界面分为6个部分:

数字IO、滤波器选择、参数配置、波形参数链表、波形示意图、波形运行状态信息。

第二节、操作指南

1:

数字IO

数字IO部分用于控制板卡的数字IO。

数值IO为TTL电平标准。

其中IO15~IO8为输出,IO7~IO1为输入。

数字输出IO15~IO8项目用于控制数字输出的数值,16进制,8位,每一位代表一路输出,由高到低分别代表IO15~IO8。

数字输入IO7~IO1项目用于显示数字IO7~IO1的输入值,共7位,每一位代表一路输入,由高位到低位依次表示IO7~IO1。

使能IO测试按钮用于启动IO输入输出测试,程序会定时查询,并更新IO输入输出数值。

2:

滤波器选择

使能滤波器按钮用于使能板卡低通滤波器,对输出的波形信号进行滤波。

禁止滤波器按钮用于停止板卡低通滤波器运行。

默认状态是板卡滤波器不运行。

 

3:

参数配置及波形参数链表

扫频模式和非扫频模式需要配置的参数不同。

扫频模式参数配置方法:

A.扫频起始频率

B.扫频截止频率

C.扫频定时器

D.扫频步长

E.扫频模式

F.总循环次数

G.写入参数和数据

H.使能设备

(以上为界面上出现的选项及按钮)需要注意的是扫频范围0.1Hz~5Mhz;

扫频定时器范围0~0xFFFFFFFF单位是十分之一微秒,该选项规定了每一特定频率波形信号输出时间,该计时器计时结束后,信号频率将按照扫频步长来增加或减少,计时器从零开始计时;

扫频步长是指输出信号频率定时结束后,频率递增或递减值;当扫频起始频率小于扫频截止频率时,信号频率按扫频步长递增,否则信号频率按扫频步长递减;

总循环次数是指信号从起始频率到截止频率循环输出的次数,当该选项为零时表示信号一直循环输出,直到禁止设备为止;

写入参数和数据按钮是将配置用户的参数信息一起传递给板卡;

使能设备按钮是指启动信号输出;

禁止设备是指信号停止输出。

非扫频模式参数配置方法:

A.总循环次数

B.触发源

C.触发方向

D.波形模式

E.添加波形参数链表(频率、循环、段长度、波形)

F.写入参数和数据

G.使能设备

(以上为界面上出现的选项及按钮)需要注意的是信号频率范围0.1Hz~5Mhz;DAC采样频率最高120Mhz=信号频率x段长度。

注意在填写波形参数链表时,不要超出DAC采样频率范围。

总循环次数是指参数链表里的波形从序号0开始输出到最后一组波形输出结束为循环一次,然后又从序号0的波形开始重新输出。

总循环次数为0的话是指不断的循环下去。

直到按下禁止设备按钮为止。

触发源选项有软件触发和外触发(DTR触发即数字电平触发)

触发方向选项有负向触发,正向触发两个选项,正向触发是指高电平使能波形输出,反之低电平使能波形输出。

当选择软件触发模式时,此选项可以不考虑。

波形模式有扫频模式和非扫频模式两个选项,此处选择扫频模式。

在波形参数链表中用户需要填写的波形信号参数有频率、循环、段长度、波形;这些参数每一组波形都必须要填写。

其中频率是指波形输出的频率;循环是指在一次总循环中,输出该组波形信号时,该组波形信号连续循环的次数;段长度是指该组波形每一个周期采样点数;波形是指波形类型,包括正弦波、三角波、方波、锯齿波、白噪声、直线等类型,还可以自己定义波形。

非扫频模式下,鼠标点击波形参数链表中“添加”二字,添加一组波形的参数及数据。

每添加一组波形数据,序号加一。

该组波形频率大小,循环次数可以通过点击“频率”及“循环”选项对应的方格单独修改。

修改段长度时,相应波形数据需要重新修改。

在波形参数链表中选中一组波形,点击批量添加按钮,那么会自动添加n组波形,均与选中波形相同,其中n值是段个数选项中添加的数值。

点击波形参数链表中“波形”选项对应的方格,会蹦出一个新界面,可以修改该组波形数据及段长度等参数。

还可以点击“从文件读取数据”按钮,来读取自己定义的数据文件。

下面给一个数据格式的例子。

(.txt文本文件)两组波形数据,正弦波和三角波,这两组波形信号的频率、段长度、循环次数、波形类型、每个采样点数据值都给出了(其中波形选择选项中,正弦、三角、方波、锯齿波、白噪声、直线、自定义的波形类型号依次是0、1、2、3、4、5、6)。

数据文件格式可仿照如下文件。

段个数=2

段号=0

频率=10000

段长度=32

循环次数=2000000

波形类型=0

段号=1

频率=20000

段长度=16

循环次数=3000000

波形类型=1

数据区

00000008192

00000019790

000000211326

000000312743

000000413984

000000515003

000000615760

000000716226

000000816383

000000916226

000001015760

000001115003

000001213984

000001312743

000001411326

00000159790

00000168192

00000176593

00000185057

00000193640

00000202399

00000211380

0000022623

0000023157

00000240

0000025157

0000026623

00000271380

00000282399

00000293640

00000305057

00000316593

00000328192

000003310240

000003412288

000003514336

000003616383

000003714336

000003812288

000003910240

00000408192

00000416144

00000424096

00000432048

00000440

00000452048

00000464096

00000476144

 

4:

波形运行状态信息

波形运行状态信息栏显示信息有

Ø总循环次数:

当前波形信号已经循环的次数,0表示一直在循环。

Ø非扫频模式段号:

当前正在输出的波形信号的序号。

Ø非扫频模式段循环次数:

当前正在输出的波形信号已经循环的次数。

Ø触发标志:

触发标志,内触发为,外触发为。

Ø扫频模式定时器:

扫频模式时,当前输出波形定时器数值,单位十分之一微妙。

Ø扫频模式波形频率:

扫频模式时,当前输出的波形信号的频率。

Ø时间:

显示时间值。

5:

波形示意图

选中波形参数链表中一组波形,那么会在波形示意图中显示该组信号的波形。

第三节、二次开发指南

1:

编程接口

USBSG800提供驱动文件为USBSG800.inf和USBSG800.sys,提供高级应用程序例程。

用户在此基础上二次开时,工程文件中需要包含ZRUsb.lib、CyAPI.lib、AMathEx.lib、AMathEx.dll及头文件AMathEx.h、ZRUsb.h。

2:

AMathEx.lib库函数简介

AMathEx.lib用于生成波形数据。

1):

波形类型结构体

typedefenum

{

Sine=0,//正弦

Triangle=1,//三角

Square,//方波

SawTooth,//锯齿波

WhiteNoise,//白噪声

DC,//直线波

USER//用户自定义

}WaveType;

 

2):

波形信息结构体

typedefstruct_WAVE_INFO

{

longenumWaveType;//波形类型

LONGiSizeWords;//数据点长度

LONG*pDataBuff;//数据缓冲区指针

LONGiDataBits;//数据精度位数

LONGiCycleCount;//周期总个数(小于等于SizeWords)

floatfAmplitude;//幅值(0.0-1.0)

floatfOffset;//偏移(-1.0-1.0)

floatfPhase;//相位(0.0-maximum)

floatfDuty;//占空比

}WAVE_INFO,*PWAVE_INFO;

3):

创建波形对话框函数

AMATHAPIWAVE_INFO*FARPASCALCreateWaveDlg(WAVE_INFO*pWave,CWnd*pParent=NULL);//初始波形

4):

释放波形对话框生成的数据

AMATHAPIvoidFARPASCALReleaseWave(WAVE_INFO*pWave);

5):

正弦波函数发生器

AMATHAPIvoidFARPASCALCreateSine(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

LONGCycleCount,//周期总个数(小于等于SizeWords)

floatAmplitude,//幅值(0.0-1.0)

floatOffset,//偏移(-1.0-1.0)

floatPhase,//相位(0.0-maximum)

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

6):

三角波函数发生器

AMATHAPIvoidFARPASCALCreateTriangle(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

LONGCycleCount,//周期总个数(小于等于SizeWords)

floatAmplitude,//幅值(0.0-1.0)

floatOffset,//偏移(-1.0-1.0)

floatPhase,//相位(0.0-maximum)

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

 

7):

方波函数发生器

AMATHAPIvoidFARPASCALCreateSquare(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

LONGCycleCount,//周期总个数(小于等于SizeWords)

floatAmplitude,//幅值(0.0-1.0)

floatOffset,//偏移(-1.0-1.0)

floatPhase,//相位(0.0-maximum)

floatDuty,//占空比

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

8):

锯齿波函数发生器

AMATHAPIvoidFARPASCALCreateSawTooth(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

LONGCycleCount,//周期总个数(小于等于SizeWords)

floatAmplitude,//幅值(0.0-1.0)

floatOffset,//偏移(-1.0-1.0)

floatPhase,//相位(0.0-maximum)

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

9):

白噪声函数发生器

AMATHAPIvoidFARPASCALCreateWhiteNoise(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

floatAmplitude,//幅值(0.0-1.0)

floatOffset,//偏移(-1.0-1.0)

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

10):

直线函数发生器

AMATHAPIvoidFARPASCALCreateDCWave(

LONGDataBuffer[],//数据缓冲区

LONGSizeWords,//创建的数据长度(单位:

字)

floatOffset,//偏移(-1.0-1.0)

LONGDataBits=16);//数据位数(8=8Bits,12=12Bits,14=14Bits,16=16Bits)

 

3:

ZRUSB.lib库文件中库函数简介

ZRUSB.lib库函数用于初始化板卡,配置波形参数及数据,控制波形信号的输出等功能

1):

段信息结构体

typedefstruct_USB3020_SEGMENT_INFO

{

LONGSegFreq;

LONGSegLoopCount;//每个段在大循环中的小循环次数,取值为[1,16777215]

LONGSegmentSize;//每个段在RAM中的长度(单位:

字/点)

}USB3020_SEGMENT_INFO,*PUSB3020_SEGMENT_INFO;

2):

波形参数结构体

typedefstruct_USB3020_PARA_DA

{

LONGOutputRange;//输出量程

LONGSweepBeginFrequency;//扫频模式起始频率

LONGSweepEndFrequency;//扫频模式截止频率

LONGSweepFrequencyIncrement;//扫频模式频率递增/递减步长

LONGSweepTimer;//扫频模式定时器

LONGLoopCount;//整过RAM的大循环次数,=0:

无限循环,=n:

表示n次循环(1

//LONGTriggerMode;//触发模式选择

BOOLbSweepMode;//扫频模式选择

LONGTriggerSource;//触发源选择

LONGTriggerDir;//触发方向选择

LONGbSingleOut;//是否单点输出

//LONGClockSource;//时钟源选择

}USB3020_PARA_DA,*PUSB3020_PARA_DA;

3):

常量定义

//DA输出函数InitDeviceDA的模拟量输出范围参数OutputRange所使用的选项

constlongUSB3020_OUTPUT_N5000_P5000mV=0x00;//±5000mV

constlongUSB3020_OUTPUT_N10000_P10000mV=0x01;//±10000mV

//DA硬件参数USB3020_PARA_DA中的TriggerMode成员变量触发模式选项

constlongUSB3020_TRIGMODE_SINGLE=0x00;//单次触发

constlongUSB3020_TRIGMODE_CONTINUOUS=0x01;//连续触发

constlongUSB3020_TRIGMODE_STEPED=0x02;//单步触发

constlongUSB3020_TRIGMODE_BURST=0x03;//紧急触发

//DA硬件参数USB3020_PARA_DA中的TriggerSource成员变量触发源选项

constlongUSB3020_TRIGSRC_SOFT_DA=0x00;//软件触发

constlongUSB3020_TRIGSRC_DTR_DA=0x01;//DTR硬件模拟触发

 

//DA硬件参数USB3020_PARA_DA中的TriggerDir成员触发方向选项

constlongUSB3020_TRIGDIR_NEGATIVE=0x00;//负向触发(低脉冲/下降沿触发)

constlongUSB3020_TRIGDIR_POSITIVE=0x01;//正向触发(高脉冲/上升沿触发)

constlongUSB3020_TRIGDIR_POSIT_NEGAT=0x02;//正负向触发(高/低脉冲或上升/下降沿触发)

//DA硬件参数USB3020_PARA_DA中的ClockSource成员变量时钟源选项

constlongUSB3020_CLOCKSRC_IN=0x00;//内部时钟

constlongUSB3020_CLOCKSRC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1