653x系列数字输入输出设备是如何控制ACK线和REQ线的?



硬件: Legacy DAQ Devices>>Digital I/O>>PC-DIO-24

问题: 我在653x系列设备上利用burst模式握手协议来开发程序。我不是很清楚如何使用ACK线和REQ线。什么在控制这两根线?当我准备好发数据的时候,我需要编程控制这两根线中的某一根吗?

解答:

当数字输入输出设备准备好发送数据的时候,会自动的设置ACK线为有效。应用手册里面是这样描述何时改变ACK线的:

"The DIO-32HS(653x) device asserts the ACK line when it is ready for a transfer..."

“当DIO-32HS(653x)设备准备好发送的时候会设置ACK线为有效”

设备“准备好发送”表示设备已被正确配置并且你的程序已将数据传送到板卡上的缓存区以备发送(执行输入任务的时候就是板卡缓存区有足够的空间以备接收)。也就是在这个时刻,即板卡准备好了有效的数据可以写到端口上(或者从端口接收数据),板卡才会设置ACK线为有效。这样的设置通知外围设备653x已经准备好数据传输。当外围设备也处于可以接收(或发送)数据的状态,它也就会设置它的REQ线为有效。REQ线是通过外部设置的,为了能够传输数据,它要么通过外围设备控制,要么通过人工连线控制。

当REQ和ACK线都有效后,传输将在PCLK的第一个边沿处(根据配置既可以是上升沿也可以是下降沿)开始。传输会一直进行直到ACK线和REQ线中的某一个被设置为无效。当板卡将缓存区里所有的数据都发送出去以后,会将它的ACK线设置为无效表明因为缓存区已空已经不能再发送数据了。程序中诸如653x系列设备的缓存区大小和传输速率之类的配置决定了数据何时可以读写。

下面的简要描述来自用户手册和在线帮助,更深入的讨论了653x系列在执行burst模式握手协议时ACK线,REQ线以及PCLK线之间的交互关系,并对burst模式进行了更完整的总结:


通过参考板卡附带的例程(包含在LabVIEW里面或者随NI-DAQ附送)也可以获得对653x设备在这方面应用的更深入的理解。这些例程可以帮助监测ACK,REQ和PCLK的状态,你将更清楚地看到信息是如何传输的。

相关链接: National Instruments Data Acquisition Support Homepage
Product Manuals: 653x User Manual
KnowledgeBase 1SSFQR00. Configuring the Handshaking Lines of a 653x Board

附件:





报告日期: 01/21/2004
最近更新: 08/28/2008
文档编号: 35KDQAKD