国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Matlab和VC混合編程的DSP數(shù)據(jù)采集系統(tǒng)

發(fā)布時(shí)間:2010-3-31 12:53    發(fā)布者:我芯依舊
前言

在開(kāi)發(fā)DSP數(shù)據(jù)采集和處理系統(tǒng)的過(guò)程中.通常需要采用DSP匯編語(yǔ)言開(kāi)發(fā)一些復(fù)雜的算法(如FFT分析、相關(guān)分析等),但是,實(shí)現(xiàn)這些算法的程序一般都很復(fù)雜,尤其需要圖形顯示時(shí),程序的編寫(xiě)就更復(fù)雜了。此外,這些程序還將占用DSP的內(nèi)存資源。Matlab提供了矩陣處理、數(shù)值計(jì)算、圖形顯示等強(qiáng)大功能,同時(shí)還帶有功能豐富的軟件工具箱.若能把Matlab的高效、便捷算法和圖形顯示工具應(yīng)用于DSP數(shù)據(jù)采集和處理系統(tǒng).即把采集到的數(shù)據(jù)上傳到Matlab平臺(tái)進(jìn)行相應(yīng)的處理和圖形顯示.這樣.不僅減少了DSP的負(fù)荷和開(kāi)銷.而且還可以加快系統(tǒng)的研發(fā)進(jìn)度。

1 系統(tǒng)設(shè)計(jì)

基于Matlab平臺(tái)的DSP數(shù)據(jù)采集和處理系統(tǒng)的主要功能是:在Matlab平臺(tái)上控制底層DSP目標(biāo)板進(jìn)行數(shù)據(jù)的采集和處理,并把采集到的數(shù)據(jù)上傳到Matlab平臺(tái)上進(jìn)行相應(yīng)的數(shù)值處理和圖形顯示然后再把處理后的數(shù)據(jù)回傳給底層DSP目標(biāo)板,完成后續(xù)任務(wù)。

1.1硬件結(jié)構(gòu)

DSP數(shù)據(jù)采集系統(tǒng)主要由PC計(jì)算機(jī)、TMS320C6202 DSP目標(biāo)板、AD16模塊、MOT模塊、數(shù)字I/O口和Timer模塊組成,如圖1所示。

①DSP目標(biāo)板選用ll(Innovative Integration)公司M6x系列的TMS320C6202開(kāi)發(fā)板。DSP目標(biāo)板通過(guò)計(jì)算機(jī)主板上的PCI插槽裝在計(jì)算機(jī)內(nèi)部,DSP程序通過(guò)JTAG進(jìn)行在線調(diào)試:DSP目標(biāo)板提供了許多動(dòng)態(tài)連接庫(kù)函數(shù).可直接完成對(duì)目標(biāo)板的底層操作,如Target_Open()--打開(kāi)目標(biāo)板驅(qū)動(dòng)、iicoffld()--下載程序列DSP中、Target_Close()--關(guān)閉目標(biāo)板驅(qū)動(dòng)等;

②AD16是Ⅱ公司的16通道16位的數(shù)據(jù)采集模塊.雙端差動(dòng)輸入,輸入范圍是-10V至+10V,可同時(shí)采集16路外部模擬信號(hào),采樣頻率為5~195KHz;


圖1系統(tǒng)硬件結(jié)構(gòu)

③MOT是一個(gè)集成有4個(gè)16位DA轉(zhuǎn)換器的信號(hào)產(chǎn)生模塊,DA輸出電壓范圍是-10V到+10V.可輸出4路測(cè)試需要的模擬信號(hào).DA轉(zhuǎn)換頻率最高可達(dá)200KHz:

④數(shù)字I/O模塊是一個(gè)32位數(shù)字I/O連接端口。系統(tǒng)可以通過(guò)這個(gè)數(shù)字I/O接口與外界進(jìn)行數(shù)字通信:

⑤Timer模塊提供了三個(gè)外部定時(shí)器,其定時(shí)參考時(shí)鐘可以是DSP目標(biāo)板上的時(shí)鐘,也可以是外部提供的時(shí)鐘。其定時(shí)輸出信號(hào)可滿足系統(tǒng)測(cè)試的定時(shí)要求。

1.2軟件設(shè)計(jì)

圖2是DSP數(shù)據(jù)采集和處理系統(tǒng)的軟件設(shè)計(jì)模塊圖。其中:Matlab平臺(tái)主要完成對(duì)目標(biāo)板的操作和控制,處理DSP目標(biāo)板上傳的數(shù)據(jù).再回傳給DSP目標(biāo)板,并進(jìn)行圖形顯示。


圖2系統(tǒng)的軟件模塊圖

visual C++平臺(tái)作為Matlab與底層DSP目標(biāo)板的連接中介,主要完成對(duì)DSP目標(biāo)板的具體操作。由于DSP目標(biāo)板自帶了對(duì)板卡進(jìn)行操作的動(dòng)態(tài)連接庫(kù)函數(shù),因此在Vishal C++平臺(tái)中就可利用這些函數(shù),完成對(duì)目標(biāo)板的一些控制和操作。例如:用戶界面(圖4)上的Open按鈕就是在Visual C++中利用Target_Open()函數(shù)完成目標(biāo)板驅(qū)動(dòng)的打開(kāi)。

DSP數(shù)據(jù)采集和處理程序主要控制AD16采集外界模擬信號(hào),并經(jīng)過(guò)相應(yīng)處理之后.上傳到Matlab平臺(tái),然后再?gòu)腗atlab平臺(tái)接收處理后的數(shù)據(jù).控制MOT模塊輸出系統(tǒng)所需的模擬信號(hào)。完成一個(gè)完整的數(shù)據(jù)采集—數(shù)據(jù)處理一系統(tǒng)控制的全過(guò)程。

2 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)

Matlab作為高級(jí)應(yīng)用程序語(yǔ)言.并不能直接控制和操作所有的底層板卡。Matlab仿真模塊里面帶有一些可以直接控制和操作的DSP板卡.但是這些板卡都是一些固定型號(hào)的DSP板卡,而對(duì)用戶自行設(shè)計(jì)和其它一些型號(hào)的DSP板卡并沒(méi)提供這種功能.因此要實(shí)現(xiàn)在Matlab平臺(tái)上控制一般的DSP板卡進(jìn)行數(shù)據(jù)的采集和處理還必須借助中介軟件.這個(gè)中介軟件就是Visual C++。這樣便可實(shí)現(xiàn)Matlab與DSP底層板卡的無(wú)縫連接。具體技術(shù)包括:DSP目標(biāo)板和主機(jī)的數(shù)據(jù)交換,Matlab與Visual C++的接口。

2.1 DSP目標(biāo)板和豐機(jī)的數(shù)據(jù)交換

TI公司提供DSP與PC主機(jī)之間的實(shí)時(shí)數(shù)據(jù)傳輸技術(shù)RTDX(Real Time Data Exchange)協(xié)議.并在主機(jī)中提供了工業(yè)標(biāo)準(zhǔn)的目標(biāo)連接與嵌入應(yīng)用程序接口OLE API(Application Program Interface).因而能方便地與符合OLE API標(biāo)準(zhǔn)的第三方軟件接口。實(shí)現(xiàn)與DSP的數(shù)據(jù)交換。完整的RTDX協(xié)議包含4個(gè)部分:主機(jī)應(yīng)用程序、主機(jī)軟件庫(kù)、目標(biāo)機(jī)軟件庫(kù)和目標(biāo)機(jī)程序。圖3是實(shí)現(xiàn)計(jì)算機(jī)和DSP之間數(shù)據(jù)傳輸?shù)年P(guān)系圖。


圖3 RTDX數(shù)據(jù)傳輸關(guān)系

微軟公司(Microsoft)提供的Visual C++軟件開(kāi)發(fā)環(huán)境封裝了,TI公司的RTDX協(xié)議,配合DSP程序可方便、實(shí)時(shí)地與Pc主機(jī)進(jìn)行數(shù)據(jù)通信。因此通過(guò)visual c++軟件就有可能實(shí)現(xiàn)在MATLAB平臺(tái)上完成對(duì)DSP數(shù)據(jù)采集和處理的控制。實(shí)現(xiàn)PC主機(jī)與DSP目標(biāo)板的數(shù)據(jù)交換。

PC主機(jī)和DSP目標(biāo)板通過(guò)RTDX協(xié)議實(shí)現(xiàn)數(shù)據(jù)交換需要在PC主機(jī)程序和DSP程序中定義同名的一條RTDX通道,數(shù)據(jù)通過(guò)該通道在PC主機(jī)和DSP目標(biāo)板之間傳輸。PC主機(jī)程序和目標(biāo)板上的DSP程序需要嚴(yán)格的配合,PC主機(jī)的讀操作和DSP目標(biāo)板的寫(xiě)操作通過(guò)定義一個(gè)“寫(xiě)RTDX”通道實(shí)現(xiàn):而PC主機(jī)的寫(xiě)操作與DSP目標(biāo)板的讀操作通過(guò)定義一個(gè)“讀RTDX”通道實(shí)現(xiàn).必須一一對(duì)應(yīng),這樣才能實(shí)現(xiàn)主機(jī)與DSP目標(biāo)板的數(shù)據(jù)交換。

2.2 Matlab與Visual C++的接口

Matlab作為一種工具軟件.通常是不能直接控制DSP目標(biāo)板。但是Matlab軟件為了擴(kuò)充自身軟件的功能,提供了一種與其它開(kāi)發(fā)工具或開(kāi)發(fā)語(yǔ)言進(jìn)行交互的應(yīng)用程序接口 (API)。其中.MEX文件就是MATLAB軟件提供的一種與Visual c++溝通的接口文件。

在MEX文件中使用c語(yǔ)言編寫(xiě)以mexFunction (int nlhs,mxArray *nlhs[ ],int nrhs,const mxArray * plhs[ ])函數(shù)為主函數(shù)的動(dòng)態(tài)連接庫(kù)程序(*.dll).然后只需在Matlab命令提示符下鍵入此MEX文件名(*.dll)即可完成調(diào)用.這與Matlab的內(nèi)建函數(shù)的調(diào)用方式完全相同。mexFunction函數(shù)中的參數(shù)說(shuō)明如下:

①int nlhs是左邊輸出參數(shù)的個(gè)數(shù),即visual c++向Matlab傳遞的參數(shù)個(gè)數(shù);

②mxArray *nlhs [ ]是左邊參數(shù)的數(shù)組。它是一個(gè)mxArray結(jié)構(gòu)體類型的指針數(shù)組.這個(gè)數(shù)組的元素按順序(nlhs[0].nlhs[1]⋯)指向所有的輸出參數(shù):

③int nrhs是右邊輸入?yún)?shù)的個(gè)數(shù),即Matlab向VisualC++傳遞的參數(shù)個(gè)數(shù);

④const mxArray *plhs [ ]是右邊參數(shù)的數(shù)組,它是一個(gè)mxArray結(jié)構(gòu)體類型的指針數(shù)組,這個(gè)數(shù)組的元素按順序(plhs[0],plhs[1]⋯⋯)指向所有的輸入?yún)?shù)。

在MEX文件中.利用DSP目標(biāo)板提供的動(dòng)態(tài)連接庫(kù)函數(shù),編寫(xiě)對(duì)目標(biāo)板進(jìn)行操作的動(dòng)態(tài)連接庫(kù)程序.然后在Matlab平臺(tái)上調(diào)用這些動(dòng)態(tài)連接庫(kù)函數(shù)既町實(shí)現(xiàn)Matlab和底層DSP目標(biāo)板的無(wú)縫連接。


圖4系統(tǒng)測(cè)試結(jié)果

具體過(guò)程是:在Matlab平臺(tái)上.以傳遞參數(shù)的形式調(diào)用動(dòng)態(tài)連接庫(kù)程序。把需要傳送給DSP目標(biāo)板處理的數(shù)據(jù),通過(guò)mexFunction函數(shù)的右邊參數(shù)數(shù)組先傳送給動(dòng)態(tài)連接庫(kù)程序。然后通過(guò)Visual C++程序和DSP程序共同定義的“寫(xiě)RTDX通道”把數(shù)據(jù)傳送給DSP目標(biāo)板:需要上傳到Matlab平臺(tái)的數(shù)據(jù),首先被DSP應(yīng)用程序?qū)懭氲健白xRTDX通道”中.然后在Visual C++中的動(dòng)態(tài)連接庫(kù)程序讀取該R31DX通道中的數(shù)據(jù),再經(jīng)過(guò)MexFunction函數(shù)的左邊參數(shù)數(shù)組把數(shù)據(jù)上傳到Matlab平臺(tái)。這樣.就實(shí)現(xiàn)了在Matlab平臺(tái)上控制和操作DSP目標(biāo)板,并與之進(jìn)行數(shù)據(jù)交換。

圖4是按照上述方法編寫(xiě)的軟件界面和對(duì)系統(tǒng)進(jìn)行測(cè)試所得到的結(jié)果。

3 結(jié)束語(yǔ)

基于Matlab平臺(tái)的DSP數(shù)據(jù)采集和處理系統(tǒng),在Matlab強(qiáng)大的數(shù)據(jù)分析和繪圖功能的基礎(chǔ)上,結(jié)合了Visual c++易于實(shí)現(xiàn)操作和控制的性能。改善了Matlab在控制底層板卡方面的不足。該系統(tǒng)的研究不僅是把Matlab應(yīng)用于DSP數(shù)據(jù)采集和處理系統(tǒng)的一次嘗試.也為一些半實(shí)物仿真系統(tǒng)提供了新的思路。Matlab/Simulink本身就是一種功能強(qiáng)大的系統(tǒng)仿真工具,因此,如果能在該系統(tǒng)的基礎(chǔ)上把Matlat/Simulink的仿真功能添加上來(lái)。則可實(shí)現(xiàn)硬件在環(huán)的半實(shí)物仿真。相信Matlab豐富的函數(shù)庫(kù)和眾多的專業(yè)工具箱.必會(huì)為今后系統(tǒng)的完善以及擴(kuò)展提供充分的條件。

本文作者創(chuàng)新點(diǎn):通過(guò)在Matlab平臺(tái)上直接控制DSP數(shù)據(jù)采集系統(tǒng).把Matlab的優(yōu)良算法應(yīng)用于系統(tǒng)中。簡(jiǎn)化了系統(tǒng)的數(shù)據(jù)處理過(guò)程。提高了,系統(tǒng)數(shù)據(jù)處理速度,縮短了系統(tǒng)設(shè)計(jì)周期,具有廣泛的應(yīng)用前景。

項(xiàng)目經(jīng)濟(jì)效益120萬(wàn)元。


作者:郭偉,潘仲日,王躍科      來(lái)源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第9-2期
本文地址:http://m.qingdxww.cn/thread-10040-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
hszx 發(fā)表于 2011-3-8 08:30:05
hszx 發(fā)表于 2011-3-9 08:42:13
zhangkeke 發(fā)表于 2011-5-12 23:01:20
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來(lái)節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产亚洲综合在线尤物 | 亚洲欧美精品伊人久久 | 女老师韩剧 | jizz大全日本 | 色综合色综合色综合网址 | 黄页网站在线免费观看 | 四虎永久成人免费 | 中文字幕一二区 | 国产在线观看青草视频 | 黄网站色年片在线观看 | 亚洲精品欧美日韩 | 向日葵的免费观看地址 | 色偷偷7777www | 一区二区三区欧美 | 嫩草影院在线观看网站成人 | bluemv.tips下载 | 国产magnet| 亚洲一页| 日本高清中文字幕一区二区三区 | 女人18毛片a级毛片一区二区 | 免费成人黄色片 | 久久青草国产手机看片福利盒子 | 精品卡1卡2卡三卡免费视频 | 福利视频网站 | 成人网址大全 | 国产又黄又刺激又爽视频黄 | 爱豆传媒2021精品影视 | 欧洲精品一区二区三区 | 亚洲性久久久影院 | 欧美日韩不卡高清 | 青青草伊人网 | 日韩中文字幕一区 | 欧美一级高清免费a | 黄色片aaaa | 久久精品无码一区二区日韩av | 久久视热这只是精品222 | 中文字幕一区二区三区精品 | 丝袜美腿视频一区二区三区 | 国产剧情毛片 | 真实国产乱视频国语 | 在线观看国产一区 |