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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

3 h/ O0 m. g8 D1 a  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。     K- }6 A" w, J
. R- T- s! v; e$ t  {3 y
       1.Matlab Link for CCS Development Tools简介
( `5 Z* G7 s+ n- t5 v$ X  $ v  o3 X3 `7 N; [+ M4 N
      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)板。
/ _3 P9 Z6 q: F  
3 o& |2 }0 L3 @7 s4 H1 W. ]
  y% B1 a# I5 `8 X+ c  e      CCS Link主要特点总结如下:5 {0 s7 i3 C: v' ^. f1 _. ~
  
- F) z) E$ @( H
0 V+ i  d4 |/ b! U        (1) Matlab函数可以自动完成调试、数据传递和验证。
2 ]1 T: q# X5 s2 K& t  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
1 q" d1 C: O; c1 k) _& C4 _  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。+ o4 n1 e: o: w* S% G
  (4)提供嵌入式对象,可以访问C/C++变量和数据。2 ~# c3 p0 s; A/ ~- P
  (5)对测试、验证和可视化DSP代码提供帮助。9 V$ u9 P8 c- T; W( B1 z
  (6)扩展了Matlab和eXpressDSP工具的调试能力。
& @: M+ K9 @3 B5 f( R  (7)符合TI eXpressDSP标准。
6 \4 M! p( x' r% \+ X  l/ T , H) E) m' ?9 ?- D% e. c% M, e' j
         2    CCS Link面向 TI DSP的系统级设计方法7 J# M( v* z/ v: M$ i

* n$ U+ A2 ?: ?0 T3 ?  CCS Link向用户提供了三种接口如图1所示。
2 D6 l# Y* T0 s  V6 m3 K5 t- n4 S1 K
; I& o1 _" m9 u7 `/ o  2.1   Link for CCS IDE
; b4 M# _5 I) H8 D5 A/ j( i9 R6 V  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。
1 H5 ~+ b  N3 U! R, j
1 U  B5 {: ]) w- i8 O) W  Link for CCS IDE的优点:$ \8 e% ^* }! I( d$ `
. K. W$ X) _( B. v
  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。0 i# K4 D- S, G# Q1 M% k6 |
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。3 _& I4 ~" H! ^$ F3 ?; |7 z: @
  (3)支持TI的C5000/6000系列DSP。 - b2 o: e3 g5 @1 I- i5 M  i
! k# W  G! [# Z5 T, x
       2.2   Link for RTDX
, b% Q5 ^* s6 E6 @3 g2 s( y  3 Q2 m* |3 T8 I' y/ `" L

2 R1 S4 u7 @7 k       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。
. T/ Z" `" S7 Q3 p  8 n  k6 z$ ?! G5 F$ I4 _$ _! x/ @* h2 S2 I
0 r. A0 \' {" N, J) j
        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。
2 ?9 U7 a/ o5 G2 n! F  ! a! B; t; M5 a7 [

% \! F" J7 G3 e9 `6 {       2.3  嵌入式对象$ I; L$ k+ F. L
  # _" K& V: ~8 f; P% G. p1 k

5 P$ k' ?" r9 b# U" r& E0 P      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。 ) `- K  h$ ?  {- k. W2 h

- R' _+ ]4 n% ?* S' b/ v       3    CCS IDE连接对象应用举例
3 p# C8 e( C# A  
0 P0 }6 Y3 n# `% N 1 ]: w& A1 h) q& s! J+ e- q& }, h
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
/ ?6 n( I) L) l- s) t  
$ X) i1 Q3 q3 \* b
) U( v3 \0 C2 H$ e- z( b2 B' ?2 o     具体应用步骤如下:
  ?+ d$ W1 \3 E) }, H  (1)选择DSP型号( z4 C! X, j6 Q0 H! m% K; v! }% W
  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。
. Z, E6 l0 n! L) y: ?) b. W  此处选择0号DSP:
2 U6 c+ V/ e; G/ B- C! G- {: g$ @# w' k  Boardnum=0; procmum=0;" M. s1 d5 n& B* d% \" s
  (2)创建CCS IDE连接对象
/ o" d8 y& D5 H% M0 v. r+ ?" T2 w) P  cc=ccsdsp(′boardnum′,boardmun,′procnum′8 Z; I8 d& M0 K  y

: x/ T5 \; ~% \        xu_6x11.pjt是CCSLink提供的一个工程文件。2 t$ p2 X; U8 c1 w- f
  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
2 \- G! w' i$ X0 L7 I7 ~5 w2 _% y4 Q% N+ ~! W5 m# F
      (4)在Matlab环境下对CCS IDE连接对象进行操作
* Y% B, M+ j) P+ R* H. o7 E: R  
$ u( d' C5 s2 K' i/ Q/ a* B
5 b' `8 F# g7 U. X: [: A/ z        利用CCS Link中的read和write函数来访问2个全局数组:  
$ j* T; ?: k1 `! G5 B. a8 I  - g' h+ Y* {* e' N

" W, N: \4 ?/ Z" R8 ~  G9 _4 X6 W       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。
( g2 {8 @: d6 i* T9 B: @
+ |0 g, p0 b$ r4 ]3 t  T( G      4结语% N, D% J" E( A- R. E
  
0 W& P1 r8 j# ?9 c( N$ d+ p8 B3 w ! m1 Z6 S" k9 E, R! ^: R1 ~
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。- j* F9 X6 m; H' \& b; c8 P4 [& L. r2 c
7 ?# j* ]0 Z5 ~6 [5 b

( E2 i6 A: W- S& r" {7 I6 J9 D; ^" H& N! H* J  k

  S5 H* T8 S, z3 e

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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