<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 基于Linux平臺的天氣雷達高速數據采集系統設計

基于Linux平臺的天氣雷達高速數據采集系統設計

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

2.1.2 設備接口函數

設備接口函數為用戶(hù)提供與設備進(jìn)行交互的不同功能接口,主要完成用戶(hù)與設備的讀、寫(xiě)及設備控制訪(fǎng)問(wèn)等功能,其數據結構設計為:

static const struct file_operations plx9054_fops = {

.owner = THIS_MODULE,

.open = plx9054_open, /*打開(kāi)設備*/

.release = plx9054_close, /*釋放設備*/

.ioctl = plx9054_ioctl, /*IO操作*/

.read = plx9054_read, /*讀設備*/

};

這個(gè)數據結構在設備裝載過(guò)程中,作為設備注冊的參數完成與設備掛接、使用戶(hù)在系統調用中能訪(fǎng)問(wèn)到上述關(guān)聯(lián)的設備接口函數。

設備打開(kāi)函數plx9054_open完成以下操作:設備私有數據結構內存空間分配及初始化,DMA連續物理內存空間申請,為最大距離探測數據的大??;調用pci_map_single將分配的DMA內存空間映射為用于DMA傳輸地址;DMA數據緩沖區分配(容量為2 MB),緩沖區保存每次DMA傳輸中獲取的數據;調用request_irq對中斷函數p9054_interrupt進(jìn)行中斷號申請;對工作參數進(jìn)行缺省配置,啟動(dòng)雷達工作。設備釋放函數PLX9054_close完成的操作與設備打開(kāi)函數與PLX9054_open相反。IO操作函數PLX9054_ioctl通過(guò)sys_ioctl系統調用,完成用戶(hù)與設備的信息查詢(xún)、雷達工作參數配置與查詢(xún),如驅動(dòng)軟件版本號、雷達當前工作各參數配置和查詢(xún),主要用于對FPGA中RAM內存空間的雷達工作參數數據訪(fǎng)問(wèn)。由于這部分數據對訪(fǎng)問(wèn)速度要求不高,使用IO操作能很好地滿(mǎn)足設計要求。讀設備函數PLX9054_read將驅動(dòng)DMA數據緩沖區中的數據實(shí)時(shí)讀取到用戶(hù)空間緩沖區內,完成數據從設備到用戶(hù)的讀取操作。

2.1.3 中斷處理及DMA傳輸

中斷處理及DMA傳輸是驅動(dòng)的核心部分,它的設計質(zhì)量直接影響到雷達數據能否正確、實(shí)時(shí)地從采集系統板傳送到設備驅動(dòng)緩沖區,并實(shí)時(shí)被用戶(hù)獲取。中斷處理工作流程如圖2所示。

2.jpg

由于DMA數據緩沖區遠大于每次DMA數據傳輸大小,這對于雷達數據采集中因用戶(hù)讀取數據延遲而導致的緩沖區溢出有較好的抑制作用,而相對于現有計算機平臺,2 MB內存容量已足夠。DMA數據緩沖區設計為循環(huán)緩沖區,使用讀、寫(xiě)指針維護,在中斷處理中更新其寫(xiě)指針,在PLX9054_read中更新其讀指針,采用溢出則覆蓋的機制,既方便管理,節省資源,同時(shí)又可對溢出進(jìn)行計數,很方便進(jìn)行實(shí)時(shí)性能的測試。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: Linux 天氣雷達 高速數據 采集

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>