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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

3 F- \1 o) Z+ l5 S        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
0 H* R! k, L1 v
5 q! P4 A( [* e: Z- d  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   , o5 |  c! {, P5 {' N9 a+ f

7 J  K5 {/ N5 k! T* r1 P       1.Matlab Link for CCS Development Tools简介% S; y# f; I- ]! ]4 e. u2 ?
  
3 W$ ~1 ?/ d, G8 M# y3 E% P0 b% @      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)板。
# T' X( i9 I. K5 z  ; w) ^" h: W& _  }2 s
: A  ^$ s1 K6 |) x5 s8 @1 R1 D
      CCS Link主要特点总结如下:
% t/ j2 a4 y, p6 a. e  % Y8 j- p6 q  D" z5 e5 |/ W; F
- R% E/ j) s  \
        (1) Matlab函数可以自动完成调试、数据传递和验证。
' ~+ M9 c+ Z3 T& {5 }  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。% {- v2 J0 ^) e) J' D
  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。
+ }& r. o  ]' Y3 K6 K  (4)提供嵌入式对象,可以访问C/C++变量和数据。/ u5 k: Q3 D: ~% W+ {
  (5)对测试、验证和可视化DSP代码提供帮助。
6 t$ S: s; B6 ?! Z4 L  }  (6)扩展了Matlab和eXpressDSP工具的调试能力。
5 F! A+ z( n9 s4 {  V0 I, r8 t, |  (7)符合TI eXpressDSP标准。 ( f2 i1 z4 v9 G' Y  r
, b/ I+ x& I% U0 c
         2    CCS Link面向 TI DSP的系统级设计方法$ ?- L& V) t, }; U
1 b* k- o1 E. a* H: O
  CCS Link向用户提供了三种接口如图1所示。* L( m; N" p1 W/ ]) s3 [& B

4 v. P' ?2 p0 J# [  2.1   Link for CCS IDE) p- w# L: c; U' R* f
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。
. G9 w+ f2 D( q% i7 x
+ p: B# N! ?! ^; S* E  Link for CCS IDE的优点:
% d) T+ f7 a9 Y6 |
3 B# i0 l* X* `$ Y- B  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。6 A$ X+ I( P+ \5 J" T
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。! S( T3 ]/ V$ B2 r+ \* n' x
  (3)支持TI的C5000/6000系列DSP。
! |7 S( Q% D# g7 a
2 P- h8 _( _5 w* u7 ~       2.2   Link for RTDX
/ @4 W# T9 B6 Y6 A+ T" p8 `  % E5 J) ^+ ]* _
5 n5 w/ X0 `9 Z3 i- _6 t5 u/ `
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。
. Q6 t' X  P- i" F# V  ) Y- O; O3 S/ e0 P
1 @: |7 l) y, f- s
        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。+ ~% t; I) R5 p6 r! U  N- M3 M
  ; r1 B/ }. I- R7 u. A# q" F

8 w- N% d( ^2 e1 v- Z       2.3  嵌入式对象. s9 Y9 I2 ]8 R+ n' L7 F
  
, r$ m6 ]2 I& l" v/ e- s
$ ^. h7 D$ X7 q& U& w      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。 ! w' y* b9 z, [' S+ a$ S

) e( a: w2 W6 o" g  m8 u       3    CCS IDE连接对象应用举例
8 S0 [) w; A' s  {0 N! ^  : q0 E' s+ ]3 x* t& |
. ?6 x' y" K) M9 [/ k) ?8 a3 m
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。. k- p% X3 L8 X
  / W' K6 g' F6 n' }) w: E
' ^/ g+ z' N$ T
     具体应用步骤如下:% j9 a2 ~' y* p$ Z) E( u
  (1)选择DSP型号
& t$ a$ G( E" y  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。
7 ]& s. }+ i8 Q6 {2 W6 @  此处选择0号DSP:# A! j% ]% q) x% E: S) u$ c! T# E
  Boardnum=0; procmum=0;- x& Q1 W# |3 o1 G# U
  (2)创建CCS IDE连接对象
2 i) S" {/ P, I9 K6 U5 `# B  cc=ccsdsp(′boardnum′,boardmun,′procnum′- t: x0 n+ W2 Q# d0 y5 `3 p
) h! f' z+ i2 E3 f  N
        xu_6x11.pjt是CCSLink提供的一个工程文件。2 N" v6 y( e# \5 v; j
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
& Q: c5 M& R; L& n4 L" F1 J9 E6 ?& d$ J1 r7 s+ G. K3 |
      (4)在Matlab环境下对CCS IDE连接对象进行操作% L2 D/ D- r: G0 n! z$ L
  
' F; [: L, t* I- {$ D4 E+ w - M) k0 ]0 N% B' }* R8 [
        利用CCS Link中的read和write函数来访问2个全局数组:  1 Y5 B" }; y. u1 J
  
4 W, y+ x* f4 T, ]7 s- k
0 [. j- o8 M4 k' |/ C* S* f, h+ }       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
0 |9 s. \/ ?- ^# `2 F( j5 J. o: \. o0 b. f
      4结语
  d; R) E* j' u) c  9 j# A, S* ~1 V8 W# y5 d

/ E) ]) q* K8 O& t$ Q        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。% {" c% O- U+ _9 n5 T, R! Y

2 d2 S! a2 f+ _  {4 H* M; b9 `' R. b7 \6 H  G4 d
/ Q( x; c* L- r7 ]
3 o8 [. j; |& @; Y

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 00:39 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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