TMS320C62x軟件開(kāi)發(fā)方法研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
;;; 摘要:闡述了TMS320C62x的系統(tǒng)結(jié)構(gòu)和軟件設(shè)計(jì)方法,介紹了在TMS320C6201 EVM板上實(shí)現(xiàn)寬帶毫米波雷達(dá)目標(biāo)時(shí)延神經(jīng)網(wǎng)絡(luò)識(shí)別算法。通過(guò)程序驗(yàn)證,取得了比較好的處理效果。 ;;; 關(guān)鍵詞:TMS320C6201 DSP 軟件設(shè)計(jì) 實(shí)時(shí)處理 目標(biāo)識(shí)別 數(shù)字信號(hào)處理(DSP)技術(shù)近年來(lái)取得了高速發(fā)展,目前DSP芯片已經(jīng)廣泛地應(yīng)用于通信、圖像處理、語(yǔ)音處理、雷達(dá)等領(lǐng)域。TI公司是當(dāng)今世界DSP芯片的主要供應(yīng)商之一,其TMS320C6000是TMS320系列產(chǎn)品中的新一代高性能DSP芯片,其中定點(diǎn)系列為TMS320C62x,浮點(diǎn)系列為TMS320C67x。TMS320C6201芯片是定點(diǎn)系列的代表產(chǎn)品,其處理能力高達(dá)1600MIP。本文著重介紹TMS320C62x的軟件設(shè)計(jì)方法,燕對(duì)TMS320C62x的系統(tǒng)結(jié)構(gòu)以及基于TMS320C62x的軟件設(shè)計(jì)方法,在TMS320C6201上實(shí)現(xiàn)寬帶毫米波雷達(dá)目標(biāo)時(shí)延神經(jīng)網(wǎng)絡(luò)識(shí)別算法進(jìn)行闡述。 1 TMS320C62x的系統(tǒng)結(jié)構(gòu) TMS320C62x的系統(tǒng)結(jié)構(gòu)如圖1所示,TMS320C62x處理器由三個(gè)主要部分組成:CPU內(nèi)核、外設(shè)和存儲(chǔ)器。CPU內(nèi)核中的8個(gè)功能單元可以完成并行運(yùn)行,功能單元執(zhí)行邏輯、位移、乘法、加法和數(shù)據(jù)尋址等操作。TMS320C6000系列芯片的體系結(jié)構(gòu)采用甚長(zhǎng)指令字(VLIW)方式,單指令字長(zhǎng)32位,每條32位指令占用一個(gè)功能單元。取指令、指令分配和指令譯碼單元每周期可以從程序存儲(chǔ)器到功能單元傳遞8條指令,這8條指令組成一個(gè)指令包,總字長(zhǎng)為8×32=256位。芯片內(nèi)部設(shè)置了專門的指令分配模塊,可以將每個(gè)256位的指令包分配到8個(gè)功能單元中,并由8個(gè)功能單元并行運(yùn)行。TMS320C62x芯片的最高時(shí)鐘頻率可以達(dá)到200MHz,8個(gè)功能單元同時(shí)運(yùn)行時(shí),該芯片的處理能力高達(dá)1600MIP。 TMS320C62x芯片的片內(nèi)存儲(chǔ)器總?cè)萘繛?M,其中2K×256位用于程序內(nèi)存和程序cache,寬度為256位;64K字節(jié)用于數(shù)據(jù)內(nèi)存和數(shù)據(jù)cache,用戶可以訪問(wèn)8位、16位和32位的數(shù)據(jù)。TMS320C62x芯片的外設(shè)模塊包括多通道緩沖串口、時(shí)鐘、外部存儲(chǔ)器接口EMIF、DAA控制器、主機(jī)口和Power-down邏輯等,DMA控制器可以在存儲(chǔ)器空間的沒(méi)區(qū)域間控制轉(zhuǎn)移數(shù)據(jù);外部存儲(chǔ)器接口EMIF可以訪問(wèn)的片外存儲(chǔ)器最大容量為64MB,數(shù)據(jù)總線寬度為32位,同時(shí)也提供對(duì)8位和16位存儲(chǔ)器的讀寫支持;16位寬的主機(jī)口HPI可以訪問(wèn)TMS320C62x的所存儲(chǔ)空間和設(shè)備;多種外設(shè)模塊使得TMS320C62x芯片的功能十分強(qiáng)大。
2 TMS320C62x的軟件設(shè)計(jì)方法 用戶在開(kāi)發(fā)應(yīng)用軟件時(shí),首先應(yīng)當(dāng)明確應(yīng)用軟件的功能和性能要求,然后按照代碼開(kāi)發(fā)流程的三個(gè)階段進(jìn)行軟件設(shè)計(jì):第一階段是開(kāi)發(fā)C代碼;第二階段是優(yōu)化C代碼;第三階段是編寫線性匯編代碼。以上的三個(gè)階段是不必須經(jīng)過(guò)的,如果在某一階段已經(jīng)實(shí)現(xiàn)了應(yīng)用軟件的功能和性能要求,那么就不必進(jìn)入下一個(gè)階段。代碼開(kāi)發(fā)流程圖如圖2所示。 2.1 開(kāi)發(fā)C代碼 開(kāi)發(fā)C語(yǔ)言代碼需要考慮的要點(diǎn)包括:①數(shù)據(jù)結(jié)果;②分析C代碼性能;③使用查找表;④用整形數(shù)(int)表示浮點(diǎn)數(shù)。 2.1.1 數(shù)據(jù)結(jié)構(gòu) TMS320C62x編譯器對(duì)每種數(shù)據(jù)結(jié)構(gòu)定義一個(gè)尺寸,字符型(char)的8位,短整型(short)為16位,整型(int)為32位,長(zhǎng)整型(long)為40位,浮點(diǎn)型(float)為32位,雙精度浮點(diǎn)型(double)為64位。在編寫C代碼時(shí)應(yīng)當(dāng)遵循的規(guī)則是:避免在代碼中將int型和long型作為同樣尺寸處理,因?yàn)榫幾g器對(duì)long型數(shù)據(jù)使用40位操作;對(duì)于定點(diǎn)乘法,應(yīng)當(dāng)盡可能使用short型數(shù)據(jù),這種數(shù)據(jù)類型可以更有效地使用TMS320C62x的乘法器;對(duì)循環(huán)計(jì)數(shù)器應(yīng)當(dāng)使用int或者無(wú)符號(hào)int類型,而不使用short或者無(wú)符號(hào)short類型,以避免不必要的符號(hào)擴(kuò)展。 2.1.2 分析C代碼





