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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

) R+ h* ?0 t: _3 G6 `1 N4 I4 K        将开发设计阶段的算法用C/C++或者汇编语言实现,在硬件的DSP目标板上调试。因此,需要将开发工具CCS把目标DSP程序运行的中间结果保存到PC机的硬盘上,然后调到Matlab工作空间,与Matlab算法的中间结果进行比较,以发现DSP程序中由设计或精度导致的结果偏差。如此过程反复进行,非常不便。
$ W0 [, C3 Z' G5 b4 Q6 N0 I
: k4 y: K, @. F  为了解决这个问题,出现了系统级设计方法的构想。系统级设计方法的核心是将算法设计 和系统级设计仿真在统一的开发环境中进行,从而有效地将开发流程的2个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统结构、算法进行描述,还能够对系统不同层次、不同组件和不同数据类型进行建模。Matlab Link for CC S Development Tools就是为了完成系统级设计而出现的。   
2 I" A; Y# L+ S- U
% K% H! i& v' a& b  e       1.Matlab Link for CCS Development Tools简介
- U! F' h3 ~  m+ M  i( o  
! b/ J/ D) M4 `; i      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)板。
* a" I. I3 c. a5 Y6 H  1 @- a9 f3 H/ Q8 c: t

2 V2 h! J% r* Y9 J      CCS Link主要特点总结如下:1 [- L5 N2 S5 J4 G) A( N9 w
  + i( p# v1 k% m* @0 V
8 d. I& x6 A4 w! R. j# u1 m, _
        (1) Matlab函数可以自动完成调试、数据传递和验证。
, H$ s" x0 t: f  (2)在Matlab和DSP之间实时传递数据,而不用停在DSP中程序的执行。
; M  V7 o! L& o, h0 l  (3)支持XDS510/XDS560仿真器,可以高速调试硬件DSP目标板。) w' S  b# p. J+ j: s8 U8 w
  (4)提供嵌入式对象,可以访问C/C++变量和数据。. q8 S2 t$ _$ L5 k1 b( ^
  (5)对测试、验证和可视化DSP代码提供帮助。% Z4 \. I- T5 ^' w/ r5 x! P8 C
  (6)扩展了Matlab和eXpressDSP工具的调试能力。5 @) u6 z9 T0 e
  (7)符合TI eXpressDSP标准。
: h3 _& n6 g6 D - S7 K, I# |$ X' s
         2    CCS Link面向 TI DSP的系统级设计方法
/ h! \9 q( j8 v% Q  `% Z! b6 e 3 P7 G& F( I8 f) H7 @* a
  CCS Link向用户提供了三种接口如图1所示。9 O# d9 I+ @9 K$ B$ J

5 r  c, q2 ~; ]: c# e8 Z0 f$ j  2.1   Link for CCS IDE4 N9 k3 c( _: w" o) f1 I: o
  Link for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab 命令窗口下载运行CCS IDE中的程序,与目标内存之间(非实时地)交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。' w( t: `/ r  b" W8 f6 W. t4 L% N

* m( s9 [+ M' Z. h  Link for CCS IDE的优点:
0 y2 _3 ]4 u0 D " p1 `  v/ j: ]" o* G5 ~# z
  (1)用户可以利用Matlab强大的数据分析和可视化功能,节省设计和调试程序的时间。5 @7 C$ p: ]) K% ~; P. H
  (2)可以编写用于调试数字信号处理程序的Matlab语言批处理脚本,实现调试和分析的自动化。
& v) c1 ?8 g) I5 v- w  (3)支持TI的C5000/6000系列DSP。
" e8 L( ]" v5 q( ]. s6 i6 {* r  K0 \7 D4 W8 w- W) |) ?
       2.2   Link for RTDX
" `$ \( n" L/ a+ }" h; F+ I: ^6 [9 s  
) E" p% j: M: h( b& v
% g3 r9 A, t1 {; @5 X& S! U. O       DSP的实时数据交换(RTDX)允许系统工程师在Host computer和Target之间进行实时的数据 传输且不用考虑Target程序。这里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上运行的程序之间实时交换数据的一种方式。利用此连接对象,可以打开、使能、关闭或禁止DSP的RTDX通道,利用此通道可以实时的向硬件目标DSP发送和取出数据,而不用停止DS P口正在执行的程序。Link for RTDX实现了对实时数据的自动化的高级分析和可视化,实现了对复杂DSP程序的有效验证。
- r5 J* a4 S$ R: o/ e$ C3 a  * g% d; G8 c6 D

$ m  k6 z, F$ T" f) ^, M* E        例如把原始数据发送给程序进行处理,并把数据结果取回到Matlab空间中进行分析。RTDX 连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,他们不能分别构建。( ~5 h7 J& J7 I! @4 {+ b
  
4 K0 L7 y( d* O" q( } 5 Y1 I' c+ z  t9 T' Z1 M6 e9 ]
       2.3  嵌入式对象* b8 e" D2 }/ |/ W& g3 S' S/ @
  
7 o' l1 Z# ]/ s' M2 O! i 7 V4 X; ^/ @9 O: M
      在Matlab环境中创建一个可以代表嵌入目标C程序中的变量的对象。利用嵌入式对象可以直接访问嵌入在目标DSP的存储器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量对待。在Matlab中收集DSP程序中的信息,转变数据类型,创建函数声明,改变变量值,并把信息返回到DSP程序中,所有这些操作都在Matlab环境下完成。 ; x. R0 g% u4 Q0 `8 G* O! _

& `5 r) j: z4 O# _! Y       3    CCS IDE连接对象应用举例% F+ R! _# N" L: Z( t. c9 z
  0 t0 \1 Y4 ?- a3 g9 c' {
( I" w7 |2 [$ l
        CCS IDE连接对象提供Matlab与CCS IDE和目标DSP的连接。利用此连接可以在Matlab下控制和操作DSP中的应用程序,利用Matlab中强大计算分析和可视化工具来分析和对比目标程序运行中的结果,大大缩短嵌入式应用程序的开发调试周期。
" n& F1 j$ \- C  
* ]. _% V: u! W; B
; I9 o3 }6 z# a" _$ ]     具体应用步骤如下:
, |) g0 j. m0 Z! l# C' b  (1)选择DSP型号
2 I( B+ Q0 u9 O0 Q3 f  根据ccsfoardinfo函数列出安装在主机上的目标板及其DSP信息,从中选择需要的型号。1 h. z0 y% S, p# U9 L# S8 g/ z, u
  此处选择0号DSP:
7 @  g+ o  h( W( g8 R  Boardnum=0; procmum=0;
' f' N) w8 }+ D3 n1 w/ v  v  (2)创建CCS IDE连接对象9 g3 @7 T2 f- K' @
  cc=ccsdsp(′boardnum′,boardmun,′procnum′
2 ]" {) t& ~% |! |* f; l4 @  n
7 l+ B& F) r% T4 P9 a        xu_6x11.pjt是CCSLink提供的一个工程文件。
; [6 `! V6 x5 d7 ^% ]) Z  编译链接CCS IDE中当前的工程文件,生成目标DSP可执行文件:
; d& n- @! q8 L/ l
  `+ V/ g7 F; P" r* f; h* C, i      (4)在Matlab环境下对CCS IDE连接对象进行操作9 A7 R4 c! _, ]4 z
  
7 \4 V6 G8 L3 J0 b5 f; u8 F 5 Y! Z4 k6 g# `) a9 `
        利用CCS Link中的read和write函数来访问2个全局数组:  
- S4 ]0 y1 R1 |# y4 m% W  S    E/ D, M7 X; g' d2 a" P

1 P2 Q' {) g$ S; {' ?3 ~" r( L       从这个例子中可以看到在Matlab环境下操作DSP中的变量或者寄存器是很方便的。这样就可以在Matlab环境下完成DSP程序的仿真调试。而不用像传统的开发要把DSP运行结果调回PC机验证,方便了开发设计,缩短了开发周期。0 Q8 l: d" |2 _

; G$ C) P, Y6 u      4结语
& X  ]* D& V. @. r  # Y& i- H8 t4 S1 v+ o: l/ s
8 o& X0 A( P0 v
        应用Matlab对DSP进行系统级的设计极大地改进了传统的设计方法。Matlab系统级的设计环境,有助于在设计早期发现错误和应对系统复杂性不断增加的挑战,方便了复杂DSP应用系统的设计。7 ]+ |7 }, v+ ?: R& `4 I

0 i2 p) _1 O0 U# Q/ `1 t  B
2 d) `- m8 k" A4 C# ?* C" E9 w' Z! L$ I6 ]

% Z& q* n& R" h% J4 B

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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