基于ADSP-21262的DSP的監(jiān)控設(shè)計
1 引言
隨著數(shù)字信號處理理論的日趨完善和超大規(guī)模集成電路技術(shù)的飛速發(fā)展,在各種實時處理應(yīng)用需求的推動下,數(shù)字信號處理器(DSP)也得到了越來越廣泛的應(yīng)用。
DSP的監(jiān)控是DSP開發(fā)和應(yīng)用中十分重要的環(huán)節(jié)。目前在DSP的開發(fā)過程中,最常用的方式是通過購買處理器的JTAG仿真器和開發(fā)軟件包實現(xiàn)對DSP的調(diào)試和監(jiān)控。JTAG調(diào)試工具的功能十分強大,對于不熟悉DSP內(nèi)部結(jié)構(gòu)和細節(jié)的開發(fā)者而言是一種非常不錯的選擇。但是此種方法也有其缺陷:首先,開發(fā)成本比較昂貴,一般購買正版仿真器和軟件包的價格都在數(shù)千美元至數(shù)萬美元不等;其次,通用性不強。不但不同公司的處理器需要使用不同的仿真器,同一公司的不同系列DSP之間也沒有兼容性。
基于以上原因,筆者結(jié)合ADSP-21262的開發(fā)研究了其他的監(jiān)控實現(xiàn)方式。
2 單DSP系統(tǒng)監(jiān)控設(shè)計
2.1 ADSP-21262簡介
ADSP-21262是ADI公司推出的一款高性能浮點數(shù)字信號處理器,特性如下:
200 MHz工作主頻。1 200 MFLOPS;
超級哈佛結(jié)構(gòu),內(nèi)部三條獨立總線,三級流水線結(jié)構(gòu);
2 Mbit雙口SRAM,4 Mbit雙口ROM;
雙內(nèi)核結(jié)構(gòu),支持SISD和SIMD工作模式;
22條獨立的DMA通道;
豐富的外圍設(shè)備接口。
2.2 單DSP系統(tǒng)監(jiān)控硬件設(shè)計
單ADSP-21262型DSP系統(tǒng)的監(jiān)控部分硬件電路如圖1所示。
ADSP-21262支持多種上電引導(dǎo)方式,如外部EPROM引導(dǎo)、SPI主模式引導(dǎo)、SPI從模式引導(dǎo)。這里選取SPI主模式作為其引導(dǎo)方式。AT25F1024為串行SPI Flash存儲器,用于存儲ADSP-21262需要引導(dǎo)的程序。如果這里存儲的是監(jiān)控程序,則DSP完成上電引導(dǎo)后便可進入監(jiān)控狀態(tài)。并能執(zhí)行相應(yīng)的監(jiān)控功能操作。
這里用異步串口(UART)作為監(jiān)控系統(tǒng)與用戶PC機的通訊接口,完成底層監(jiān)控程序和PC端監(jiān)控服務(wù)軟件之間的通訊。MAX232為電平轉(zhuǎn)換器件,將DSP端的CMOS電平轉(zhuǎn)化為PC端的RS232電平。大多數(shù)DSP均不提供自帶的UART接口,但是由于UART接口為大多數(shù)工程人員所熟悉。并且連線簡單,很容易通過兩根通用I/O口來分別模擬其Tx、Rx信號,故這里采用此方案。
當(dāng)然也可以用USB控制器或網(wǎng)口控制器實現(xiàn)USB接口方式或網(wǎng)絡(luò)接口方式的監(jiān)控。無論是PC機層的監(jiān)控服務(wù)軟件設(shè)計,還是底層的監(jiān)控功能程序設(shè)計,在原理上基本一致,不同的只是上層PC機的監(jiān)控服務(wù)軟件和底層DSP的監(jiān)控功能程序之間的通訊所采用的接口方式。這里以UART接口的監(jiān)控系統(tǒng)為例進行詳細介紹。
2.3 監(jiān)控軟件設(shè)計
監(jiān)控的主要功能是方便DSP的調(diào)試,故其應(yīng)該為用戶提供的功能主要包括:
處理器的復(fù)位和初始化;
程序的裝載和運行;
查看DSP內(nèi)部數(shù)據(jù)區(qū)和程序區(qū);
寫DSP內(nèi)部數(shù)據(jù)區(qū)和程序區(qū);
查看相關(guān)的系統(tǒng)寄存器;
程序代碼的反匯編顯示。
監(jiān)控軟件的設(shè)計由上層PC機監(jiān)控服務(wù)軟件和底層DSP監(jiān)控功能程序兩部分組成,它的層次結(jié)構(gòu)如圖2所示。
2.3.1 PC機軟件設(shè)計
PC機軟件是用戶實現(xiàn)DSP監(jiān)控操作的平臺,由C++Builder 5.0開發(fā)完成。主要由監(jiān)控軟件界面、各個監(jiān)控功能模塊和UART驅(qū)動函數(shù)模塊組成。
監(jiān)控軟件界面是監(jiān)控系統(tǒng)和用戶進行信息交互的平臺,它整合了各個監(jiān)控功能模塊,用戶通過它完成各個功能模塊的調(diào)用、參數(shù)的傳遞、結(jié)果的顯示等。
PC監(jiān)控功能模塊完成對底層DSP監(jiān)控功能程序的調(diào)用,從而實現(xiàn)用戶所需的相應(yīng)監(jiān)控功能。
UART驅(qū)動函數(shù)模塊的作用是實現(xiàn)上層PC機的監(jiān)控服務(wù)軟件和底層DSP的監(jiān)控功能程序之間的UART接口通訊。
2.3.2 底層軟件設(shè)計
底層DSP監(jiān)控功能程序是整個監(jiān)控功能實現(xiàn)的核心,由匯編語言開發(fā)完成。它由底層監(jiān)控功能模塊和UART協(xié)議收發(fā)驅(qū)動函數(shù)模塊組成。
底層監(jiān)控功能模塊可以供PC端監(jiān)控功能模塊進行調(diào)用,它直接負責(zé)完成對DSP的相應(yīng)管理和操作,如:程序的裝載和運行、DSP內(nèi)部指定地址存儲區(qū)的讀寫、寄存器的讀寫等。
由于ADSP-21262不帶UART接口,于是需要UART協(xié)議收發(fā)驅(qū)動函數(shù)用兩個通用I/O引腳模擬UART的工作時序,以實現(xiàn)DSP與PC間的通訊。
評論