《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于LabVIEW中DSP目標文件加載的實現
基于LabVIEW中DSP目標文件加載的實現
Icbuy
Icbuy
摘要:   數據采集卡(DAQ)的存儲空間是系統設計的一個重要的硬件資源,對采樣速率、實時處理性與系統功能都有很大的影響。在虛擬頻譜儀設計中,信號采樣數據的存儲、DSP分析、處理信號程序,都需要有足夠內存空間。由于該儀器信號采集數據量大,DSP所實現的功能多,導致出現存儲空間不足。針對上述問題,本文談談怎樣基于LabVIEW通過CLFN調用DLL加載DSP 目標文件(*.out),從而在一定的程序存儲空間情況下來完成基于DSP數據采集卡的虛擬儀器的研制。
關鍵詞: LabView DSP 虛擬儀器
Abstract:
Key words :
   引言

  數據采集卡(DAQ)的存儲空間是系統設計的一個重要的硬件資源,對采樣速率、實時處理性與系統功能都有很大的影響。在虛擬頻譜儀設計中,信號采樣數據的存儲、DSP分析、處理信號程序,都需要有足夠內存空間。由于該儀器信號采集數據量大,DSP所實現的功能多,導致出現存儲空間不足。針對上述問題,本文談談怎樣基于LabVIEW通過CLFN調用DLL加載DSP 目標文件(*.out),從而在一定的程序存儲空間情況下來完成基于DSP數據采集卡的虛擬儀器的研制。

  LabVIEW中的CLFN

  LabVIEW程序由三部分組成:前面板、框圖程序和圖標/連接器。程序前面板用于設置輸入量和觀測量,模擬真實儀器的前面板;每一個程序前面板都有相應的框圖程序與之對應,框圖程序用圖形編程語言編寫。圖標/連接端口可以讓用戶把VI程序定義為一個子程序,從而實現模塊化編程。

  調用庫函數節點(Call Library Function Node,CLFN)是一個圖形化節點,是LabVIEW調用C語言編寫的可執行程序代碼的一個通用的方法,常用于調用動態連接庫(DLL),這種方式特別適合于用戶創建實現自己特定功能的DLL。但是對C語言的編譯必須通過外部的開發平臺環境,在Win9x/NT下可以使用Microsoft Visual C軟件平臺。

  用CLFN調用DLL來實現DSP 目標文件加載,簡要步驟如下:

  (1)在LabVIEW程序框圖中放置一CLFN節點。對CLFN設置,建立函數原型:unsigned char dspload(CStr coffname)。其中coffname 是被加載的DSP 目標文件名(*.out),unsigned char 是函數dspload返回值error的類型,返回值為0,表明DSP目標文件加載成功,其它值表明加載失敗。

  (2)在Microsoft Visual C環境下建立DLL工程,從而生成dspload.dll文件。

  在源程序中必須包含頭文件:extcode.h和evm6xdll.h。前者是LabVIEW調用外部代碼管理函數集的頭文件,后者是DSP數據采集卡的DLL的頭文件。

  (3)設置前面板參數并完成框圖程序,將DSP目標文件加載的前面板與相應的框圖程序,保存為dspload.vi。執行程序dspload.vi前,輸入目標文件名(*.out)。

  DSP數據采集卡

  所用的數據采集卡是美國TI公司的TMS320C6701 DSP數據采集卡,方框圖如圖1所示。

  DSP數據采集卡的特點有:

  PCI總線接口,支持即插即用;通過HPI(Host Port Interface)訪問DSP內存;16-bit音頻編解碼器,支持5.5kHz~48kHz采樣率;三種DSP boot 模式:無自舉模式,HPI 自舉模式,ROM 自舉 模式;256kB同步突發靜態RAM (SBSRAM);8MB同步動態RAM (SDRAM)。

  TMS320C6701是浮點型DSP,片內有8個并行的處理單元,分為相同的兩組。8個獨立的功能單元采用加載/存儲(load/store)體系結構,數據在多處理單元之間的傳輸依靠32個32bit通用寄存器。

  DSP的體系結構采用甚長指令字(VLIW)結構,8個指令組成一個指令包,總字長為256 bit。芯片內部設置了專門的指令分配模塊,可以將每個256bit的指令包同時分配到8個處理單元,并由8個單元同時運行。芯片最大處理能力可以達到2400MIPs。

  C6701的存儲器尋址空間為32bit,片內RAM被分為內部程序/Cache存儲器和內部數據/Cache存儲器。當片內的RAM容量不滿足系統的程序/數據空間要求時,可利用外存儲器接口(External Memory Interface,EMIF)在片外進行存儲器擴展。EMIF整個外部空間最大容量為64MB,分為4個空間CE0~CE3。

  HPI(Host-Port Interface)是一個16bit 的并行接口,外部主機可以通過HPI直接訪問CPU的存儲空間。外部的主機是該接口的主控者。

  HPI存取的接口由一套寄存器來實現。HPI控制寄存器HPIC(HPI Control Register)完成對接口的設置,主機和CPU都可以訪問HPIC;外部主機進一步通過主機地址寄存器HPIA(Host Address Register)和主機數據寄存器HPID(Host Data Register)來完成對CPU存儲空間的訪問。主機對這些寄存器的訪問是通過外部的控制信號實現的。

  HPI到CPU的存儲空間的連接由DMA控制器完成。在C6701中有專門的DMA輔助通道完成數據傳輸任務。

  軟件設計

  在DSP數據采集卡與LabVIEW 的接口應用中主要利用CLFN來實現此功能:PC機通過HPI接口把文件名為*.out可執行文件裝載到DSP程序存儲空間,之后DSP執行該文件。

  DSP boot模式設置為HPI 自舉。HPI自舉工作原理如下:在自舉時,核心CPU停留在復位狀態,硬件其余部分均保持正常狀態。在這期間,外部主機通過HPI初始化CPU的存儲空間。主機完成所有的初始化工作后,將HPI控制存儲器中的DSPINT設置為1,結束自舉過程。此時CPU退出復位狀態,開始執行地址0處的指令。HPI自舉過程中,主機可以對DSPs所有的存儲空間進行讀和寫。

  在軟件設計中,打開數據采集卡,以獲取采集卡的句柄;復位DAQ卡之后,設置HPI自舉模式,使DSP處于復位狀態;這時如果DSP與HPI建立了連接,并且DMA輔助通道的優先級比DSP高,通過調用函數evm6x_coff_load把coffname所指定的目標文件加載到DSP內存中。一旦DSP不處于復位狀態時,DSP就開始執行被加載的文件。

  結語

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 鸥美黄色 | 国产欧美va欧美va香蕉在 | 国产一级精品视频 | 久久国产精品亚洲综合 | 色亚洲成人 | 男女在线网站 | 青青热久久国产久精品秒播 | www.啪啪.com| 久久机热综合久久国产 | 日韩视频 中文字幕 视频一区 | 99久久综合久中文字幕 | 国产精品视频第一区二区 | 辘轳女人和井电视剧全集播放 | 免费在线观看一级毛片 | 久久天天躁夜夜躁狠狠85台湾 | 精品久久免费视频 | 国产在线视频网 | 国产伦码精品一区二区三区 | 国产美女精品视频 | 精品国产96亚洲一区二区三区 | 国产成人精品影视 | 国产亚洲精品视频中文字幕 | 黄色短视频免费在线观看 | 亚洲精品天堂在线观看 | 四虎影视网站 | 公开免费视频 | 毛片天堂 | 国产成人综合久久精品红 | 精品成人一区二区 | 九九国产精品视频 | 五月激情丁香网 | 免费视频一级片 | 本站只有精品 | 久久国产精品麻豆映画 | 国产成人综合视频 | 日日操夜夜操狠狠操 | 91精品国产自产91精品 | 精品福利在线观看 | 精品欧美一区二区在线观看 | 国内成人自拍视频 | 青草久草|