精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>基于Linux平臺的天氣雷達高速數據采集系統的驅動

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

2017-10-30 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

Linux是開放源代碼、網絡化的操作系統,具有穩定、高效、內核可自由配置等特點。采用Linux 操作系統作為開發平臺與采用VxWorks 和Windows 作為開發平臺相比不僅有免費的優勢,而且對于發展核心技術,提高信息安全有著極其重要的意義,是自主研發的一個方向。隨著我國天氣雷達的快速發展,天氣雷達在民用和軍事領域的應用越來越廣泛。目前,天氣雷達高速數據采集、傳輸等功能大都基于Windows平臺進行開發實現,實現由Windows平臺向Linux平臺的轉換,對于發展中國自主知識產權氣象軟件核心技術, 提高信息安全有著極其重要的意義。本文基于Linux 操作系統(2.6.23內核),實現了天氣雷達高速數據采集及處理,對天氣雷達系統由Windows平臺向Linux平臺移植具有參考價值。
  1 數據采集系統分析
  1.1 工作原理
  天氣雷達高速數據采集系統由I/Q數據采集、FIFO緩沖、FPGA控制模塊及PCI總線芯片PLX9054組成,系統結構框圖如圖1所示。
  基于Linux平臺的天氣雷達高速數據采集系統的驅動
  其核心部分為FPGA控制模塊,主要實現4個功能:(1)根據雷達量程和距離分辨率調整AD采樣時鐘的頻率;(2)控制AD兩路采樣數據寫入FIFO 緩沖以及DMA 傳輸時從FIFO中連續讀出數據; (3)與PCI總線控制芯片PLX9054 進行控制交互, 實現局部總線的讀寫控制、地址譯碼和中斷觸發;(4)與PLX9054 進行數據交互,使用FPGA內部RAM保存控制天氣雷達發射機和接收機工作的命令及數據,完成對雷達工作的控制。
  I/Q數據采集輸出數據速度為2.4 Mb/s(I、Q數據各為24 bit),通過FPGA控制,合并寫入到FIFO緩沖。FIFO緩沖為32 bit、深度為16 KB的數據緩存,有效位為24 bit;與計算機總線的接口采用32 bit的PCI總線接口芯片PLX9054,PC機通過它完成與數據采集系統的數據交互。
  1.2 PC機與采集系統數據訪問
  1.2.1 局部地址分配
  PC機與天氣雷達高速數據采集系統的數據訪問通過PCI總線芯片PLX9054實現,訪問目標為FIFO緩沖和FPGA片內RAM。對FIFO緩沖和FPGA片內RAM分配不同局部地址,通過對局部地址總線進行譯碼確定需要訪問的目標。FIFO 數據采用DMA傳輸方式連續讀出, 每次傳輸長度最大為8 KB,因此,設置FIFO空間32 bit局部地址范圍為0x20000000~0x2000FFFF,映射空間為PCI 地址空間bar2。
  FPGA片內RAM位寬為32 bit, 采用局部地址范圍為0x40000000~0x400FFFFF。映射空間為PCI地址空間bar3。
  1.2.2 數據訪問方式
  FIFO緩沖為可編程FIFO,由FPGA根據片內存儲的雷達參數進行控制。當FIFO中數據達到設置的大小時,觸發PCIPLX9054引發PCI中斷,通過該中斷向驅動程序申請發起DMA 傳輸。驅動程序響應該中斷后設置PCIPLX9054的DMA寄存器, 發起方向從局部總線到PCI總線的DMA傳輸,完成FIFO數據向PC機的傳輸。
  FPGA片內RAM通過PCI地址映射,使用IO操作方式進行數據讀寫訪問。
  2 Linux程序實現
  天氣雷達高速數據采集系統基于Linux2.6內核平臺程序,由基于PCI總線的設備驅動程序、數據采集及處理程序組成。
  2.1 設備驅動程序實現
  設備驅動程序的功能是在Linux2.6系統平臺下,通過對PCI總線控制芯片PLX9054的控制,實現PC機與采集板的數據交互,實現雷達采集數據的實時接收及雷達工作狀態的控制。從功能結構上,設備驅動主要由設備裝載及初始化、提供給用戶層的接口函數、中斷及DMA數據傳輸三部分組成。
  2.1.1 設備裝載及卸載
  設備裝載和卸載即是Windows系統中設備驅動安裝和卸載。在Linux2.6中,裝載和卸載主要通過調用系統提供的PCI總線驅動注冊函數pci_register_drive和注銷函數pci_unregister_driver來實現,其注冊的driver數據結構如下:
  static struct pci_driver plx9054_pci_driver = {
  .name = ‘pci9054’,
  .id_table = plx9054_pci_tbl,
  .probe = plx9054_probe,
  .remove = plx9054_remove,
  };
  當系統引導時,高速數據采集系統板上電后,板上PCI總線固件對PLX9054設備進行缺省配置,為設備的每個地址區域分配好資源。裝載函數在驅動中用module_init聲明,進行設備的初始化工作,調用PCI總線驅動注冊函數,根據id_table定義的信息對PCI設備PLX9054進行探測識別,完成PLX9054設備驅動的PCI總線注冊,然后調用驅動注冊的probe函數,完成PLX9054設備使能、PCI地址空間映射、PLX9054設備數據結構初始化、設備注冊(注冊為字符設備)等操作。卸載函數用module_exit聲明,是裝載的逆過程,通過調用PCI總線驅動卸載函數,繼而調用注冊的remove函數、注銷設備及PCI地址空間映射、釋放分配給設備的數據結構空間等操作,完成系統資源釋放。
  2.1.2 設備接口函數
  設備接口函數為用戶提供與設備進行交互的不同功能接口,主要完成用戶與設備的讀、寫及設備控制訪問等功能,其數據結構設計為:
  static const struct file_operations plx9054_fops = {
  .owner = THIS_MODULE,
  .open = plx9054_open, /*打開設備*/
  .release = plx9054_close, /*釋放設備*/
  .ioctl = plx9054_ioctl, /*IO操作*/
  .read = plx9054_read, /*讀設備*/
  };
  這個數據結構在設備裝載過程中,作為設備注冊的參數完成與設備掛接、使用戶在系統調用中能訪問到上述關聯的設備接口函數。
  設備打開函數plx9054_open完成以下操作:設備私有數據結構內存空間分配及初始化,DMA連續物理內存空間申請,為天氣雷達最大距離探測采集數據的大小;調用pci_map_single將分配的DMA內存空間映射為用于DMA傳輸地址;DMA數據緩沖區分配(容量為2 MB),緩沖區保存每次DMA傳輸中獲取的數據;調用request_irq對中斷函數p9054_interrupt進行中斷號申請;對天氣雷達工作參數進行缺省配置,啟動雷達工作。設備釋放函數PLX9054_close完成的操作與設備打開函數與PLX9054_open相反。IO操作函數PLX9054_ioctl通過sys_ioctl系統調用,完成用戶與設備的信息查詢、雷達工作參數配置與查詢,如驅動軟件版本號、雷達當前工作各參數配置和查詢,主要用于對FPGA中RAM內存空間的雷達工作參數數據訪問。由于這部分數據對訪問速度要求不高,使用IO操作能很好地滿足設計要求。讀設備函數PLX9054_read將驅動DMA數據緩沖區中的數據實時讀取到用戶空間緩沖區內,完成采集數據從設備到用戶的讀取操作。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費