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