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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
传统的DSP应用系统设计流程分为2个部分:开发设计和产品实现。在开发设计 部分完成 方案设计和算法设计与验证,一般用Matlab语言进行仿真,当仿真结果满意时,再进入产品的实现阶段。
$ r" }) k# D: i* y+ `
        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。  Q& l9 a% j, T% B. L

3 |' c$ }3 d' J/ h7 D  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
8 H9 v' Y5 f7 o# _; Q
! |2 H  w6 K6 A& _       1.Matlab Link for CCS Development Tools简介. D: }+ u& F4 P% R$ [
  1 n0 n& Z# X$ K7 \% X6 j0 O
      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 _: e3 F: ]0 z" |" M; c7 p5 M" \
  
+ D/ V: V, c& a5 X% M* C , l/ P0 Z4 J% f3 y
      CCS Link主要特点总结如下:
) T7 W- j; c: f0 ]  
0 E( z  Q- t- W0 M" T$ x. ~
( M* e$ C. E* B+ x" J- m8 S) p        (1) Matlab函数可以自动完成调试、数据传递和验证。
# q" ^& t5 b$ l; d2 w& h" n  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
, v/ D3 C2 k1 q. o4 `  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。
5 A$ }" B5 M  _  ]7 \  (4)提供嵌入式对象,可以访问C/C++变量和数据。
" d: R( L, {' m  (5)对测试、验证和可视化DSP代码提供帮助。
8 a9 ~' v. H. n2 b3 l3 d& x  (6)扩展了Matlab和eXpressDSP工具的调试能力。
8 G' O: X5 S/ n4 [2 E  (7)符合TI eXpressDSP标准。 ! \5 X9 T" h+ V! |6 a& g3 r+ v
$ k- }7 h3 k" p% Z5 m  R; W
         2    CCS Link面向 TI DSP的系统级设计方法2 b* {9 u; q* k8 S
* j! ^% @1 ~4 u2 e- u
  CCS Link向用户提供了三种接口如图1所示。
) ]& E4 r! N. u, Z+ k% J; j6 R/ G - L" x* m4 X( B9 t
  2.1   Link for CCS IDE) K- R* ]0 @  W0 p$ N
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。
  E" D" I' b. t7 P: F( Z 9 ~, k& {/ m( R1 z( ]) d
  Link for CCS IDE的优点:8 }% a3 D. S# i4 e

4 M# [! b3 \9 D$ U  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。
% S. J0 E& l% q( H1 v" [- p& ~  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。
/ {9 ]3 h% E0 u8 j4 L  (3)支持TI的C5000/6000系列DSP。
8 {, D! `" o% `8 [0 n, R- v  `) \/ t: M/ q/ J' [: F! V
       2.2   Link for RTDX& p0 c2 x& s8 L8 ?
  
* j0 v0 V" L7 a) U) ?0 [ & u3 e7 a. d) F$ u1 ?) |% ~5 Q4 R
       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。' Y& C( w* P: e
  8 x! w" ]/ V9 W2 W% b

* @; O, ?, n' h; k0 s0 W        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。
# `: r, L( v# U  x& Q3 I6 o  ' @4 S( l4 g5 `5 g  r' R3 x% n; k. Y

* [9 V7 E- j+ s4 V8 V+ F. |2 a       2.3  嵌入式对象
( T4 ~1 d: O/ w7 i+ y  - H1 M  J0 M6 S4 `7 A( K1 y
( S* \0 a: K; o3 e. T: c# U* M/ q
      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。
& @! v( S; S' ?: |* B , {- u4 y- |- K/ s' @$ B
       3    CCS IDE连接对象应用举例
; |, D+ w0 \/ C4 g2 z) f* U  
' [' k& J, X% u( O5 Y: I ) i* n' J7 y( z
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
- g( S$ B5 x1 O* F& k+ W  
. p4 Q0 B& T( c1 Z6 G
% h+ v( d6 R( `: ~     具体应用步骤如下:
+ P/ |3 U% d: ^6 v" A  (1)选择DSP型号/ ~: f& V# b( P# V' `8 u
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。
0 f$ i6 W! Y" C) p: R( X: H  此处选择0号DSP:
, p) c% q, U6 l3 ^( Q2 E  Boardnum=0; procmum=0;
, x4 c0 t$ V6 V# F9 N* D  (2)创建CCS IDE连接对象# C1 W' x9 r+ r
  cc=ccsdsp(′boardnum′,boardmun,′procnum′% w& k  K, F0 v  a

; ]  F6 W+ a& W0 N. X! O/ x        xu_6x11.pjt是CCSLink提供的一个工程文件。
5 j" ]6 [& f1 ?5 r  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
+ ?& q, f! Z# z2 _5 x2 Y0 L6 j6 C' @, b+ P
      (4)在Matlab环境下对CCS IDE连接对象进行操作
6 V0 G) @) j+ f* i, j" O* k  
# j' V, T' x5 Q
0 P( ^8 b: B: y  M( m        利用CCS Link中的read和write函数来访问2个全局数组:  6 _& X- n. T' m$ h. U- A
  1 z3 K/ `0 v4 T8 P0 e; q
0 _/ s+ w& F# R6 O* \) N
       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
( u( Z% ~7 y1 b4 l
& |) Q- P5 |, @% N" S      4结语5 i* W9 N, j# e: s" x5 `/ x" [9 _
  
7 U' C) I, R9 J: ~7 ?8 O3 K, s! p/ @! ?
: v: g4 X; E) a$ Y8 F        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。1 q. J+ i! _8 S4 L

( K3 W. B/ L/ ?% }/ I6 x! R6 \. C( N, a0 y& P
0 p  @7 y' F7 X7 j
- s  q% T- R3 @$ V+ \

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 19:58 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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