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