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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

% T  x" \. u' E        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
: ^& [! x6 E5 V- n3 u0 o1 L 0 a4 |2 n9 C( c4 x
  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   . H  r! D5 i! c; j/ d  X8 A' K
) v' R) h% W: M8 c7 y: B
       1.Matlab Link for CCS Development Tools简介9 g: ]5 z: z  I3 o5 e% X% p
  # a# Z7 h( }- u, w, N  S& T. Y! 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)板。4 C8 Z' i$ k! ~
  
8 x: m; P" z" x1 T' L! Z 8 b# m, _- R" ]4 f6 r
      CCS Link主要特点总结如下:$ [0 g, ^$ O% `  u, P  Q+ R
  
4 W7 d, _3 c+ D8 u ! j4 Y8 V0 Q" X; C6 b  d5 z
        (1) Matlab函数可以自动完成调试、数据传递和验证。: B4 {; }1 Z6 n" m$ V# U: c
  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
0 @# w8 r7 k" q$ U2 @7 B  O2 T  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。8 {" z9 T" C) n. k$ A
  (4)提供嵌入式对象,可以访问C/C++变量和数据。
. {- Z! E( G$ S  (5)对测试、验证和可视化DSP代码提供帮助。
* {4 ^) w; I' Q8 H4 `  X, i  (6)扩展了Matlab和eXpressDSP工具的调试能力。
  }! V: C( G8 B5 Y+ V  (7)符合TI eXpressDSP标准。 , u; L* h( m& ?- e! K- N2 ]) _
+ @+ G$ y; x& Y' k/ O; b
         2    CCS Link面向 TI DSP的系统级设计方法
8 d7 |% T! o- b1 j
1 A7 b! A: K7 C& c* q8 N  CCS Link向用户提供了三种接口如图1所示。3 x2 q' X" a, o2 P& x

2 P; u: Z* x7 R5 E" m4 N  2.1   Link for CCS IDE
, T0 W4 e- [/ v+ V# ~  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。8 K" A" M- \: g$ L; n7 U) o
( e  D9 v2 j0 P3 q
  Link for CCS IDE的优点:) |) O; F3 o% h. [
! \# C0 z$ k& Y# W, s
  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。# {2 J# a, \- }% l# M
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。4 v6 d4 Y5 e! z
  (3)支持TI的C5000/6000系列DSP。 . |4 ^" J" j2 T

, t( c* O5 M8 T" ]6 D. K       2.2   Link for RTDX
  r/ Q, W5 b5 j+ z  + ]8 d8 s% \/ L/ L! ^+ P8 X1 S9 ]8 F

7 m0 w6 F4 [4 C: b! [( O5 T6 T1 Y       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。3 J) \0 M4 s1 @: h
  
# P" o" M6 W3 |6 n 0 D3 F$ V/ V# g2 \* K
        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。- A# w9 V' {* p3 V1 L5 g  m" U4 [
  
3 v  d8 b. a4 z  Q3 I: T
/ M2 I) i! c  f# q$ x* T# t       2.3  嵌入式对象# K6 z+ W! }) `3 F6 z
  
8 k# B# B- t. _" o) h! b 7 y9 x. `% d7 s2 c2 ?$ N0 s. ^
      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。 6 }1 g4 v& Q8 J6 n5 V- \& M

& g1 j/ ^0 h% y* N       3    CCS IDE连接对象应用举例
: x. F/ j" z& i  
, X) V% m# b* ~- o) \0 l5 \8 x : H1 i; V1 z- G) ]
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
7 Y+ a) ?2 _+ U$ n  
0 C3 i8 O% `4 T' K, p 1 _) b6 s& }0 b) l
     具体应用步骤如下:
0 g8 E2 _- e- U7 P, U  (1)选择DSP型号# f0 M  }4 h/ N2 X, }0 O
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。6 ~& a: r0 l/ h8 \8 G: C
  此处选择0号DSP:3 x6 r- Q: |* Z7 E4 l  S. \  l" G
  Boardnum=0; procmum=0;" v1 j5 f5 H  @
  (2)创建CCS IDE连接对象
% `/ O% N" i3 N! u  cc=ccsdsp(′boardnum′,boardmun,′procnum′
5 j/ r6 x4 S  x* \9 B2 g
/ x2 W& Y7 Y/ n* b        xu_6x11.pjt是CCSLink提供的一个工程文件。
2 F$ s: b& O0 u. o$ c  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件: 2 E" \5 |$ ~. M) Z7 C
. W' m+ H2 L) S
      (4)在Matlab环境下对CCS IDE连接对象进行操作/ V) {" Q* g3 F- Y$ e9 b! S
  
& e# O6 s; i' ~" T + O' d/ A. w: x2 O
        利用CCS Link中的read和write函数来访问2个全局数组:  
+ s. b2 E1 b; x0 i8 i% t) B  
# |2 d/ L, B4 j8 ^  O# X* @
/ F& y' U  c  z0 {) e4 g4 ~       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
* X( r: S0 O0 i( p' v! _! Y8 ^% S0 S! ]1 z; u+ a* z' Z8 L- ~
      4结语
  z  }  Z) {0 a0 _0 U+ @# G  + ?% ]. ?) }& w. t, i
8 @7 C5 ]4 H/ j% [" }# H
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。
$ g6 P' R7 U( w9 F* N8 I4 |- H/ _' T$ A5 a8 j0 v( k/ e+ c# z

: v$ V  Z) `, @
- c3 ^% |: S/ e
7 \6 T& U3 g+ K: K+ A) Z3 q# _

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 21:37 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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