基于PC104的通用自動(dòng)測試系統(tǒng)設(shè)計(jì)
通過對PC/104總線和所選總線的時(shí)序、信號(hào)、地址、數(shù)據(jù)等方面的需求分析,用CPLD設(shè)計(jì)接口模塊,實(shí)現(xiàn)總線握手和數(shù)據(jù)傳輸功能。C-PLD部分電路原理如圖4所示。
圖4 C-PLD部分電路
PC/104使用的總線資源主要是I/O控制和中斷,具體信號(hào)如下:A[019]是PC/104的10位地址總線;D[07]是PC/104的8位雙向數(shù)據(jù)總線;IOR,IOW分別是總線I/O端口讀、寫信號(hào);AEN是允許DMA控制地址總線、數(shù)據(jù)總線和讀寫命令線進(jìn)行DMA傳輸以及對存儲(chǔ)器和I/O設(shè)備的讀寫;IOCHRDY是I/O就緒信號(hào),I/O通道就緒為高;SYSCLK是系統(tǒng)時(shí)鐘信號(hào),使系統(tǒng)與外部設(shè)備保持同步;IRQ3是中斷信號(hào)。PC104部分電路原理如圖5所示。
圖5 PC104部分電路原理
1)數(shù)據(jù)傳輸(PC/104→MXI) PC/104需要傳送數(shù)據(jù)時(shí),PC/104置位AEN信號(hào),通過發(fā)送地址與數(shù)據(jù)總線向CPLD發(fā)送數(shù)據(jù),此時(shí)IOW引腳置低電平(有效)。當(dāng)CPLD接收到正確數(shù)據(jù)后,驅(qū)動(dòng)MXIbus的地址選通信號(hào)AS,獲取地址信息后,再驅(qū)動(dòng)MXI的數(shù)據(jù)選通信號(hào)DS,置位讀寫信號(hào)WR取走數(shù)據(jù),通過MXI的應(yīng)答信號(hào)DTACK來判斷數(shù)據(jù)是否傳輸完畢,完畢則發(fā)送下一個(gè)數(shù)據(jù),MXIbus采用的是地址數(shù)據(jù)總線復(fù)用形式。
2)數(shù)據(jù)傳輸(MXI→PC/104) 當(dāng)MXI向CPLD傳送數(shù)據(jù)時(shí),置位AS,驅(qū)動(dòng)數(shù)據(jù)選通信號(hào)DS,并且WR有效,發(fā)送數(shù)據(jù)。CPLD收到數(shù)據(jù)后,通過IRQ3向PC/104發(fā)送中斷申請,PC/104收到中斷信號(hào)后,首先置位AEN,然后IOR變低電平,從CPLD寄存器口地址讀取數(shù)據(jù)。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 軟件開發(fā)環(huán)境
由于本方案在儀器選擇上以符合IVI規(guī)范的儀器的為主,所以在軟件選擇上應(yīng)以利于IVI類儀器驅(qū)動(dòng)開發(fā)為根本。IVI類儀器驅(qū)動(dòng)開發(fā)的軟件也比較多,如Labview、Labwindows/CVI等。因Labwindows/CVI是為測試控制技術(shù)而開發(fā)的,是基于標(biāo)準(zhǔn)C語言的編程工具,而且其在面板、界面、代碼生成方面都比較便利,包含*.dll動(dòng)態(tài)鏈接庫,配有IVI控制庫,其中包含了IVI儀器驅(qū)動(dòng)程序的開發(fā)向?qū)?,可以為開發(fā)儀器驅(qū)動(dòng)器節(jié)省大量的時(shí)間。所以軟件開發(fā)工具宜選擇Labwindows/CVI。
評(píng)論