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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于CPCI和光纖接口的數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)

          基于CPCI和光纖接口的數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-06-18 來(lái)源:網(wǎng)絡(luò) 收藏


          3 驅(qū)動(dòng)的開發(fā)
          開發(fā)基于PCI的的驅(qū)動(dòng)程序,主要有三個(gè)方面的問(wèn)題:硬件訪問(wèn)、中斷處理和DMA傳輸。
          結(jié)合實(shí)際要求,從開發(fā)效率和驅(qū)動(dòng)程序的執(zhí)行效率兩方面考慮,這里選擇使用DriverStudio進(jìn)行驅(qū)動(dòng)程序的開發(fā)。DriverStudio是一整套開發(fā)、調(diào)試和檢測(cè)Windows平臺(tái)下設(shè)備驅(qū)動(dòng)程序的工具軟件包。它提供了一套完整的調(diào)試和性能測(cè)試工具,例如Driver Works,Drivet Monitor和SoftICE等。DriverWorks把微軟的DDK用類的形式進(jìn)行封裝,簡(jiǎn)化了WDM驅(qū)動(dòng)程序的開發(fā),使用非常方便;SoftICE用來(lái)調(diào)試內(nèi)核模式的驅(qū)動(dòng)程序;DriverMonitor可以很方便地觀察驅(qū)動(dòng)程序的調(diào)試信息。DriverStudio所具備的高性能工具和對(duì)現(xiàn)代軟件工程的實(shí)踐,很大程度上方便了設(shè)備驅(qū)動(dòng)程序的編寫。所以選擇DriverStudio開發(fā)設(shè)備驅(qū)動(dòng)程序。
          下面以DMA傳輸為例,介紹驅(qū)動(dòng)程序的開發(fā):
          編寫WDM驅(qū)動(dòng)程序的DMA傳輸有特定的機(jī)制。DriverStudio中DMA整體的流程大致如下:當(dāng)應(yīng)用程序發(fā)出IRP_M J_READ的Irp后,驅(qū)動(dòng)程序調(diào)用Irp的處理函數(shù)Handler,在這個(gè)Handler中初始化KDMATransfer,初始化完畢就調(diào)用DMAReady()函數(shù),在DMAReady()函數(shù)中啟動(dòng)首次DMA傳輸即StartDMA,傳輸完后發(fā)生中斷,在中斷里調(diào)用Continue()啟動(dòng)下次傳輸,直到全部數(shù)據(jù)完成。DMA過(guò)程的流程圖如圖8所示。

          本文引用地址:http://www.ex-cimer.com/article/193717.htm

          g.JPG



          4 結(jié)語(yǔ)
          文中設(shè)計(jì)的基于總線的通用雷達(dá)接收機(jī)測(cè)試系統(tǒng),采用了光纖作為雷達(dá)數(shù)據(jù)傳輸?shù)耐ǖ溃哂休^好的數(shù)據(jù)處理能力。實(shí)驗(yàn)證明該系統(tǒng)的軟硬件設(shè)計(jì)是成功的,可對(duì)多型雷達(dá)的性能進(jìn)行快速的測(cè)試。該設(shè)計(jì)對(duì)于數(shù)據(jù)處理要求高、實(shí)時(shí)性強(qiáng)、數(shù)據(jù)量大、處理算法復(fù)雜多變的雷達(dá)信號(hào)處理系統(tǒng),有著重要的實(shí)際意義,具有廣闊的應(yīng)用前景。


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


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