找回密码
 注册
关于网站域名变更的通知
查看: 430|回复: 2
打印 上一主题 下一主题

基于Matlab的DSP系统级的设计方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-9-11 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
传统的DSP应用系统设计流程分为2个部分:开发设计和产品实现。在开发设计 部分完成 方案设计和算法设计与验证,一般用Matlab语言进行仿真,当仿真结果满意时,再进入产品的实现阶段。

  Y, ^) Y2 ~3 Z# L3 w9 Q0 R! u        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
4 K9 o  J1 J" ?) u. x1 E/ H) M 5 s3 H* H' b6 [# n9 {7 t
  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   8 k6 C4 E/ }  `5 _* a3 ~6 v8 v% T

, x5 s  A: v7 g" m* h, Z       1.Matlab Link for CCS Development Tools简介
" p$ i) v' s3 l5 {. G' R  }+ ]7 p  4 @* v# l  R* a! X% t/ F& H" r
      Mathworks公司和TI公司联合开发的Matlab Link for CCS Development Tools(CCS Link) 提供了Matlab和CCS的接口,即把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器,即整个目标DSP对于Matlab好像是透明的,开发人员在Matlab环境中就可以完成对CCS的操作。Matlab Link for CCS Dev elopment Tools可以支持CCS能够识别的任何目标板,包括TI公司的DSP,EVM板和用户自己开发的目标DSP(C2000,C5000,C6000)板。
/ i/ ?4 i; [7 D  ; q5 g4 I6 j; T4 T( B0 C

3 v) \' y; `+ S7 v7 O" u+ R& p2 P3 N      CCS Link主要特点总结如下:
. w' h1 @' v% z4 L  
, ^7 H0 Y% v8 Q6 \/ x
9 I; r3 F) w" s; ~- H        (1) Matlab函数可以自动完成调试、数据传递和验证。* ^3 e7 p& Q8 T# w" d) [5 S% z0 d
  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。1 i4 }0 w/ q; f; h" V$ q* h
  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。! }+ `8 _8 X/ z& g! ]
  (4)提供嵌入式对象,可以访问C/C++变量和数据。
% S6 ~* @% h' _5 I) q" @% c. _  (5)对测试、验证和可视化DSP代码提供帮助。
+ G! g. w, i0 p5 O, F9 z& ^1 j  (6)扩展了Matlab和eXpressDSP工具的调试能力。* o4 y6 W2 N" A4 a1 z
  (7)符合TI eXpressDSP标准。 / B8 q' k# g3 y3 D- ^  y" j+ u

3 m7 H% r, A" A& k8 e1 B         2    CCS Link面向 TI DSP的系统级设计方法4 h2 u# a' M! e' q
* s4 R' v! S. ]+ |, f( L
  CCS Link向用户提供了三种接口如图1所示。9 M7 c) _* A( Z. F

. k0 Y( U& G0 ~2 @  2.1   Link for CCS IDE3 p' R) C  V/ N2 f, f9 [
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。
- s  B  i- S0 H( X( d$ z 1 L5 j7 M. M* p1 p/ s. W. X
  Link for CCS IDE的优点:6 N: y- k) N+ l$ L
6 d- }: q  F) ]8 x7 i
  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。' W& y+ f+ U& P6 Q* D1 ?
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。. r# Q# {( L* k
  (3)支持TI的C5000/6000系列DSP。
4 k$ R4 k/ x' {% |) g
) j% a  F, h: K       2.2   Link for RTDX
" m  j/ x) s1 V) `4 j, w7 m. Z  & d. U6 o, ]4 V
7 J8 t4 B6 v+ _5 ^
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。
7 c4 c4 E2 q. B" `, r3 z  
& F6 _3 F0 A# n. v7 _6 @
+ t9 g* q, N' [; E        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。) O8 |$ N" h! W$ ]2 ?1 X9 N
  
( M% F( ~" G! l$ _- ~: i
9 q+ k6 I4 X. S8 J# ^; _# _" J0 q       2.3  嵌入式对象% v$ r1 T- [" n9 F
  9 R# s( B5 X4 W! d. t. M/ R) e

5 U3 \# R! T8 K' |8 V      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。
. H1 [* m9 ^$ F
+ N) g6 H" y* k2 w( u( z9 F       3    CCS IDE连接对象应用举例+ x  R  L9 I2 B9 P0 e) }& }
  9 j+ B, ~9 T) K* `& B
: E3 d8 q. w6 n# f
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
0 \! p' @/ V1 {5 J' B" S# @  
& Y1 E! U  M: W ) g' o+ z" |6 l: c
     具体应用步骤如下:/ ]- O' }7 k( t
  (1)选择DSP型号& X- C+ [+ X, R
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。3 M$ c. E, N) Q& }* T* r; ~* C' ]; C
  此处选择0号DSP:% R% c/ U0 W. z# K/ R* E
  Boardnum=0; procmum=0;& W/ Y# T0 b' r! T9 @7 t7 Z, j; @
  (2)创建CCS IDE连接对象* L' R! s. Q! t5 ^
  cc=ccsdsp(′boardnum′,boardmun,′procnum′) Z: L5 n+ c. [! S/ G' Y" r

6 I2 U$ N' W( S2 ^" A$ ]( i        xu_6x11.pjt是CCSLink提供的一个工程文件。: J& O+ h& `5 r* J8 L! o' e
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件: : N4 H9 F4 T/ Y2 {6 C; S+ C3 t* |2 h7 V

% t% b. u/ y7 M0 D$ X1 P      (4)在Matlab环境下对CCS IDE连接对象进行操作
' @$ w3 q" z! }- }$ {; Y; z+ j/ p  
0 M" f. G8 A6 ?! ` ! ~1 P# g, z% E( D
        利用CCS Link中的read和write函数来访问2个全局数组:  
8 V0 K( |# K' D  
. M/ {1 o" a6 B/ h  G$ p$ G
7 |0 s& d0 [/ W" `; k9 m# }4 w       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
" A1 q. h5 S  \1 f
6 f* m# z5 W: w" o1 J/ I      4结语
) s6 f6 k/ P) `; {  7 M* l! C! W( h) y2 S7 h0 n
7 p3 P# O3 A$ z! Q7 v  l
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。
4 Q2 y# [% A" {1 u" ?0 F# I% X
$ b) O3 e- m8 q( N" ?$ j6 k, }/ N1 |
. |; u1 ?  T/ @- B+ k! V( @

3 g5 @8 }4 _0 Z' a. A+ ?

该用户从未签到

2#
发表于 2018-9-12 10:15 | 只看该作者
资料不错,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 14:13 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表