连续输出波形信号
发布时间:2014/6/27 20:20:53 访问次数:857
当波形数据太大,缓冲区放不下,MB16R-1405PX或者它在不断变化的话,就需要使用循环缓冲区输出数据。虽然可以使用易用模拟输出VI在程序的循环结构中建立循环缓冲区的输出,但是这样会降低程序的效率,因为易用VI每次被调用时都要进行硬件配置、分配内存、释放内存,这就造成数据输出间的时间中断。
图7-36是连续生成波形的程序框图。它使用实用VI-AO Continuous Gen执行循环缓冲区的模拟输出。当iteration参数输入为O时,它进行硬件配置,并分配一块内存缓冲区;iteration大于0以后,它使用已有的配置,连续输出波形数据。执行第一次循环时.My Data Generator VI算出的波形数据填满整个缓冲区;以后各次循环中,My DataGenerator VI算出的波形数据只有半个缓冲区大小。在半个缓冲区写入数据的同时,另一半的缓冲区输出数据。当clear generation参数输入为TRUE时,它清除硬件配置、释放计算机内存。
程序中的Channel List to Number VI将通道表参数中的通道数解析出来,以便My DataGenerator VI确定波形数据的数量。
如果需要对模拟输出的更多控制,就需要使用图7-37所示的中级VI。用这些VI,可以配置另外的刷新时钟信号源,并可监视实际的刷新率。图中AO Config VI配置输出通道和缓冲区的大小。第一个AO Write VI把波形数据放入整个缓冲区。AO Start VI按指定的刷新率开始连续输出。while循环中的AO Write VI在每次循环中把新的波形数据写入半个缓冲区,另半个缓冲区的波形数据执行输出,这样实现了循环缓冲的模拟输出,可以在程序运行过程中修改波形数据。按下“停止”键或出现错误后,AO ClearVI清除对硬件的配置,释放缓冲区,最后用AO Updata Channels VI特输出通道的电平置零。
当波形数据太大,缓冲区放不下,MB16R-1405或者它在不断变化的话,就需要使用循环缓冲区输出数据。虽然可以使用易用模拟输出VI在程序的循环结构中建立循环缓冲区的输出,但是这样会降低程序的效率,因为易用VI每次被调用时都要进行硬件配置、分配内存、释放内存,这就造成数据输出间的时间中断。
图7-36是连续生成波形的程序框图。它使用实用VI-AO Continuous Gen执行循环缓冲区的模拟输出。当iteration参数输入为O时,它进行硬件配置,并分配一块内存缓冲区;iteration大于0以后,它使用已有的配置,连续输出波形数据。执行第一次循环时.My Data Generator VI算出的波形数据填满整个缓冲区;以后各次循环中,My DataGenerator VI算出的波形数据只有半个缓冲区大小。在半个缓冲区写入数据的同时,另一半的缓冲区输出数据。当clear generation参数输入为TRUE时,它清除硬件配置、释放计算机内存。
程序中的Channel List to Number VI将通道表参数中的通道数解析出来,以便My DataGenerator VI确定波形数据的数量。
如果需要对模拟输出的更多控制,就需要使用图7-37所示的中级VI。用这些VI,可以配置另外的刷新时钟信号源,并可监视实际的刷新率。图中AO Config VI配置输出通道和缓冲区的大小。第一个AO Write VI把波形数据放入整个缓冲区。AO Start VI按指定的刷新率开始连续输出。while循环中的AO Write VI在每次循环中把新的波形数据写入半个缓冲区,另半个缓冲区的波形数据执行输出,这样实现了循环缓冲的模拟输出,可以在程序运行过程中修改波形数据。按下“停止”键或出现错误后,AO ClearVI清除对硬件的配置,释放缓冲区,最后用AO Updata Channels VI特输出通道的电平置零。
上一篇:中级VI进行有限数量波形数据输出
上一篇:数发生器程序图形代码
热门点击
- 访问片外ROM/RAM的指令时序
- 触发( TRIG)
- SD卡的速度等级
- 堆栈指针SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- “黑焊盘”现象的产生原因
- “VISA读取”函数酌主要参数及功能
- 项目依赖关系
- 通知器和队列
- I/O端口
推荐技术资料
- DS2202型示波器试用
- 说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]