日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]采用MATLAB輔助DSP程序的開發(fā)和調(diào)試,能加快DSP應(yīng)用程序的開發(fā)。實(shí)時(shí)數(shù)據(jù)交換(RTDX)為設(shè)計(jì)、驗(yàn)證DSP算法提供了一個(gè)快速、方便的解決方案。本文對(duì)RTDX的工作原理進(jìn)行了分析,討論了MATLAB與DSP使用RTDX插件實(shí)現(xiàn)雙向數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方式,并通過一個(gè)簡(jiǎn)單的實(shí)例說明RTDX的具體實(shí)現(xiàn)過程。

摘要:采用MATLAB輔助DSP程序的開發(fā)和調(diào)試,能加快DSP應(yīng)用程序的開發(fā)。實(shí)時(shí)數(shù)據(jù)交換(RTDX)為設(shè)計(jì)、驗(yàn)證DSP算法提供了一個(gè)快速、方便的解決方案。本文對(duì)RTDX的工作原理進(jìn)行了分析,討論了MATLAB與DSP使用RTDX插件實(shí)現(xiàn)雙向數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方式,并通過一個(gè)簡(jiǎn)單的實(shí)例說明RTDX的具體實(shí)現(xiàn)過程。

引言

在傳統(tǒng)的DSP(Digital Signal Processor)應(yīng)用程序開發(fā)過程中,涉及的算法一般先用MATLAB語言進(jìn)行仿真,仿真結(jié)果滿意后,再進(jìn)入產(chǎn)品的實(shí)現(xiàn)階段。仿真實(shí)現(xiàn)后的算法用 C/C++或匯編語言實(shí)現(xiàn),首先在硬件DSP目標(biāo)板上調(diào)試,將中間結(jié)果通過DSP開發(fā)工具保存到PC機(jī)的硬盤上,然后調(diào)用到MATLAB工作空間,與 MATLAB仿真算法的中間結(jié)果進(jìn)行比較,以發(fā)現(xiàn)DSP程序中由于設(shè)計(jì)或精度導(dǎo)致的結(jié)果偏差。如此反復(fù)進(jìn)行,應(yīng)用程序開發(fā)十分不便。

鑒于DSP應(yīng)用開發(fā)的傳統(tǒng)設(shè)計(jì)方法十分不便,Math Works公司和TI公司聯(lián)合開發(fā)了MATLAB Link for CCS Development Tools(簡(jiǎn)稱CCSLink)。CCSLink將MATLAB、CCS(TI DSP集成開發(fā)環(huán)境)和目標(biāo)DSP三者連接起來,開發(fā)人員可以在MATLAB環(huán)境中像操作MATLAB變量一樣操作TI公司DSP的存儲(chǔ)器和寄存器,實(shí)現(xiàn)對(duì)CCS的控制,極大地方便了TI DSP應(yīng)用程序的開發(fā)。

本文所做的研究是以MATLAB2010b、CCS3.3以及基于TMS320VC5509A的開發(fā)板進(jìn)行的。目前大多數(shù)書籍就CCSLink的描述主要是基于MATLAB6.5的,而后續(xù)的MATLAB版本對(duì)CCSLink做了一定的修改和完善。RTDX插件作為CCSLink的重要組成部分之一,有其獨(dú)特的優(yōu)勢(shì)。在接下來的內(nèi)容中將對(duì)RTDX做詳細(xì)介紹,旨在向DSP研發(fā)人員提供一種更快捷的RTDX使用方式。

1 CCSLink的構(gòu)成

CCSLink由3部分組成:

①與CCS IDE的連接對(duì)象。利用此對(duì)象可以創(chuàng)建CCS與MATLAB的連接,執(zhí)行相應(yīng)的MATLAB命令就可以運(yùn)行CCS中的應(yīng)用程序,與目標(biāo)DSP的存儲(chǔ)器和寄存器進(jìn)行雙向數(shù)據(jù)交換。其優(yōu)點(diǎn)在于:

(a)用戶可以利用MATLAB強(qiáng)大的數(shù)據(jù)分析和可視化功能,節(jié)省設(shè)計(jì)和調(diào)試程序的時(shí)間。

(b)可以編寫用于調(diào)試數(shù)字信號(hào)處理程序的MATLAB語言批處理腳本,實(shí)現(xiàn)調(diào)試和分析的自動(dòng)化。

②與RTDX的連接對(duì)象。提供了MATLAB與目標(biāo)DSP之間的實(shí)時(shí)通信通道,利用此通道可以實(shí)時(shí)地與目標(biāo)DSP進(jìn)行數(shù)據(jù)交換而不用停止DSP上正在執(zhí)行的程序。Link for RTDX實(shí)現(xiàn)了對(duì)實(shí)時(shí)數(shù)據(jù)的自動(dòng)化高級(jí)分析和可視化,同時(shí)也實(shí)現(xiàn)了對(duì)復(fù)雜DSP程序的有效驗(yàn)證。

RTDX包括主機(jī)和目標(biāo)DSP兩部分,如圖1所示。在DSP上有一個(gè)小的RTDX庫(RTDX Target Library),其使用一個(gè)基于掃描的仿真器,通過增強(qiáng)型JTAG接口在主機(jī)和DSP之間傳輸數(shù)據(jù)。DSP應(yīng)用程序則通過調(diào)用RTDX庫的API函數(shù)來完成主機(jī)和DSP之間的通信。主機(jī)方運(yùn)行CCS軟件,CCS軟件同樣帶有一個(gè)RTDX庫(RTDX Host Library),通過一個(gè)COM接口將實(shí)時(shí)數(shù)據(jù)在主機(jī)上顯示。這樣,MATLAB中設(shè)計(jì)的參數(shù)可以通過RTDX輸入通道寫入DSP的存儲(chǔ)單元,而算法的最后結(jié)果也可以通過RTDX的輸出通道上傳到MATLAB中,通過編寫MATLAB程序來顯示、分析信號(hào)處理的結(jié)果。

③嵌入對(duì)象。在MATLAB環(huán)境中能夠創(chuàng)建一個(gè)代表嵌入在目標(biāo)C程序中的變量對(duì)象,利用嵌入式對(duì)象可以像處理MATLAB的變量那樣直接訪問嵌入在目標(biāo)DSP的存儲(chǔ)器和寄存器中的變量。

上述3種連接對(duì)象的實(shí)現(xiàn)方式略有不同,與CCS IDE的連接對(duì)象和嵌入式對(duì)象在數(shù)據(jù)的傳遞時(shí)可以不在目標(biāo)DSP程序中添加額外的語句,而與RTDX的連接對(duì)象在進(jìn)行數(shù)據(jù)傳遞時(shí)則需要在目標(biāo)DSP程序中添加操縱RTDX通道的語句。

2 RTDX的工作原理

實(shí)現(xiàn)MATLAB和目標(biāo)DSP之間的實(shí)時(shí)數(shù)據(jù)交換,既需要在目標(biāo)DSP程序中添加特定的語句,又需要MATLAB使用特定的語句實(shí)現(xiàn)與目標(biāo)DSP的數(shù)據(jù)傳遞。

2.1 DSP對(duì)RTDX的配置使用

2.1.1 設(shè)置RTDX輸入輸出通道

首先向工程文件中添加頭文件“rtdx.h”、主程序文件“main.c”和其他使用到RTDX的文件。

基于工程是否有與主機(jī)通信的需要,在“main.c”中添加輸入或輸出通道。通道的聲明采用全局變量的形式,不得包括在任何函數(shù)之中。

RTDX_CreateInputChannel(ichan);

/*創(chuàng)建名為ichan的輸入通道*/

RTDX_CreateOutputChannel(ochan);

/*創(chuàng)建名為ochan的輸出通道*/

默認(rèn)情況下,這些通道是不能在DSP中直接使用的,但可以在函數(shù)體內(nèi)使能這些RTDX通道。

RTDX_enableInput(&ichan); /*使能ichan通道*/

RTDX_enableOutput(&ochan); /*使能ochan通道*/

如果要在同一工程的其他C文件中使用已經(jīng)聲明過的RTDX通道,必須再次聲明。

Extern RTDX_input_channel ichan;

Extern RTDX_output_channel ochan;

最后,單擊CCS軟件Tools->RTDX->Configuration Control,在彈出的窗口中選擇“Enable RTDX”,手動(dòng)使能RTDX接口。

2.1.2 使用RTDX讀寫數(shù)據(jù)

DSP中的RTDX目標(biāo)庫提供了一些C函數(shù)發(fā)送和接收數(shù)據(jù):

①RTDX_readNB()讀數(shù)據(jù)函數(shù)包括3個(gè)參數(shù):第1個(gè)是輸入通道的指針,第2個(gè)是存儲(chǔ)數(shù)據(jù)的數(shù)組指針,第3個(gè)是數(shù)據(jù)字長(zhǎng)。這是非連續(xù)讀,即如果沒有數(shù)據(jù)可讀將直接返回。

②RTDX_read()函數(shù)的3個(gè)參數(shù)和RTDX_readNB()一樣,不同的是RTDX_read()是連續(xù)讀,即它將不返回直到讀完數(shù)據(jù)。如果通道忙或未使能,它將返回RTDX_READ_ERROR。

③RTDX_write()寫數(shù)據(jù)函數(shù)也包括3個(gè)參數(shù):第1個(gè)是輸出通道的指針,第2個(gè)是要傳輸?shù)臄?shù)組指針,第3個(gè)是數(shù)據(jù)字長(zhǎng)。執(zhí)行后會(huì)返回一個(gè)整數(shù),非0代表成功。

④RTDX_sizeofInput()包含輸入通道指針的一個(gè)參數(shù),并返回從緩沖器中讀取的字長(zhǎng),一般在RTDX_read NB()完成一次讀操作后使用它。

⑤RTDX_channelBLasy()包含輸入通道指針的一個(gè)參數(shù),并返回一個(gè)整數(shù)指示通道狀態(tài),0表示通道不忙。

它通常與RTDX_readNB()結(jié)合使用,用于檢查是否有其他讀數(shù)據(jù)請(qǐng)求。

2.2 MATLAB對(duì)RTDX的配置使用

2.2.1 發(fā)送數(shù)據(jù)

在傳輸數(shù)據(jù)之前,MATLAB需要知道目標(biāo)DSP板的信息,完成MATLAB和CCS以及目標(biāo)DSP的連接,使用下面這條指令實(shí)現(xiàn):

h=actxserver(‘RTDX’);

此指令要在DSP加載了可執(zhí)行文件并使能RTDX接口之后才能使用,使用這條指令還創(chuàng)建了與RTDX的連接對(duì)象,h為連接對(duì)象的句柄。

在MATLAB中打開并使能RTDX輸入通道之前,必須在DSP目標(biāo)程序中已經(jīng)創(chuàng)建了該輸入通道,調(diào)用下面這條指令實(shí)現(xiàn):

invoke(h,‘open’,‘ichan’,‘W’);

傳輸數(shù)據(jù)用下面這條指令實(shí)現(xiàn):

invoke(h,‘Write’,intl6(v));

數(shù)據(jù)通過最近打開的輸入通道由MATLAB向DSP寫數(shù)據(jù),intl6(v)表示對(duì)數(shù)據(jù)v做強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換,因?yàn)槭褂玫腡MS320VC5509A是16位定點(diǎn)DSP。

在完成數(shù)據(jù)傳輸或讀數(shù)據(jù)之前,應(yīng)該將此接口關(guān)閉,使用下面這條指令實(shí)現(xiàn):

invoke(h,‘close’);

2.2.2 接收數(shù)據(jù)

在MATLAB接收數(shù)據(jù)部分并沒有采用發(fā)送數(shù)據(jù)使用的那種最新的RTDX實(shí)現(xiàn)方式,因?yàn)樾路椒ǖ膶?shí)現(xiàn)難度較大,這里介紹通用的實(shí)現(xiàn)方法,具體步驟如下:

①cc=ticcs()實(shí)現(xiàn)MATLAB和CCS以及DSP三者的連接,并創(chuàng)建連接對(duì)象,對(duì)象句柄為cc。

②打開并使能RTDX通道:

cc.rtdx.open(‘ochan’,‘r’);%打開名為ochan的RTDX讀通道(MATLAB從DSP讀)

cc.rtdx.enable(‘ochan’);%使能通道ochan

cc.rtdx.enable;%使能RTDX接口

③讀取數(shù)據(jù):

cc.rtdx.readmsg(‘ochan’,‘intl6’);%讀取16位字的數(shù)據(jù)

3 應(yīng)用實(shí)例

列舉一個(gè)簡(jiǎn)單的求和運(yùn)算來說明RTDX的具體實(shí)現(xiàn)方法,旨在讓讀者掌握如何使用RTDX實(shí)現(xiàn)MATLAB和DSP之間的雙向數(shù)據(jù)傳遞。整個(gè)程序的實(shí)現(xiàn)思路是:首先MATLAB通過RTDX輸入通道向DSP中寫入10個(gè)數(shù)據(jù),然后DSP對(duì)這10個(gè)數(shù)據(jù)求和,最后將這個(gè)和值經(jīng)RTDX輸出通道傳遞給MATLAB。整個(gè)過程的實(shí)現(xiàn)流程如圖2所示。

3.1 DSP程序?qū)崿F(xiàn)

3. 2 MATLAB程序?qū)崿F(xiàn)

MATLAB向DSP寫數(shù)據(jù)

結(jié)語

RTDX技術(shù)巧妙地實(shí)現(xiàn)了MATLAB和目標(biāo)DSP之間的數(shù)據(jù)交換,使開發(fā)者能夠在算法仿真和實(shí)時(shí)處理之間進(jìn)行多次反復(fù),以確定最佳算法和參數(shù),極大地方便了DSP應(yīng)用程序的設(shè)計(jì),縮短了開發(fā)周期。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉