一種低成本的DSP快速開(kāi)發(fā)方法
摘要:針對(duì)目前DSP的算法開(kāi)發(fā)主要依賴手工編寫C代碼,不但工作量大,而且程序的下載依賴于專門的昂貴的仿真器的問(wèn)題,在此提出了基于Matlab/Simulink環(huán)境的DSP算法開(kāi)發(fā),并利用串口通信實(shí)現(xiàn)程序下裁的綜合方案。該方案能很好地利用Matlab現(xiàn)有的功能模塊,大大降低了DSP的算法開(kāi)發(fā)難度,利用RTW技術(shù),可將算法自動(dòng)生成C代碼。利用串口通信下載調(diào)試程序,方便有效,節(jié)約了系統(tǒng)開(kāi)發(fā)的成本。經(jīng)實(shí)驗(yàn)驗(yàn)證,利用該方案縮短了算法開(kāi)發(fā)的周期,結(jié)果可靠,成本低。
關(guān)鍵詞:DSP;串口; RTW;Simulink
0 引言
數(shù)字信號(hào)處理器(Digital Signal Processing,DSP)是一項(xiàng)成熟的數(shù)字處理技術(shù)。它具有速度快、精度高、抗干擾能力強(qiáng)、尺寸小、性能穩(wěn)定等優(yōu)點(diǎn),特別適合處理復(fù)雜的控制算法。目前傳統(tǒng)的DSP功能開(kāi)發(fā)方法,是利用匯編語(yǔ)言或C/C++語(yǔ)言進(jìn)行DSP功能開(kāi)發(fā),具有周期長(zhǎng),工作量大,調(diào)試復(fù)雜等缺點(diǎn),不利于算法驗(yàn)證和產(chǎn)品快速開(kāi)發(fā)。而且,程序下載所依賴的仿真器價(jià)格一般比較昂貴,也增加了產(chǎn)品開(kāi)發(fā)的成本。
本文利用TMS320F2812芯片自主開(kāi)發(fā)了硬件平臺(tái),提出了在Matlab/Simulink環(huán)境下,搭建算法模型并自動(dòng)生成C代碼,并通過(guò)串口下載至DSP目標(biāo)板的快速開(kāi)發(fā)方案。
1 總體方案介紹
本文自主開(kāi)發(fā)的硬件平臺(tái)是以TMS320F2812作為核心處理器,開(kāi)發(fā)了串口通信、正交編碼、PWM輸出和啟動(dòng)模式跳線等功能。基于Matlab /Simulink環(huán)境的DSP快速開(kāi)發(fā)方法,首先利用了自主開(kāi)發(fā)的軟件在DSP硬件、Code Composer Studio開(kāi)發(fā)環(huán)境(CCS)和Matlab軟件之間建立連接,然后在Simulink環(huán)境下,建立運(yùn)動(dòng)控制算法模型。在該建模過(guò)程中,用戶可以像操作Matlab變量一樣操作DSP的存儲(chǔ)器和寄存器。模型搭建完成后,再利用RTW技術(shù),將模型自動(dòng)生成對(duì)應(yīng)的C/C++代碼,該代碼能夠被CCS集成開(kāi)發(fā)環(huán)境支持的,經(jīng)過(guò)CCS編譯后生成可執(zhí)行代碼,最后利用DSP的串口將可執(zhí)行代碼下載到DSP的儲(chǔ)存器中運(yùn)行。該過(guò)程的流程圖如圖1所示。
在Matlab環(huán)境下對(duì)DSP進(jìn)行開(kāi)發(fā),不僅可以方便地利用Matlab現(xiàn)有的數(shù)學(xué)工具箱來(lái)完成復(fù)雜算法的設(shè)計(jì),而且將所有操作統(tǒng)一為Matlab命令流操作,大大降低了設(shè)計(jì)人員需要掌握不同軟件的難度。
評(píng)論