VXI總線在通用裝備測試系統(tǒng)中的應(yīng)用
3專用模塊的開發(fā)
vxi總線模塊設(shè)計主要包括寄存器基模塊設(shè)計和消息基模塊設(shè)計。對于一些功能簡單而通信速度高的模塊,可設(shè)計成寄存器基器件;對一些復(fù)雜的具有本地智能的模塊,應(yīng)設(shè)計成消息基器件。無論是消息基還是寄存器基,vxi總線模塊的電路都由總線接口電路和功能電路兩部分組成。其中,功能電路部分需要根據(jù)本模塊要完成的測試測量功能來進行具體的電路設(shè)計。由于當(dāng)今電子儀器種類繁多,各類儀器采用的測試測量方法各不相同,并且同一種電子測試測量功能也可以采用不同的方法實現(xiàn),因此,一般儀器的功能電路最好由對該儀器有一定經(jīng)驗的工程師設(shè)計完成。vxi接口電路設(shè)計的依據(jù)是兩個國際標(biāo)準(zhǔn)ieee1014和ieee1155,即vme計算機總線標(biāo)準(zhǔn)和vxi總線儀器標(biāo)準(zhǔn),因而vxi總線接口儀器電路具有很強的共性。下面主要對接口電路的設(shè)計作出說明。
對于寄存器基的模塊,它只支持vxi總線寄存器配置,不支持vxi總線的通信協(xié)議。所以vxi寄存器基模塊接口的主要功能是監(jiān)視總線上由主模塊啟動數(shù)據(jù)傳輸總線的dtb周期,并且在dtb周期指向它們時作出響應(yīng)。當(dāng)模塊需要中斷服務(wù)中,它還應(yīng)當(dāng)有中斷模塊。
消息基器件不僅具有通訊能力和本地智能,而且還具有dtb主模塊能力。與寄存器基模塊相比,它不僅有上述的vxi總線從者接口,而且還具有本地智能,以支持由cpu模塊通過器件配置寄存器的通訊寄存器實現(xiàn)字串行通訊協(xié)議。
設(shè)計vxi總線的接口電路時,器件的配置可以用雙端口ram實現(xiàn),也可以使用可編程邏輯陣列(pla)技術(shù)或現(xiàn)場可編程門陣列(fpga)技術(shù)。如果用戶不想自行設(shè)計接口電路,可采用一些儀器公司的專用接口芯片,如interface公司的it9010和it9010m。前者是寄存器基接口芯片,后者是消息基接口芯片。
在完成硬件的制作以后,應(yīng)當(dāng)為模塊編寫符合vpp規(guī)范的驅(qū)動器。目前比較流行的開發(fā)儀器驅(qū)動器軟件是labwindows/cvi。cvi為用戶開發(fā)儀器驅(qū)動器提供了createiviinstrumentdriver工具。用戶在開發(fā)儀器驅(qū)器時,一般可以采用兩種方法:一是在createiniinstrumentdriver工具中選擇createnewdriver,這個工具根據(jù)用戶選擇的儀器接口類型和儀器的種類,自動生成ivi規(guī)范所要示訴所有模板函數(shù)框架的代碼,用戶根據(jù)自己開發(fā)模塊的實際情況填充代碼,也可以在此基礎(chǔ)上增加其它函數(shù)。另一種方法就是根據(jù)已有的具有類似儀器功能的儀器驅(qū)動器進行改造,在createiviinstrumentdriver工具中選createdriverbasedonexistingdriver,然后輸入已存在的驅(qū)動器,cvi會自動對此驅(qū)動器代碼的儀器前綴等進行修改,用戶在此基礎(chǔ)上再修改驅(qū)動器代碼,實現(xiàn)對自己開發(fā)儀器的控制。當(dāng)然,用戶也可以在windows通用軟件平臺上開發(fā)儀器驅(qū)動器,如visualc++。一般情況下,它們比使用cvi軟件開要困難一些。
評論