打印

基于ADSP-2181的DSP实验系统设计

[复制链接]
456|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2019-3-15 11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于ADSP-2181的DSP实验系统设计



摘要:本文主要介绍了基于ADSP-2181的DSP实验系统,详细介绍了AD73360与DSP之间串行数据传输的接口设计、高集成度频率合成器AD9850与DSP的接口设计、ADSP实验系统与计算机之间通信的IDMA接口设计。
关键词:数字信号处理 AD73360 AD9850 DSP

1 ADSP实验系统的应用背景
       随着DSP功能的不断复杂化,以及对DSP产品开发周期不断缩短的要求,设计调试DSP系统越来越倚重于DSP开发系统和调试工具,但市场上的开发系统和调试工具一般价格昂贵;另外,随着DSP的普及与推广,许多院校开设了数字信号处理方面的课程,急需一套DSP实验系统辅助教学,为用户搭建一个实验平台。基于上述原因,我们开发了基于ADSP-2181的DSP实验系统,力求做到系统的功能全、操作灵活、成本低,基本满足了教学科研工作的需要。

2 DSP实验系统的设计与调试

2.1 系统介绍及其实现功能
此实验系统包括DSP小系统电路设计,A/D,D/A接口电路设计,以及IDMA接口,USB接口,JTAG仿真接口电路设计,存储器(EPROM)扩展等。系统框图如图1所示。


其具体功能如下:
1) ADSP-2181通过BDMA方式从扩展的EPROM加载程序,也可通过IDMA口由PC机加载程序。
2) ADSP-2181的可编程I/O口与PC机的USB接口相连,进行数据和指令的传递。另外实验系统还可通过IDMA口与PC机通信。
3) 仿真器和JTAG接口电路相连,使得无需移开目标板的处理器就可以进行线内仿真模拟。
4) 实验系统通过对一片AD73360的控制,可采集6路16位模拟信号,在16.384MHz主时钟下,采样速率可编程设置为64K,32K,16K,和8KHz四个值;同时ADSP-2181通过控制AD9850,在外接50MHz晶振的情况下,可做到直接数字频率合成0-25MHz正弦信号和方波信号,作为信号发生器使用,当作为时钟源时,考虑到衰减问题,其输出频率的最佳值限制在参考输入频率的33%以下。
5)通过实验系统监控程序的交互式界面可以直接读写DSP的程序存储区和数据存储区,其绘图功能可以根据系统采集、处理数据的结果绘制相关图形。
6) 实验板上配有发光二极管,用以指示ADSP-2181的运行情况。

2.2 DSP与AD9850的接口
实验系统中ADSP-2181和AD9850的接口既可采用并行方式,也可采用串行方式,但为了充分发挥芯片的高速性能,本实验系统采用图2所示并行接口方式。


AD9850有40位控制字,32位用于频率控制,5位用于相位控制,1位用于电源休眠(POWER DOWN)控制,2位用于选择工作方式。这40位控制字采用并行方式送入到AD9850。图3为控制字并行输入的控制时序图。


在并行装入方式中,由于AD9850占用DSP的I/O存储空间,如果直接执行访问片外I/O空间的指令,数据将出现在AD9850数据线的高16位(D0--D23)上。系统中通过D8—D15将数据输入到寄存器,在重复5次之后再在FQ_UD的上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS输出频率和相位),同时把地址指针复位到第一个输入寄存器,接着在W_CLK的上升沿装入8位数据,并把指针指向下一个输入寄存器,连续5个W_CLK上升沿后,W_CLK的边沿就不再起作用,直到复位信号或FQ_UD上升沿把地址指针复位到第一个寄存器。
ADSP-2181的I/O地址线A0,A1经逻辑译码后产生AD9850需要的写信号(W_CLK)和频率更新信号(FQ_UD)。AD9850的W_CLK和FQ_UD都是上升沿动作,要求脉冲宽度在3.5ns左右。ADSP-2181执行访问I/O存储器空间的IO指令,其一个指令周期为33ns。理论上讲,经过TTL译码电路后,会产生符合脉宽要求的AD9850的W_CLK,FQ_UD信号。但实践证明,由于ADSP-2181的指令周期太快,译码电路中我们所采用的74LS04和74LS21的响应速度慢,造成由译码电路所产生的W_CLK,FQ_UD信号脉宽边沿严重失真,导致控制时序紊乱。解决方法是在程序中将访问I/O存储器(0x000—0x1FF)时的等待状态设为最大,便会产生理想的W_CLK和FQ_UD脉冲。
AD9850的复位信号为高电平有效,且脉宽不小于5个参考时钟周期。ADSP-2181的标志管脚FL2作AD9850的复位信号。当用软件编程实现复位时一定要延时。AD9850的参考时钟为50MHz,延时不应小于1ms。

2.3 DSP与AD73360的接口
AD73360与ADSP-2181的SPOR0口进行串行通信,基本框图如图4。ADSP-2181的串口0被设置为自动缓冲方式,自动缓冲提供了一种在中断产生之前接収或发送一整块串行数据的机制。服务程序可以对整个数据块进行操作,而不是对单个数据字操作,从而大大减少了系统的开销。自动缓冲的传达不能用任何指令复现,然而可以等效为一条指令:DM(I,M)=RX0或TX0=DM(I,M)。
传送中使用的I寄存器和M寄存器是由SPORT自动缓冲控制寄存器中的域选择的。当一个字的传送引起循环缓冲区指针回绕时,就产生SPORT中断。在整个缓冲区接收到数据时,产生接收中断。当缓冲区最后一个字装入发送寄存器时,在发送之前产生发送中断。



如图4所示,将接收和发送帧同步信号连接起来,AD73360工作在主动模式下,ADSP-2181工作在被动模式下,其串行时钟(SCLK),接收(RFS)和发送(TFS)帧同步信号均由AD73360提供,使得接收和发送数据处于同步状态,避免了串行数据传输时复杂的时序控制。AD73360有两种复位方式,无论是硬件还是软件复位,其复位信号均需要4个内部主控时钟(MCLK)周期。
采集数据前首先对AD73360进行测试,判断其运行是否正常。将SPORT0口设置为自动缓冲模式,由发送寄存器发送8位控制字:810F、82E0、8388、8400、8500、8681、873F、808D,检查接收缓存区,正常情况下接收到的数据应为:0000、B90F、BAE0、BB88、BC00、BD00、BE81、BF3F。此时的参考电压输出(REFOUT)为2.4伏。
AD73360具有六个16位A/D转换器,每个通道均同步采样以确保通道间几乎不存在时间(相位)延迟。如果采样速率设置为64KHz,串行输出数据的最大速率为64KHz×16bit×6=6.144Mbps,而ADSP-2181外接16.384MHz时钟,指令周期为33ns,由此可见ADSP-2181完全有能力采集6路数据。

3 实验系统与主机的通信
      ADSP实验系统的USB接口电路采用5V供电,支持1.5Mbit/s传输速率。ADSP-2181的JTAG接口使得无需移开目标板的处理器就可以进行线内仿真模拟。下面主要介绍系统的IDMA接口。
ADSP-2181的IDMA接口是一个并行的I/O接口,主机可以通过该接口读/写处理器的内部存储器,同时可以通过IDMA口装载程序和对DSP进行监控。当BMODE=1和MMAP=0时,ADSP-2181通过IDMA接口引导。
可以把IDMA接口看作通往DSP所有内部存储单元(处理器中的存储器映象控制寄存器除外)的关口。IDMA接口带有复用的16位地址/数据总线,该总线支持对16位数据存储器和24位程序存储器的访问。IDMA接口的读/写访问是完全异步的,在ADSP-2181全速运行时,主机可以访问DSP的内部存储器。
图5是IDMA传送的一般流程图。从主机接口的角度看,有3种IDMA操作的定时参数非常关键,即锁存IDMA内部存储器地址,从IDMA口读,写IDMA口。

      
4 小结
       ADSP实验系统的开发成功,基本满足了科研与教学的要求,尤其为广大DSP爱好者提供了实验平台,用户利用监控程序可以深入了解系统内部运行机制,通过编写相关程序,完成模拟数据的采集、处理,频率合成等实验。监控程序的绘图功能便于对处理结果进行分析。ADSP实验系统必将成为广大师生和工程技术人员在学习和工作中不可或缺的得力助手。

相关帖子

沙发
Clovee|  楼主 | 2019-3-15 11:22 | 只看该作者
基于ADSP-2181的DSP实验系统设计

文档1.pdf

185.25 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝