<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ù)的虛擬儀器系統設計

作者: 時(shí)間:2012-05-18 來(lái)源:網(wǎng)絡(luò ) 收藏

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

2 系統控制邏輯的實(shí)現
由于CPLD器件掉電后可保存芯片內部程序,無(wú)須煩瑣的重復燒寫(xiě),因此本設計采用Altera公司的CPLD器件,作為接口芯片及存儲芯片的邏輯控制??紤]到需要使用局部地址/數據各16根線(xiàn),控制信號線(xiàn)22根,還要為數據采集電路預留些I/O引腳,最后決定采用144腳TQFP封裝的EPM3128。

在本系統中,EPM3128的主要功能是實(shí)現 Local端的地址譯碼、Local端對各個(gè)DRAM控制的地址譯碼、對板上功能選擇開(kāi)關(guān)的狀態(tài)進(jìn)行譯碼,從而實(shí)現對系統功能的配置以及對各芯片的控制信號進(jìn)行邏輯譯碼。所有的譯碼工作都通過(guò)VHDL編程語(yǔ)言來(lái)實(shí)現。綜合和編譯工作是在A(yíng)ltera公司的QuartusII集成編譯環(huán)境中完成的。

3 數據采集電路的實(shí)現
數據采集電路是本系統的關(guān)鍵,數據采集電路設計的好壞將直接影響到本系統的性能。為了實(shí)現系統功能的可配置和可擴展性,數據采集模塊設計成可配置的模式插接在總線(xiàn)接口母板上,實(shí)現對外部信號的數據采集。數據采集模塊由高速16位adc(LTC1608)和高性能芯片(TMS320C6713)構成,LTC1608的并行數字接口可方便地與包括TMS320C6713在內的多種通信,并可連接3V或5V邏輯。

由于對采集精度的高要求,在信號進(jìn)入ADC之前,需要對模擬信號進(jìn)行一系列的處理以保證信號的可靠性:模擬信號首先經(jīng)過(guò)電壓跟隨運算放大器增加輸入阻抗,再經(jīng)過(guò)電壓比例放大和一階RC低通濾波,最后輸入到ADC。


圖4 輸入信號處理電路原理圖


圖5 LTC1608 A/D芯片引腳連接電路圖

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

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



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