工大在线
标题:
DSP系统设计100问
[打印本页]
作者:
刀刀
时间:
2009-4-8 00:00
标题:
DSP系统设计100问
一、
DSP
系统设计的七个层次
IC -> Hardware Platform -> BIOS -> OS -> Function -> API -> System
二、
DSP
系统设计中的常见问题
(一)需求分析阶段
(二)硬件方案选型阶段
(三)算法方案选型阶段
(四)硬件设计及调试阶段
(五)软件设计及调试阶段
(六)系统联调阶段
(七)文档建设阶段
硬件方案选型阶段
1
、数字信号处理器是什么
?
数字信号处理器
,
简称
DSP,
是运算密集型的微处理器。这使得
DSP
完成滤波器和
FFT
算法比一般的事务型处理器快的多。
DSP
的另一重要特征是采用改进的哈佛结构,具有独立的数据和地址总线,从而使得处理器指令和数据并行,与冯诺伊曼的结构相比,大大提高了处理效率。
2
、开发
DSP
项目需要什么工具
?
与传统的微处理器一样,一个
DSP
项目需以下几个指标:把算法转成机器语言要使用
"code gen tools"
,它主要包括
c
编译器,汇编器,连接器,代码生成器,闻亭公司为
TI
各个系列的
DSP
提供了这样的工具。为了验证这些算法需目标
DSP
来执行算法。你主要是围绕自己应用中的某一
DSP
来设计自己的硬件。先让硬件工作起来,可以使用现成的目标板来规范代码。目标板从闻亭公司获得用来支持通用的
TI DSP
。在调试过程中仿真器对控制
DSP
运行是必不可少的。闻亭公司销售工作在以下几种调试软件下的仿真工具:
C2XX
、
C3X
、
54X
、
C6X
、
C8X
。闻亭公司仿真工具支持的调试软件有:
TI Code composer
、
Code composer studio
及
C Source Debugger
。闻亭公司研发和销售的通用高速信号处理器板级产品,可应用于:雷达、通信、导弹引信、软件无线电、电机控制、数据采集及图象处理等,可帮助用户缩短开发周期及提高目标产品的可靠性。
3
、什么是仿真器
?
仿真器是硬件电路,可以让用户借助指令系统控制
DSP
运行。闻亭公司开发并销售以下仿真器:
C2XX
、
C3X
、
54X
、
C6X
、
C8X
。这种仿真器可通过
DSP
上的
JTAG/MPSD
逻辑与
TI DSP
通信。仿真器连在
PC
机的并口或插卡上。仿真头的电缆为
6-8
英寸,连接仿真盒到目标系统。
4
、闻亭公司
TDS510
仿真系统主要特点:
目标系统中的
DSP
芯片全速运行;
实时监控所有运行状态,包括多个变量;
14/12
线目标仿真连接线,兼容
XDS510
连接方式;
全存储空间仿真;
可设置多个软件断点
;
软件跟踪
/
定时;
单步
/
断点执行指令;
装载
/
卸载程序存储器和数据存储器;
菜单式多窗口调试,采用
TI
公司仿真软件;
系统采用大规模
FPGA
技术,
PCB
面积大规模缩小,
IC
之间的连线缩短,这些设计和工艺上的革新使得本系统的可靠性大大提高;
软件方式设置端口;
易于升级。
5
、
Debugger
是什么?
Debugger
为一种调试软件,工程师或程序员可以用来验证算法。
Debugger
可以访问带以下命令的
DSP
硬件逻辑:
(Start
、
stop
、
read/write
、
register
、
reset) Debugger
支持
C
或者汇编调入算法及源代码。此外,程序和数据存储器,寄存器和其他相关目标均可看到。
Debugger
也可完成算法分析及把数据下载到目标板上。
6
、主机系统是什么?
主机系统是开发工具运行的系统,这些工具的例子是与仿真器通信的
Debugger
,源码生成工具,编辑器等等,主机系统是所有程序源文件所在之处。
7
、什么是
target?
目标板是一个术语,用来指有
DSP
芯片的
DSP
系统或印刷电路板,你的算法在目标板上运行,
JTAG
仿真器与目标板相连。
8
、怎样理解
JTAG
?
JTAG
是
Joint Test Action Group
的缩写。这个群体定义
IEEE1149.1
作为
JTAG
标准。标准的建立使得集成电路固定在
PCB
上,只通过边界扫描便可以被测试。
TI
绝大部分
DSP
均采用
JTAG
接口。
9
、
MPSD
与
JTAG
的区别?
采用
MPSD
方式由于
TI
早期采用边界扫描仿真器。这只在
TI C3X/4X
系列
DSP
使用。连接
C3X
系统
MPSD
连接器为
12
针的头,而其他系列
JTAG
连接器为
14
针的头。两种针的定义在各个系列的数据手册中描述,两种方式不兼容。
10
、扫描路径仿真器优点?
边界扫描有许多优点如
"
内电路仿真器或
ICE "
或基于
debugger
的工具:
利用很少的空间放置
JTAG/MPSD
连接器,如必要,系统可放在机箱内调试。这意味着
DSP
可焊在
PCB
上。
电缆不需与目标板通信
目标调试工具不需要。这说明出现在目标板上的软件大可不必开始调试目标板。你的算法不必加入调试软件,因此节省了代码空间。多数情况下,你的算法不需要接口(
RS-232
)与主机开发时间。
11
、
边界扫描仿真器缺点?
边界扫描仿真器不能提供真实的路径,因为
JTAG
逻辑没有通向内部地址和数据线单元。除由
IC
生产上提供的某些片内调试逻辑以外,对所有的
JTAG
仿真器都是对的。
12
、闻亭公司的仿真器使用何种主机系统?
闻亭公司仿真器可运行在笔记本,
IBM PC
机或兼容机上。由于可插在并口上,对
TDS510PP
不需专门的卡。这说明仿真盒可在计算机之间换用,而不需打开机箱,拔出卡。使用插卡式仿时,
ISA
卡要安装在机箱内,如果工程师使用一台机器在实验室开发,另一台现场调试,那末采用并口开发器较理想。
13
、闻亭公司仿真工具是否可以在
UNIX
操作系统中运行?
不可以。
14
、闻亭公司仿真工具需要什么特殊的硬件?
闻亭公司并口仿真器(
TDS510PP
、插卡式仿真器)需要的硬件为
PC
机上的并口,即
LPT1
、
LPT2
。大多数
PC
机都有一个
EPP
的并口设置模式,这是运行闻亭公司并口仿真器的理想模式。第二个运行仿真器的最好模式是标准的或双向的。插卡式仿真器需插在
PC
机内的
ISA
槽内。
TDS510EPP
并口仿真器也可与
TDS510 ISA
插卡式仿真器同时工作。
15
、
C3X
仿真器能否仿
C5X
,
C20X
,
C24X
,
C54X
和
C6X
的
DSP
?
可以用一套闻亭公司
TDS510-ALL
实现仿真所有
TI DSP
。
16
、所有闻亭公司的
EVM
板和仿真器都能一起工作吗?
对。所有闻亭公司的
EVM
板均有
JTAG/MPSD
连接器,可与仿真器相连工作。这些连接器与
TI
公司仿真器兼容。
17
、我能使用一种调试软件来调试
TI
所有的
DSP
芯片吗?
一般来讲,不可以。因为每个
DSP
结构不同,
debugger
只对特殊
DSP
互用。某些
debugger
也可用于多种
DSP
,但购买之前,应检查一下
debugger
或仿真工具的供应商,例如
5X,2XX
系列可是用同样的
debugger
,这种情况
2xx debugger
却不能应用在
54X
或
3X
系列上。
18
、
TI's XDS510
仿真器和闻亭公司仿真器的区别?
闻亭公司仿真器支持
TI
各系列
debugger
调试和软件。同时闻亭公司并口仿真器(
2XX/54XEPP
)与
TI
不同之处在于
TI XDS510
需
PC
插卡。闻亭公司并口仿真器是用计算机并口(
EPP
)。闻亭公司仿真器支持
TI
仿真器支持的
DSP
,还有更先进的
TDS510-ALL
与
TIXDS510
兼容。闻亭公司
TDS510-ALL
也需
ISA
槽。闻亭公司仿真器与
TI
不同点就是价格。
19
、
TI XDS510PP
与闻亭公司仿真器的区别?
两者没有区别。闻亭公司仿真器与
TI
实现功能一样。
20
、开发完成,生产后,
MPSD/JTAG
连接头应该从电路板上拿掉吗?
生产完毕后连接器从目标板上拿掉。为什么?因为
MPSD/JTAG
连接器仅用于现场查故障或维修。
21
、谁家的调试软件可用于闻亭公司
TDS510-ALL
仿真器?
闻亭公司
TDS510-ALL
仿真器支持
TI
高精度
C
语言源码调试,
GO DSP Code Composer
。
22
、
Debugger
能同时调试汇编和
C
代码吗?
可以。
23
、当我用的是汇编语言编程时,为什么我要买
C
编译器呢?
在所有系统里,必须写的代码是汇编语言,这样做有几种原因:执行速度,代码编译效率。用户购买
DSP
有一个主要原因:速度。事实上,只有代码的某个部分需为速度而优化,通常是滤波,
FFT
等。余下代码是控制代码,可用
C
来些。我们都知道用高级语言
C
来编程,程序产生大的代码。最典型的应用是用
C
编程,用汇编优化。此外,使用高级语言可加快产品开发周期。
24
、闻亭公司仿真器和调试软件运行在什么操作系统下?
闻亭公司仿真器运行在
WIN95,WIN98,WIN NT4.0
(
C54X
、
C6X
)。
25
、闻亭公司对
DSP
设计有什么专门应用硬件?
闻亭公司有针对音频应用的
DSP2549EA
,作为电机控制应用的
DSP2240EA
26
、
EVM
板上
C203
和
206DSP
芯片可以互换吗?
当
DSP
出厂后,
DSP
焊到
PCB
上,熟练的再加工技师可以换零件,然而产品保修没有。
27
、
EVM
板上
C548,C549,C5410 DSP
能互换么?
当
DSP
出厂后,
DSP
焊到
PCB
上,熟练的再加工技师可以换零件,然而产品保修没有。
31
、
TI
编译器
/
汇编器
/
连接器能与闻亭公司
EVM
板和仿真器同时工作吗?
TI
编译器
/
汇编器
/
连接器与闻亭公司
EVM
板和仿真器同时工作。
32
、闻亭公司
TDS510PP
仿真器能与
DSK
一起工作么?
如果
DSK
有正确设置的
JTAG
(
2x7
)或
MPSD(2x6)
连接器,闻亭公司仿真器可以工作。
33
、
C54X
系列的各个小板除了芯片不同以外,还有其他的区别吗?
DSK
都包括什么,是什么界面,和仿真系统有什么不同。
C5000
系列的最小板的功能是一样的。区别在于芯片本身。
DSK
是
TI
的
DSP Starter kit
,它是一个
DSP
的最简单系统,用于用户认识
DSP
,目前产品有
C27X
、
C31
、
C542
、
C5402
、
C6211
几种,
DSK
是
TI
或
TI
的第三方生产的,如有需求需要从美国定货。
34
、
DSP
的内部时钟频率与外部时钟频率有区别吗?
请参阅
DATA SHEET
,
DSP
的工作需要外加时钟(建议大家使用有源的欧式晶振,不用无源的晶体),为了提高系统的稳定性一般
DSP
内部都有锁相环
PLL
,其功能是把外部提供的时钟倍频或分频做为
DSP
工作的频率(如外加
10M
时钟,经
PLL
倍频后
DSP
可工作在
100M
,这样外部电路已非常低的频率工作会较稳定)。
35
、
MIPS
与时钟频率的区别和联系,这是不是与分频和倍频有关?
MIPS(Million Instruction per second)
是一种评估
DSP
速度的一个指标。
DSP
运行频率也是评估
DSP
的一个指标,他们二者之间的联系需要考虑到
DSP
体系结构(是否多路并行结构、是执行定点还是浮点运算)。
36
、
I/O
也是存储空间,这怎么理解,
64K
的并行
I/O
口是什么意思?
I/O
存储空间指口地址。
37
、
DSP
芯片可否工作在震动很强烈且电磁干扰很大的环境?
请选用相应档次的
DSP
:商业级、工业级、军品、航空级等。
38
、最小板上虽然没有配存储器,但假如片内存储器够用,是不是不插存储器不会影响板子的调试?
UM61512-15
在哪里可以买到?为什么要用
4
片存储器?
是!可以不配存储器;请与
UMC
的代理商联系、或到电子市场都可买到;配成
64K*16
程序存储空间和
64K*16
数据存储空间。
39
、
31
芯片外围可以带几颗芯片?
根据驱动能力来定。一般外围较多时须加驱动。
40
、用其他
TI
第三方的仿真系统去仿闻亭的高速数字信号处理板会不会有什么问题,能不能仿真?
JTAG
是一个国际标准,所有
TI
第三方都遵循此原则,所以可以支持所有厂家的
DSP
板级产品。
41
、浮点运算精度为什么高于定点运算?
一般
TI
的浮点
DSP
的字长是
32
位、定点的字长是
16
的,另外,可从他们的体系结构(如乘法器结构)看出浮点芯片精度更高。
42
、
ISA
与
EPP
(仿真器)除在电源及接口有不同点之外,还有其它不同点吗?
功能一样,速度不同(并口较慢),软件不同(并口版本更新)
算法方案选型阶段
43. 2XX
矢量运算函数与
FFT
函数说明在哪里可以找到?
有相应的说明书与算法包配套。另外,函数的程序头都做了详细说明:程序的入口与出口,用户可直接调用。
44.
支持算法模拟的系统设计软件有那些?
MATLAB
、
Cadence
公司的
SPW
等。
硬件设计及调试阶段
45. TDS-TMS320C3X
典型系统设计原理图
客户信号处理系统功能框图与指标分析
46.
客户自己做了块
3X
板,程序先在
SRAM
里运行,
指令周期为什么是
500ns
?
程序中有一个
PLL
寄存器,不改则默认值为
7
等待,所以周期为很长。
47.
如果
DSP
芯片采用
TMS320C32PCM60
的话,这对于
40M
晶振是可以工作吗?它们之间有什么关系?
TMS320C32PCM60
加上
40M
晶振,则以
40M
速度运行,等效于
TMS320C32PCM40
。
48.
仿真系统仿多
CPU
怎么接
?
仿真口应以菊花链方式连接。
49. VC5402
核心电压为
1.8V
,
I/O
为
3.3V
,仿真头的
VCC
应为多少?
仿真头
VCC
应与
IO
电压一致,为
3.3V
。闻亭公司的仿真器采用
FPGA
技术,他里面设置了多种自适应功能,如口地址可自适应(象主板的免跳线功能一样)、电压自适应(可适应
5V
、
3.3V
、
1.8V
、
1.5V
、
1V
等)。
50.
仿真器用于仿闻亭公司的数字信号处理板可以,但一插到用户自己的板上却发现:不能复位,或复位后寄存器空间、
CPU
空间、
MEM
空间为红色不能存取,与不接目标板时症状一样,这是为什么?
是用户的系统有问题,请参见闻亭公司提供给大家的《
TMS320C2XX
高速数字信号处理器原理及应用》(北京闻亭公司编写)中
?quot;DSP
硬件设计
"
章节,其中原理图不失是一种好的借鉴。
51. C31EVM
板如何与计算机串口、并口相连?
C31EVM
板用一片
ST16C552
芯片扩展出标准的:两个串口、一个并口。
52.
演示程序
ZX206.out
能不能装在
F206
最小系统板芯片内运行?
可以,一种方法是修改此程序,把所有程序都定位在片内
4.5K SRAM
内;另一种方法是把程序都烧到片内
32KW Flash memory
内运行。
53.
并口仿真系统调试界面进不去,出现
I/O
口错误是什么原因?
调试前已进行并口检测。
用户的系统坏了或仿真系统坏了。
54.
并口仿真器自己做电源,
+5v
和地怎么接,接反了会不会把板子烧了?
接反了,会烧仿真器,请参考电源的定义去给仿真器供电(建议用户不这样做)。
55. TMS320VC5402PGE100
和
5V
供电的外设(如
A/D
,
EEPROM
)相连,对
VC5402
的串口,数据口及其本身有无影响?如有能否采取什么措施?
不能将
5V
的外设与
3.3V
的
DSP
直接连接,二者中间可加总线开关如
QS32X2245
。选择外设时要与
VC5402
相匹配,否则会烧坏芯片。
56.
利用看门狗检测
C5402
的电压,让
C5402
复位的延时为多少?
看门狗有一个延时
,
一般为
200ms
。
57. C5402
仿真器的
DS
、
IS
、
IOSTRB
、
MOSTRB
、
READY
管脚都接了上拉电阻,不使用它们时,能否悬空?
不能悬空,不用时输入引脚要有明确的值,一般需拉高。
软件设计及调试阶段
58.
两种不同版本的
EMU320C5X
区别是什么?
EMU320C5X
系列可用在两种不同的
5X DSP
芯片。
701000
使用
C51DSP
,
C50
是
5X
系列早期芯片,
C51
除了片内减少了一些特征外,其他均一样。
C50
版本
EVM
比
C51
价格低。
DSP
要插在
EVM
板上。
59. F206
芯片内寄存器
PMST
、
GREG
等如何访问?
用程序中的指令访问,未脱机状态下可以通过仿真器的初使化文件
Emuinit.cmd
来设置。
60. rts2xx.lib
中的
boot
、
exit
的代码是怎样的?
rts2xx.lib
是一个目标码的库,不含原码,它含所有的
.h
库。
61.
闻亭公司
TDS-TMS320
系列
DSP
仿真系统的基本软件构成
:
汇编语言编译软件:
DSPA.EXE
连接软件:
DSPLNK.EXE
调试软件:
EMU.BAT
说明:
EMU.BAT
事实上是先使用
EMURST.EXE
进行系统复位,然后再运行
EMU2XXW.EXE
进入调试环境。
62
用汇编编完程序是什么文件,怎样变成可执行文件?
请仔细看《汇编工具》一书,用
CL30
、
ASM30
、
LNK30
命令来实现。
63.
汇编连接器的基本用法
目前,本系统采用的是
TI
公司的汇编、连接软件。其基本用法如下,详细说明请仔细阅读系统所附手册《
TMS320C2XX Assembly Tools
》。
·
汇编
相应执行文件为
DSPA.EXE
,
其基本指令格式如下:
DSPA
源文件名
-V 2XX -L
列表文件名
-O
目标文件名
其中各参数意义如下:
源文件名:
要编译的源文件名,其后缀缺省值为
ASM
。
-v 2xx
表明要编译的目标文件用于
TMS320C2XX
芯片。由于
TMS320C2XX
的指令系统与
TMS320C5X
、
TMS320C25
向上兼容,故只需正确设置
-v
之后的参数,重新编译,就能将以前用于
TMS320C5X
的汇编程序程序改为
TMS320C2XX
的程序。
-l
列表文件名
表明要生成一个列表文件名。缺省后缀名为
LST
。
-o
文件名
指明要生成的目标文件名,缺省后缀名为
OBJ
。
以下是一个典型的例子:
dspa source -v2xx -o object -l list
以上语句将
source.asm
编译成为
object.obj
,并生成一个名为
list.lst
的列表文件
·
连接
相应执行文件为系统所带的
TI
公司的连接程序
dsplnk.exe
。
常用指令格式如下:
DSPLNK OBJ
文件名
CMD
文件名
-o OUT
文件名
-m MAP
文件名
参数含义如下:
OBJ
文件名:
表明要连接的后缀为
OBJ
的文件,可以是多个。
CMD
文件名:
表明要连接的后缀为
CMD
文件名。
CMD
文件主要用于描述系统存储器配置及映射情况
-o OUT
文件名
表明要生成的后缀为
OUT
的文件名。
OUT
文件为执行文件。
-m MAP
文件名
表明要生成的后缀为
MAP
的文件名。生成
MAP
文件有助于调试程序。
64.
当计算机内有网卡或声卡时,有可能会与
DSP
仿真器发生端口冲突,如何解决?
开发器缺省占用
PC
机
240-25F
的
I/O
地址,如果您的
PC
机上此资源已被占用,您可以选择
240
,
280
,
320
,
340
之一作为端口。加入参数的方式如下:
EMURST -P
端口号
(复位程序)
EMU2XXW
(或
EMU2XX
)
-P
端口号
(
调试环境)
PRG2XX -P
端口号
(
FLASH
烧写程序)
请自行修改
EMU.BAT
,
BP32K.BAT, BP16K.BAT
中的执行文件名。
1). TMS320F2XX
的
FLASH
烧写软件及使用方法:
F206
:
BCEP.BAT F240
:
F240\BCEP.BAT
基本使用办法如下(详细的使用办法请参见相应目录中的
README.PDF
)
运行
EMURST.EXE,
该程序使
DSP
复位。
运行
BC0.BAT,
该程序置前
16K
字的
FLASH MEMORY
为
0
运行
BC1.BAT(
仅对
F206)
,该程序置后
16K
字的
FLASH MEMROY
为
0
运行
BE0.BAT
,该程序使前
16K
字的
FLASH MEMORY
为
1
运行
BE1.BAT
(仅对
F206
),该程序置后
16K
字的
FLASH MEMROY
为
运行
BP32K.BAT(
对
F206)
或者直接运行
BCEP.BAT
。
2)
我如何烧写自己的程序?
编辑
BP32K.BAT
(或
BP16K.BAT)
,可以看到里面有两个后缀为
OUT
的文件名,修改较后面的一个文件名缺省为
132K.OUT
)为您希望烧写的文件(包含正确的路径名),然后存盘,运行即可。
或者编辑
BCEP.BAT,
并修改其最后一行的
DEMO.OUT
为您要烧写的程序,然后存盘,运行即可。
65.
为什么我运行批处理文件时,总是得到
FILE OPEN ERROR
的错误信息?
编辑您运行的批处理文件,您可以看到一个后缀为
OUT
的文件名,请查看相应目录,确保该目录下有相应的
OUT
文件。
系统联调阶段
66. C31
片内只有
2K RAM
,如何装下大程序?
程序超过
2K
时只能在
DSP
片另扩展
SRAM
,把程序定位在片外的存储空间内。
67.
应用中有没有规定数据可以存在
400000H
和
809800H
,而程序只能存在
809800H
?
C3X
的地址映射是由用户来安排的,程序和数据的存放地址没有限。
68. C31EVM
板上的口地址是怎样的?
见
C31EVM
的说明书,口地址为:
串口
1
:
100000H
(
INT1
)、
串口
2
:
200000H
(
INT2
)、并口:
300000H
69.
仿真器仿
TMS320F206PZ
时当
DSP
工作于
40M
时为什么不正常?
倍频方式只能在
DSP
的能力范围内用,不能将
20M
的芯片随便当
40M
用。
70. TMS320C31EVM
板如何应用?怎样调试应用程序和脱机运行程序?
编写算法程序(
C
程序或汇编程序),及定位程序(
.CMD
程序)(请参见
EVM
板提供的例子程序,如
TESTP.ASM
及
TESTP.CMD
);
程序进行编译和连接,生成可执行文件;
用
C Source Debugger
,用仿真器进行在线调试;
脱机运行。
注意:调试阶段不需要烧
FLASH memory
(
29010
),脱机时才要按说明书上的步骤去烧,并执行
BOOT LOAD
过程。
欢迎光临 工大在线 (http://ruolanmy.hk1.ifreeurl.com/)
Powered by Discuz! X2.5