基于ADSP21062信號處理板的一種簡易測試方法
ADSP2106x SHARC是一個適用于語音、通信和圖像處理的高速32位數字信號處理器。該芯片是基于ADSP21000系列DSP芯片發(fā)展起來的一個完整的單片系統(tǒng),增加了一個雙口片內SRAM,并集成了I/O設備。借助它的片內指令緩存,處理器可以在一個時鐘周期內執(zhí)行每一個指令。ADSP2106x SHARC體現了數字信號處理器的一個新的集成標準,它把一個高速運行的浮點DSP主處理器與集成的片內部件結合在一起,包括一個主機接口、DMA控制器、串口和連接口。由于它處理速度快、便于DSP多處理系統(tǒng)的連接和通信,目前已在更多的領域獲得了開發(fā)和應用 1 。但如何對基于ADSP2106x的處理系統(tǒng)進行調試是人們在應用該芯片時必須解決的關鍵問題。本文提出了一種簡單易行的測試方法,并在基于ADSP21062的雷達信號處理系統(tǒng)調試中獲得了成功,驗證了該方法的可行性。
本文引用地址:http://butianyuan.cn/article/257405.htm1 雷達信號處理系統(tǒng)設計簡介
我們應用ADSP21062處理器設計了一個雷達信號處理系統(tǒng)。此系統(tǒng)可以獨立地進行工作,也可通過Link口與其它DSP進行通信。ADSP21062利用JTAG接口與EZ-ICE仿真器連接,實現對系統(tǒng)的仿真和測試。系統(tǒng)的電路結構見圖1。
EZ-ICE仿真器應用IEEE1149.1 JTAG測試標準,監(jiān)視和控制目標板處理器的工作。EZ-ICE仿真器的測試頭通過一個14針的連接頭與目標板處理器的CLKIN (可選)、TMS、TCK、TRST、TDI、TDO、和GND信號相連。在電路板上設計了一個14針的接口,其信號的接口如圖2所示。
2 電路的測試
電路測試主要應用EZ-ICE仿真器。該仿真器插在PC機的ISA槽中,通過JTAG口與ADSP21062處理系統(tǒng)相連,可在PC機的顯示器上利用Emulator控制界面對DSP系統(tǒng)運行情況進行實時監(jiān)控。ADSP2106x提供了模擬(Simulator)和仿真(Emulator)兩套軟件,它們的界面完全相同,只是一個不需要硬件,一個需要硬件。測試程序可先由Assembler匯編器匯編,再經Simulator模擬通過。最后在Emulator界面控制下可以裝入由匯編生成的可執(zhí)行文件(.EXE文件)和匯編的結構文件(.ACH文件),實現對硬件的測試和仿真。
2.1 硬件測試的基本操作
對硬件測試時,先對存儲器的內部控制、狀態(tài)寄存器和存儲器做簡單的操作,確定EZ-ICE仿真器與處理器的通信正常。
對寄存器的操作一般有兩種:位操作和字操作 2~3 。
(1)位操作:寄存器的位操作主要用于BIT SET,BIT CLR。
例如:BIT SET MODE2 0x00000001
BIT CLR MODE2 0x00000001。
以上操作將MODE2的第一位置位或清除,而不影響到其它位。
(2)字操作:寄存器的字操作用DM()尋址指令。
例如:R0=0x00000001;
DM(SYSCON)=R0。
以上操作將SYSCON的第一位置位,其它位清除。
對存儲器的操作采用DM()指令尋扯,在指令中加入立即數、寄存器Rx(內容為尋址值)、基址(Ix)和變址(Mx)可實現直接尋址、間接尋址和變址尋址。
例如:R0=0x23;
DM(0x00030000 =R0。
以上操作將0x23放入0x00030000的地址內。
2.2 系統(tǒng)運行測試
設計一個對FLAG位的四個指示燈的操作,讓其交替地閃爍,來檢驗ADSP21062處理器是否能夠正常運行。程序采用中斷方式,利用定時器溢出時產生兩個中斷TMZHI和TMZLI。一個中斷的服務程序設置FLAG0,1的指示燈亮,FLAG2 3的指示燈滅;另一個中斷服務程序設置情況相反。兩個服務程序交替執(zhí)行,交替的間隔由定時器的初值確定。程序流程圖見圖3。
由于處理器在系統(tǒng)復位時MODE2寄存器被清除,使FLAG管腳作為輸入,處理器不能改變其狀態(tài)。所以主程序需對其初始化,使FLAG管腳作為輸出,然后才能在ASTAT寄存器中改變FLAG的狀態(tài)。同樣,對定時器也要進行設置。
(1)定時器的設置:
BIT SET MODE1 0x1000;(開放全局中斷)
BIT SET MODE2 0x20; (開放定時器)
BIT SET IMASK 0x10; (開放TMZHI中斷)
(2)FLAG位的設置:
BIT SET MODE2 0x78000; (設置為輸出)
BIT CLR ASTAT 0x180000; (FLAG0 1亮)
BIT SET ASTAT 0x600000; (FLAG2 3滅)
此程序可通過JTAG仿真測試,用通用編程器將此程序寫入EPROM,然后讓系統(tǒng)單獨工作,來驗證系統(tǒng)能否正常引導和工作。上電后四個指示燈交替閃爍,經驗證系統(tǒng)順利地完成了引導,并且工作正常。
2.3 Link口測試
用傳輸線把處理器的兩個Link口連在一起,然后讓一個Link口發(fā)數據,另一個收數據,通過Emulator JTAG 采用單步執(zhí)行的方式對其測試,觀察發(fā)送和接收的過程。
(1)Link口傳輸速率的設置:
R0=0x00006000;
DM LCOM =R0; 2倍速率)
(2)LBUF的設置:
R0=0x0003fe8f;
DM LAR =R0 ;LBUF1給Link口1,LBUF2
給Link口2)
(3)開放Link口:
R0=0x00000190;
DM LCTL =R0 ; Link口1發(fā),Link口2收)
(4)傳輸操作:
R0=0x12345678;
DM LBUF1 =R0 ; Link口1發(fā)0x12345678)
R1=DM LBUF2 ; 取Link口2收到的數據)
經測試,Link口的工作正常。通過Emulator的Link口控制窗口可以看到:當Link口設置完成,執(zhí)行DM(LBUF1)=R0指令時,可以看到Link口2緩沖區(qū)的狀態(tài)(通過LxSTAT寄存器)為有一個數據;當執(zhí)行R1=DM(LBUF2)指令時,Link口2緩沖區(qū)的狀態(tài)為空,寄存器R1口的值為Link口1的緩沖區(qū)(LBUF1)的內容。證明通過Link口1順利地把數傳給Link口2,通過Link口可以完成處理器之間的通信。
2.4 DSP算法的執(zhí)行時間
將一個用匯編編寫的DSP算法通過EZ-ICE仿真器放到系統(tǒng)中執(zhí)行,由Emulator提供的時鐘(指令)計數功能,可以知道算法在處理器中實際執(zhí)行的時間。在Emulator的計數窗口中有一個時鐘計數(Cycle Count),它記錄程序從開始執(zhí)行到停止所用時鐘周期的個數,用時鐘的個數(Cycle Count)乘以時鐘周期就可以得到執(zhí)行的總的時間。
針對ADSP2106x處理系統(tǒng)的開發(fā)研究,本文提出的簡單易行的測試方法既可判別DSP能否正常工作,又可測試多處理器互聯(lián)時通過Link口傳輸信息的有效性。所提的測試方法在我們研制的基于ADSP21062的雷達信號處理系統(tǒng)的調試中獲得了驗證。
評論