安捷倫34970a數(shù)據(jù)采集器-RS232通訊問題
安捷倫34970a數(shù)據(jù)采集器-RS232通訊問題
安捷倫34970a數(shù)據(jù)采集器-RS232通訊問題
使用運(yùn)行任何微軟操作系統(tǒng)的筆記本電腦時(shí),在安捷倫34970a數(shù)據(jù)采集器上使用RS-232遇到問題
癥狀: 超時(shí), 數(shù)據(jù)破壞, 數(shù)據(jù)丟失, 上傳數(shù)據(jù)的錯(cuò)誤信息
原因: PC上使用的RS-232I/O芯片(UART)只有16字節(jié)緩沖器。在沒有實(shí)時(shí)流量控制時(shí),可能會發(fā)生緩沖器超限,導(dǎo)致數(shù)據(jù)丟失。如果丟失的字符恰好是線路輸入,軟件一直沒有看到行尾結(jié)束符,從而可能會導(dǎo)致超時(shí)。其它字符丟失可能會導(dǎo)致返回的數(shù)據(jù)錯(cuò)誤。
微軟串行驅(qū)動(dòng)程序沒有實(shí)現(xiàn)真正的硬件流量控制功能。它完全在軟件驅(qū)動(dòng)程序中實(shí)現(xiàn)流量控制,因此很容易受到PCI總線鎖定、優(yōu)先權(quán)較高的中斷及中斷失效的影響。采用基于軟件的流量控制具有歷史原因,因?yàn)樵缙诘挠布O(shè)計(jì)很不可靠:當(dāng)時(shí)曾使用大量的克隆版16550UART,許多設(shè)備存在缺陷。微軟**的解決方法是開發(fā)一種使用盡可能少的功能的軟件驅(qū)動(dòng)程序,因此硬件流量控制在驅(qū)動(dòng)程序中完成。目前,微軟不能改變驅(qū)動(dòng)程序,修復(fù)這個(gè)問題。
只有在筆記本電腦上才會出現(xiàn)這個(gè)問題,可能是因?yàn)榕c功率管理和/或PCMCIA適配器有關(guān)的軟件開銷所致,但從理論上講,它也可能會發(fā)生在臺式機(jī)上。提高處理器速度及降慢RS-232波特率都不足以實(shí)現(xiàn)滿意的結(jié)果。
解決方法: 對關(guān)鍵事務(wù)型應(yīng)用不要使用RS-232,而是使用安捷倫34970a的GPIB端口。
可以把82357A USB / GPIB轉(zhuǎn)換器連接到便攜式PC的USB端口及安捷倫34970a上的GPIB端口上。這種選項(xiàng)可以用于帶有USB 及Windows 2000, 98 SE或XP的筆記本電腦中。Windows 3.1,95 和NT不支持USB。
使用E5810A LAN到GPIB網(wǎng)關(guān)。網(wǎng)關(guān)可以連接到安捷倫34970a上的GPIB端口上,然后連接到PC的局域網(wǎng)上(或直接連接到PC的局域網(wǎng)端口上)。局域網(wǎng)網(wǎng)關(guān)兼容Windows?98 (SE)/Me/NT/2000/XP。
安裝PCMCIA GPIB卡。許多廠商提供了PCMCIA GPIB卡,一般支持Windows? 98(SE)/Me/NT/2000/XP。
切換到使用82350B GPIB卡或82357A USB-GPIB轉(zhuǎn)換器的臺式PC上。82350A兼容Windows? 98/Me/NT/2000/XP。臺式電腦上還沒有見到RS-232問題,它們使用相同的硬件,理論上也會有相同的問題。
注:任何選項(xiàng)都必需改變控制程序。命令串保持相同,但需要改變通信設(shè)置??梢允褂肧CPI命令"SYSTem:INTerface{GPIB |RS232}"或通過前面板,以編程方式改變儀器模式。此外,用來初始化RS-232參數(shù)的任何代碼,如波特率、奇偶性和流量控制,都可以從程序中刪除。必需改變打開RS-232端口使用的代碼,以打開GPIB接口。這可以在VisualBasic中通過下述命令實(shí)現(xiàn):
Dim A_安捷倫34970a As AgtIOServer
Dim iomgr As AgilentIOUtilsLib.AgtIOManager
Set iomgr = New AgtIOManager
Set A_安捷倫34970a = io_mgr.ConnectToInstrument ("GPIB::9").
如果必須把GPIB地址改變?yōu)槟J(rèn)值(9)之外的其它地址,只能從前面板上改變地址。如需更多信息,請查看手冊。