亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux系統(tǒng)的雷達數(shù)據(jù)傳輸模塊設計

        2014-12-31 00:00:00胥霜霞周永剛
        計算機光盤軟件與應用 2014年16期

        摘 要:主要介紹了應用于航管雷達中的一種雷達數(shù)據(jù)傳輸模塊的設計方法。在Linux系統(tǒng)中運用CPCI總線設備的DMA傳輸能力,在模塊設計中采用中斷的底半部處理機制和讀寫請求的等待隊列機制,實現(xiàn)了對高頻大量數(shù)據(jù)的實時、可靠、高速傳輸。模塊運行在系統(tǒng)內核層,通過系統(tǒng)調用向雷達數(shù)據(jù)處理軟件提供讀、寫和控制等函數(shù)功能。

        關鍵詞:Linux;CPCI;DMA;底半部;等待隊列

        中圖分類號:TP274

        在航管雷達中,信號處理向數(shù)據(jù)處理實時發(fā)送大量的雷達目標數(shù)據(jù)。而數(shù)據(jù)處理需要完成大量的運算工作。如何既保證運算任務實時完成,又實現(xiàn)數(shù)據(jù)快速穩(wěn)定的傳輸,是迫切需要解決的問題。存儲器直接存取是一種允許外圍設備直接從內存存取數(shù)據(jù)而無需CPU全程參與的硬件機制,常用在需要高速大批量數(shù)據(jù)傳輸?shù)南到y(tǒng)中[1]。緊湊型外設組件互連標準總線是基于標準的PCI電氣規(guī)范上的一個高性能總線,是一種新的開放式工業(yè)計算機標準,其可靠性優(yōu)于PCI總線。與PCI總線一樣,它能夠被Linux系統(tǒng)支持、不依賴于處理器架構、支持總線控制技術。

        1 模塊設計

        數(shù)據(jù)傳輸模塊嵌入Linux內核,通過系統(tǒng)標準接口向用戶層數(shù)據(jù)處理軟件提供接口函數(shù),包括讀、寫和控制設備等功能。在Linux系統(tǒng)中CPCI設備被歸類為字符設備,因此它具有PCI設備和字符設備的特性,在設計設備的數(shù)據(jù)結構時應包含PCI設備結構體和字符設備結構體

        2 模塊實現(xiàn)

        2.1 CPCI設備的加載與卸載

        CPCI驅動程序通過創(chuàng)建struct pci_driver結構體進行注冊,向PCI核心描述CPCI驅動程序。在模塊的入口函數(shù)static int__init cpcidev_init(void)中,使用函數(shù)pci_register_driver,向系統(tǒng)注冊上述結構體。設備的實際加載過程在函數(shù)cpcidev_probe中進行,該函數(shù)按照設備列表cpcidev_pci_tbl中所列設備進行逐個檢測和初始化。

        2.2 中斷處理

        信號處理將雷達掃描周期等分為64個扇區(qū)。每接收一次數(shù)據(jù)包都將產生中斷。頻繁的中斷、耗時的數(shù)據(jù)包拷貝操作,如果在中斷處理中完成所有工作,將造成中斷的丟失。

        Linux將中斷處理程序分解成兩個半部:頂半部(top half)和底半部(bottom half)[2]。底半部機制包括:軟中斷(Softirq)、Tasklet、工作隊列(Work queues)。本文采用工作隊列機制實現(xiàn)底半部工作。在設備結構體中已經定義了工作隊列結構體struct work_struct bh_task,設備初始化時通過函數(shù)INIT_WORK()初始化工作隊列并與底半部處理函數(shù)void bh_handler(unsigned long)掛接。在中斷處理頂半部中,對中斷進行類型判斷、關閉該類型中斷允許位、釋放該類型中斷的信號量、調度工作隊列。其它工作在中斷底半部完成。中斷的頂半部和底半部處理流程如圖1和圖2所示。

        2.3 接口函數(shù)

        設備的接口函數(shù)在注冊字符設備時與設備掛接,為數(shù)據(jù)處理軟件提供與設備進行交互的各功能接口,主要完成對設備的讀、寫和控制等訪問功能。

        在設備讀、寫函數(shù)中,實現(xiàn)數(shù)據(jù)處理軟件對設備的阻塞式操作。非阻塞操作的進程在不能進行設備操作。如果不阻塞,則用戶想獲取設備資源只能不停地查詢,這會無謂地耗費CPU資源;而阻塞訪問時,不能獲取資源的進程將進入休眠,它將CPU資源“禮讓”給其他進程。

        在Linux系統(tǒng)中,可以采用等待隊列來實現(xiàn)阻塞進程的喚醒[3]。wait queue以隊列為基礎數(shù)據(jù)結構,與進程調度機制緊密結合,用于實現(xiàn)內核中的異步事件通知機制,用來同步對系統(tǒng)資源的訪問。

        數(shù)據(jù)傳輸模塊提供這樣的能力:當數(shù)據(jù)處理進行read、write等系統(tǒng)調用時,若設備的接收緩區(qū)為空或者發(fā)送緩區(qū)未空,模塊在函數(shù)cpcidev_read、cpcidev_write中將進程阻塞直到接收緩區(qū)不空或發(fā)送緩區(qū)為空,數(shù)據(jù)處理的read、write等調用成功才返回。

        在設備控制函數(shù)cpcidev_ioctl中,主要完成對信號處理的控制和狀態(tài)的獲取。

        3 結束語

        高效、穩(wěn)定的雷達數(shù)據(jù)傳輸通道對于發(fā)揮雷達數(shù)據(jù)處理的精確、快速跟蹤能力至關重要。本文在Linux系統(tǒng)下采用CPCI總線配合DMA技術設計雷達數(shù)據(jù)傳輸模塊,運用中斷的底半部處理機制和讀寫請求的等待隊列機制,實現(xiàn)了高頻高速大數(shù)據(jù)量傳輸功能。利用內核封裝傳輸處理過程,向數(shù)據(jù)處理軟件提供了與系統(tǒng)一致的接口函數(shù),調用簡單方便。該數(shù)據(jù)傳輸模塊已應用于某航管雷達,工程實踐表明,模塊能夠滿足實際的數(shù)據(jù)傳輸需求,并且運行可靠。

        參考文獻:

        [1]譚欽紅,張際生,李文杰.Linux系統(tǒng)中PCI設備DMA數(shù)據(jù)傳輸?shù)膶崿F(xiàn)[J].重慶郵電大學學報(自然科學版),2012(24).

        [2]熊安萍,韓松,蔣溢.優(yōu)化Linux網絡處理性能的軟中斷處理機制[J].計算機應用,2010(01).

        [3]陳學松.深入Linux設備驅動程序內核機制[M].北京:電子工業(yè)出版社.

        [4]宋寶華.Linux設備驅動開發(fā)詳解(第2版)[M].北京:人民郵電出版社.

        作者單位:中國電子科技集團 第38研究所,合肥 230088

        在线播放免费人成毛片乱码| 欧美尺寸又黑又粗又长| 在熟睡夫面前侵犯我在线播放| 曰本无码人妻丰满熟妇啪啪| 少妇太爽了在线观看免费视频| 亚洲热妇无码av在线播放| 激性欧美激情在线| 国产精品香蕉在线观看| 免费人成视频欧美| aa视频在线观看播放免费 | 国产黄色精品高潮播放| 日本视频一区二区三区| 中文字幕亚洲乱码成熟女1区| 亚洲av综合av一区二区三区| 人妻体体内射精一区二区| 久久不见久久见免费影院www| 在线永久免费观看黄网站| 国产成人精品三级麻豆| 麻豆国产巨作AV剧情老师| 国产目拍亚洲精品区一区| 伊人久久大香线蕉av不变影院| 日韩肥臀人妻中文字幕一区 | 亚洲色图视频在线播放| 国产一区二区三区18p| 级毛片内射视频| 国产日韩精品欧美一区喷水| 亚洲一线二线三线写真| 久久久精品人妻一区亚美研究所| 国产精品欧美成人片| 国产精品一区二区三区黄片视频| 一区二区三区一片黄理论片| 情爱偷拍视频一区二区| 青楼妓女禁脔道具调教sm| 欧美日韩区1区2区3区| 欧美v日韩v亚洲综合国产高清| 国产一级片内射在线视频| 国产精品高湖呻呤久久av| 干日本少妇一区二区三区| av无码国产精品色午夜| 成人性生交c片免费看| 妇女自拍偷自拍亚洲精品|