DSP系統(tǒng)設(shè)計(jì)開發(fā)流程
在設(shè)計(jì)需求規(guī)范,確定設(shè)計(jì)目標(biāo)時(shí),其實(shí)要解決二個(gè)方面的問題:即信號(hào)處理方面和非信號(hào)處理的問題。
信號(hào)處理的問題包括:輸入、輸出結(jié)果特性的分析,DSP算法的確定,以及按要求對確定的性能指標(biāo)在通用機(jī)上用高級語言編程仿真。
非信號(hào)處理問題包括:應(yīng)用環(huán)境、設(shè)備的可靠性指標(biāo),設(shè)備的可維護(hù)性,功耗、體積重量、成本、性能價(jià)格比等項(xiàng)目。
算法研究與仿真這是DSP應(yīng)用實(shí)際系統(tǒng)設(shè)計(jì)中重要的一步。這種仿真是在通用機(jī)上用高級語言編程實(shí)現(xiàn)的,編程時(shí)最好能仿DSP處理器形式運(yùn)行,以達(dá)到更好的真實(shí)性。
DSP芯片選擇中通常有下列幾條應(yīng)注意的:
(1)精度:表數(shù)格式(定點(diǎn)或浮點(diǎn)),通??梢杂枚c(diǎn)器件解決的問題,盡量用定點(diǎn)器件,因?yàn)樗?jīng)濟(jì)、速度快、成本低,功耗小。但是在編程時(shí)要關(guān)注信號(hào)的動(dòng)態(tài)范圍,在代碼中增加限制信號(hào)動(dòng)態(tài)范圍的定標(biāo)運(yùn)算。
(2)字長的選擇:一般浮點(diǎn)DSP芯片都用32位的數(shù)據(jù)字,大多數(shù)定點(diǎn)DSP芯片是16位數(shù)據(jù)字。而MOTOROLA公司定點(diǎn)芯片用24位數(shù)據(jù)字,以便在定點(diǎn)和浮點(diǎn)精度之間取得折中。字長大小是影響成本的重要因素,它影響芯片的大小、引腳數(shù)以及存儲(chǔ)器的大小,設(shè)計(jì)時(shí)在滿足性能指標(biāo)的條件下,盡可能選用最小的數(shù)據(jù)字。
(3)存儲(chǔ)器安排:包括存儲(chǔ)器的大小,片內(nèi)存儲(chǔ)器的數(shù)量,總線尋址空間等。片內(nèi)存儲(chǔ)器的大小決定了芯片運(yùn)行速度和成本,例如TI公司同一系列的DSP芯片,不同種類芯片存儲(chǔ)器的配置等硬件資源各不相同。
(4)開發(fā)工具:在DSP系統(tǒng)設(shè)計(jì)中,開發(fā)工具是必不可少的,一個(gè)復(fù)雜的DSP系統(tǒng),必須有功能強(qiáng)大的開發(fā)工具支持。
開發(fā)工具包括軟件和硬件兩部分。在確定DSP算法后,編寫的程序代碼通過軟件仿真器進(jìn)行仿真運(yùn)行,來確定必要的性能指標(biāo)。硬件開發(fā)工具包括在線硬件仿真器和系統(tǒng)開發(fā)板。在線硬件仿真器通常是JTAG周邊掃描接口板,可以對設(shè)計(jì)的硬件進(jìn)行在線調(diào)試;在硬件系統(tǒng)完成之前,不同功能的開發(fā)板上實(shí)時(shí)運(yùn)行設(shè)計(jì)的DSP軟件,可以提高開發(fā)效率。甚至在有的數(shù)量小的產(chǎn)品中,直接將開發(fā)板當(dāng)作最終產(chǎn)品。
(5)功耗與電源管理:在一些手提便攜式的消費(fèi)類電子產(chǎn)品中,供電電源的節(jié)省是很重要的問題,因而目前DSP生產(chǎn)廠商越來越重視這方面。它通常包括供電電壓的選擇和電源的管理功能。
供電電壓一般取得比較低,實(shí)施芯片的低電壓供電,通常有3.3V,2.5V,1.8V,0.9V等,在同樣的時(shí)鐘頻率下,它們的功耗將遠(yuǎn)遠(yuǎn)低于5V供電電壓的芯片。
加強(qiáng)了對電源的管理后,通常用休眠、等待模式等方式節(jié)省功率消耗。例如TI公司提供了詳細(xì)的、功能隨指令類型和處理器配置而改變的應(yīng)用說明。
(6)成本和廠家的銷售后服務(wù):特別要注意DSP芯片的生產(chǎn)和主推產(chǎn)品,以便以低的成本實(shí)施來要求產(chǎn)品。但低價(jià)位的芯片必然是功能較少、片內(nèi)存儲(chǔ)器少、性能上差一些的,這就帶給編程一定的困難。
(7)支持多處理器:近來各類軟件在無線電產(chǎn)品及雷達(dá)中的應(yīng)用中,都需要能處理高數(shù)據(jù)率、大運(yùn)算量的應(yīng)用系統(tǒng)。單一的處理器系統(tǒng)已難以承擔(dān)這類復(fù)雜任務(wù),因而采用多個(gè)處理器并行工作。這種情況下,各處理器之間連接和通訊功能是必須要作為主要因素予以考慮的。近年新推出的DSP芯片系列都改善了這方面性能,注意增加專門的接口或DMA通道,來支持多處理器的DSP運(yùn)行。
DSP處理器軟、硬件開發(fā)工具簡介
隨著DSP處理器的功能不斷強(qiáng)化和系統(tǒng)開發(fā)周期不斷縮短,設(shè)計(jì)和調(diào)試DSP系統(tǒng)越來越依賴于DSP開發(fā)系統(tǒng)和開發(fā)工具,圖2為DSP處理器開發(fā)流程圖。
雖然廠家不同,但提供的開發(fā)調(diào)試工具大致類同,一般有下列幾種:
一般廠家為了開發(fā)DSP系統(tǒng)方便、減小編寫匯編程序的難度,都提供了高級語言設(shè)計(jì)方法。開發(fā)系統(tǒng)針對DSP庫函數(shù)、頭文件及編寫的C程序,自動(dòng)生成對應(yīng)的匯編語言,這一步稱為C編譯。C編譯器通常符合ANSI C標(biāo)準(zhǔn),可以對編寫的程序進(jìn)行不同等級的優(yōu)化,以產(chǎn)生高效的匯編代碼;C編譯器還具有對存儲(chǔ)器的配置、分配及部分鏈接功能;并應(yīng)具有靈活的匯編語言接口等多種功能。
C編程方法易學(xué)易用,但編譯出的匯編程序比手工匯編程序長得多,因而效率一般只有20%~40%。為了克服C編譯器低效率,在提供標(biāo)準(zhǔn)C庫函數(shù)同時(shí),開發(fā)系統(tǒng)也提供了許多針對DSP運(yùn)算的高效庫函數(shù),它們都是手工匯編的,帶有高級語言調(diào)用/返回接口。
一般為了得到高效編程,在系統(tǒng)軟件開發(fā)中,關(guān)鍵的DSP運(yùn)算程序都是自行手工用匯編語言編寫,按照規(guī)定的接口約定,由C程序進(jìn)行調(diào)用,這樣極大提高編程效率。
◆鏈接器(Linker)
將主程序、庫函數(shù)和子程序等,由匯編器產(chǎn)生的目標(biāo)文件鏈接在一起,產(chǎn)生一個(gè)可執(zhí)行的模塊,形成DSP目標(biāo)代碼。
◆硬件仿真器(Emulator)
在線仿真工具,它用JTAG接口電纜把DSP硬件目標(biāo)系統(tǒng)和裝有仿真軟件/仿真卡的PC接口板連接起來,用PC平臺(tái)對實(shí)際硬件目標(biāo)系統(tǒng)進(jìn)行調(diào)試,能真實(shí)地仿真程序在實(shí)際硬件環(huán)境下的功能。
◆匯編器(Assembler)
將匯編語言原文件轉(zhuǎn)變?yōu)榛诠媚繕?biāo)文件格式的機(jī)器語言目標(biāo)文件。
是脫離硬件的純軟件仿真工具。將程序代碼加載后,在一個(gè)窗口工作環(huán)境中,可以模擬DSP的運(yùn)行程序,同時(shí)對程序進(jìn)行單步執(zhí)行、設(shè)置斷點(diǎn),對寄存器/存儲(chǔ)器進(jìn)行觀察、修改,統(tǒng)計(jì)某段程序的執(zhí)行時(shí)間等。通常在程序編寫完以后,都會(huì)在軟件仿真器上進(jìn)行調(diào)試,以初步確定程序的可運(yùn)行性。軟件仿真器的主要欠缺是對外部接口的仿真不夠完善。
-
DSP平臺(tái)
+關(guān)注
關(guān)注
0文章
10瀏覽量
8900 -
DSP系統(tǒng)設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
5瀏覽量
1640
發(fā)布評論請先 登錄
相關(guān)推薦
評論