<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于PC104的通用自動測試系統(tǒng)設(shè)計(jì)

          基于PC104的通用自動測試系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-03-18 來源:網(wǎng)絡(luò) 收藏

            通過對總線和所選總線的時(shí)序、信號、地址、數(shù)據(jù)等方面的需求分析,用CPLD設(shè)計(jì)接口模塊,實(shí)現(xiàn)總線握手和數(shù)據(jù)傳輸功能。C-PLD部分電路原理如圖4所示。

          C-PLD部分電路

          圖4 C-PLD部分電路

            使用的總線資源主要是I/O控制和中斷,具體信號如下:A[019]是的10位地址總線;D[07]是PC/104的8位雙向數(shù)據(jù)總線;IOR,IOW分別是總線I/O端口讀、寫信號;AEN是允許DMA控制地址總線、數(shù)據(jù)總線和讀寫命令線進(jìn)行DMA傳輸以及對存儲器和I/O設(shè)備的讀寫;IOCHRDY是I/O就緒信號,I/O通道就緒為高;SYSCLK是系統(tǒng)時(shí)鐘信號,使系統(tǒng)與外部設(shè)備保持同步;IRQ3是中斷信號。PC104部分電路原理如圖5所示。

          PC104部分電路原理

          圖5 PC104部分電路原理

            1)數(shù)據(jù)傳輸(PC/104→MXI) PC/104需要傳送數(shù)據(jù)時(shí),PC/104置位AEN信號,通過發(fā)送地址與數(shù)據(jù)總線向CPLD發(fā)送數(shù)據(jù),此時(shí)IOW引腳置低電平(有效)。當(dāng)CPLD接收到正確數(shù)據(jù)后,驅(qū)動MXIbus的地址選通信號AS,獲取地址信息后,再驅(qū)動MXI的數(shù)據(jù)選通信號DS,置位讀寫信號WR取走數(shù)據(jù),通過MXI的應(yīng)答信號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ū)動數(shù)據(jù)選通信號DS,并且WR有效,發(fā)送數(shù)據(jù)。CPLD收到數(shù)據(jù)后,通過IRQ3向PC/104發(fā)送中斷申請,PC/104收到中斷信號后,首先置位AEN,然后IOR變低電平,從CPLD寄存器口地址讀取數(shù)據(jù)。

            2 系統(tǒng)軟件設(shè)計(jì)

            2.1 軟件開發(fā)環(huán)境

            由于本方案在儀器選擇上以符合IVI規(guī)范的儀器的為主,所以在軟件選擇上應(yīng)以利于IVI類儀器驅(qū)動開發(fā)為根本。IVI類儀器驅(qū)動開發(fā)的軟件也比較多,如Labview、Labwindows/CVI等。因Labwindows/CVI是為測試控制技術(shù)而開發(fā)的,是基于標(biāo)準(zhǔn)C語言的編程工具,而且其在面板、界面、代碼生成方面都比較便利,包含*.dll動態(tài)鏈接庫,配有IVI控制庫,其中包含了IVI儀器驅(qū)動程序的開發(fā)向?qū)В梢詾殚_發(fā)儀器驅(qū)動器節(jié)省大量的時(shí)間。所以軟件開發(fā)工具宜選擇Labwindows/CVI。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();