新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ADSP21062信號(hào)處理板的一種簡(jiǎn)易測(cè)試方法

基于ADSP21062信號(hào)處理板的一種簡(jiǎn)易測(cè)試方法

作者: 時(shí)間:2012-06-28 來(lái)源:網(wǎng)絡(luò) 收藏

ADSP2106x SHARC是一個(gè)適用于語(yǔ)音、通信和圖像處理的高速32位數(shù)字信號(hào)處理器。該芯片是基于ADSP21000系列DSP芯片發(fā)展起來(lái)的一個(gè)完整的單片系統(tǒng),增加了一個(gè)雙口片內(nèi)SRAM,并集成了I/O設(shè)備。借助它的片內(nèi)指令緩存,處理器可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行每一個(gè)指令。ADSP2106x SHARC體現(xiàn)了數(shù)字信號(hào)處理器的一個(gè)新的集成標(biāo)準(zhǔn),它把一個(gè)高速運(yùn)行的浮點(diǎn)DSP主處理器與集成的片內(nèi)部件結(jié)合在一起,包括一個(gè)主機(jī)接口、DMA控制器、串口和連接口。由于它處理速度快、便于DSP多處理系統(tǒng)的連接和通信,目前已在更多的領(lǐng)域獲得了開(kāi)發(fā)和應(yīng)用 1 。但如何對(duì)基于ADSP2106x的處理系統(tǒng)進(jìn)行調(diào)試是人們?cè)趹?yīng)用該芯片時(shí)必須解決的關(guān)鍵問(wèn)題。本文提出了一種簡(jiǎn)單易行的測(cè)試方法,并在基于的雷達(dá)信號(hào)處理系統(tǒng)調(diào)試中獲得了成功,驗(yàn)證了該方法的可行性。

本文引用地址:http://www.butianyuan.cn/article/257405.htm

1 雷達(dá)信號(hào)處理系統(tǒng)設(shè)計(jì)簡(jiǎn)介

我們應(yīng)用處理器設(shè)計(jì)了一個(gè)雷達(dá)信號(hào)處理系統(tǒng)。此系統(tǒng)可以獨(dú)立地進(jìn)行工作,也可通過(guò)Link口與其它DSP進(jìn)行通信。利用JTAG接口與EZ-ICE仿真器連接,實(shí)現(xiàn)對(duì)系統(tǒng)的仿真和測(cè)試。系統(tǒng)的電路結(jié)構(gòu)見(jiàn)圖1。

EZ-ICE仿真器應(yīng)用IEEE1149.1 JTAG測(cè)試標(biāo)準(zhǔn),監(jiān)視和控制目標(biāo)板處理器的工作。EZ-ICE仿真器的測(cè)試頭通過(guò)一個(gè)14針的連接頭與目標(biāo)板處理器的CLKIN (可選)、TMS、TCK、TRST、TDI、TDO、和GND信號(hào)相連。在電路板上設(shè)計(jì)了一個(gè)14針的接口,其信號(hào)的接口如圖2所示。

2 電路的測(cè)試

電路測(cè)試主要應(yīng)用EZ-ICE仿真器。該仿真器插在PC機(jī)的ISA槽中,通過(guò)JTAG口與ADSP21062處理系統(tǒng)相連,可在PC機(jī)的顯示器上利用Emulator控制界面對(duì)DSP系統(tǒng)運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)控。ADSP2106x提供了模擬(Simulator)和仿真(Emulator)兩套軟件,它們的界面完全相同,只是一個(gè)不需要硬件,一個(gè)需要硬件。測(cè)試程序可先由Assembler匯編器匯編,再經(jīng)Simulator模擬通過(guò)。最后在Emulator界面控制下可以裝入由匯編生成的可執(zhí)行文件(.EXE文件)和匯編的結(jié)構(gòu)文件(.ACH文件),實(shí)現(xiàn)對(duì)硬件的測(cè)試和仿真。

2.1 硬件測(cè)試的基本操作

對(duì)硬件測(cè)試時(shí),先對(duì)存儲(chǔ)器的內(nèi)部控制、狀態(tài)寄存器和存儲(chǔ)器做簡(jiǎn)單的操作,確定EZ-ICE仿真器與處理器的通信正常。

對(duì)寄存器的操作一般有兩種:位操作和字操作 2~3 。

(1)位操作:寄存器的位操作主要用于BIT SET,BIT CLR。

例如:BIT SET MODE2 0x00000001
BIT CLR MODE2 0x00000001。

以上操作將MODE2的第一位置位或清除,而不影響到其它位。

(2)字操作:寄存器的字操作用DM()尋址指令。

例如:R0=0x00000001;
DM(SYSCON)=R0。

以上操作將SYSCON的第一位置位,其它位清除。

對(duì)存儲(chǔ)器的操作采用DM()指令尋扯,在指令中加入立即數(shù)、寄存器Rx(內(nèi)容為尋址值)、基址(Ix)和變址(Mx)可實(shí)現(xiàn)直接尋址、間接尋址和變址尋址。

例如:R0=0x23;
DM(0x00030000 =R0。
以上操作將0x23放入0x00030000的地址內(nèi)。

2.2 系統(tǒng)運(yùn)行測(cè)試

設(shè)計(jì)一個(gè)對(duì)FLAG位的四個(gè)指示燈的操作,讓其交替地閃爍,來(lái)檢驗(yàn)ADSP21062處理器是否能夠正常運(yùn)行。程序采用中斷方式,利用定時(shí)器溢出時(shí)產(chǎn)生兩個(gè)中斷TMZHI和TMZLI。一個(gè)中斷的服務(wù)程序設(shè)置FLAG0,1的指示燈亮,F(xiàn)LAG2 3的指示燈滅;另一個(gè)中斷服務(wù)程序設(shè)置情況相反。兩個(gè)服務(wù)程序交替執(zhí)行,交替的間隔由定時(shí)器的初值確定。程序流程圖見(jiàn)圖3。

由于處理器在系統(tǒng)復(fù)位時(shí)MODE2寄存器被清除,使FLAG管腳作為輸入,處理器不能改變其狀態(tài)。所以主程序需對(duì)其初始化,使FLAG管腳作為輸出,然后才能在ASTAT寄存器中改變FLAG的狀態(tài)。同樣,對(duì)定時(shí)器也要進(jìn)行設(shè)置。

(1)定時(shí)器的設(shè)置:

BIT SET MODE1 0x1000;(開(kāi)放全局中斷)
BIT SET MODE2 0x20; (開(kāi)放定時(shí)器)
BIT SET IMASK 0x10; (開(kāi)放TMZHI中斷)

(2)FLAG位的設(shè)置:

BIT SET MODE2 0x78000; (設(shè)置為輸出)
BIT CLR ASTAT 0x180000; (FLAG0 1亮)
BIT SET ASTAT 0x600000; (FLAG2 3滅)

此程序可通過(guò)JTAG仿真測(cè)試,用通用編程器將此程序?qū)懭隕PROM,然后讓系統(tǒng)單獨(dú)工作,來(lái)驗(yàn)證系統(tǒng)能否正常引導(dǎo)和工作。上電后四個(gè)指示燈交替閃爍,經(jīng)驗(yàn)證系統(tǒng)順利地完成了引導(dǎo),并且工作正常。

2.3 Link口測(cè)試

用傳輸線把處理器的兩個(gè)Link口連在一起,然后讓一個(gè)Link口發(fā)數(shù)據(jù),另一個(gè)收數(shù)據(jù),通過(guò)Emulator JTAG 采用單步執(zhí)行的方式對(duì)其測(cè)試,觀察發(fā)送和接收的過(guò)程。

(1)Link口傳輸速率的設(shè)置:

R0=0x00006000;
DM LCOM =R0; 2倍速率)

(2)LBUF的設(shè)置:

R0=0x0003fe8f;
DM LAR =R0 ;LBUF1給Link口1,LBUF2
給Link口2)

(3)開(kāi)放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收到的數(shù)據(jù))

經(jīng)測(cè)試,Link口的工作正常。通過(guò)Emulator的Link口控制窗口可以看到:當(dāng)Link口設(shè)置完成,執(zhí)行DM(LBUF1)=R0指令時(shí),可以看到Link口2緩沖區(qū)的狀態(tài)(通過(guò)LxSTAT寄存器)為有一個(gè)數(shù)據(jù);當(dāng)執(zhí)行R1=DM(LBUF2)指令時(shí),Link口2緩沖區(qū)的狀態(tài)為空,寄存器R1口的值為L(zhǎng)ink口1的緩沖區(qū)(LBUF1)的內(nèi)容。證明通過(guò)Link口1順利地把數(shù)傳給Link口2,通過(guò)Link口可以完成處理器之間的通信。

2.4 DSP算法的執(zhí)行時(shí)間

將一個(gè)用匯編編寫的DSP算法通過(guò)EZ-ICE仿真器放到系統(tǒng)中執(zhí)行,由Emulator提供的時(shí)鐘(指令)計(jì)數(shù)功能,可以知道算法在處理器中實(shí)際執(zhí)行的時(shí)間。在Emulator的計(jì)數(shù)窗口中有一個(gè)時(shí)鐘計(jì)數(shù)(Cycle Count),它記錄程序從開(kāi)始執(zhí)行到停止所用時(shí)鐘周期的個(gè)數(shù),用時(shí)鐘的個(gè)數(shù)(Cycle Count)乘以時(shí)鐘周期就可以得到執(zhí)行的總的時(shí)間。

針對(duì)ADSP2106x處理系統(tǒng)的開(kāi)發(fā)研究,本文提出的簡(jiǎn)單易行的測(cè)試方法既可判別DSP能否正常工作,又可測(cè)試多處理器互聯(lián)時(shí)通過(guò)Link口傳輸信息的有效性。所提的測(cè)試方法在我們研制的基于ADSP21062的雷達(dá)信號(hào)處理系統(tǒng)的調(diào)試中獲得了驗(yàn)證。



評(píng)論


技術(shù)專區(qū)

關(guān)閉