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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于Linux平臺的天氣雷達高速數(shù)據(jù)采集系統(tǒng)設計

          基于Linux平臺的天氣雷達高速數(shù)據(jù)采集系統(tǒng)設計

          作者: 時間:2011-04-19 來源:網(wǎng)絡 收藏

          1.2.2 數(shù)據(jù)訪問方式

          FIFO緩沖為可編程FIFO,由FPGA根據(jù)片內(nèi)存儲的雷達參數(shù)進行控制。當FIFO中數(shù)據(jù)達到設置的大小時,觸發(fā)PCIPLX9054引發(fā)PCI中斷,通過該中斷向驅(qū)動程序申請發(fā)起DMA 傳輸。驅(qū)動程序響應該中斷后設置PCIPLX9054的DMA寄存器, 發(fā)起方向從局部總線到PCI總線的DMA傳輸,完成FIFO數(shù)據(jù)向PC機的傳輸。

          FPGA片內(nèi)RAM通過PCI地址映射,使用IO操作方式進行數(shù)據(jù)讀寫訪問。

          2 程序?qū)崿F(xiàn)

          系統(tǒng)基于2.6內(nèi)核平臺程序,由基于PCI總線的設備驅(qū)動程序、數(shù)據(jù)及處理程序組成。

          2.1 設備驅(qū)動程序?qū)崿F(xiàn)

          設備驅(qū)動程序的功能是在2.6系統(tǒng)平臺下,通過對PCI總線控制芯片PLX9054的控制,實現(xiàn)PC機與板的數(shù)據(jù)交互,實現(xiàn)雷達采集數(shù)據(jù)的實時接收及雷達工作狀態(tài)的控制。從功能結(jié)構(gòu)上,設備驅(qū)動主要由設備裝載及初始化、提供給用戶層的接口函數(shù)、中斷及DMA數(shù)據(jù)傳輸三部分組成。

          2.1.1 設備裝載及卸載

          設備裝載和卸載即是Windows系統(tǒng)中設備驅(qū)動安裝和卸載。在Linux2.6中,裝載和卸載主要通過調(diào)用系統(tǒng)提供的PCI總線驅(qū)動注冊函數(shù)pci_register_drive和注銷函數(shù)pci_unregister_driver來實現(xiàn),其注冊的driver數(shù)據(jù)結(jié)構(gòu)如下:

          static struct pci_driver plx9054_pci_driver = {

          .name = 'pci9054',

          .id_table = plx9054_pci_tbl,

          .probe = plx9054_probe,

          .remove = plx9054_remove,

          };

          當系統(tǒng)引導時,采集系統(tǒng)板上電后,板上PCI總線固件對PLX9054設備進行缺省配置,為設備的每個地址區(qū)域分配好資源。裝載函數(shù)在驅(qū)動中用module_init聲明,進行設備的初始化工作,調(diào)用PCI總線驅(qū)動注冊函數(shù),根據(jù)id_table定義的信息對PCI設備PLX9054進行探測識別,完成PLX9054設備驅(qū)動的PCI總線注冊,然后調(diào)用驅(qū)動注冊的probe函數(shù),完成PLX9054設備使能、PCI地址空間映射、PLX9054設備數(shù)據(jù)結(jié)構(gòu)初始化、設備注冊(注冊為字符設備)等操作。卸載函數(shù)用module_exit聲明,是裝載的逆過程,通過調(diào)用PCI總線驅(qū)動卸載函數(shù),繼而調(diào)用注冊的remove函數(shù)、注銷設備及PCI地址空間映射、釋放分配給設備的數(shù)據(jù)結(jié)構(gòu)空間等操作,完成系統(tǒng)資源釋放。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


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