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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

5 c( q/ o2 \' y        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
4 G: Q3 c% L4 k, {. ^5 B. B! { 7 L' B' O; a9 b- C: l
  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
3 R! H1 \* |& n! i# C) t# Q  F
% b; x. A0 c, B       1.Matlab Link for CCS Development Tools简介
( O" G& Y4 X) u, Z! o5 t    q- l8 P5 i: z4 W3 `6 N
      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)板。. {8 k5 P- ]2 L) S, e
  1 W  q) k6 t$ r" ^- e# A
  K3 V& U( b+ }2 M6 U5 B
      CCS Link主要特点总结如下:+ j7 p  c# i4 u; t% R  x9 T7 [8 t
  8 ^2 ^" X1 d8 p1 l  u8 D$ o! {
, p* ?2 k" K* e" N( V
        (1) Matlab函数可以自动完成调试、数据传递和验证。
8 m# L% F3 m6 y6 P! a( e' Z  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
/ W- r7 P. ]; G* a5 \  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。9 q+ V" m) ^! D  }
  (4)提供嵌入式对象,可以访问C/C++变量和数据。9 P8 I! i! ^4 z- u% [( k
  (5)对测试、验证和可视化DSP代码提供帮助。8 J9 Z) f8 X# Y; C
  (6)扩展了Matlab和eXpressDSP工具的调试能力。
* e. K* {2 X. V! j! y  (7)符合TI eXpressDSP标准。 ; @$ A6 e, B9 K5 H. d
& `1 R/ K, y6 u' G' a# [
         2    CCS Link面向 TI DSP的系统级设计方法
2 U4 {/ J* }$ ^3 ]. ?: W3 u5 b
( t) |  M$ ?& J' H) t+ Y2 g0 [, [, D1 e  CCS Link向用户提供了三种接口如图1所示。: f& g$ u* G. {2 f7 ?8 g( ]
# M7 N4 w$ o) x1 c& N
  2.1   Link for CCS IDE9 Q# g3 Y8 |3 v5 u6 ]
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。, h; h5 g4 ^  P" d# V' n
+ t: p" Z# V+ f# }
  Link for CCS IDE的优点:
# D9 N; s% i0 g4 w - ?% p& x. |+ q7 Y
  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。+ }# j: @" C$ q# `9 H6 g
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。
" C( D" ^+ k; Y: s2 V0 l  (3)支持TI的C5000/6000系列DSP。 % K  r2 ~* r! m) a

0 J# P: B7 T5 _( ~7 J       2.2   Link for RTDX" i1 _6 g7 i( \. {- p0 S8 p
  
" V0 ^+ o2 T/ B# N; T / `- {3 _4 j! \
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。
: ]+ r0 y  ?$ q  
7 {# U7 J* V8 K" E0 C) h 1 E& W+ ^- @! k+ F  P
        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。
3 W1 R% S9 D) l; K9 M# W, j( t" H4 j  
# N- K0 Z* W6 b! S( d: o9 ?, C
6 m* O4 E, X) r& D       2.3  嵌入式对象
' ?, z  X  W+ f0 y  
% H  ^% U1 f  ^/ w- L. h3 s   ~& m+ H9 y5 W' H
      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。 5 H' Z  X3 a8 K. U) M

0 Q) P5 m  ?5 J- `       3    CCS IDE连接对象应用举例  U2 ]- N4 d4 M- _! e& ~6 @
  
2 |7 S2 o% K, R$ R/ b
; U5 U5 S3 R) Z# h/ Y" Q        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
5 E3 k" J: M& o: P& \+ y  
+ z- n9 y# r4 s ; F$ w/ I) G7 W. S" e
     具体应用步骤如下:
- J# g4 z; |* W7 _$ z/ |4 E9 N  (1)选择DSP型号4 `; c- b" b4 R4 c$ J
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。  Y3 C, N: b' ~
  此处选择0号DSP:
- t; k4 O8 F! a0 R  Boardnum=0; procmum=0;
) ~$ A6 C3 C" ~2 S  (2)创建CCS IDE连接对象
2 X: ?7 \% q$ g3 F; i  cc=ccsdsp(′boardnum′,boardmun,′procnum′
* X, E6 a1 g9 S3 e) I" _* J! u& u+ u + R$ ?/ Q7 j- O. ?
        xu_6x11.pjt是CCSLink提供的一个工程文件。/ m  w2 B, q: @, V& n8 @4 Z8 p
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件: + {3 {& u+ B2 i8 @6 B
0 S1 U1 h0 ]7 \" P- r# B
      (4)在Matlab环境下对CCS IDE连接对象进行操作
8 Z7 s( `4 {  Z- H& s3 t  . s! @3 C6 p' z* k% F

, W8 ~4 n( ], V/ s' E7 v% i        利用CCS Link中的read和write函数来访问2个全局数组:    z! b; ~4 W4 d4 I- y! t! B; b
  , P; M- e) u7 R3 ?7 M! l0 O* t

, _% v7 q) j9 u( }5 a       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
! Q# q' j, B) Q; Z
9 p' c) O4 k9 I      4结语
0 |; e0 X1 N0 I1 y* t: V  
0 q$ T0 W9 e# H& R
+ U! ?% \) k4 w7 u5 t: c        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。7 _/ R$ ^1 D6 i! c3 R

+ {8 U, N, t) J. K6 n& y% F5 ]& W* M2 j7 b

# }8 j  C3 {* S9 r) y
/ b8 {7 r. h" K; u2 p: X

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-20 05:16 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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