基于DSP-MCU的HPI口通信
引 言
當(dāng)前,隨著DSP芯片運(yùn)算能力的不斷提高,功毹的不斷完善,功耗的不斷降低,在通信、圖形圖像處理、電子等應(yīng)用領(lǐng)域占有越來(lái)越重要的位置,應(yīng)用也越來(lái)越廣泛;但DSP芯片構(gòu)成的單機(jī)系統(tǒng)實(shí)現(xiàn)的功能有限,尤其是控制功能相對(duì)較弱,而采用單片機(jī) (MCU)作為主機(jī),負(fù)責(zé)控制功能,DSP作為目標(biāo)系統(tǒng),專(zhuān)門(mén)負(fù)責(zé)處理復(fù)雜的運(yùn)算,又發(fā)揮了MCU在智能控制方面的優(yōu)勢(shì)。該文介紹了這種組合應(yīng)用的一種新的應(yīng)用方法,提高了資源利用率,增強(qiáng)了代碼的安全性。
1 HPI口設(shè)計(jì)
主機(jī)接口(簡(jiǎn)稱(chēng)HPI)是DSP與其他設(shè)備通信的一種方式,它為主機(jī)提供了一個(gè)并行口,根據(jù)其數(shù)據(jù)線的寬度有兩種類(lèi)型的HPI-8和HPI-16。這里采用的DSP5402芯片是增強(qiáng)型的HPI-8,它與標(biāo)準(zhǔn)的HPI-8相比,在功能上改進(jìn)了很多。
HPI-8的外部接口可以非常方便地與主機(jī)相連,8 b的數(shù)據(jù)總線(HD0~HD7)負(fù)責(zé)與主機(jī)交換信息,HCNTL0和HCNTL1兩根控制線表示主機(jī)要訪問(wèn)哪個(gè)HPI-8寄存器,它們和HBIL一起通常與主機(jī)設(shè)備的地址線相連。圖1為一種典型的連接方式。
[!--empirenews.page--]
HPI寄存器包括HPI控制寄存器HPIC,HPI地址寄存器HPIA和HPI數(shù)據(jù)寄存器HPID,它們的功能見(jiàn)表1。通過(guò)HCNTL0/1主機(jī)決定要訪問(wèn)的寄存器,見(jiàn)表2。
HPI-8的操作大多與HPIC有關(guān),該寄存器的字段如表3所示。
HPIC寄存器的地址為數(shù)據(jù)存儲(chǔ)空間的0020h。主機(jī)和C5402尋址HPIC寄存器的結(jié)果見(jiàn)表4~表7。
下面具體描述HPI-8的數(shù)據(jù)傳輸過(guò)程。它分為片外部分和片內(nèi)部分,分別指主機(jī)與HPI-8寄存器的數(shù)據(jù)交換和HPI-8寄存器與片內(nèi)RAM間的數(shù)據(jù)交換。
片外部分的數(shù)據(jù)傳輸包括兩個(gè)字節(jié)的數(shù)據(jù)傳輸,主機(jī)驅(qū)動(dòng)HBIL用來(lái)反映其狀態(tài),若主機(jī)在傳輸過(guò)程中打亂了次序,將造成數(shù)據(jù)丟失和不可預(yù)測(cè)的錯(cuò)誤。為恢復(fù)正常的操作,主機(jī)必須重復(fù)正確的操作,讓DSP根據(jù)HBIL正常接收和發(fā)送。同樣主機(jī)也可以通過(guò)HCS,HDS1和HDS2來(lái)控制訪問(wèn)時(shí)間。HPI選通信號(hào)的下跳沿標(biāo)志著字節(jié)傳輸?shù)拈_(kāi)始,通常在主機(jī)總線時(shí)鐘的開(kāi)始時(shí)出現(xiàn);HPI選通信號(hào)的上跳沿標(biāo)志著字節(jié)傳輸?shù)慕Y(jié)束,通常在主機(jī)總線時(shí)鐘結(jié)束時(shí)出現(xiàn)。在第二字節(jié)的數(shù)據(jù)交換時(shí),HPI選通信號(hào)的上跳沿標(biāo)志著片外部分的結(jié)束和片內(nèi)部分的開(kāi)始。圖2是一個(gè)HPI-8的時(shí)序示意圖。[!--empirenews.page--]
根據(jù)HPI的引腳定義及其內(nèi)部結(jié)構(gòu),可以設(shè)計(jì)出其硬件結(jié)構(gòu)連線,圖3為AT89S52和TMS320C5402硬件連接。
需要注意的是,TMS320C5402采用低電壓工作,其內(nèi)核電壓為1.8 V,I/0管腳電壓為3.3 V,而AT89S52工作于5 V電壓。為了使電路能穩(wěn)定正常的工作,TMS320C5402的數(shù)據(jù)外接有一個(gè)74LVC245。它是TI公司生產(chǎn)的3.3 V和5 V電平相轉(zhuǎn)換的雙向緩沖器,可以雙電源供電,一邊工作在3.3 V,一邊工作在5 V,轉(zhuǎn)換的方向由兩個(gè)DIR管腳控制。
3 軟 件
3.1 DSP通信程序設(shè)計(jì)
在DSP的通信程序設(shè)計(jì)中,一般對(duì)HPIC進(jìn)行了初始化后就無(wú)需再對(duì)HPI操作,其余的工作就完全由主機(jī)完成。通過(guò)HPI接口,主機(jī)與C54X之間可以相互發(fā)送中斷請(qǐng)求。而C54X通過(guò)HPIC的寄存器HINT位發(fā)中斷請(qǐng)求到主機(jī),圖4為DSP通信的主程序流程圖。
其中主程序開(kāi)中斷的程序如下:
[!--empirenews.page--]
3.2 單片機(jī)通信程序設(shè)計(jì)
圖5和圖6分別為讀寫(xiě)HPID寄存器程序流程圖。
4 結(jié) 語(yǔ)
基于DS-MCU的HPI口通信是當(dāng)前高性能嵌入式系統(tǒng)設(shè)計(jì)的優(yōu)選方案,它在高速數(shù)據(jù)采集和高速、高可靠通信方面有很多優(yōu)勢(shì),但設(shè)計(jì)和開(kāi)發(fā)稍顯復(fù)雜。隨著電子技術(shù)的發(fā)展,DSP和MCU將走向融合。嵌入式芯片設(shè)計(jì)正朝著把單DSP-MCU芯核結(jié)構(gòu)與存儲(chǔ)
器和外設(shè)邏輯集成在一起的方向發(fā)展。本設(shè)計(jì)方案具有硬件結(jié)構(gòu)簡(jiǎn)單,使用方便等優(yōu)點(diǎn),有較好的實(shí)用價(jià)值。