《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > HPI主機(jī)接口在多處理器系統(tǒng)中的應(yīng)用

HPI主機(jī)接口在多處理器系統(tǒng)中的應(yīng)用

2009-02-04
作者:張 弓 張景濤

??? 摘? 要: HPI是德州儀器公司在新一代、高性能DSP芯片上配置的與主機(jī)進(jìn)行通信的主機(jī)接口。它可以實(shí)現(xiàn)與主機(jī)之間并行、高速的數(shù)據(jù)交換,構(gòu)成多機(jī)系統(tǒng)。介紹了HPI在某多處理器系統(tǒng)中的應(yīng)用,分析了構(gòu)成多機(jī)系統(tǒng)的硬件要求以及HPI的優(yōu)越性,詳細(xì)介紹了HPI的特點(diǎn)及實(shí)現(xiàn)方法。?

??? 關(guān)鍵詞: DSP? 多處理器? HPI(主機(jī)接口)? 主機(jī)通信

?

??? HPI是德州儀器(TI)公司在新一代、高性能DSP芯片上配置的與主機(jī)進(jìn)行通信的主機(jī)接口。它與主機(jī)之間能實(shí)現(xiàn)并行、高速的數(shù)據(jù)傳輸。在目前TI流行的DSP芯片中都配有HPI接口。?

??? 在傳統(tǒng)的單片機(jī)與主機(jī)進(jìn)行接口時(shí),需要外擴(kuò)必要的硬件電路。當(dāng)單片機(jī)需要與主機(jī)共享RAM時(shí),需在片外擴(kuò)展RAM及觸發(fā)、鎖存等芯片,然后主機(jī)通過DMA方式訪問該擴(kuò)展RAM,這樣一來主機(jī)可以隨機(jī)或整塊地訪問、共享RAM。另外,在片外至少需要擴(kuò)展一片鎖存器使得單片機(jī)可以中斷主機(jī)。TI的TMS320C5402 HPI接口將以上功能集成到DSP內(nèi)部,使其與主機(jī)的連接變得非常簡(jiǎn)單。而且由于HPI是集成到片內(nèi)的,主機(jī)可以達(dá)到很高的訪問速度,滿足了數(shù)字信號(hào)處理中高速度的要求。本文介紹了TI公司TMS320C5402芯片中的HPI接口在構(gòu)成某型雷達(dá)多處理機(jī)系統(tǒng)中的應(yīng)用,分析了HPI的優(yōu)越性以及構(gòu)成多機(jī)系統(tǒng)的硬件要求,詳細(xì)地介紹了HPI的特點(diǎn)及實(shí)現(xiàn)方法。?

1 HPI主機(jī)接口構(gòu)成?

??? TMS320C5402芯片的HPI接口分為HPI8(8位主機(jī)接口)和HPI16(16位主機(jī)接口)兩種,其應(yīng)用方式大同小異,限于篇幅本文主要介紹HPI8。HPI8實(shí)際上是一個(gè)8位的并行端口,主機(jī)通過它可以直接訪問DSP片內(nèi)的一段RAM。在早期的DSP中,這段公用的RAM是一段2K字的雙口RAM(對(duì)于TMSVC5402則可以訪問所有的片內(nèi)RAM)。當(dāng)主機(jī)和DSP同時(shí)訪問同一地址時(shí),主機(jī)優(yōu)先。由于TI的DSP芯片都是16位的,而HPI8只有8根數(shù)據(jù)線,所以數(shù)據(jù)的傳輸必須以字節(jié)為單位。在DSP與主機(jī)傳送數(shù)據(jù)時(shí),HPI能自動(dòng)地將外部接口傳來的連續(xù)的8位數(shù)組合成16位數(shù)后傳送給主機(jī)。?

??? HPI主要由以下五個(gè)部分組成:?

??? ·HPI存儲(chǔ)器(DARAM)。HPI RAM主要用于DSP與主機(jī)之間傳送數(shù)據(jù),也可以用作通用的雙尋址數(shù)據(jù)RAM或程序RAM。?

??? ·HPI地址寄存器(HPIA)。它只能由主機(jī)對(duì)其直接訪問。該寄存器中存放著當(dāng)前尋址的HPI存儲(chǔ)單元的地址。?

??? ·HPI數(shù)據(jù)鎖存器(HPID)。它也只能由主機(jī)對(duì)其直接訪問。如果當(dāng)前進(jìn)行讀操作,則HPID中存放的是要從HPI存儲(chǔ)器中讀出的數(shù)據(jù);如果當(dāng)前進(jìn)行寫操作,則HPID中存放的是將要寫到HPI存儲(chǔ)器的數(shù)據(jù)。 ?

??? ·HPI控制寄存器(HPIC)。DSP和主機(jī)都能對(duì)它直接訪問。?

??? ·HPI控制邏輯。用于處理HPI與主機(jī)之間的接口信號(hào)。?

??? HPI控制寄存器(HPIC)對(duì)HPI的工作模式進(jìn)行控制,HPIC必須在進(jìn)行HPI訪問前由主機(jī)初始化。當(dāng)主機(jī)要隨機(jī)訪問HPI RAM時(shí),必須先發(fā)送一個(gè)地址到HPIA(HPI地址寄存器),然后訪問該地址所指向的RAM單元。當(dāng)主機(jī)需要連續(xù)訪問一段HPI RAM時(shí),則需要發(fā)送該段首地址到HPIA,然后以地址自增的方式訪問。這時(shí)候主機(jī)每訪問完一個(gè)存儲(chǔ)單元后HPIA自動(dòng)指向下一個(gè)單元。主機(jī)可以通過置位HPIC中的DSPINT位來中斷DSP芯片,DSP芯片也可以通過置位HPIC中的HINT位來中斷主機(jī),此時(shí)HPI的引腳被置位低電平,從而向主機(jī)發(fā)出中斷請(qǐng)求。主機(jī)可以通過置位來屏蔽此中斷。HPI的數(shù)據(jù)、控制引腳都是專用的,它保證了HPI和DSP操作的并行性。HPI的引腳在無主機(jī)訪問時(shí)呈高阻態(tài),因此可以直接掛在主機(jī)數(shù)據(jù)總線上,使得硬件電路特別簡(jiǎn)單。?

??? HPI引腳由以下幾部分組成:?

??? (1)HD0~HD7:雙向并行三態(tài)數(shù)據(jù)總線。當(dāng)不傳送數(shù)據(jù)HD0~HD7均處于高阻態(tài)。?

??? (2)HPI片選信號(hào)。作為HPI的使能輸入端,在每次尋址期間必須為低電平,而在兩次尋址之間也可以停留在低電平。?

??? (3)地址選通信號(hào),此信號(hào)用于主機(jī)的數(shù)據(jù)線和地址線復(fù)用的情況。當(dāng)不用時(shí)此信號(hào)應(yīng)接高。?

??? (4)HBIL:字節(jié)識(shí)別信號(hào),用于識(shí)別主機(jī)傳送過來的是第一個(gè)字節(jié)還是第二個(gè)字節(jié)。當(dāng)HBIL=0時(shí)為第一個(gè)字節(jié),HBIL=1時(shí)為第二個(gè)字節(jié)。?

??? (5)HCNTL0、HCNTL1:主機(jī)控制信號(hào),用來選擇主機(jī)所要尋址的寄存器。當(dāng)HCNTL1/HENTL0為00時(shí),表明主機(jī)訪問HPIC;當(dāng)為01時(shí),表明主機(jī)訪問用HPIA指向的HPID,每讀一次,HPIA事后增加1,每寫一次,HPIA事先增加1;當(dāng)為10時(shí),表明主機(jī)訪問HPIA;當(dāng)為11時(shí),表明主機(jī)訪問HPID,而HPIA不受影響。?

??? (6)數(shù)據(jù)選通信號(hào),在主機(jī)尋址HPI周期內(nèi)控制數(shù)據(jù)的傳送。?

??? (7)HPI中斷輸出信號(hào),受HPIC中的HINT位控制。?

??? (8)HRDY:HPI準(zhǔn)備好端。高電平表示HPI已準(zhǔn)備好執(zhí)行一次數(shù)據(jù)傳送;低電平表示HPI正忙于完成當(dāng)前事務(wù),用于連接高速主機(jī)。?

??? (9)HPI讀寫信號(hào)。高電平表示主機(jī)要讀HPI,低電平表示寫HPI。?

??? (10)HPIENA:HPI允許信號(hào),若系統(tǒng)選中HPI則將它連到高電平,否則懸空或接低電平。?

??? 主機(jī)訪問HPI的一個(gè)字包括兩個(gè)步驟:首先訪問第一個(gè)字節(jié),此時(shí)HBIL為0;然后訪問第二個(gè)字節(jié),此時(shí)HBIL為1;這兩步組成一個(gè)訪問單元。這個(gè)訪問單元不可被拆開或顛倒,不管當(dāng)前訪問的是HPIA、HPIC還是HPID。?

??? HPI有兩種工作方式:?

??? ·共用尋址方式(SAM),這是常用的操作方式。在SAM方式下,主機(jī)和DSP都能尋址HPI存儲(chǔ)器,異步工作的主機(jī)的尋址可以在HPI內(nèi)部得到同步。如果DSP與主機(jī)的周期發(fā)生沖突,主機(jī)有優(yōu)先權(quán)。?

??? ·僅主機(jī)尋址方式(HOM)。在HOM方式下,只能讓主機(jī)尋址HPI存儲(chǔ)器,DSP則處于復(fù)位狀態(tài)或所有內(nèi)部和外部時(shí)鐘都停止的IDLE2空轉(zhuǎn)狀態(tài)(最小功耗狀態(tài));?

??? HPI支持DSP與主機(jī)之間數(shù)據(jù)的高速傳輸。在SAM工作方式,若HPI每5個(gè)時(shí)鐘周期傳送一個(gè)字節(jié),主機(jī)的運(yùn)行頻率可達(dá)(fdsp×n)/5。其中fdsp是DSP的時(shí)鐘頻率,n是主機(jī)進(jìn)行一次外部尋址所需的周期數(shù),通常n為3(或4)。假定DSP的運(yùn)行頻率為100MHz,主機(jī)的時(shí)鐘頻率可達(dá)60(或80)MHz,且不需插入等待周期。而在HOM方式下,主機(jī)可以更快的速度工作,且與DSP的時(shí)鐘頻率無關(guān)。?

2 應(yīng)用系統(tǒng)及結(jié)果?

??? 滑窗算法是數(shù)字信號(hào)處理中一種常用的基本算法,在通信、雷達(dá)、電子對(duì)抗、參數(shù)估計(jì)、信號(hào)識(shí)別中有著廣泛的應(yīng)用。但滑窗算法一般是遍歷性的算法,其運(yùn)算量大,在實(shí)時(shí)處理中受到限制。隨著DSP技術(shù)的發(fā)展,高速DSP芯片的出現(xiàn),使滑窗算法的實(shí)際應(yīng)用得以擴(kuò)大。本文利用兩片TI公司的高速DSP芯片TMS320C5402,應(yīng)用其HPI接口并行實(shí)現(xiàn)多重滑窗算法,滿足了某雷達(dá)系統(tǒng)解模糊的實(shí)時(shí)需要。系統(tǒng)由兩片TMS320C5402完成所有的數(shù)字信號(hào)處理算法,主要是多重滑窗算法。根據(jù)實(shí)際系統(tǒng)的需要,將多重滑窗算法處理分布在兩片TMS320C5402上,利用其HPI接口完成多處理機(jī)之間的快速數(shù)據(jù)交換,構(gòu)成多機(jī)并行處理系統(tǒng),完成多重滑窗算法的多機(jī)并行處理。整個(gè)系統(tǒng)的基本框圖如圖1所示。?

?

?

??? HPI在雙處理器中的應(yīng)用原理圖如圖2所示。在本方案中,而HRDY懸空。由上面的分析可以很容易地得到HPI操作控制線占用的I/O端口,詳細(xì)的分配情況見表1。?

?

?

?

??? 當(dāng)對(duì)HPIC進(jìn)行訪問時(shí)(將一個(gè)十六位的數(shù)據(jù)送到HPIC中),首先將低八位數(shù)據(jù)送到端口地址為0h的I/O空間,然后將高八位送到端口地址為020h的I/O空間。HPID、HPIA的訪問方式與之相同。下面是HPI接口初始化程序的部分代碼;?

??? PORTW *AR0,0h?

??? LD *AR0,-8,a?

??? STL A,*AR0?

??? PORTW *AR0,020h?

??? ·代碼說明: AR0中存放的是要發(fā)送數(shù)據(jù)的地址,這一段程序?qū)⒁粋€(gè)16位的數(shù)據(jù)送到HPIC中。?

??? 參照上述步驟可以方便地通過HPI將DSP與FPGA、DSP和單片機(jī)等其它主機(jī)相連,限于篇幅,這里僅給出FPGA與DSP相連時(shí)FPGA的邏輯信號(hào),如圖3所示。?

?

?

??? 大量仿真與實(shí)測(cè)數(shù)據(jù)表明,各項(xiàng)指標(biāo)均滿足設(shè)計(jì)要求。該系統(tǒng)已在某雷達(dá)系統(tǒng)中獲得應(yīng)用。?

參考文獻(xiàn)?

1 TMS320C54x User’s Guide.Texas Instrument,1999.10?

2 張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2000.9?

3 TMS320C54x DSP Reference Set Volume 5: Enhenced Peripherals (literature number SPRU302).From:http://www.ti.com/

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。