亚洲免费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

        51国产黑色丝袜高跟鞋| 久久久黄色大片免费看| 久久综合精品人妻一区二区三区| 又色又爽又高潮免费视频观看| 色妺妺视频网| 激,情四虎欧美视频图片| 人妻有码av中文幕久久| 男人和女人做爽爽视频| 97久久精品人人做人人爽| 四虎国产精品免费久久麻豆| 蜜桃成熟时日本一区二区| 狠狠色丁香婷婷综合潮喷| 性欧美暴力猛交69hd| 日韩欧美在线观看成人| 极品少妇一区二区三区| 精品人妻一区二区三区四区在线| 亚洲老妇色熟女老太| 欧美日韩综合在线视频免费看| 蜜桃视频在线在线观看| 成人内射国产免费观看| 亚洲精品久久久久久| 99热高清亚洲无码| 亚洲不卡一区二区视频| 国产裸体舞一区二区三区| 一级午夜视频| 精品自拍偷拍一区二区三区| 精品高朝久久久久9999| 好大好深好猛好爽视频免费| 成人精品国产亚洲欧洲| 少妇下面好紧好多水真爽| 影音先锋男人av鲁色资源网 | 中文字幕国产91| 日韩字幕无线乱码免费| 婷婷五月深深久久精品| 久久精品成人欧美大片| 久久熟女乱一区二区三区四区| 美丽的小蜜桃在线观看| 极品美女aⅴ在线观看| 精品久久久久久电影院| 亚洲精品一区二区在线免费观看 | 国产精品亚洲三级一区二区三区|