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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

/ f4 ^0 F. c$ B2 {" J        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。, [' H9 P: y" J! ^
/ J2 v. `+ ]  `2 K8 U  {
  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
8 `) ^/ z0 p5 S + a9 o* U& D9 D- t
       1.Matlab Link for CCS Development Tools简介  l8 i* B2 Y% L* {8 p
  
7 u  K) q! O+ h% H2 g: l: R      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)板。5 a0 V% d2 h7 D* b0 P1 G
  
- t: c- d* P) s6 j' l# V + I0 A1 n) j. m( c
      CCS Link主要特点总结如下:) L: H6 O$ S2 k* ?# K$ c# x* q
  
) h8 w: T/ i0 `( B ' Q5 `7 Y. f0 R5 Z
        (1) Matlab函数可以自动完成调试、数据传递和验证。  z$ a7 e. |) J$ I
  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。: H: A$ t4 t% u$ Y3 X* @
  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。
. z7 R* @$ e. ~! t  G  (4)提供嵌入式对象,可以访问C/C++变量和数据。, B1 u0 J' Y" k' M3 M+ N
  (5)对测试、验证和可视化DSP代码提供帮助。
7 Q( L) u! o, |) c) [+ Z) ]  (6)扩展了Matlab和eXpressDSP工具的调试能力。
6 `5 U: Q. c  ^+ i# D8 b1 f  (7)符合TI eXpressDSP标准。
6 p2 A; j' N& Y3 g" H1 W2 \ & {" U* g& F$ s# ?9 g! _9 }$ e5 ~
         2    CCS Link面向 TI DSP的系统级设计方法
; z) B; J# D- n. H# Y" u! y0 ?: [6 P
% w: e2 C. Q' U  CCS Link向用户提供了三种接口如图1所示。' U! ~  e4 j& n- \, M

6 g. O* K. J5 ]" P  2.1   Link for CCS IDE# ^0 O$ U% K% k8 P  e
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。+ i4 X- T7 _: `5 `1 a$ q9 z( _
- I% }0 Z! V; Q* q
  Link for CCS IDE的优点:
. r4 Q4 g3 A5 f5 U; d( B
0 t: y7 e5 _' Y" H, D- q+ \  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。
9 L% c0 H; y9 @. E+ [1 g7 H' C  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。
" h5 G/ `( u5 {. I3 Y  (3)支持TI的C5000/6000系列DSP。
( z7 A$ O- p, [4 S" c( Z) K) t6 F* t8 v" \0 T
       2.2   Link for RTDX
' G8 n: i, ?# p  
: o( D0 g$ w0 U. B2 v1 n0 ] ( ]8 q) w. m9 A: g! k
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。1 S; R( N8 x& ]3 y' j
  
8 X& E- X' s6 l' v) |5 K
1 Q! K% }1 l' [/ [        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。
# }, b$ U8 S! C9 X  
6 N5 G/ v2 ~- g2 o
: \; k& t* y" C: Y3 Z) S" x       2.3  嵌入式对象
% D, m2 B; g& b) l2 B. R$ s  ) w4 H- v1 _, W% N

+ K. k& N' q' A      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。
0 K! a0 }+ e0 D1 P' h" C
7 K7 R* I& B8 e2 a( g8 I       3    CCS IDE连接对象应用举例5 A! O9 q7 p: ~: R5 R
  $ B& l; t( w/ ?

' t& B+ z  `2 K% W2 o; k& i        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。; s7 P8 M4 A& `' P
  
" j# c9 r6 Z, ~8 W/ F; G) o 3 A2 V4 [$ U& H
     具体应用步骤如下:
$ U+ F! {, U* P! j# H  (1)选择DSP型号
; u) ]( [' s! t. a  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。6 {3 `7 M4 x# n0 M
  此处选择0号DSP:
2 c' }" u3 }( n' q5 |  Boardnum=0; procmum=0;  g  u" n' Z& M  z: q6 Y
  (2)创建CCS IDE连接对象8 L1 B( h; a  {: F' ~& M* A" Q
  cc=ccsdsp(′boardnum′,boardmun,′procnum′
$ y- P" Q3 V2 }9 j% j: r
1 l' {3 K) w# I- d- j3 H! ]. S% i* W        xu_6x11.pjt是CCSLink提供的一个工程文件。# D" b$ n# f/ B: g5 g+ i. @
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
0 V" @; N9 L, M( ]) s. ~
+ C/ T% N: A0 T7 C( n      (4)在Matlab环境下对CCS IDE连接对象进行操作
* a0 E' }- T4 A5 f, ?: p* w' L  
3 c5 _3 ?+ d$ [/ f3 K' B
; n7 @4 q% ?# [8 g7 {7 P+ x        利用CCS Link中的read和write函数来访问2个全局数组:  
2 G5 T1 G1 S0 o  
$ L% M5 J4 h; G' F $ c8 G0 \* c' B; I# I
       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
  A8 y$ F" V4 _. T
* d3 l8 r7 {; b; b" V- T( J0 o5 @      4结语  @2 v+ t( C  n+ x: S6 ^
  
# ^, B* u8 |$ s* I' A% H/ `, s / j! Y7 {9 D+ h& X. k# ?( K$ y% M
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。
% v2 l/ }6 U* n# G) k$ W/ d; L3 ~' s; r5 \

6 }/ f  N5 f4 L6 T7 |9 t" G2 X: n- x. h6 p
7 Y" ^9 r/ @4 {% x$ z

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-22 00:53 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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