<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW中DSP目標(biāo)文件加載的實(shí)現(xiàn)

          基于LabVIEW中DSP目標(biāo)文件加載的實(shí)現(xiàn)

          作者:吉林大學(xué)朝陽校區(qū)電子學(xué)院DSP實(shí)驗(yàn)室 鄭桂芬 時間:2002-12-05 來源:電子設(shè)計(jì)應(yīng)用 收藏
          引言
          數(shù)據(jù)采集卡(DAQ)的存儲空間是系統(tǒng)設(shè)計(jì)的一個重要的硬件資源,對采樣速率、實(shí)時處理性與系統(tǒng)功能都有很大的影響。在虛擬頻譜儀設(shè)計(jì)中,信號采樣數(shù)據(jù)的存儲、分析、處理信號程序,都需要有足夠內(nèi)存空間。由于該儀器信號采集數(shù)據(jù)量大,所實(shí)現(xiàn)的功能多,導(dǎo)致出現(xiàn)存儲空間不足。針對上述問題,本文談?wù)勗鯓踊贚abVIEW通過CLFN調(diào)用DLL加載 目標(biāo)文件(*.out),從而在一定的程序存儲空間情況下來完成基于DSP數(shù)據(jù)采集卡的虛擬儀器的研制。

          LabVIEW中的CLFN
          LabVIEW程序由三部分組成:前面板、框圖程序和圖標(biāo)/連接器。程序前面板用于設(shè)置輸入量和觀測量,模擬真實(shí)儀器的前面板;每一個程序前面板都有相應(yīng)的框圖程序與之對應(yīng),框圖程序用圖形編程語言編寫。圖標(biāo)/連接端口可以讓用戶把VI程序定義為一個子程序,從而實(shí)現(xiàn)模塊化編程。
          調(diào)用庫函數(shù)節(jié)點(diǎn)(Call Library Function Node,CLFN)是一個圖形化節(jié)點(diǎn),是LabVIEW調(diào)用C語言編寫的可執(zhí)行程序代碼的一個通用的方法,常用于調(diào)用動態(tài)連接庫(DLL),這種方式特別適合于用戶創(chuàng)建實(shí)現(xiàn)自己特定功能的DLL。但是對C語言的編譯必須通過外部的開發(fā)平臺環(huán)境,在Win9x/NT下可以使用Microsoft Visual C++軟件平臺。
          用CLFN調(diào)用DLL來實(shí)現(xiàn)DSP 目標(biāo)文件加載,簡要步驟如下:
          (1)在LabVIEW程序框圖中放置一CLFN節(jié)點(diǎn)。對CLFN設(shè)置,建立函數(shù)原型:unsigned char dspload(CStr coffname)。其中coffname 是被加載的DSP 目標(biāo)文件名(*.out),unsigned char 是函數(shù)dspload返回值error的類型,返回值為0,表明DSP目標(biāo)文件加載成功,其它值表明加載失敗。
          (2)在Microsoft Visual C++環(huán)境下建立DLL工程,從而生成dspload.dll文件。
          在源程序中必須包含頭文件:extcode.h和evm6xdll.h。前者是LabVIEW調(diào)用外部代碼管理函數(shù)集的頭文件,后者是DSP數(shù)據(jù)采集卡的DLL的頭文件。
          (3)設(shè)置前面板參數(shù)并完成框圖程序,將DSP目標(biāo)文件加載的前面板與相應(yīng)的框圖程序,保存為dspload.vi。執(zhí)行程序dspload.vi前,輸入目標(biāo)文件名(*.out)。

          DSP數(shù)據(jù)采集卡
          所用的數(shù)據(jù)采集卡是美國TI公司的TMS320C6701 DSP數(shù)據(jù)采集卡,方框圖如圖1所示。
          DSP數(shù)據(jù)采集卡的特點(diǎn)有:
          PCI總線接口,支持即插即用;通過HPI(Host Port Interface)訪問DSP內(nèi)存;16-bit音頻編解碼器,支持5.5kHz~48kHz采樣率;三種DSP boot 模式:無自舉模式,HPI 自舉模式,ROM 自舉 模式;256kB同步突發(fā)靜態(tài)RAM (SBSRAM);8MB同步動態(tài)RAM (SDRAM)。
          TMS320C6701是浮點(diǎn)型DSP,片內(nèi)有8個并行的處理單元,分為相同的兩組。8個獨(dú)立的功能單元采用加載/存儲(load/store)體系結(jié)構(gòu),數(shù)據(jù)在多處理單元之間的傳輸依靠32個32bit通用寄存器。
          DSP的體系結(jié)構(gòu)采用甚長指令字(VLIW)結(jié)構(gòu),8個指令組成一個指令包,總字長為256 bit。芯片內(nèi)部設(shè)置了專門的指令分配模塊,可以將每個256bit的指令包同時分配到8個處理單元,并由8個單元同時運(yùn)行。芯片最大處理能力可以達(dá)到2400MIPs。
          C6701的存儲器尋址空間為32bit,片內(nèi)RAM被分為內(nèi)部程序/Cache存儲器和內(nèi)部數(shù)據(jù)/Cache存儲器。當(dāng)片內(nèi)的RAM容量不滿足系統(tǒng)的程序/數(shù)據(jù)空間要求時,可利用外存儲器接口(External Memory Interface,EMIF)在片外進(jìn)行存儲器擴(kuò)展。EMIF整個外部空間最大容量為64MB,分為4個空間CE0~CE3。
          HPI(Host-Port Interface)是一個16bit 的并行接口,外部主機(jī)可以通過HPI直接訪問CPU的存儲空間。外部的主機(jī)是該接口的主控者。
          HPI存取的接口由一套寄存器來實(shí)現(xiàn)。HPI控制寄存器HPIC(HPI Control Register)完成對接口的設(shè)置,主機(jī)和CPU都可以訪問HPIC;外部主機(jī)進(jìn)一步通過主機(jī)地址寄存器HPIA(Host Address Register)和主機(jī)數(shù)據(jù)寄存器HPID(Host Data Register)來完成對CPU存儲空間的訪問。主機(jī)對這些寄存器的訪問是通過外部的控制信號實(shí)現(xiàn)的。
          HPI到CPU的存儲空間的連接由DMA控制器完成。在C6701中有專門的DMA輔助通道完成數(shù)據(jù)傳輸任務(wù)。

          軟件設(shè)計(jì)
          在DSP數(shù)據(jù)采集卡與LabVIEW 的接口應(yīng)用中主要利用CLFN來實(shí)現(xiàn)此功能:PC機(jī)通過HPI接口把文件名為*.out可執(zhí)行文件裝載到DSP程序存儲空間,之后DSP執(zhí)行該文件。
          DSP boot模式設(shè)置為HPI 自舉。HPI自舉工作原理如下:在自舉時,核心CPU停留在復(fù)位狀態(tài),硬件其余部分均保持正常狀態(tài)。在這期間,外部主機(jī)通過HPI初始化CPU的存儲空間。主機(jī)完成所有的初始化工作后,將HPI控制存儲器中的DSPINT設(shè)置為1,結(jié)束自舉過程。此時CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。HPI自舉過程中,主機(jī)可以對DSPs所有的存儲空間進(jìn)行讀和寫。
          在軟件設(shè)計(jì)中,打開數(shù)據(jù)采集卡,以獲取采集卡的句柄;復(fù)位DAQ卡之后,設(shè)置HPI自舉模式,使DSP處于復(fù)位狀態(tài);這時如果DSP與HPI建立了連接,并且DMA輔助通道的優(yōu)先級比DSP高,通過調(diào)用函數(shù)evm6x_coff_load把coffname所指定的目標(biāo)文件加載到DSP內(nèi)存中。一旦DSP不處于復(fù)位狀態(tài)時,DSP就開始執(zhí)行被加載的文件。

          結(jié)語
          通過CLFN調(diào)用DLL加載DSP目標(biāo)文件從而節(jié)省數(shù)據(jù)采集卡的內(nèi)存空間的方法已經(jīng)應(yīng)用到吉林大學(xué)-TI DSPs實(shí)驗(yàn)室的虛擬頻譜分析儀中。由于DSP加載程序是C語言程序,因此可移植性好。另外,可看出通過調(diào)用庫函數(shù)節(jié)點(diǎn)CLFN,將C語言同LabVIEW中編程直觀方便的圖形化G語言結(jié)合起來,以加快程序運(yùn)行速度,提高軟件性能,并方便程序模塊共享,節(jié)省編程時間?!?/P>

          參考文獻(xiàn):
          1. TMS320C6201/6701 Evaluation Module Technical Reference, Texas Instruments, 1998.
          2. 任麗香,馬淑芬,李方慧,TMS320C6000系列DSPs的原理與應(yīng)用,北京:電子工業(yè)出版社,2000.
          3. 張雄偉,曹鐵勇,DSP芯片的原理與開發(fā)應(yīng)用(第2版),北京:電子工業(yè)出版社,2001.
          4. Using External Code in LabVIEW, National Instruments, 2000.
          5. 袁淵,古軍,虛擬儀器基礎(chǔ)教程,電子科技大學(xué)出版社,2000.



          圖1 TMS320C6701 DSP數(shù)據(jù)采集卡方框圖



          關(guān)鍵詞: DSP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();