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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CPLD的聲發(fā)射信號傳輸系統(tǒng)設(shè)計

          基于CPLD的聲發(fā)射信號傳輸系統(tǒng)設(shè)計

          ——
          作者:王韶輝 史儀凱等 時間:2007-06-06 來源:電子元器件應(yīng)用 收藏
          引言

          聲發(fā)射技術(shù)是光纖傳感技術(shù)和聲發(fā)射技術(shù)相結(jié)合的產(chǎn)物,是目前聲發(fā)射技術(shù)的發(fā)展趨勢。它將高靈敏度聲發(fā)射傳感器安裝于受力構(gòu)件表面以形成一定數(shù)目的傳感器陣列,實時接收和采集來自于材料缺陷的聲,進而通過對這些聲的識別、判斷和分析來對材料損傷缺陷進行檢測研究并對構(gòu)件強度、損傷、壽命等進行分析和研究。

          在實際的構(gòu)件檢測中,現(xiàn)場聲源信號通常是在100~800 kHz之間的微弱高頻信號,而且材料損傷檢測、聲發(fā)射源定位往往需要多個傳感器形成傳感器陣列,而聲的數(shù)據(jù)必須達到640 Mbps以上的數(shù)據(jù)傳輸能力;并應(yīng)具有應(yīng)付突發(fā)或長時間數(shù)據(jù)接收和存儲能力。本文就是利用來實現(xiàn)對聲發(fā)射信號的采集,從而有效解決了數(shù)據(jù)的實時傳輸和存儲問題。

          1 系統(tǒng)方案設(shè)

          數(shù)據(jù)存儲傳輸模塊總體框圖

          本方案采用FIFO存儲器構(gòu)成外部大容量數(shù)據(jù)緩沖區(qū),而使用PCI總線的DMA傳輸方式與微機進行高速數(shù)據(jù)傳輸?,F(xiàn)場聲發(fā)射信號經(jīng)過AD轉(zhuǎn)換和驅(qū)動電路驅(qū)動后進入PCI板卡,然后將部分數(shù)據(jù)鎖存,同時將并行信號轉(zhuǎn)換為串并行信號,通過控制邏輯電路存入FIFO。當(dāng)FIFO存儲器中的數(shù)據(jù)到達一定狀態(tài)時,控制邏輯會產(chǎn)生中斷信號給PCI9054總線控制器,之后由后者啟動DMA傳輸將數(shù)據(jù)傳人計算機內(nèi)存中。DMA傳輸完成后,PCI9054產(chǎn)生通道中斷,并由計算機將數(shù)據(jù)從內(nèi)存取出存入硬盤。該數(shù)據(jù)存儲傳輸模塊的總體框圖如圖1所示。

          2 FIFO數(shù)據(jù)存儲電路設(shè)計

          FIFO是一個先人先出的雙口緩沖器,為保證整個系統(tǒng)正常工作,F(xiàn)IFO存儲器允許系統(tǒng)進行DMA操作,以提高數(shù)據(jù)的傳輸速度。否則,數(shù)據(jù)傳輸將達不到傳輸要求,而且會大大增加CPU的負擔(dān),甚至無法同時完成數(shù)據(jù)的存儲。

          本設(shè)計在數(shù)據(jù)中采用了六片IDT72281芯片來緩存數(shù)據(jù),并將其分成兩組,其中由三片F(xiàn)IFO進行字寬擴展,圖2所示是其緩存?zhèn)鬏斒疽鈭D。按照這種設(shè)計,其字寬可達27位,可以傳輸24位數(shù)據(jù)和兩個OTR位。

          3 CPLD邏輯控制

          本系統(tǒng)中由于要對高速信號進行處理,因此,對控制信號的時序要求比較嚴格。在控制芯片的選擇上要盡量選用時延小、速度快的芯片。本設(shè)計采用美國Altera公司的MAX7000S系列可編程邏輯器件EPM7128SLC84-15,并采用MAX+PlusⅡ來完成系統(tǒng)的輸入、編譯、驗證及編程,進而完成向量測試及仿真.最后的數(shù)據(jù)可通過下載線傳輸?shù)叫酒衼硗瓿尚酒呐渲谩?/P>

          數(shù)據(jù)緩存?zhèn)鬏斒疽鈭D

          3.1 CPLD邏輯控制電路

          CPLD為采樣控制器的核心,數(shù)據(jù)傳輸所要求的嚴格時序控制關(guān)系就由CPLD負責(zé)處理。它在本系統(tǒng)中主要負責(zé)產(chǎn)生與PCI9054的握手信號、數(shù)據(jù)存儲器的片選信號和讀寫控制信號。CPLD的外圍信號接口如圖3所示。

          CPLD外圍接口信號圖

          CPLD可根據(jù)FIFO存儲器的時序控制要求產(chǎn)生控制信號,并在第一個時鐘周期中將數(shù)據(jù)分別存入FIFO和數(shù)據(jù)鎖存器74LS373中,而在第二個時鐘周期將鎖存器中的數(shù)據(jù)再存入FIFO,從而完成并行數(shù)據(jù)向串行數(shù)據(jù)的轉(zhuǎn)換。同時根據(jù)存儲器的相關(guān)信號向PCI9054控制器發(fā)出中斷請求,并在PCI9054讀取數(shù)據(jù)時產(chǎn)生相應(yīng)的控制邏輯。

          3.2 CPLD控制邏輯

          當(dāng)并行數(shù)據(jù)進入板卡后,CPLD首先將一部分數(shù)據(jù)存入鎖存器,而將另一部分數(shù)據(jù)直接存入FIFO。但此時必須將寫時鐘信號WCLK進行二分頻,以便在一個AD轉(zhuǎn)換周期內(nèi)完成兩次FIFO寫操作。當(dāng)FIFO數(shù)據(jù)到達半滿時,CPLD便向PCI9054發(fā)出中斷申請,并由PCI9054將該申請傳入計算機。若系統(tǒng)響應(yīng)該中請,則在中斷響應(yīng)程序內(nèi)發(fā)出讀命令,以讀取字節(jié)數(shù)和地址信號等。

          PCI9054通過LHOLD申請LOCAL總線控制權(quán),而CPLD則通過LHOLDA響應(yīng),以使PCI9054能得到局部總線的控制權(quán)。PCI9054首先將PCI地址窄間映射到本地地址空間,接著啟動本地總線的散聚DMA周期。CPLD收到讀信號(LW/R)、地址選通信號(ADS)和地址(LA16、LA17)后便開始傳送數(shù)據(jù)。當(dāng)LA16位為0,LA17位為1時,系統(tǒng)將使能后三片F(xiàn)IFO的讀使能端(REN2),以使后三片F(xiàn)IFO數(shù)據(jù)線上的Q0~Q31有效而同時也使PCI9054的準(zhǔn)備好信號(READY)有效,開始數(shù)據(jù)傳送。在最后一個數(shù)據(jù)傳送之前,BLAST信號有效,之后,CPLD將在一個時鐘周期后使FIFO的讀使能(REN1或REN2)無效,從而完成一次數(shù)據(jù)傳送過程。

          3.3 控制程序設(shè)計

          PCI9054單周期讀、寫和DMA讀的VHDL語言時序控制狀態(tài)機設(shè)計如圖4所示。圖中,S0為空閑狀態(tài)。當(dāng)本地總線請求信號LHOLD被置1時轉(zhuǎn)到S1,否則留在S0。S1為總線保持狀態(tài),此狀態(tài)下應(yīng)將本地總線響應(yīng)信號LHOLDA置1。如ADS信號為0且LW/R為1則轉(zhuǎn)到S3,如ADS信號為1且LW/R和BLAST為0則轉(zhuǎn)到S4,這種狀態(tài)表明此次讀操作為單周期讀。S2為DMA讀狀態(tài),在此狀態(tài)下應(yīng)將READY信號和FIFO讀使能信號REN1置0。如BLAST為1,則表明此次DMA讀取還未完成,應(yīng)繼續(xù)留在S2,如BLAST為0,則表明此次DMA讀取完成,可轉(zhuǎn)到S4。S3為單周期寫狀態(tài),此狀態(tài)下也要置READY信號為0以表示寫數(shù)據(jù)有效,并在BLAST為0時轉(zhuǎn)到S4。S4為讀寫操作完成狀態(tài),當(dāng)LHOLD被置0時,表明PCI9054不再請求本地總線,此時應(yīng)轉(zhuǎn)到S0,當(dāng)BLAST為0且LHOLD為1時,表明PCI9054還要進行數(shù)據(jù)讀寫,故應(yīng)轉(zhuǎn)到S1繼續(xù)操作。

          本地總線VHDL狀態(tài)機

          3.4 控制程序邏輯的仿真結(jié)果

          MAX+PLUSⅡ是開發(fā)Aletra公司的FPGA/CPLD系列產(chǎn)品的軟件工具,本設(shè)計利用此工具提供的設(shè)計環(huán)境和設(shè)計工具來對CPLD控制程序進行開發(fā)和調(diào)試。其功能時序如圖5所示。

          CPLD控制時序

          CPLD的設(shè)計是用VHDL編程實現(xiàn)的。本設(shè)計的操作代碼都已經(jīng)過仿真,并在實際調(diào)試中得到應(yīng)用。

          4 系統(tǒng)驅(qū)動程序設(shè)計

          本設(shè)計使用Driv erWorks的DriverWizard來創(chuàng)建WDM框架程序。可根據(jù)設(shè)計需求添加程序代碼,從而完成PCI設(shè)備的DMA驅(qū)動程序,以執(zhí)行DMA操作、訪問I/O端口和存儲器空間、處理器中斷和訪問PCI。根據(jù)系統(tǒng)需要,驅(qū)動程序的關(guān)鍵是三個方面:硬件訪問、中斷處理和DMA傳輸。

          KdmaAdapter類可用于建立一個DMA適配器,以標(biāo)明一個DMA通道的特性和提供串行化訪問服務(wù);KDmaTransfer類則用于控制DMA的傳輸和啟動DMA傳輸,以傳輸DMA數(shù)據(jù)緩沖區(qū)物理地址和字節(jié)數(shù),DMA傳輸結(jié)束后,數(shù)據(jù)將由公用緩沖區(qū)拷貝到應(yīng)用數(shù)據(jù)緩沖區(qū);KCommon DmaBuffer用于實現(xiàn)公用緩沖區(qū)的操作。對于DMA操作,本系統(tǒng)還提供了一個特殊的內(nèi)存,即公用緩沖區(qū)。應(yīng)當(dāng)說明的是,公用緩沖區(qū)是稀有的系統(tǒng)資源,應(yīng)該避免浪費使用。

          5 結(jié)束語

          本文給出了數(shù)據(jù)緩存、傳輸模塊控制電路的設(shè)計,并采用VHDL語言和CPLD很好的完成邏輯控制任務(wù)和系統(tǒng)驅(qū)動程序的編寫與調(diào)試。實驗結(jié)果表明,該數(shù)據(jù)存儲傳輸模塊的硬件、軟件工作十分可靠、穩(wěn)定,可實現(xiàn)640 Mbps(80 MByte/s)以上實時數(shù)據(jù)的存儲與傳輸,完全能滿足聲發(fā)射信號采集的要求。



          評論


          相關(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); })();