基于ADSP21062的雷达信号处理系统的调试

adsp2106x sharc是一个适用于语音、通信和图像处理的高速32位数字信号处理器。该芯片是基于adsp21000系列dsp芯片发展起来的一个完整的单片系统,增加了一个双口片内sram,并集成了i/o设备。借助它的片内指令缓存,处理器可以在一个时钟周期内执行每一个指令。adsp2106x sharc体现了数字信号处理器的一个新的集成标准,它把一个高速运行的浮点dsp主处理器与集成的片内部件结合在一起,包括一个主机接口、dma控制器、串口和连接口。由于它处理速度快、便于dsp多处理系统的连接和通信,目前已在更多的领域获得了开发和应用 1 。但如何对基于adsp2106x的处理系统进行调试是人们在应用该芯片时必须解决的关键问题。本文提出了一种简单易行的测试方法,并在基于adsp21062的雷达信号处理系统调试中获得了成功,验证了该方法的可行性。
1 雷达信号处理系统设计简介
我们应用adsp21062处理器设计了一个雷达信号处理系统。此系统可以独立地进行工作,也可通过link口与其它dsp进行通信。adsp21062利用jtag接口与ez-ice仿真器连接,实现对系统的仿真和测试。系统的电路结构见图1。
ez-ice仿真器应用ieee1149.1 jtag测试标准,监视和控制目标板处理器的工作。ez-ice仿真器的测试头通过一个14针的连接头与目标板处理器的clkin (可选)、tms、tck、trst、tdi、tdo、和gnd信号相连。在电路板上设计了一个14针的接口,其信号的接口如图2所示。
2 电路的测试
电路测试主要应用ez-ice仿真器。该仿真器插在pc机的isa槽中,通过jtag口与adsp21062处理系统相连,可在pc机的显示器上利用emulator控制界面对dsp系统运行情况进行实时监控。adsp2106x提供了模拟(simulator)和仿真(emulator)两套软件,它们的界面完全相同,只是一个不需要硬件,一个需要硬件。测试程序可先由assembler汇编器汇编,再经simulator模拟通过。最后在emulator界面控制下可以装入由汇编生成的可执行文件(.exe文件)和汇编的结构文件(.ach文件),实现对硬件的测试和仿真。
2.1 硬件测试的基本操作
对硬件测试时,先对存储器的内部控制、状态寄存器和存储器做简单的操作,确定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 系统运行测试
设计一个对flag位的四个指示灯的操作,让其交替地闪烁,来检验adsp21062处理器是否能够正常运行。程序采用中断方式,利用定时器溢出时产生两个中断tmzhi和tmzli。一个中断的服务程序设置flag0,1的指示灯亮,flag2 3的指示灯灭;另一个中断服务程序设置情况相反。两个服务程序交替执行,交替的间隔由定时器的初值确定。程序流程图见图3。
由于处理器在系统复位时mode2寄存器被清除,使flag管脚作为输入,处理器不能改变其状态。所以主程序需对其初始化,使flag管脚作为输出,然后才能在astat寄存器中改变flag的状态。同样,对定时器也要进行设置。
(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,然后让系统单独工作,来验证系统能否正常引导和工作。上电后四个指示灯交替闪烁,经验证系统顺利地完成了引导,并且工作正常。
2.3 link口测试
用传输线把处理器的两个link口连在一起,然后让一个link口发数据,另一个收数据,通过emulator jtag 采用单步执行的方式对其测试,观察发送和接收的过程。
(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发,link口2收)
(4)传输操作:
r0=0x12345678;
dm lbuf1 =r0 ; link口1发0x12345678)
r1=dm lbuf2 ; 取link口2收到的数据)
经测试,link口的工作正常。通过emulator的link口控制窗口可以看到:当link口设置完成,执行dm(lbuf1)=r0指令时,可以看到link口2缓冲区的状态(通过lxstat寄存器)为有一个数据;当执行r1=dm(lbuf2)指令时,link口2缓冲区的状态为空,寄存器r1口的值为link口1的缓冲区(lbuf1)的内容。证明通过link口1顺利地把数传给link口2,通过link口可以完成处理器之间的通信。
2.4 dsp算法的执行时间
将一个用汇编编写的dsp算法通过ez-ice仿真器放到系统中执行,由emulator提供的时钟(指令)计数功能,可以知道算法在处理器中实际执行的时间。在emulator的计数窗口中有一个时钟计数(cycle count),它记录程序从开始执行到停止所用时钟周期的个数,用时钟的个数(cycle count)乘以时钟周期就可以得到执行的总的时间。
针对adsp2106x处理系统的开发研究,本文提出的简单易行的测试方法既可判别dsp能否正常工作,又可测试多处理器互联时通过link口传输信息的有效性。所提的测试方法在我们研制的基于adsp21062的雷达信号处理系统的调试中获得了验证。

新款iPod播放器更大更轻薄
关于电表的改装设计
出货量大不能托起2013年LED总值,单价较低是元凶
MAX9249 吉比特多媒体串行链路串行器,具有LVDS系统
鸿蒙系统是什么语言开发的
基于ADSP21062的雷达信号处理系统的调试
今天国际接连中标宁德时代和比亚迪3大新能源项目
“声”而不凡: EPOS音珀 H6PRO专业版电竞耳机登陆
什么是熔断器式隔离开关 作用及应用案例分析
积木云或将改写互联网的未来
全自动驾驶汽车还要多久才能面世?会受AI技术的影响吗?
FPC柔性线路板的性能测试可选用弹片微针模组
浅谈IF 信号的模数转换和I/Q 组件的模数转换
车载毫米波雷达DOA估计综述
家庭安防产品选购知识及行业前景分析
射频微波器件——GPS有源功分器
一加5、小米MIX2对比评测:同为骁龙835,谁更值得入手?
高精度定位技术uwb与蓝牙对比分析
彩电苦的其中一个原因是要面对国际彩电企业和互联网企业的竞争
人脸识别走向滑铁卢 大数据廓清未来走向