<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è) > 嵌入式系統 > 設計應用 > 一種基于PCI總線(xiàn)和DSP技術(shù)的虛擬儀器設計

一種基于PCI總線(xiàn)和DSP技術(shù)的虛擬儀器設計

作者:北京理工大學(xué) 劉永陽(yáng) 蔣健 羅弘谞 時(shí)間:2009-04-16 來(lái)源:嵌入式公社 收藏

  系統軟件設計

本文引用地址:http://dyxdggzs.com/article/93522.htm

  正如圖1所示,硬件設計完成后,要使整個(gè)系統工作還需要軟件的支持,這些軟件包括設備驅動(dòng)程序、數據處理算法程序和系統控制軟件。

  1 設備驅動(dòng)程序設計

  設備驅動(dòng)程序不是單獨存在的,而是相關(guān)操作系統內核的一部分,所以需要對操作系統有一定的了解。 Windows 2000操作系統是32位的多任務(wù)非實(shí)時(shí)操作系統。對整個(gè)系統底層的操作和用戶(hù)與硬件打交道的權力被屏蔽,必須通過(guò)操作系統統一管理設備驅動(dòng)程序和其他內核訪(fǎng)問(wèn)來(lái)實(shí)現應用軟件對硬件的訪(fǎng)問(wèn)。在設計和使用設備時(shí),經(jīng)常要在軟件中對系統資源進(jìn)行訪(fǎng)問(wèn),因此只有編制設備驅動(dòng)程序才能實(shí)現對總線(xiàn)設備的完全訪(fǎng)問(wèn)。

  應用程序對設備I/O進(jìn)行Win32調用,這個(gè)調用由I/O系統服務(wù)接收。I/O管理器從這個(gè)請求構造一個(gè)合適的I/O請求包(IRP)。在最簡(jiǎn)單的情況下,I/O管理器只是把IRP傳遞給一個(gè)設備驅動(dòng)程序,這個(gè)驅動(dòng)程序與硬件打交道,并完成IRP的處理。I/O管理器把數據和結果返回給 Win32和用戶(hù)應用程序。而一個(gè)IRP由一個(gè)分層的設備驅動(dòng)程序棧處理是很常見(jiàn)的。每個(gè)驅動(dòng)程序把該請求劃分成更簡(jiǎn)單的請求。最高層的驅動(dòng)程序(如文件系統驅動(dòng)程序)知道文件如何在磁盤(pán)上表示,但不知道如何得到數據的細節;中間層次的驅動(dòng)程序進(jìn)一步處理請求;最低層的驅動(dòng)程序與硬件實(shí)際打交道。

  本設計選擇的硬件驅動(dòng)程序開(kāi)發(fā)工具是Compuware公司提供的一個(gè)驅動(dòng)程序集成開(kāi)發(fā)包(DriverStudio)。利用其中的DriverWorks工具可以生成一個(gè)PCI總線(xiàn)驅動(dòng)框架,然后在WDM中實(shí)現輸入輸出處理,可以用KIoRange類(lèi)來(lái)實(shí)現。

  在驅動(dòng)程序框架生成的過(guò)程中,我們可以通過(guò)向導聲明驅動(dòng)程序中將要使用的資源;通過(guò)調用KIoRange類(lèi)的Initialize()函數,可以對資源進(jìn)行初始化(映射PCI局部空間);應用層通過(guò)DeviceIoControl函數向驅動(dòng)程序發(fā)命令來(lái)調用KIoRange的成員函數實(shí)現應用層對I/O空間的處理。開(kāi)發(fā)PCI母板的windows驅動(dòng)程序,就是使PC能正常識別該板卡并分配所需的系統資源。

  2 FFT算法的實(shí)現

  系統需要針對數據采集模塊,開(kāi)發(fā)并實(shí)現對模擬信號的采集以及對數據進(jìn)行FFT(快速傅立葉變換)算法處理的程序。

  作為一般的情況,設:x(n)和 X(k)都是復數,因為從實(shí)際計算過(guò)程看,實(shí)數和復數沒(méi)有區別,唯一不同的是:實(shí)數的虛部為零,表達式簡(jiǎn)單些。而運算過(guò)程所有的計算都是對實(shí)數進(jìn)行的,如果信號或頻譜是復數,就把最后計算的結果再組合成為復數分量。FFT運算的基本單元是“蝶形單元”,其蝶形運算的基本形式如下式所示:

  

 

  所有蝶形單元的運算可統一表示為

  (1)



關(guān)鍵詞: DSP PCI 虛擬儀器

評論


相關(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>