1 HPI主機(jī)接口構(gòu)成
TMS320C5402芯片的HPI接口分為HPI8(8位主機(jī)接口)和HPI16(16位主機(jī)接口)兩種,其應(yīng)用方式大同小異,這里主講HPI8。HPI8實(shí)際上是一個(gè)8位的并行端口,主機(jī)通過(guò)它可以直接訪問(wèn)DSP片內(nèi)的一段RAM。在早期的DSP中,這段公用的RAM是一段2K字的雙口RAM(對(duì)于TMSVC5402則可以訪問(wèn)所有的片內(nèi)RAM)。當(dāng)主機(jī)和DSP同時(shí)訪問(wèn)同一地址時(shí),主機(jī)優(yōu)先。HPI8數(shù)據(jù)的傳輸必須以字節(jié)為單位。在DSP與主機(jī)傳送數(shù)據(jù)時(shí),HPI能自動(dòng)地將外部接口傳來(lái)連續(xù)的8位數(shù)組合成16位數(shù)后傳送給主機(jī)。
HPI主機(jī)由以下五個(gè)部分組成:
●HPI存儲(chǔ)器(DARAM)。HPI RAM主要用于DSP與主機(jī)之間傳送數(shù)據(jù),也可以用作通用的雙導(dǎo)址數(shù)據(jù)RAM或程序RAM。
●HPI地址寄存器(HPIA)。它只能由主機(jī)對(duì)直接訪問(wèn)。該寄存器中存放著當(dāng)前尋址的HPI存儲(chǔ)單元的地址。
●HPI數(shù)據(jù)鎖存器(HPID)。它也只能由主機(jī)對(duì)其直接訪問(wèn)。如果當(dāng)前進(jìn)行讀操作,則HPID中存放的是要從HPI存儲(chǔ)器中讀出的數(shù)據(jù);如果當(dāng)前進(jìn)行寫(xiě)操作,則HPID中存放的是將要寫(xiě)到HPI存儲(chǔ)器的數(shù)據(jù)。
●HPI控制寄存器(HPIC)。DSP和主機(jī)都能對(duì)它直接訪問(wèn)。
●HPI控制邏輯。用于處理HPI與主機(jī)之間的接口信號(hào)。
HPI的引腳在無(wú)主機(jī)訪問(wèn)時(shí)呈高阻態(tài),因此可以直接掛在主機(jī)數(shù)據(jù)總線上,使得硬件電路特別簡(jiǎn)單。
HPI引腳由以下幾部分組成:
?。?)HD0~HD7:雙向并行三態(tài)數(shù)據(jù)總線。
?。?)HCS:HPI片選信號(hào)。
?。?)HAS:地址選通信號(hào),此信號(hào)用于主機(jī)的數(shù)據(jù)線和地址線復(fù)用的情況。
?。?)HBIL:字節(jié)識(shí)別信號(hào),用于識(shí)別主機(jī)傳送過(guò)來(lái)的是第一個(gè)字節(jié)還是第二個(gè)字節(jié)。
(5)HCNTL0、HCNTL1:主機(jī)控制信號(hào),用來(lái)選擇主機(jī)所要尋址的寄存器。
?。?)HDS1、HDS2:數(shù)據(jù)選通信號(hào),在主機(jī)尋址HPI周期內(nèi)控制數(shù)據(jù)的傳送。
?。?)HINT:HPI中斷輸出信號(hào),受HPIC中的HINT位控制。
?。?)HRDY:HPI準(zhǔn)備好端。
?。?)HR/W:HPI讀寫(xiě)信號(hào)
(10)HPIENA:HPI允許信號(hào),若系統(tǒng)選中HPI則將它連到高電平,否則懸空或接低電平。
主機(jī)訪問(wèn)HPI的一個(gè)字包括兩個(gè)步驟:首先訪問(wèn)第一個(gè)字節(jié),此時(shí)HBIL為0;然后訪問(wèn)第二個(gè)字節(jié),此時(shí)HBIL為1;這兩步組成一個(gè)訪問(wèn)單元。這個(gè)訪問(wèn)單元不可被拆開(kāi)或顛倒,不管當(dāng)前訪問(wèn)的是HPIA、HPIC還是HPID。
HPI有兩種工作方式:
●共用尋址方式(SAM),這是常用的操作方式。在SAM方式下,主機(jī)和DSP都能尋址HPI寄存器,異步工作的主機(jī)的尋址可以在HPI內(nèi)部得到同步。如果DSP與主機(jī)的周期發(fā)生沖突,主機(jī)有優(yōu)先權(quán)。
●僅主機(jī)尋址方式(HOM)。在HOM方式下,只能讓主機(jī)尋址HPI存儲(chǔ)器,DSP則處于復(fù)位狀態(tài)或最小功耗狀態(tài);
HPI支持DSP與主機(jī)之間數(shù)據(jù)的高速傳輸。在HOM方式下,主機(jī)可以更快的速度工作,且與DSP的時(shí)鐘頻率無(wú)關(guān)。
2 應(yīng)用系統(tǒng)及結(jié)果
滑窗算法是數(shù)字信號(hào)處理中一種常用的基本算法,在通信、雷達(dá)、電子對(duì)抗、參數(shù)估計(jì)、信號(hào)識(shí)別中有著廣泛的應(yīng)用?;八惴ǖ男再|(zhì)限制了它的用途,高速DSP芯片的出現(xiàn)才擴(kuò)大了它的實(shí)際應(yīng)用。本文利用兩片TI公司的高速DSP芯片TMS320C5402,應(yīng)用其HPI接口并行實(shí)現(xiàn)多種滑窗算法,滿足了某雷達(dá)系統(tǒng)解模糊的實(shí)時(shí)需要。整個(gè)系統(tǒng)的基本框圖如圖1所示。
HPI在雙處理器中的應(yīng)用原理圖如圖2所示。在本方案中,將不用的信號(hào)如HAS、HPIENA、HDS2接高,而HRDY懸空。由上面的分析可以很容易地得到HPI操作控制線占用的I/O端口,詳細(xì)的分配情況見(jiàn)表1。
表1 HPI操作占用的I/O端口分配圖
訪問(wèn)方式
訪問(wèn)對(duì)象
|
讀 寫(xiě) 訪 問(wèn)
|
第一字節(jié)對(duì)應(yīng)端口地址 |
第二字節(jié)對(duì)應(yīng)端口地址 |
HPIC |
0h |
020h |
HPIA |
080h |
0A0h |
HPID(地址自增) |
040h |
060h |
HPID(無(wú)地址自增) |
0C0h |
0E0h |
當(dāng)對(duì)HPIC進(jìn)行訪問(wèn)時(shí)(將一個(gè)十六位的數(shù)據(jù)送到HPIC中),首先將低八位數(shù)據(jù)送到端口地址為0h的I/O空間,然后將高八位送到端口地址為020h的I/O空間。HPID、HPIA的訪問(wèn)方式與之相同。下面是HPI接口初始化程序的部分代碼;
PORTW *AR0,0h
LD *AR0,*-8,a
STL A,*AR0
PORTW *AR0,020h
代碼說(shuō)明:AR0中存放的是要發(fā)送數(shù)據(jù)的地址,這一段程序?qū)⒁粋€(gè)16位的數(shù)據(jù)送到HPIC中。
參照上述步驟可以方便地通過(guò)HPI將DSP與FPGA、DSP和單片機(jī)等其它主機(jī)相連如圖3所示。
大量仿真與實(shí)測(cè)數(shù)據(jù)表明,各項(xiàng)指標(biāo)均滿足設(shè)計(jì)要求。該系統(tǒng)已在某雷達(dá)系統(tǒng)中獲得應(yīng)用。