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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

! V" \5 j& Y/ h8 X8 X2 {        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
) Q3 O* K# ]/ L0 I
% {2 @% L. j+ T  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
5 T" d) h7 T1 g
! D2 k* `! w8 M       1.Matlab Link for CCS Development Tools简介
: w. j- R- [" ]- f+ k$ T  
& ~2 O- u8 m/ l      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)板。
( J* ~" q1 E# X# U/ M/ }! K  
+ h( S$ e. t( d* ^$ O 3 W" |5 a# D; l$ V* ~8 x. q1 J
      CCS Link主要特点总结如下:
( b- J9 L4 }" |) s8 }( Y3 p  A  # W( J$ }1 G7 g- I5 w5 n$ ^5 o

$ V0 r) f" ]7 J6 ^. C        (1) Matlab函数可以自动完成调试、数据传递和验证。
- Z1 ?3 n. }4 S  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。- [4 v1 b1 v% d( V
  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。7 |! A: B, b$ O- |/ I- O/ e* ^+ ?
  (4)提供嵌入式对象,可以访问C/C++变量和数据。
' ]8 o' t; S. z0 G2 W! @: P$ A  (5)对测试、验证和可视化DSP代码提供帮助。
) q( J4 ~& r* N: K  i8 O  (6)扩展了Matlab和eXpressDSP工具的调试能力。
* W, t, M& U0 O  (7)符合TI eXpressDSP标准。 ; p! K3 w) f) Q8 a  w

5 G2 x8 r6 M( {% t* A- X         2    CCS Link面向 TI DSP的系统级设计方法
. U: O# I, y/ G9 E! f" T& `) f
( Y: s1 R* Y& d$ h+ J  CCS Link向用户提供了三种接口如图1所示。
- j- `, y! K( y2 |. ?, @
, n3 S/ i8 G8 c  2.1   Link for CCS IDE
! W* M: y( v' S! N* T# R  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。
: r. S0 Y- |: j9 o 8 n! n5 X2 b% _+ J  w1 L  y3 z2 |. v
  Link for CCS IDE的优点:0 A+ c' I1 U3 _7 C8 v/ V

- I; }5 ?9 H8 e' e/ J  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。; n1 o- F, U, s3 p) Q& p
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。
6 I0 ~' ]1 H6 k. I* a  (3)支持TI的C5000/6000系列DSP。
) ^; r' L$ l/ N  W3 s4 T
/ d/ q2 R/ X2 U  I( a  V       2.2   Link for RTDX
# V5 O) m# V  K4 @  5 D2 m3 U6 F& w
7 [, g' c: a& ?
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。- A1 ?0 D6 h" ~5 H) C6 W% L& ?% t
  * ?2 b: M" p4 S$ j6 ?4 N  D; {; z& C

$ Z9 R+ H/ G  U# {2 A        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。+ R: V$ ~  M6 O) i) s
  : O6 a7 Z3 [: ~+ Q

( w/ }7 u% r0 _/ F5 d5 @       2.3  嵌入式对象
5 T$ S( k% F5 ~5 f  
8 p% C9 Q+ [5 \9 G $ d2 u- p& f* i, s- D( j
      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。
7 l4 D$ b6 }: y5 m3 Z" o. X( Q* ] 9 M" }- N8 i- r1 n, k6 I7 _, g  S% x
       3    CCS IDE连接对象应用举例
: [# F6 S! K% G* C7 ~  8 _2 `$ p2 r9 s. I+ d: H
$ B( ~/ `5 M4 i8 e+ p* ?
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
. s( s" z3 h& _+ o  
. p8 Q6 g" h8 S 8 H; s( V1 }& Q3 H2 m5 l% z% Q0 k
     具体应用步骤如下:
/ V3 D  E2 G# k) S7 ]/ L( R  (1)选择DSP型号9 w  W# g: m" ~4 s
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。
/ D, o; n% G! u5 W6 Z. F  此处选择0号DSP:# ?: F4 W# B8 h' _. ?; W
  Boardnum=0; procmum=0;
! z/ L/ t! S& t& @  (2)创建CCS IDE连接对象+ C* o7 @6 h7 d( A' A' Y9 ^3 k
  cc=ccsdsp(′boardnum′,boardmun,′procnum′* o) E; @6 W. x/ Q/ N

" ~9 Q$ X8 I% ^3 p        xu_6x11.pjt是CCSLink提供的一个工程文件。* ^3 P" s8 C: E" x
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
! {9 h! ?$ C7 a# P8 i1 m; A5 }2 H: F' J7 _6 j* a2 L
      (4)在Matlab环境下对CCS IDE连接对象进行操作- T4 `2 `# ^$ D0 o- p' w+ s
  
( x8 }$ n5 {- {% K2 l
, n0 r8 h/ Z+ p9 _0 q) N5 l        利用CCS Link中的read和write函数来访问2个全局数组:  
7 q7 d0 u( ^( ]8 X  
) Z+ F( }3 u9 x% L0 Y" H: R
! \- V4 @6 |7 c  [0 u; [       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。  p/ u6 r5 r, ]  Q

$ P* L$ u9 S$ h9 p      4结语
) T7 v# f6 c; z6 |  
  E  H2 O/ T2 Z2 n* ? 0 N) t0 [7 ?" j5 k, @$ X
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。
9 y$ `" h  F0 p. h4 A" T& V, r6 b) N  s5 N- y; }) }9 U
' P9 Z1 m9 a# H6 c" N" g  Q
  p& \0 K4 Y3 A4 n; Z. b/ r
- e$ ^5 i* N* o- U" @

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 06:17 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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