通过RTSI同步NI PCI设备
这个例子展示了如何从两个PCI设备获取同步数据。正弦波连接NI PCI-6251的0号通道和NI pci -6363的0号通道。同步操作通过演示所采集信号之间的零相位滞后来验证。
创建数据采集和添加模拟输入通道
创建DataAcquisition并添加NI PCI-6251和NI pci -6363设备的模拟输入电压输入通道。
Dd = daq(“倪”);addinput (dd,“Dev3”,“ai0”,“电压”);addinput (dd,“Dev4”,“ai0”,“电压”);
获取未同步数据
使用读
命令开始采集。
[data,time] = read(dd,seconds(1),“OutputFormat”,“矩阵”);情节(时间、数据)
两个信道输入之间有一个小的相位滞后。DataAcquisition启动两个接近的通道,但设备不共享任何时钟和触发器信息,因此不是完全同步的。
建立硬件连接
使用RTSI®(实时系统集成)电缆连接PCI设备,并在Measurement & Automation Explorer®中注册。为了同步采集,在两个设备之间共享一个扫描时钟和启动触发器。
选择“源设备”和“目的设备”
提供控制和定时信号的设备称为源设备,接收这些信号的设备称为目的设备。在这个例子中,Dev3
源设备和Dev4
目的设备。
添加开始触发器
RTSI电缆在设备之间建立物理连接RTSI0
终端上Dev3
而且RTSI0
终端上Dev4
.使用此连接可以在源设备和目标设备之间共享启动触发器。
使用addtrigger
添加数字启动触发器“RTSI0 / PFI3”
(来源)“RTSI0 / Dev4”
(目的地)。
addtrigger (dd,“数字”,“StartTrigger”,“Dev3 / RTSI0”,“Dev4 / RTSI0”);
添加扫描时钟
使用addclock
共享扫描时钟RTSI1
终端连接。
addclock (dd,“ScanClock”,“Dev3 / RTSI1”,“Dev4 / RTSI1”);
同步获取数据
使用读
获取数据。
[data,time] = read(dd,seconds(1));情节(时间、数据)
两个正弦波重叠与零相位滞后,确认设备是完全同步的。