微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP EMIF口及FPGA设计并实现多DSP嵌入式系统

基于DSP EMIF口及FPGA设计并实现多DSP嵌入式系统

时间:06-05 来源:互联网 点击:

4 系统的DSP间数据通信

不同的算法代码在平台上对应不同的算法调度方法,但DSP之间数据通信分两个步骤,一是数据通信协议,另一个是数据通信。数据通信协议格式如表1(x表示0、1、…7)。

Send/Receive:MDSPx通过FPGA请求DSPx接收(D0=1)或发送。
MDSPx:向FPGA发出请求的DSP。
DSPx:MDSPx向FPGA提出要求响应的DSP。
Data_leng:MDSPx请求DSPx接收或发送的数据长度。
Data_Unit:1表示接收或发送为Data_leng K(1K= 1024bit),0表示接收或发送Data_leng。
Data_Block:表示MDSPx请求DSPx接收或发送Data_Block个Data_leng K或Data_leng。
Data _Character:MDSPx请求DSPx接收或发送的算法代码中间运行结果或最终结果。
Interr_Priority:中断优先权。
Odd_Check:奇偶校验位。
设SUM,若为奇数,则Odd_Check=1,否则为0。

Over_Lable:结束标志位,用户可自己定义。

数据通信的实现过程:若FPGA接收到MDSPx发来的请求信号,先根据D[0:37]计算出校验数据,然后与Odd_Check比较。若不等,FPGA向MDSPx发出重发请求信号的请求;若相等,且DSPx空闲时,FPGA再由Send/Receive通知DSPx接收或发送数据,并将接收到的数据传输给DSPx,同时使对应的FIFO数据通道使能。DSPx根据收到的数据信息,同样计算出校验数据,若与Odd_Check相等,则根据Send/Receive标志位,采用EDMA方式向EMIF口接收或发送Data_Block*Data_leng(或Data_Block*Data_leng K)数据。

如果FPGA同时接收到两个或两个以上的MDSPx发来的请求信号,还要由Interr_Priority判其执行的先后。

5 系统的性能分析

多DSP嵌入式处理系统中,DSP间的数据通信性能是影响系统性能的重要因素,而数据通信带宽和数据传输延迟是衡量数据通信性能的主要指标。

若系统中DSP读写FIFO的带宽为B(单位时间内DSP间的数据通信量),则:
  
其中,f是DSP读写FIFO的时钟,w是FIFO数据总线宽度。本设计配置Nsetup=Nstrobe=1,Nhold=0,w=32 bit,f=133MHz,因此B理论值266MB/s。

但DSP间数据通信的实际带宽Bf主要受握手时间τhandshake、写FIFO到半满时间τfifo_hf、响应GPIO口中断启动读操作时间τgpio_int err、接收数据时间τdata_receive四个延迟时间影响。其中τhandshake、τgpio_int err、τdata_receive是传输数据必需的固定时间,而τfifo_hf是由于使用FIFO缓存数据引入的额外时间。显然,FIFO的深度越长,τfifo_hf越大,额外时间就越长,则实际带宽Bf就越小,反之则越大。
为了保证DSP间正确的数据通信,要求DSPx开始从FIFO读取数据时,MDSPx还没有写满FIFO,即:

表2是DSP0分别与DSP1~DSP7传输不同大小数据时测得的平均延迟时间。图6是根据测试数据绘出的实际带宽Bf曲线。可以看出,随着传输的数据增大,Bf逐渐逼近B。因此,利用FPGA实现多DSP间的互相数据通信,既获得了较大的持续带宽,又降低了数据传输延迟。

本文设计的多DSP嵌入式系统可重构性灵活,实现容易,性能稳定,数据吞吐量大,处理数据能力强。该嵌入式系统已经成功应用到某公司的超声图像智能识别产品中。该产品利用系统中TMS320DM642对B超图像进行采集、保存、图像预处理、显示;利用7个TMS320C6416T对超声图像做相关算法处理。经测试,算法代码在单DSP(DM642 720MHz)平台处理时间小于0.4s,而在此平台处理时间小于40ms,满足实时要求。

另外,该系统还可以广泛适用于图像处理、电子对抗、雷达信号处理等各个领域。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top