DSP知识

时间:2024-06-05 09:34:20

  自己认为是问题的问题,时常更新,为了记录学习的点点滴滴。

1、什么是boot loader ?
  DSP 的速度尽快,EPROM 或flash 的速度较慢, 而DSP 片内的RAM很快, 片外的RAM也较快。为了使DSP 充分发挥它的能力, 必须将程序代码放在RAM中运行。为了方便的将代码从ROM中搬到RAM中,在不带flash 的DSP 中,TI在出厂时固化了一段程序,在上电后完成从ROM或外设将代码搬到用户指定的RAM中。 此段程序称为"boot loader"。
  有点疑问,带Flash的DSP是不是自己写bootloader,怎么写?

2、DSP有哪些数学库及其它应用软件?
  TI 公司为了方便客户开发DSP, 在它的网站上提供了许多程序的示例和应用程序,如MATH库,FFT,FIR/IIR 等,可以在TI 的网页免费下载。

3、eXpressDSP 是什么?
  eXpressDSP是一种实时DSP 软件技术, 它是一种DSP 编程的标准, 利用它可以加快你开发DSP 软件的速度。 以往DSP 软件的开发没有任何标准, 不同的人写的程序一般无法连接在一起。DSP 软件的调试工具也非常不方便。使得DSP 软件的开发往往滞后于硬件的开发。 eXpressDSP 集成了CCS(Code Composer Studio)开发平台,DSP BIOS 实时软件平台,DSP算法标准和第三方支持四部分。利用该技术,可以使你的软件调试,软件进程管理,软件的互通及算法的获得,都便的容易。这样就可以加快软件开发进程。
(1)CCS 是eXpressDSP的基础,因此你必须首先拥有CCS 软件。
(2)DSP BIOS是eXpressDSP的基本平台,你必须学会所有DSP BIOS。
(3)DSP 算法标准可以保证你的程序可以方便的同其它利用eXpressDSP技术的程序连接在一起。同时也保证你的程序的延续性。

4、如何选择DSP ?
选择DSP 可以根据以下几方面决定:
1) 速度:DSP速度一般用MIPS或FLOPS 表示, 即百万次/ 秒钟。一般速度高的DSP, 系统实现也较困难。
2) 精度:DSP芯片分为定点、浮点处理器,对于运算精度要求很高的处理,可选择浮点处理器。定点处理器也可完成浮点运算,但精度和速度会有影响。
3) 寻址空间:不同系列DSP 程序、数据、I/O空间大小不一,与普通MCU不同,DSP在一个指令周期内能完成多个操作, 所以DSP 的指令效率很高, 程序空间一般不会有问题,关键是数据空间是否满足。数据空间的大小可以通过DMA的帮助,借助程序空间扩大。
4) 成本:一般定点DSP 的成本会比浮点DSP 的要低, 速度也较快。要获得低成本的DSP 系统, 尽量用定点算法,用定点DSP 。
5) 实现方便:浮点DSP 的结构实现DSP 系统较容易, 不用考虑寻址空间的问题, 指令对C语言支持的效率也较高。
6) 内部部件:根据应用要求,选择具有特殊部件的DSP 。如:C2000 适合于电机控制;OMAP适合于多媒体等。

5、如何编写C2000 片内Flash?
DSP 中的Flash的编写方法有三中:
(1) 通过仿真器编写:在我们的网页上有相关的软件,在销售仿真器时我们也提供相关软件。其中LF240x的编写可以在CCS 中加入一个插件,F24x的编写需要在windows98 下的DOS窗中进行。具体步骤见软件中的readme。有几点需要注意:
  a. 必须为MC方式;
  b.F206 的工作频率必须为20MHz;
  c.F240 需要根据PLL 修改C240_CFG.I文件。建议外部时钟为20MHz;
  d.LF240x 也需要根据PLL 修改文件;
  e.如果编写有问题,可以用BFLWx.BAT修复。
(2)提供串口编写:TI 的网页上有相关软件。注意只能编写一次,因为编写程序会破坏串口通信程序。
(3)在你的程序中编写:TI 的网页上有相关资料。

6、如何编写DSP 外部的Flash?
DSP 的外部Flash编写方法:
1. 通过编程器编写:将OUT文件通过HEX转换程序转换为编程器可以接受的格式,再由编程器编写。
2. 通过DSP 软件编写:您需要根据Flash的说明, 编写Flash的编写程序, 将应用程序和编写Flash的程序分别load 到RAM中,运行编写程序编写。

7、DSP中断向量的位置
1)2000 系列dsp的中断向量只能从0000H 处开始。所以在我们调试程序的时候,要把DSP选择为MP(微处理器方式),把片内的Flash屏蔽掉,免去每次更改程序都要重新烧写Flash工作。
2)3x系列dsp的中断向量也只能在固定的地址。
3)5000,6000 系列dsp的中断向量可以重新定位。但是它只能被重新定位到Page0范围内的任何空间。

8、电平变换的方法
(1)总线收发器(Bus Transceiver):
常用器件: SN74LVTH245A (8 位)、SN74LVTH16245A(16位)
特点:3.3V 供电,需进行方向控制,
延迟:3.5ns,驱动:-32/64mA,
输入容限:5V
应用:数据、地址和控制总线的驱动
(2)总线开关(Bustch )
常用器件:SN74CBTD3384 (10位)、SN74CBTD16210(20位)
特点:5V供电,无需方向控制
延迟:0.25ns ,驱动能力不增加
应用:适用于信号方向灵活、且负载单一的应用,如McBSP等外设信号的电平变换
(3)2选1 切换器(1 of 2 Multiplexer)
常用器件:SN74CBT3257(4 位)、SN74CBT16292 (12位)
特点:实现2 选1,5V供电,无需方向控制
延迟:0.25ns ,驱动能力不增加
应用:适用于多路切换信号、且要进行电平变换的应用,如双路复用的McBSP
(4)CPLD
3.3V 供电,但输入容限为 5V,并且延迟较大:>7ns,适用于少量的对延迟要求不高的输入信号。
(5) 电阻分压
10K 和20K 串联分压,5V×20÷(10+20)≈ 3.3V

9、调试TMS320C2000系列的常见问题?
1) 单步可以运行,连续运行时总回0 地址:Watchdog 没有关,连续运行复位DSP 回到0 地址。
2)OUT 文件不能load 到片内flash 中: Flash 不是RAM,不能用简单的写指令写入,需要专门的程序写入。CCS 和CSource Debugger 中的load 命令,不能对flash 写入。 OUT文件只能load 到片内RAM,或片外RAM中。
3) 在flash 中如何加入断点:在flash 中可以用单步调试,也可以用硬件断点的方法在flash 中加入断点,软件断点是不能加在ROM中的。硬件断点,设置存储器的地址,当访问该地址时产生中断。
4) 中断向量: C2000的中断向量不可重定位,因此中断向量必须放在0 地址开始的flash 内。在调试系统时,代码放在RAM中, 中断向量也必须放在flash 内。

10、DSP芯片有多大的驱动能力?
DSP 的驱动能力较强,可以不加驱动,连接8 个以上标准TTL 门。

11、如何选择外部时钟?
DSP 的内部指令周期较高,外部晶振的主频不够,因此DSP 大多数片内均有PLL 。但每个系列不尽相同。
1) TMS320C2000 系列:
TMS320C20x :PLL 可以÷2,×1,×2 和×4,因此外部时钟可以为5MHz -40MHz。
TMS320F240:PLL 可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5 和×9,因此外 部时钟可以为2.22MHz -40MHz。
TMS320F241/C242/F243:PLL 可以×4,因此外部时钟为5MHz 。
TMS320LF24xx :PLL 可以由RC调节, 因此外部时钟为4MHz -20MHz。
TMS320LF24xxA:PLL 可以由RC调节,因此外部时钟为4MHz -20MHz。
2) TMS320C3x系列:
TMS320C3x:没有PLL,因此外部主频为工作频率的2 倍。
TMS320VC33 :PLL 可以÷2,×1,×5, 因此外部主频可以为12MHz-100MHz 。
3)TMS320C5000系列:
TMS320VC54xx :PLL 可以÷4,÷2,×1-32,因此外部主频可以为0.625MHz-50MHz。
TMS320VC55xx :PLL 可以÷4,÷2,×1-32,因此外部主频可以为 6.25MHz-300MHz 。
4)TMS320C6000系列: TMS320C62xx :PLL 可以×1,×4,×6,×7,×8,×9,×10 和×11,因此外部主频可以为11.8MHz -300MHz 。
TMS320C67xx:PLL 可以×1 和×4,因此外部主频可以为12.5MHz -230MHz 。
TMS320C64xx:PLL 可以×1,×6 和×12, 因此外部主频可以为30MHz-720MHz。

12、TI DSP命名规则?

DSP知识