- 相關(guān)推薦
利用ISA總線實(shí)現(xiàn)對(duì)DSP芯片VC5402的軟配置
一、引言
目前,隨著微電子技術(shù)的飛速發(fā)展,在基于工業(yè)測(cè)控和數(shù)據(jù)采集領(lǐng)域的PC機(jī)板卡產(chǎn)品中,高速DSP芯片的使用已經(jīng)是越來越普及。眾多廠家生產(chǎn)的DSP芯片中以美國TI公司(德州儀器)生產(chǎn)的DSP芯片的應(yīng)用最為普遍。同傳統(tǒng)的諸如單片機(jī)的程序裝載過程相比,DSP廠家為芯片提供了更多、更靈活的程序裝載方法。電子工程師在設(shè)計(jì)DSP系統(tǒng)中究竟采用那種程序裝載方法,應(yīng)視產(chǎn)品類型的不同而有所選擇。當(dāng)前許多廠家所生產(chǎn)的DSP芯片中都集成了主機(jī)并行接口,利用主機(jī)并口可以完成主機(jī)和DSP之間的并行數(shù)據(jù)交換。例如TI公司的TMS320C54X系列的DSP芯片、AD公司ADSP21XX系列的DSP芯片等。而主機(jī)并口在完成主機(jī)與DSP進(jìn)行數(shù)據(jù)交換的同時(shí),還大都具有程序裝載的功能。在PC板卡類電子產(chǎn)品上使用DSP芯片時(shí),實(shí)際上是一種主從模式的應(yīng)用,即把PC機(jī)作為主機(jī),DSP芯片作為從機(jī)。這時(shí)采用主機(jī)并口通過PC機(jī)的系統(tǒng)總線來完成程序的裝載就成了一種既經(jīng)濟(jì)實(shí)用又靈活方便的方式。下面以TI公司的TMS320VC5402為例(以下簡(jiǎn)稱為VC5402),本文介紹了如何由PC的ISA總線來完成DSP程序的HPI(主機(jī)并行接口)裝載,并給出了軟硬件開發(fā)的實(shí)例。
二、硬件設(shè)計(jì)
1.VC5402的HPI程序裝載過程
VC5402內(nèi)部具有4K×16位字的ROM,當(dāng)系統(tǒng)上電復(fù)位后,如果VC5402的MP/MC引腳為低,那么VC5402的PC程序指針跳到地址為0XFF80的ROM處開始執(zhí)行復(fù)位向量段的程序。該段程序是廠家在出廠時(shí)就固化好的一段程序,它首先執(zhí)行跳轉(zhuǎn)指令,跳到地址為0XF800處開始執(zhí)行,從0XF800開始的ROM的內(nèi)容被稱為程序裝載器(Bootloader)。在那里DSP將要判斷用戶究竟采用了那種程序裝載方式,而判斷的依據(jù)是通過諸如中斷的有無、數(shù)據(jù)或I/O空間固定地址單元內(nèi)特定的標(biāo)志字的有無等廠家已經(jīng)定義好的方式來識(shí)別的。值得注意的是,VC5402的HPI裝載方式與C54X系列的其它型號(hào)稍有不同。其不同有以下兩點(diǎn):
⑴ VC5402的HPI裝載過程是在復(fù)位過程(Reset)以后完成的,不是在復(fù)位過程中完成的。
⑵ /INT2標(biāo)志位不是判斷HPI裝載模式的唯一方法,VC5402內(nèi)地址為0X007F的RAM單元的內(nèi)容也是判斷HPI裝載模式的一種方法。
PC機(jī)的ISA總線作為主機(jī)(以后稱為HOST)可以通過HPI口把VC5402的程序裝載到VC5402內(nèi)部雙存取RAM中開始執(zhí)行。
圖1 ISA總線與VC5402的HPI接口電路
2.硬件實(shí)現(xiàn)
實(shí)現(xiàn)ISA總線與VC5402的HPI硬件接口比較簡(jiǎn)單,需要注意的一點(diǎn)就是VC5402與ISA總線需要電平轉(zhuǎn)換。由于ISA總線電平是5V TTL電平,而VC5402是3.3V電平,所以兩者不能直接接口。我們可以使用PHILIPS公司的74LVC245電平轉(zhuǎn)換芯片,這種芯片采用3.3V供電,能允許5V和3.3V兩種電平的輸入信號(hào)。輸出為3.3V電平,可以和3.3V器件直接接口。電路原理圖見圖一:
由于需要PC對(duì)VC5402進(jìn)行實(shí)時(shí)的程序裝載,那么VC5402的復(fù)位就不能用簡(jiǎn)單的RC電路來完成,這里采用一片74HC74的D觸發(fā)器由PC控制完成VC5402的復(fù)位過程。圖中,我們把/HINT和/INT2連在一起,是因?yàn)閂C5402在運(yùn)行Bootloader時(shí)會(huì)自動(dòng)在/HINT引腳輸出一個(gè)低電平,這樣會(huì)使VC5402在復(fù)位結(jié)束后馬上能識(shí)別到當(dāng)前的裝載模式為HPI模式,而忽略對(duì)其它模式的循環(huán)搜索。電路設(shè)計(jì)時(shí)需要注意對(duì)VC5402的HPI相關(guān)控制引腳的接法。對(duì)于控制引腳,采用不同的HOST時(shí),接法也會(huì)有所不同。這里需要了解一下HPI主機(jī)并口工作的時(shí)序,時(shí)序圖見圖二。圖中的/HCS信號(hào)是HPI使能輸入信號(hào),當(dāng)使用HPI時(shí),/HCS信號(hào)必須接地。/HAS是HPI的地址鎖存輸入信號(hào),這個(gè)信號(hào)在地址總線與數(shù)據(jù)總線分時(shí)復(fù)用的處理器(例如8031)作為HOST時(shí)作為地址鎖存信號(hào)來使用;對(duì)于ISA總線,其地址線和數(shù)據(jù)線是分開的,所以/HAS只要接3.3V即可。/HDS1和/HDS2是兩個(gè)數(shù)據(jù)鎖存信號(hào),事實(shí)上使用其中的一個(gè)就可以了,而另一個(gè)則必須接3.3V。本例子中使用了/HDS1,而/HDS2接了3.3V。應(yīng)該指出,當(dāng)不使用/HAS信號(hào)時(shí),/HDS1和/HDS2兩個(gè)輸入信號(hào)也具有地址鎖存作用,在它們的下降沿時(shí)刻,VC5402的HPI鎖存HCNTL0、HCNTL1、HBIL和HR/W四個(gè)控制輸入信號(hào)的值。通過這四個(gè)信號(hào)的值,VC5402可以確定當(dāng)前是對(duì)那個(gè)寄存器進(jìn)行操作、是讀操作還是寫操作、是對(duì)16位字長(zhǎng)的高八位還是低八位進(jìn)行傳輸,因此電路設(shè)計(jì)時(shí)必須確保在/HDS1或/HDS2下降沿時(shí)上述四個(gè)控制信號(hào)具有正確的邏輯電平,否則整個(gè)程序裝載過程將會(huì)失敗。
圖2 HPI操作時(shí)序圖
由于VC5402內(nèi)部是16位的數(shù)據(jù)總線,而其HPI主機(jī)并口卻是一個(gè)8位的數(shù)據(jù)總線,所以通過HPI與HOST進(jìn)行一個(gè)16位字的數(shù)據(jù)交換需要分兩次來完成,HBIL信號(hào)來指出當(dāng)前是第一個(gè)字節(jié)還是第二個(gè)字節(jié)。HR/W輸入信號(hào)來指出當(dāng)前HOST的數(shù)據(jù)傳輸方向,由于這里只是對(duì)VC5402進(jìn)行程序裝載,即HOST只對(duì)HPI進(jìn)行寫操作,所以把HR/W接地。至于HCNTL0、HCNTL1兩個(gè)輸入控制信號(hào)的作用,這里不妨簡(jiǎn)述如下:
HOST通過HPI與VC5402進(jìn)行數(shù)據(jù)交換時(shí),實(shí)際上只是對(duì)VC5402的三個(gè)寄存器進(jìn)行訪問,它們是HPI控制寄存器HPIC、HPI地址寄存器HPIA和HPI數(shù)據(jù)寄存器HPID。HOST對(duì)這三個(gè)寄存器的尋址,是通過輸入信號(hào)線HCNTL0和HCNTL1來完成的,具體過程如下表一。實(shí)際應(yīng)用中通常是把HCNTL0、HCNTL1連同HBIL接到HOST的地址線上。
表一 HPI主機(jī)并口的地址分配
HCNTL0HCNTL1功 能 描 述00HOST讀寫HPI控制寄存器HPIC01HOST讀寫HPI控制寄存器HPID,同時(shí)HPIA具有自動(dòng)加1的功能,這種方式可以數(shù)據(jù)交換的速度10HOST讀寫HPI地址寄存器HPIA11HOST讀寫HPI數(shù)據(jù)寄存器HPID,HPIA寄存器不受影響電路中用一片GAL16V8來完成PC的I/O地址
【利用ISA總線實(shí)現(xiàn)對(duì)DSP芯片VC5402的軟配置】相關(guān)文章:
MPC8272總線與DSP HPI總線接口的FPGA實(shí)現(xiàn)03-07
談DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn)03-08
利用Flash實(shí)現(xiàn)DSP對(duì)多個(gè)程序有選擇的加載03-19
利用DSP實(shí)現(xiàn)模擬信號(hào)的數(shù)字化處理11-22
CAN總線控制器與DSP的接口03-07
FFT算法的研究與DSP實(shí)現(xiàn)03-07
兩類DSP芯片的引導(dǎo)過程分析03-18
利用DSP控制直流無刷電機(jī)03-18