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

        ?

        基于RTX平臺(tái)高速實(shí)時(shí)數(shù)據(jù)采集與處理平臺(tái)設(shè)計(jì)*

        2010-08-11 05:27:32周徐昌
        艦船電子工程 2010年7期
        關(guān)鍵詞:采集卡驅(qū)動(dòng)程序實(shí)時(shí)性

        雷 毅 周徐昌

        (海軍工程大學(xué)兵器工程系 武漢 430033)

        1 引言

        隨著計(jì)算機(jī)科學(xué)技術(shù)的迅猛發(fā)展,當(dāng)代仿真技術(shù)得到了極大地提高。傳統(tǒng)的嵌入式操作系統(tǒng)雖然實(shí)時(shí)性高,但需要獨(dú)有的開發(fā)定制工具,開發(fā)復(fù)雜,定制內(nèi)核涉及BSP相關(guān)知識(shí);而且其它通用功能例如圖形顯示功能并不強(qiáng)大,需要購買第三方圖形開發(fā)包,開發(fā)周期長(zhǎng)。RTX則能比較好地完成圖形化和實(shí)時(shí)兩方面要求,因而在半實(shí)物仿真系統(tǒng)中得到了廣泛地使用。但目前設(shè)備廠商對(duì)于一些采用實(shí)時(shí)操作系統(tǒng)的仿真計(jì)算機(jī),未提供相應(yīng)的設(shè)備驅(qū)動(dòng)程序,由于對(duì)實(shí)時(shí)性的要求,也必須自己開發(fā)相應(yīng)的設(shè)備驅(qū)動(dòng)程序。在某型武器半實(shí)物仿真系統(tǒng)中,選用研華公司的工控機(jī)和PCI1714數(shù)據(jù)采集卡、三軸轉(zhuǎn)臺(tái)等設(shè)備組成硬件平臺(tái),RTX+Windows作為軟件平臺(tái),在系統(tǒng)的開發(fā)過程中編寫了PCI卡的設(shè)備驅(qū)動(dòng)程序。本文以PCI1714為例詳細(xì)討論了在RTX+Windows下開發(fā)PCI設(shè)備驅(qū)動(dòng)程序的方法。

        2 RTX操作系統(tǒng)簡(jiǎn)介

        RTX是Windows XP/2000/NT系統(tǒng)的硬實(shí)時(shí)擴(kuò)展,為 Windows系統(tǒng)提供了高速確定性的硬實(shí)時(shí)能力,滿足了對(duì)設(shè)備I/O進(jìn)程的確定性響應(yīng)的要求。其內(nèi)核采用基于開放式的x86系列PC架構(gòu),可定制裁減,并支持多種CPU架構(gòu)[1]。其獨(dú)立的基于搶占式的RT X線程調(diào)度機(jī)制允許RTSS線程優(yōu)先于所有的Windows線程和中斷,并擁有足夠多的優(yōu)先級(jí),每個(gè)進(jìn)程可以從0~127這128個(gè)優(yōu)先級(jí)中選擇,而且提供了 Windows和RTSS進(jìn)程之間的IPC進(jìn)程間通信機(jī)制。

        RTX對(duì)x86提供了很好的支持。而且RTX提供了針對(duì)端口I/O和總線I/O所有操作的功能函數(shù),幾乎可以用于所有的驅(qū)動(dòng)開發(fā)。并向開發(fā)者提供了獨(dú)立于操作系統(tǒng)和應(yīng)用程序的對(duì)于系統(tǒng)資源的直接訪問控制和所有權(quán),使得開發(fā)PCI驅(qū)動(dòng)程序更方便。

        3 RTX下保證系統(tǒng)實(shí)時(shí)性的可行性分析

        某型武器半實(shí)物仿真系統(tǒng)仿真原理框圖如圖1所示,系統(tǒng)按照仿真時(shí)序的要求,采集其運(yùn)動(dòng)參數(shù)及舵角,送至數(shù)字仿真計(jì)算機(jī),通過求解其動(dòng)力學(xué)與運(yùn)動(dòng)學(xué)方程,發(fā)送命令給三軸轉(zhuǎn)臺(tái)和水壓仿真器,三軸轉(zhuǎn)臺(tái)通過角運(yùn)動(dòng),水壓仿真器通過油壓動(dòng)態(tài)變化,仿真其姿態(tài)變化和深度變化,給控制系統(tǒng)提供信息,從而模擬其下一時(shí)刻的運(yùn)動(dòng)狀態(tài)。

        圖1 某型武器半實(shí)物仿真系統(tǒng)仿真原理框圖

        仿真系統(tǒng)主要參數(shù)有各計(jì)算機(jī)幀時(shí)、轉(zhuǎn)臺(tái)和水壓仿真器分系統(tǒng)幀時(shí)、接口通信速率等。在Windows環(huán)境下能夠?qū)崿F(xiàn)實(shí)時(shí)數(shù)據(jù)采集的資源有2個(gè):多媒體定時(shí)器和常規(guī)定時(shí)器。常規(guī)定時(shí)器是建立在PC機(jī)硬件和ROM BIOS中系統(tǒng)定時(shí)器的簡(jiǎn)單擴(kuò)充基礎(chǔ)之上。由于ROM BIOS將PC中的一個(gè)8253定時(shí)芯片設(shè)為54.915ms產(chǎn)生一個(gè)硬件中斷,因此通過這種方式獲得的定時(shí)器只能精確到55ms,對(duì)于 55ms以下的時(shí)間精度便無能為力了[2]。多媒體定時(shí)器使用自己?jiǎn)为?dú)的線程來調(diào)用一個(gè)自己的回調(diào)函數(shù),并且該線程優(yōu)先級(jí)高,每隔一定時(shí)間就發(fā)送一個(gè)消息而不管其他消息是否已執(zhí)行完,因此采用多媒體定時(shí)器可以達(dá)到1ms的最小時(shí)間精度。對(duì)于一般的實(shí)時(shí)數(shù)據(jù)采集來說,采用多媒體定時(shí)器可以滿足要求,實(shí)時(shí)性要求更高的情況就無法滿足了。但是對(duì)于本系統(tǒng)來說,為保證系統(tǒng)的仿真精度和可信度,要求數(shù)學(xué)模型實(shí)時(shí)解算,需要更高精度的定時(shí)器。

        RTX其持續(xù)中斷響應(yīng)頻率可達(dá)30kHz以上,最大IST處理延遲不超過16μ s。能提供高速準(zhǔn)確的實(shí)時(shí)時(shí)間響應(yīng),定時(shí)器最小周期為100μ s,時(shí)鐘最小分辨率為100ns。故從理論上看可滿足系統(tǒng)實(shí)時(shí)性的要求。

        4 PCI1714數(shù)據(jù)采集卡驅(qū)動(dòng)程序設(shè)計(jì)

        PCI-1714配備4組模擬輸入端,具備同步采集功能。當(dāng)4組模擬輸入同時(shí)使用時(shí),采樣頻率最高可達(dá) 30MS/s。PCI-1714板卡采用 PLX-9056 PCI總線控制器,同時(shí),每路 ADC獨(dú)占板載的32kb,可保證數(shù)據(jù)在高速數(shù)據(jù)采集時(shí)的臨時(shí)存儲(chǔ)與數(shù)據(jù)的批量傳輸,實(shí)現(xiàn)數(shù)據(jù)的高速采集。

        4.1 驅(qū)動(dòng)程序?qū)崿F(xiàn)方法

        在完成對(duì)設(shè)備地址映射之后,驅(qū)動(dòng)程序就可以根據(jù)分配的基地址訪問設(shè)備了。在RTX操作系統(tǒng)下,其驅(qū)動(dòng)程序不含虛擬機(jī),無需內(nèi)核中轉(zhuǎn)請(qǐng)求,不含緩沖及校驗(yàn)機(jī)制,可以直接操作寄存器。故可在內(nèi)核之外與應(yīng)用程序一起編譯運(yùn)行,不必把驅(qū)動(dòng)程序編譯到內(nèi)核中去。而且RTX驅(qū)動(dòng)程序架構(gòu)靈活,無需WDM驅(qū)動(dòng)規(guī)范,可以以各種形式存在包括.rtss,.rtdll,rtss dll,.lib。在PCI1714數(shù)據(jù)采集卡的驅(qū)動(dòng)程序中,把驅(qū)動(dòng)程序當(dāng)作應(yīng)用程序的一部分,一起編譯生成目標(biāo)文件,沒有使用標(biāo)準(zhǔn)的驅(qū)動(dòng)規(guī)范,這樣更方便操作采集卡。

        4.2 驅(qū)動(dòng)程序設(shè)計(jì)

        一般來說,PCI的驅(qū)動(dòng)程序可分為三個(gè)部分:初始化部分、對(duì)硬件資源的訪問函數(shù)庫、具體調(diào)用部分。調(diào)用RTX操作系統(tǒng)提供的I/O函數(shù)就可以控制采集卡上的數(shù)字IO輸出以及D/A輸出[3]。

        4.2.1 獲得PCI設(shè)備信息,進(jìn)行設(shè)備初始化

        在執(zhí)行初始化之前,需要對(duì)板卡的基地址進(jìn)行賦值。不同于ISA設(shè)備可以預(yù)先了解設(shè)備的中斷號(hào)和基地址,PCI設(shè)備的中斷號(hào)和基地址是在開機(jī)時(shí)由系統(tǒng)自動(dòng)分配的。所以在操作設(shè)備之前,必須首先確認(rèn)設(shè)備的中斷號(hào)和基地址,以便進(jìn)行下一步的操作。首先通過for循環(huán)程序找到與所編寫程序的PCI卡相對(duì)應(yīng)的PCI設(shè)備,然后讀取設(shè)備中基地址寄存器中的地址和中斷號(hào)[4]。程序代碼如下所示:

        BytesWritten=RtGetBusDataByOffset(

        PCIConfiguration,//type of bus data to be retrieved bus

        pSlotNumber->u.AsULONG,//logical slot number

        PciData,//pointer to a buffer for configuration information 0,//byte offset into buffer PCI_COMMON_HDR_LENGTH//length of buffer)

        初始化操作包括:配置中斷、停止位、奇偶校驗(yàn)位、字長(zhǎng)FIFO等。PCI設(shè)備對(duì)板卡的操作與ISA設(shè)備無異,核心就是對(duì)寄存器的配置與讀寫操作。通過直接操作相應(yīng)寄存器即可達(dá)到相應(yīng)要求,示例代碼如下:

        RtWritePortUchar(ucb->baseAddress+UA RT_LCR,LCR_DIVISOR_LATCH);

        tempRegister=ucb->stopBits|ucb->parity|ucb->wordSize;

        tempRegister=RtReadPortUchar(ucb->baseAddress+UART_FCR);

        4.2.2 調(diào)用I/O函數(shù),訪問硬件資源

        硬件中斷處理是實(shí)時(shí)系統(tǒng)設(shè)計(jì)的關(guān)鍵環(huán)節(jié),外部事件通過中斷通知系統(tǒng),系統(tǒng)通過中斷服務(wù)函數(shù)處理中斷請(qǐng)求。在中斷模式中,操作相應(yīng)的讀寫寄存器傳入傳出數(shù)據(jù)即可,示例代碼如下:

        中斷方式,清空FIFO:

        VOID EmptyFIFO(UCB*ucb)

        中斷方式,寫入FIFO:

        VOID SendNextFIFO(UCB*ucb)

        4.3 仿真結(jié)果分析

        半實(shí)物仿真數(shù)據(jù)結(jié)果對(duì)比的標(biāo)準(zhǔn)有兩個(gè):一是數(shù)字仿真結(jié)果;二是實(shí)航結(jié)果。圖2為半實(shí)物仿真的深度曲線與海上實(shí)航結(jié)果對(duì)比情況。說明了該驅(qū)動(dòng)程序達(dá)到了系統(tǒng)的設(shè)計(jì)要求。

        5 結(jié)語

        本文結(jié)合PCI1714數(shù)據(jù)采集卡分析了在RTX+Windows下開發(fā)PCI設(shè)備驅(qū)動(dòng)程序的方法。經(jīng)實(shí)際運(yùn)行,所編寫的驅(qū)動(dòng)程序在仿真系統(tǒng)中運(yùn)行穩(wěn)定可靠,系統(tǒng)的實(shí)時(shí)性達(dá)到了設(shè)計(jì)要求。

        [1]Ardence公司.RTX技術(shù)白皮書[Z].北京航天捷越(美斯比)科技有限公司,譯,2004

        [2]吳麗娜,高敬陽.Windows2000/XP下通用實(shí)時(shí)采集的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2005,25(2):442~444

        [3]王宇磊,周東.VxWorks下PCI總線驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用

        [4]董春橋,李凱.Linux系統(tǒng)PCI設(shè)備驅(qū)動(dòng)程序開發(fā)[J].計(jì)算機(jī)測(cè)量與控制,2005,13

        [5]WindRiver Systems Inc.VxWorks Programmer's Guide[Z].1998

        [6]楊飛,安錦文,李中健.嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks下CPCI設(shè)備驅(qū)動(dòng)程序開發(fā)[J].計(jì)算機(jī),2007,15(5)

        [7]馬明建,周長(zhǎng)城.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,1998,1:59~70

        [8]肖忠祥.數(shù)據(jù)采集原理[M].西安:西安工業(yè)大學(xué)出版社,2003:15~20

        猜你喜歡
        采集卡驅(qū)動(dòng)程序實(shí)時(shí)性
        高精度AD采集卡性能測(cè)試及評(píng)價(jià)方法研究
        基于規(guī)則實(shí)時(shí)性的端云動(dòng)態(tài)分配方法研究
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時(shí)性仿真
        面向數(shù)控機(jī)床的多通道傳感數(shù)據(jù)采集卡設(shè)計(jì)
        航空電子AFDX與AVB傳輸實(shí)時(shí)性抗干擾對(duì)比
        并行高速采樣在地震物理模擬采集中的應(yīng)用
        PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:43:12
        一種車載Profibus總線系統(tǒng)的實(shí)時(shí)性分析
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        av深夜福利在线| 亚洲av无码精品蜜桃| 免费观看又色又爽又黄的韩国| 在线视频一区二区日韩国产| 丝袜美女美腿一区二区| 国产亚洲成人精品久久| 国产真实乱对白精彩久久老熟妇女 | 国产在线一区二区三区香蕉| 亚洲三区在线观看内射后入| 东方aⅴ免费观看久久av| 国产中文字幕乱码在线| 在线观看视频亚洲一区二区三区| 亚洲国产av无码精品| 依依成人精品视频在线观看 | 欧美变态口味重另类在线视频| 国产精品久久这里只有精品| 大香蕉青青草视频在线| 亚洲av国产av综合av卡| 中文字幕无码不卡免费视频| 国产韩国精品一区二区三区| 91九色国产老熟女视频| 蜜桃av抽搐高潮一区二区| 亚洲人免费| 国产美女主播福利一区| 大奶白浆视频在线观看| 国产真实伦在线观看| 人妖精品视频在线观看| 日本免费播放一区二区| 国产成人无码综合亚洲日韩| 一本一本久久a久久精品综合| 亚洲精品中文字幕二区| 与漂亮的女邻居少妇好爽| 疯狂撞击丝袜人妻| 成人不卡国产福利电影在线看| 青青久久精品一本一区人人| 国产97在线 | 日韩| 日韩欧美一区二区三区中文精品| 中文在线最新版天堂av| 激情综合五月| 亚洲av日韩av永久无码色欲| 成人av天堂一区二区|