摘 要:以Cirrus Logic公司的ARM 芯片和TI 公司的TMS320V DSP 為例,研究了ARM與DSP 的數(shù)據(jù)接——HPI 接口的相關(guān)技術(shù),并給出了在HPI 接口非復(fù)用模式下,CS89712 與C5510 的信號連接圖和嵌入式實(shí)時(shí)操作系統(tǒng)uCOS-II下驅(qū)動程序的部分關(guān)鍵源代碼。
關(guān)鍵詞:ARM CS89712;主機(jī)接口(HPI);TMS320VC5510
引 言
目前嵌入式系統(tǒng)已被廣泛地應(yīng)用到電子產(chǎn)品領(lǐng)域和無線通信、網(wǎng)絡(luò)通信等高端設(shè)備領(lǐng)域。32 位ARM嵌入式處理器具有高性能、低功耗的特性,DSP芯片由于功能強(qiáng)大,加上接口方便、軟件可用資源豐富、編程方便、穩(wěn)定性好、精度高等優(yōu)點(diǎn),應(yīng)用也越來越廣泛。通常在嵌入式系統(tǒng)的設(shè)計(jì)中,由ARM嵌入式處理器實(shí)現(xiàn)整個(gè)系統(tǒng)的協(xié)調(diào)控制和網(wǎng)絡(luò)功能,由DSP 芯片來執(zhí)行復(fù)雜計(jì)算,因此需要實(shí)現(xiàn)ARM處理器和DSP 之間的數(shù)據(jù)交換。從某種程度上來說,ARM嵌入式處理器和DSP 之間數(shù)據(jù)交換的速度決定了整個(gè)系統(tǒng)的運(yùn)行速度和性能。
ARM CPU CS89712 的特點(diǎn)
CS89712 是Cirrus Logic 公司一款基于ARM7TDMI的SOC 芯片。它一方面具有ARM 處理器的所有優(yōu)點(diǎn):低功耗、高性能;同時(shí)又具有非常豐富的片上資源,非常適合嵌入式產(chǎn)品的開發(fā)。其特點(diǎn)如下:
a、采用ARM7TDMI 內(nèi)核,I/O 電壓3.3 V ,內(nèi)核電壓2.5 V ;
b、內(nèi)置鎖相環(huán)(PLL),系統(tǒng)主頻最高達(dá)74MHz ;
c、3種工作模式,可以實(shí)現(xiàn)電源管理以降低系統(tǒng)功耗;
d、8KB 的系統(tǒng)高速緩存(CACHE),極大地提高了系統(tǒng)運(yùn)行速度;
e、支持8 個(gè)MEMORYBANK,最大外部存儲空間達(dá)256MB ,并支持SDRAM;
f、內(nèi)置單色LCD 控制器;
g、2 路異步串口(UART);
h、27 個(gè)通用I/O口;
i、實(shí)時(shí)時(shí)鐘(RTC)和看門狗電路(WATCHDOG)。
C55X DSP 及其EHPI 接口
C5510 DSP 的特點(diǎn)
以高速、低功耗為特征的VC55X 系列DSP 采用先進(jìn)的改進(jìn)型哈佛結(jié)構(gòu),具有分離的數(shù)據(jù)總線和程序總線,片內(nèi)集成了ROM、RAM和多個(gè)外設(shè),如通用I/O口、定時(shí)器、時(shí)鐘發(fā)生器、軟件可編程等待狀態(tài)發(fā)生器、可編程塊切換邏輯、串行口、直接存儲器存取控制器(DMA)和與外部處理器通信用的主機(jī)接口(HPI)。
C55X的增強(qiáng)型主機(jī)接口(EHPI)
TI 的C5510 之前的DSP 系列(C54X系列)中的主機(jī)接口(HPI)主要有三種:標(biāo)準(zhǔn)8 位HPI8 接口、增強(qiáng)型8 位HPI8 接口和16 位HPI16 接口。其中C542~C549 內(nèi)含標(biāo)準(zhǔn)型HPI8 ;C5402、C5410 內(nèi)含增強(qiáng)型HPI8 ;C5410 以上為HPI16 ;C5409、C5416 的HPI 可以由用戶設(shè)置為增強(qiáng)型HPI8 或HPI16。C5510 其內(nèi)部使用的是增強(qiáng)型主機(jī)接口,增強(qiáng)型比標(biāo)準(zhǔn)型更優(yōu)越之處主要在于:增強(qiáng)型允許主機(jī)訪問DSP 內(nèi)部的所有片內(nèi)RAM,而標(biāo)準(zhǔn)只能訪問RAM 區(qū)中指定的2K字。
C55X為主機(jī)提供增強(qiáng)型的16 位并行接口(EHPI)具有以下特點(diǎn):
a、20 位主機(jī)地址總線;
b、16 位主機(jī)數(shù)據(jù)總線;
c、復(fù)用和非復(fù)用兩種總線模式;
d、主機(jī)可以訪問C5510 的片內(nèi)SARAM、片內(nèi)DARAM和片外存儲器;
e、在高速傳輸數(shù)據(jù)時(shí)可以自增的20 位的地址寄存器(在復(fù)用模式下);
f、多地址、數(shù)據(jù)探頭為各種主機(jī)提供緊密接口;
g、HRDY信號用來與主機(jī)進(jìn)行握手;
C5510 與外部主機(jī)或微處理器的連接具有單獨(dú)的16 根數(shù)據(jù)線HD0~HD15、20 根地址線HA0~HA19 和10 根控制線。主機(jī)主動通過EHPI 口能夠直接訪問DSP 的存儲區(qū)。在圖1 所示的HPI 能訪問的地址范圍內(nèi),主機(jī)和DSP 可以通過DSP 的內(nèi)部和外部存儲區(qū)來交換信息。除了對主機(jī)發(fā)中斷(通過置HPIC 寄存器的HINT 位,可以使HINT 線有效)或清除主機(jī)發(fā)來的中斷(通過清HPIC 寄存器的DSPINT標(biāo)志)需要DSP 干涉外,C5510 幾乎不用進(jìn)行其他操作。片內(nèi)的DMA 通道會自動輔助完成RAM區(qū)與HPI 數(shù)據(jù)寄存器的數(shù)據(jù)傳輸。主機(jī)由HCNTL0/1 線來選擇HPI 的某個(gè)控制寄存器,如表1 所列。通過對這4 個(gè)寄存器的訪問,就可以在所設(shè)安全機(jī)制的允許范圍下讀/寫DSP 的所有或部分片內(nèi)RAM。
主機(jī)由HCNTL0/1 線來選擇HPI 的某個(gè)控制寄存器。在非復(fù)用模式下,HCNTL0 決定HPI 是否訪問控制其(HPIC)寄存器或數(shù)據(jù)寄存器(HPID),如表1 所示(0 ——低電平,1 ——高電平),此時(shí)HCNTL1未被使用。
表1 HCNTL0/1 的選擇功能描述





