DA输出基本资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.D/A模拟信号输出板卡设置 1. D/A模拟信号输出范围选择 在PCI2003板上,D/A模拟输出范围可选择单极性0~5V、0~10V输出,或选择双极性±5V、±10V输出,通过跳线XF6、XF7、XF8、XF9可进行选择,跳线设置可按表2.3进行选择。其中XF6、XF9 选择DA0、DA1是单极性0~5V、0~10V输出或双极性±5V、±10V输出;XF8选择DA0的模拟信号输出量程,XF7选择DA1的模拟信号输出量程。 表2.3 D/A模拟信号输出范围选择 输出范围 XF6、XF9 XF8(DA0) XF7(DA1) 0 ~ 5V 0 ~ 10V -5V ~ +5V -10V ~ +10V 二.信号输入/输出插座定义 1. 关于37芯D型插头XS1的管脚定义(模拟输入信号) 管脚号 管脚定义 管脚号 管脚定义 管脚号 管脚定义 1 DGND 14 CH10(IN02-) 27 DA1 2 DGND 15 CH8(IN00-) 28 DA0 3 无定义 16 CH6(IN06+) 29 AGND 4 VCC 17 CH4(IN04+) 30 CH15(IN7-) 5 AGND 18 CH2(IN02+) 31 CH13(IN05-) 6 -15V 19 CH0(IN00+) 32 CH11(IN03-) 7 +15V 20 DGND 33 CH9(IN01-) 8 AGND 21 TR 34 CH7(IN07+) 9 AGND 22 VCC 35 CH5(IN05+) 10 AGND 23 DGND 36 CH3(IN03+) 11 AGND 24 -15V 37 CH1(IN01+) 12 CH14(IN06-) 25 AGND 13 CH12(IN04-) 26 +15V CH00~CH15:PCI2003 A/D卡输入通道号 IN00+ ~IN07+ :双端模拟信号输入正端 IN00- ~IN00- :双端模拟信号输入负端 DA0:模拟信号输出端 DA1:模拟信号输出端 ·DGND:数字地 ·+5V:PCI2003板+5V电源 ·+15V:PCI2003板+15V电源 ·-15V:PCI2003板-15V电源 TR:外部触发信号,当TR有一由低至高的变化(上升沿)时,PCI2003 A/D卡将按预先设定的采集通道总数进行采集,直至采集结束。程序举例见软件说明书相应部分。 AGND:模拟地 DGND:数字地 三.数据转换规则 1.DA的电压值如何转换成输出到DA转换器的LSB原码数据? 量程(伏) 计算机语言换算公式 Lsb取值范围 ±5000mV Lsb = Volt / (10000 / 4096) + 5000 [0,4095] 0~10000mV Lsb = Volt/ (10000 / 4096 ) [0,4095] ±10000mV Lsb = Volt/ (20000 / 4096 )+10000 [0,4095]  请注意这里求得的LSB数据就是用于WriteDeviceProDA中的DAData参数的。   四.软件编程 1.怎样使用WriteDeviceProDA函数实现DA的波形输出? 其方法很简单,您只须先形成一批波形数据,放在缓冲区出,然后后WriteDeviceProDA反复连续输出即可。 HANDLE hDevice; WORD DABuffer[1024]; // 存放波形的缓冲区,这里假设已存放了波形数据 int nDAChannel; DeviceID = 0; hDevice = PCI2003_CreateDevice(DeviceID); nDAChannel = 0; for(int i=0; i1024; i++) { PCI2003_WriteDeviceProDA(hDevice, DABuffer[i], nDAChannel) } PCI2003_ReleaseDevice( hDevice ); 2.如何获得高精度定时? //QueryPerformanceFrequency(litmp);函数获得机器内部定时器的时钟频率, //然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数, //利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。以下程序实现1ms精度的定时 LARGE_INTEGER litmp; LONGLONG QPart1,QPart2; double dfMinus, dfFreq, dfTim; QueryPerformanceFrequency(litmp); dfFreq = (double)litmp.

文档评论(0)

yuguanyin2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档