DSP系統設計開發流程 在設計需求規范,確定設計目標時,其實要解決二個方面的問題:即信號處理方面和非信號處理的問題。 信號處理的問題包括:輸入、輸出結果特性的分析,DSP算法的確定,以及按要求對確定的性能指標在通用機上用高級語言編程仿真。 非信號處理問題包括:應用環境、設備的可靠性指標,設備的可維護性,功耗、體積重量、成本、性能價格比等項目。 算法研究與仿真這是DSP應用實際系統設計中重要的一步。系統性能指標能否實現,以何種算法和結構應對需求,都是在這一步考慮的。這種仿真是在通用機上用高級語言編程實現的,編程時最好能仿DSP處理器形式運行,以達到更好的真實性。 DSP芯片選擇中通常有下列幾條應注意的: (1)精度:表數格式(定點或浮點),通?梢杂枚c器件解決的問題,盡量用定點器件,因為它經濟、速度快、成本低,功耗小。但是在編程時要關注信號的動態范圍,在代碼中增加限制信號動態范圍的定標運算。 (2)字長的選擇:一般浮點DSP芯片都用32位的數據字,大多數定點DSP芯片是16位數據字。而MOTOROLA公司定點芯片用24位數據字,以便在定點和浮點精度之間取得折中。字長大小是影響成本的重要因素,它影響芯片的大小、引腳數以及存儲器的大小,設計時在滿足性能指標的條件下,盡可能選用最小的數據字。 (3)存儲器安排:包括存儲器的大小,片內存儲器的數量,總線尋址空間等。片內存儲器的大小決定了芯片運行速度和成本,例如TI公司同一系列的DSP芯片,不同種類芯片存儲器的配置等硬件資源各不相同。 (4)開發工具:在DSP系統設計中,開發工具是必不可少的,一個復雜的DSP系統,必須有功能強大的開發工具支持。 開發工具包括軟件和硬件兩部分。軟件開發工具主要包括:C編譯器、匯編器、鏈接器、程序庫、軟件仿真器等,在確定DSP算法后,編寫的程序代碼通過軟件仿真器進行仿真運行,來確定必要的性能指標。硬件開發工具包括在線硬件仿真器和系統開發板。在線硬件仿真器通常是JTAG周邊掃描接口板,可以對設計的硬件進行在線調試;在硬件系統完成之前,不同功能的開發板上實時運行設計的DSP軟件,可以提高開發效率。甚至在有的數量小的產品中,直接將開發板當作最終產品。 (5)功耗與電源管理:在一些手提便攜式的消費類電子產品中,供電電源的節省是很重要的問題,因而目前DSP生產廠商越來越重視這方面。它通常包括供電電壓的選擇和電源的管理功能。 供電電壓一般取得比較低,實施芯片的低電壓供電,通常有3.3V,2.5V,1.8V,0.9V等,在同樣的時鐘頻率下,它們的功耗將遠遠低于5V供電電壓的芯片。 加強了對電源的管理后,通常用休眠、等待模式等方式節省功率消耗。例如TI公司提供了詳細的、功能隨指令類型和處理器配置而改變的應用說明。 (6)成本和廠家的銷售后服務:特別要注意DSP芯片的生產和主推產品,以便以低的成本實施來要求產品。但低價位的芯片必然是功能較少、片內存儲器少、性能上差一些的,這就帶給編程一定的困難。 (7)支持多處理器:近來各類軟件在無線電產品及雷達中的應用中,都需要能處理高數據率、大運算量的應用系統。單一的處理器系統已難以承擔這類復雜任務,因而采用多個處理器并行工作。這種情況下,各處理器之間連接和通訊功能是必須要作為主要因素予以考慮的。近年新推出的DSP芯片系列都改善了這方面性能,注意增加專門的接口或DMA通道,來支持多處理器的DSP運行。 DSP處理器軟、硬件開發工具簡介 隨著DSP處理器的功能不斷強化和系統開發周期不斷縮短,設計和調試DSP系統越來越依賴于DSP開發系統和開發工具,圖2為DSP處理器開發流程圖。(圖2) 雖然廠家不同,但提供的開發調試工具大致類同,一般有下列幾種: C語言編譯器(C Compiler) 一般廠家為了開發DSP系統方便、減小編寫匯編程序的難度,都提供了高級語言設計方法:一般是C語言。開發系統針對DSP庫函數、頭文件及編寫的C程序,自動生成對應的匯編語言,這一步稱為C編譯。C編譯器通常符合ANSI C標準,可以對編寫的程序進行不同等級的優化,以產生高效的匯編代碼;C編譯器還具有對存儲器的配置、分配及部分鏈接功能;并應具有靈活的匯編語言接口等多種功能。 C編程方法易學易用,但編譯出的匯編程序比手工匯編程序長得多,因而效率一般只有20%~40%。為了克服C編譯器低效率,在提供標準C庫函數同時,開發系統也提供了許多針對DSP運算的高效庫函數,例如FFT、FIR、IIR、相關、矩陣運算等,它們都是手工匯編的,帶有高級語言調用/返回接口。 一般為了得到高效編程,在系統軟件開發中,關鍵的DSP運算程序都是自行手工用匯編語言編寫,按照規定的接口約定,由C程序進行調用,這樣極大提高編程效率。 匯編器(Assembler) 將匯編語言原文件轉變為基于公用目標文件格式的機器語言目標文件。 鏈接器(Linker) 將主程序、庫函數和子程序等,由匯編器產生的目標文件鏈接在一起,產生一個可執行的模塊,形成DSP目標代碼。 軟件模擬器(Simulator) 是脫離硬件的純軟件仿真工具。將程序代碼加載后,在一個窗口工作環境中,可以模擬DSP的運行程序,同時對程序進行單步執行、設置斷點,對寄存器/存儲器進行觀察、修改,統計某段程序的執行時間等。通常在程序編寫完以后,都會在軟件仿真器上進行調試,以初步確定程序的可運行性。軟件仿真器的主要欠缺是對外部接口的仿真不夠完善。 硬件仿真器(Emulator) 在線仿真工具,它用JTAG接口電纜把DSP硬件目標系統和裝有仿真軟件/仿真卡的PC接口板連接起來,用PC平臺對實際硬件目標系統進行調試,能真實地仿真程序在實際硬件環境下的功能。 DSP開發系統 這是由廠家提供的一個包含DSP、存儲器、常用接口電路的通用電路板和相應軟件的軟/硬件系統。通常有兩種形式,一種是電路板卡的形式,插入計算機中;另一種是通過計算機的串口或并口連接到計算機。這些都是通過計算機的控制端口來控制DSP的運行,并且有簡單的DSK(DSP starter Kit)入門套件,和較為復雜的EVM(Evaluation Module)評估模塊等。這些都有助于初學者熟悉和使用DSP處理器的應用,也可以作為程序的初步運行對象,方便調試。 隨著DSP應用范圍的擴大、處理能力的加強以及DSP更新速度的加快,DSP處理系統越來越復雜,對設計者來說難度也越來越大,為此有的廠家已產生出一定標準,依據標準來設計生產電路板級DSP處理模塊,同時為這種標準模塊提供豐富的軟件開發系統和算法庫。其中典型的如TMS320C4X和SDSP2106X,它們可以通過通信口和全局總線插座,將若干個模塊安裝在母板上,方便地組成多處理器系統。這種模塊化設計降低了硬件設計難度,減少了硬件設計時間,有利于更高效的開發DSP系統。 目前各DSP芯片生產廠家已經把以上列出的各開發工具集成在一起,構成集成開發環境。例如TI公司的CCS IDE(Code Composer Studio Integrated Development Environment)可以提供環境配置、源程序編輯、編譯連接、程序調試、跟蹤分析等各個環節,以加速軟件開發進程,提高工作效率。它把編譯、匯編、鏈接等工具集成在一起,用一條命令即可完成全部的匯編工作。另外把軟、硬件開發工具集成在其中,使程序的編寫、匯編、程序的軟/硬件仿真和調試等開發工作在統一的環境中進行,給開發工作帶來極大的方便。 |