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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于PCI總線模塊的多路串行數據采集系統

          基于PCI總線模塊的多路串行數據采集系統

          作者: 時間:2012-04-12 來源:網絡 收藏
          ;中斷方式則可克服以上缺點,可以實現數據的實時傳輸。本系統將數據經過處理后存入RAM,存滿一幀數據,硬件便發(fā)出中斷請求信號,上位機響應中斷請求后,即可讀取一幀數據。

            要實現中斷機制,就要建立一個獨立的中斷響應線程,并在主函數中完成中斷的使能、屏蔽及中斷線程的啟動。另外,使用WinDriver處理電平中斷時,還必須建立傳輸命令(INTCSR)來應答中斷。

            其中斷處理過程分為四步:

            第一步,調用WDC_IntEnable(),此函數的功能是分配并初始化WC_INTERRUPT結構體,自動創(chuàng)建中斷處理線程,同時在其中包含WD_Int-Wait()函數,作用是使線程休眠直至有中斷發(fā)生。另外,還可以調用底層API函數InterruptEnable()或WD_Enable(),但此時需要由用戶自己創(chuàng)建中斷線程;

            第二步是中斷線程無限循環(huán)以等待中斷發(fā)生。中斷發(fā)生時,WinDriver在內核中執(zhí)行傳輸命令,當操作返回到用戶模式時,驅動的用戶模式中斷處理例程將被調用;之后,中斷處理例程返回,但中斷等待循環(huán)繼續(xù);最后在不再使用中斷時,調用’WDC_IntDisable()、底層API函數Inter-mptDisable()或WD_IntDisable()來關閉中斷。

            3.4 驅動的分發(fā)及安裝

            驅動的分發(fā)是指在目標機上不用安裝WinDriver開發(fā)包即可應用其開發(fā)的設備驅動。需要準備的分發(fā)包應包括windrvr6.sys、windrvr-6.inf、wd921.cat、waapi921.dll、difxapi.dll、自己的INF(Information File)等文件,而且即使是自己開發(fā)內核驅動。也應包含在內。

            Windows操作系統依靠INF文件來得到即插即用設備的驅動程序信息。WinDriver會自動檢測PC機上的即插即用設備。并為相應硬件生成I-NF文件,而且只需稍作修改即可。INF文件可引導系統找到硬件所需要的驅動程序,由WinDriver生成的INF文件中列出了默認的拷貝文件win-drvr6.sys。設備驅動可通過工作于內核模式的windrvr6.sys訪問硬件。之后在目標機上裝入驅動分發(fā)包及INF文件,即可通過應用程序控制設備。

            4 結束語

            該數據傳輸系統的接口邏輯和數據傳輸、處理、緩存等用戶邏輯可集成于一片FPGA中。因而可極大的提高資源利用率,并可滿足大量數據高速傳輸的要求。上位機應用程序采用中斷方式讀取數據可大大提高系統的性能。目前,經多次試驗,該系統已完全可以滿足工程需要。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();