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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

1 g4 H" E# Z! Z( q3 e, E        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
5 k: {* x; r% {' b0 ?3 R  p
* a( Z8 L3 P% ^: b  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
0 A, e% _% n4 k
! N" h% K7 ]0 ~) d8 s       1.Matlab Link for CCS Development Tools简介4 Z7 s3 A8 X* J4 ^% l' s* N* a
  
- v* r0 T+ M6 z      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)板。7 X" d* Q* J: C' u2 A
  & R5 Y, I# H8 u% C

1 e6 k! D! R  L5 _      CCS Link主要特点总结如下:- W" D# @: l1 Z4 J  i" D
  
0 j) u8 K4 C; x1 A
% I5 u8 Q* ?% W! o: T  J        (1) Matlab函数可以自动完成调试、数据传递和验证。8 L, t0 f" t% F; g2 U% ?* y
  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
3 e8 r3 J; ]# h1 w  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。
$ j0 W! W7 x' k6 T5 F6 ~8 W  (4)提供嵌入式对象,可以访问C/C++变量和数据。6 w7 p% |% i8 ^
  (5)对测试、验证和可视化DSP代码提供帮助。+ m, a; P1 G' `( E) R
  (6)扩展了Matlab和eXpressDSP工具的调试能力。
5 B' @0 g( C2 Y. l9 a; y) X. w  (7)符合TI eXpressDSP标准。
1 f, z* k1 A0 q9 u / }7 z, j2 T1 ~7 r' N" Y8 E
         2    CCS Link面向 TI DSP的系统级设计方法2 T* y( z; O4 @

3 A, g- W; r) h9 E  CCS Link向用户提供了三种接口如图1所示。
9 P. s* m( l8 @- M 6 G' v9 O$ X/ E8 q8 G& Y+ l$ ^
  2.1   Link for CCS IDE
  U' p# a3 a- M  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。' J1 A3 p# t; r

" e* D9 h7 l. c9 [- m7 W. ]  Link for CCS IDE的优点:0 p" t8 w# S; Z

0 y9 ?- R8 b0 ?/ q  H3 Y' j& A4 `4 S  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。
0 O- _$ L2 W- @0 w% \  R1 u  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。* g4 A6 g* f, X) _% f$ \8 |( v
  (3)支持TI的C5000/6000系列DSP。 6 {3 X- e( F2 m6 o/ K8 U* @/ e
( V, K. f1 _! n( Q) n  b
       2.2   Link for RTDX
) _/ V2 S( i8 R; Y# |  
: E" P; V) R2 t, u! _/ [7 U- {( m
% C# r0 E3 W- {" B" ~( r5 k       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。) N/ `+ l$ W" ]7 i& F; w4 w* w8 Q
  . n$ r: ^* z! D

( n' u7 _' k" j0 [8 K        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。2 K" ^5 v; M" E1 K# N; z
  $ U& \% P; R) r

6 g+ T2 T% K8 c. e% \6 U& E. w       2.3  嵌入式对象- a2 ~9 p% Q+ K" x
  * X" m$ t2 e& A

  M: V. ~  e  w8 D6 c      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。
$ c: X; I" L/ y2 b" v; d6 M' z2 }
1 D( Z. R. W! _; k3 Z       3    CCS IDE连接对象应用举例  [$ g/ h2 }( r7 `% g8 L
  
  M0 t  ^0 o2 {" i* U) y/ T9 d
+ c- ^. `! H2 \  r% }        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。6 g8 p/ V/ q5 D+ z7 V( I1 V
    G' ]6 b6 [( C" m

) g1 W; P: c! Q) G     具体应用步骤如下:6 _- r: `4 m: b1 B. ~* t- B5 {
  (1)选择DSP型号
+ f4 e$ i  \" X" ^( e0 R  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。
. g# X& v0 v- `( Q  此处选择0号DSP:
# A+ K8 @. d5 V% ^3 L) ?' L( a' C. e  Boardnum=0; procmum=0;
( Q  h- E; x6 i  (2)创建CCS IDE连接对象) R9 q9 A) o: w$ j  p
  cc=ccsdsp(′boardnum′,boardmun,′procnum′4 X% S! I) u' M+ _5 |5 L  p7 A

3 r7 v6 W$ F- l3 v* x4 E/ v3 g        xu_6x11.pjt是CCSLink提供的一个工程文件。
" q! Q: ?, ^0 K# d7 R  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件: , S& E8 h3 R, t! k7 X5 V

1 O: `+ d: f& Q0 ^+ x2 ~: Q: G0 x% e6 ~      (4)在Matlab环境下对CCS IDE连接对象进行操作& j# O/ P, k" U5 o* `! L
  ( q7 _( Q: c# e" D* x6 I& T

7 N; N( u7 N. o/ |1 x        利用CCS Link中的read和write函数来访问2个全局数组:  
6 l' Z, F1 q1 @5 _* D! a  K  + b/ T+ }  a; ]/ a+ Y( X7 {
8 N8 n/ Y2 D1 z) Q, r
       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。5 a7 g4 a" ]# S; u  y9 s- [
: W0 t- m# W' G9 W- _
      4结语( q+ j/ c5 g, g2 d6 G1 j+ _
  
3 K2 a( v" Y: y: d( J4 c
- G( e8 @9 _+ q: `: R1 t        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。) E4 Y9 ~8 X0 p4 ^

5 ~( _/ c; F. E# W5 o$ g
9 T1 q5 B( T  p) T) x! Q* w1 h
$ g3 J* J+ G* W2 N1 A3 B& T
3 F1 Z, E/ l0 F- _" g% [

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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