当前位置:巨优公文网>范文大全 > 公文范文 > 利用双口RAM实现DSP与上位机的数据交换

利用双口RAM实现DSP与上位机的数据交换

时间:2022-11-09 21:55:41 公文范文 来源:网友投稿

[摘 要] 介绍了TMS320VC5402和IDT70261的性能特点,提出了DSP与上位机数据交换实现方法,给出了接口设计方案并对工程实现的关键技术进行了分析。

[关键词] DSP 双口RAM 数据交换

[Abstract] Based on the characteristics of TMS320VC5402 and IDT70261, the way of data exchange is produced between DSP and Upper Computer. The interface design scheme is given and the key technique of realizing at engineer is analyzed.

[Keywords] DSP Dual-port RAM Data Exchange Interface

1引言

在某雷达自动测试系统中,程控信号源的本地控制器采用的DSP是TI的公司TMS320VC5402(以下简称C5402),它的主要作用是接收上位机发来的程控命令,经处理后产生控制信号,去控制信号源的频率、功率等各参数。同时,C5402还需将信号源的工作状态及校准数据上传给上位机。因此C5402与上位机之间的数据交换是系统要解决的主要问题之一。

本文将主要介绍一种利用双口RAM IDT70261,实现C5402与上位机数据交换的实现方法。

2 DSP与双口RAM的接口设计

C5402提供有一个主机接口(HPI),它可用来与主设备或主处理器接口[1],但其接口设计较复杂。本文介绍了一种采用双口RAM方式来实现DSP与上位机的数据交换的方法,较易实现。C5402运行速度快,具有10ns(100MIPS)指令周期,工作电压为3.3V,因此它与双口RAM的接口具有一定特殊性[2]。

IDT70261是16K×16bit的双端口静态RAM,允许两个端口同时对内存进行访问;最小访问时间为15ns;利用M/S选择可将数据总线扩展至32位或更高;具有Busy和中断标志;具有片内读写冲突仲裁逻辑;工作电压5V[3]。

IDT70261的中断功能:当左端口向3FFFH单元写入数据时,右端口INTR引脚产生中断,右端口对该单元访问后,中断被释放;当右端口向3FFEH写入数据时,左端口INTL引脚产生中断,左端口对该单元访问后,中断被释放。

利用IDT70261的中断功能,DSP可很容易地与上位机进行数据交换。将IDT70261的INTR接C5402的某一中断引脚;将IDT70261的INTL接测试总线的中断线。当双口RAM写入数据后,首先,上位机对3FFFH单元进行写操作,INTR将变低电平,向C5402发出中断,C5402的中断服务程序读取左端发来的数据。如果C5402要向上位机发送数据,则对3FFEH单元写操作,向上位机发出中断,通知其读取数据。

IDT70261的中断功能使DSP和上位机之间的数据得到及时、准确地交换,因此可把IDT70261中3FFEH、3FFFH单元视为数据交换的“邮箱”。

3 工程实现时的关键技术问题分析

图1是C5402与IDT70261接口图,下面讨论在工程实现时需考虑的几个关键技术问题。

2.1 电平转换问题

C5402的引脚电压为3.3V,而IDT70261的工作电压为5V,必须在DSP和双口RAM之间进行电平转换。经测试,C5402的输出3.3V电平能够驱动输入电平为5V的器件,所以只需将IDT70261的5V信号转换成3.3V输入到C5402即可。

TI公司生产的74LVC16245A是一个带三态输出的16位总线转换器。当3.3V供电时,它能将5V电平转换为3.3V输出,收发的方向由方向控制引脚(DIR)控制。它串在总线上,可为DSP提供5V信号读入的保护。

2.2 C5402和IDT70261时序匹配问题

在DSP的应用中,存储器的存储时间(即速度)指标十分重要,如果所选存储器的速度跟不上DSP的要求,那么整个系统就无法正常工作。图2是C5402读操作时序图。C5402内部读写操作都是单周期的,而外部零等待操作也是单周期进行的。

为了发挥C5402高速性能,同时考虑到其它外设的速度,本文中将C5402的机器周期设为20ns。如果将C5402单个机器周期内完成的读操作分成三段:地址建立时间、数据有效时间和存储器存取时间,那么外部存储器的存取时间大致估计为小于60%的机器周期,即应小于12ns。

图3是IDT70261写操作时序图,它的存取时间最少是15ns,这就需要通过软件或硬件的方法插入等待状态。利用C5402内的软件等待状态寄存器(SWWSR),可以很方便地来设置等待状态。SWWSR映射到数据存储器0028h单元,它可对五个不同的地址空间,分别设置各自的等待状态数:

其中:Low Prog:0000~7FFFh程序空间插入的等待状态数;

Hi Prog:8000~FFFFh程序空间插入的等待状态数;

Low Data:0000~7FFFh数据存储空间插入的等待状态数;

Hi Data:8000~FFFFh数据空间插入的等待状态数;

I/O:0000~FFFFh I/O空间插入的等待状态数。

如果再对软件等待状态控制寄存器(SWCR)进行设置,就可以为以上5个存储空间分别插入0~14个软件等待状态。

在这里将IDT70261所在的存储空间插入2个等待状态,这样既可以满足高速DSP与双口RAM的速度匹配,又为利用C5402的Ready引脚来解决双口RAM访问冲突问题提供了条件。

2.3解决双口RAM访问冲突问题

由前面介绍可知,IDT70261提供了Busy引脚用来解决双口的冲突问题。访问慢的一方的Busy引脚总是被置低,直到另一方访问结束。这就要求访问慢的一方的主控器能够插入等待状态,C5402的Ready引脚提供有该功能。

Ready引脚表示外部设备已作好总线传输准备。如果外部设备未准备好(Ready为低电平),处理器就插入一个等待状态,并再检测Ready引脚。但需要注意的是,处理器只有在至少两个软件等待状态被插入的情况下,才会检测Ready引脚。这也是上面IDT70261所在的存储空间要插入2个等待状态的原因。

因此可以将IDT70261的Busy引脚与C5402的Ready引脚相连,再加上软件编程设置,可解决双口RAM访问冲突。

4 结束语

C5402与上位机之间的数据交换是该程控信号源实现的关键。本文所采用的方法能及时正确地交换数据,接口稳定可靠,已用于工程实现。

参考文献:

[1] 戴明桢等编. TMS320C54x DSP结构、原理及应用.北京:北京航空航天大学出版社,2001.11

[2] 刘益成 编著.TMS320C54X DSP应用程序设计与开发[M].北京:北京航空航天大学出版社,2002:348-351

[3]Integrated Device Technology,Inc. High-Speed 16K×16 Dual-Port Static RAM with Interrupt. 2000

推荐访问:上位 数据交换 利用 DSP RAM

版权所有:巨优公文网 2018-2024 未经授权禁止复制或建立镜像[巨优公文网]所有资源完全免费共享

Powered by 巨优公文网 © All Rights Reserved.。备案号:沪ICP备18054162号-1