cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1955|回复: 7

PCI6251产生8路不同频率和相位的方波

[复制链接]
发表于 2007-11-24 15:49:14 | 显示全部楼层 |阅读模式
手上只有NI的PCI6251,现在想产生8路方波,具体要求为:
4组信号,四种频率,一组两路方波,其频率一样,相位不一样,这样的8路信号,想用DIO口输出,是否可以?频率为可调,范围为20K~150K。

[ 本帖最后由 Jamie 于 2007-11-24 16:08 编辑 ]
发表于 2007-11-24 16:13:02 | 显示全部楼层
方波当然没有问题了,就相当于单片机的CPL P2.0一样,每次对管脚的电平取反,而波形周期可以靠延时的方法,可以考虑定时循环结构,timed loop.,在内部进行延时的改变,从而改变高低电平的时间,从而改变占空比和频率。

如果用AO的方法,可以直接输出方波的波形了,不用这么麻烦。
发表于 2007-11-26 16:12:30 | 显示全部楼层
再给你提供一个方法,
原理:
PCI-6251 - Multifunction DAQ  The National Instruments PCI-6251 is a high-speed multifunction M Series data acquisition (DAQ) board optimized for superior accuracy at fast sampling rates. For increased measurement accuracy, consider the high-accuracy M Series devices with an 18-bit analog-to-digital converter
        模拟输入: 16 SE/8 DI · 1.25 MS/s · 16 bits
模拟输出: 2 · 2.86 MS/s · 16 bits
数字I/O: 24 DIO · 10 MHz
计时器/定时器: 2 · 32 bits · 80 MHz
发表于 2007-11-26 16:15:55 | 显示全部楼层
方法;
每个IO的最大刷新速率10M/s,那么我只需要按照这个最大的刷新速率考虑即可。
我将一个方波(比如1000个点,其中500点为高电平5V),给定一个阈值2.5V,当大于这个阈值的时候,输出True,否则为False,则会形成一个新的T、F真假值的数组,for循环送给IO端口即可。
IO 物理刷新能力为10M,则点间为0.1us,
下面以50%的占空比为例:
比如要实现20K的方波,则需要保证一个周期为50us,那么50us需要多少点?
答案是: 高电平25us/0.1us=250个点;低电平为250个点;
比如要实现50K的方波,则需要保证一个周期为20us,那么20us需要多少点?
答案是: 高电平10us/0.1us=100个点;低电平为100个点;
只需要保证高低电平的点数合适,则就可以保证合适的方波了,当然也可以采用2个for loop,构造2个数组分别为高电平和低电平的点数构造,然后连接形成合适的方波,最后统一输出。

[ 本帖最后由 wdyjz 于 2007-11-26 17:08 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2007-11-27 09:55:43 | 显示全部楼层

解决方法3

采用外部时基,花10元人民币左右,来够造一个20MHz的晶振电路,输出5V、20MHZ的方波,送往counter输入,LabVIEW通过计数,来调整IO端子电平的高低控制,从而形成方波和一定的占空比,这个可以参考解决方案2;
发表于 2007-11-27 09:56:18 | 显示全部楼层

方法4、采用一个标准的信号发生器

采用一个标准的信号发生器+1路counter,参考方式2.
发表于 2007-11-27 09:57:51 | 显示全部楼层

解决方案5、采用counter的内部路由机制

利用counter内的自振荡和路由机制,根据脉冲个数来调整IO电平的高低电平变化。参考:DAQmx部分的例子和方式2.
发表于 2007-11-27 10:00:29 | 显示全部楼层

解决方案6、采用外部触发管脚+AI+外部振荡器时钟

采用外部触发管脚+AI+外部振荡器时钟,通过外部AI记录中断触发的个数,然后调节IO电平变化,参考方法2.
具体实现我没有做过,不过从示波器和信号发生器的角度思考,再加上单片机的定时、计数、外部中断的多年开发经验,可以移植到PCI-6251的IO控制上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2024-5-20 01:53 , Processed in 0.402794 second(s), 9 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表