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

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知识的更多相关文章

  1. 深入了解DSP与ARM的区别与联系

    http://www.eeboard.com/bbs/thread-25219-1-1.html ARM微处理器的体系结构 了解DSP的体系结构 深入了解DSP与ARM的区别与联系 2011-09-3 ...

  2. 关于DSP的boot mode / boot loader /上电顺序 /在线升级等问题的总结

    使用器件 ti dsp c2000 2837x 1.dsp的上电过程和boot mode以及boot loader 1)dsp的上电顺序, 对于双核系统而言 , 他的上电启动顺序如下所示: 系统复位或 ...

  3. DSP基础学习-ADC同步采样

    DSP基础学习-ADC同步采样 彭会锋 2015-04-28 20:31:06 在DSP28027 LauchPad学习过程中,关于ADC同步采样和顺序采样的区别稍加研究了一下,发现里面还真有些门道, ...

  4. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

    本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

  5. DSP开发资源总结,经典书籍,论坛

    OMAP4开发资源总结: 一.TI OMAP4官网介绍: http://www.ti.com.cn/general/cn/docs/wtbu/wtbuproductcontent.tsp?templa ...

  6. DSP TMS320C6000基础学习(4)—— cmd文件分析

    DSP中的CMD文件是链接命令文件(Linker Command File),以.cmd为后缀. 在分析cmd文件之前,必需先了解 (1)DSP具体芯片的内存映射(Memory Map) (2)知道点 ...

  7. 嵌入式系统基础知识(一): 系统结构和嵌入式Linux

    目录 一. 嵌入式体系结构 二. 开发过程中的分工 三. 嵌入式软件体系结构 四. 嵌入式Linux 一. 嵌入式体系结构 <嵌入式系统设计师教程>这本书的前三章脉络很清晰, 按照嵌入式系 ...

  8. FPGA基础知识了解

    FPGA学习的一些误区 FPGA入门必看资源 FPGA百度百科 FPGA基础知识及其工作原理 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可编程门阵列(FPGA).无论你使用图形化设 ...

  9. 我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装

    高级的嵌入式市场主要分为以下三类:ARM.DSP 和 FPGA. 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构:而 DSP(数字信号处理器) 早年就被大 ...

随机推荐

  1. Linq转成sql后的分页方法

    sql 分页 -- Region Parametersdeclare @pageindex int set @pageindex=2set @pagesize=10 DECLARE @p0 Int = ...

  2. javascript创建对象(二)

    原型模式:每创建一个函数都有一个prototype属性,它是一个指针,指向一个对象: 原型模式创建函数的方式: function Movie(){ }; Movie.prototype.name=&q ...

  3. windows 2003 搭建一个vpn

    最近从Photonvps.com 租了一台windows主机用来测试网站,512MB的内存,35GB的硬盘空间,每个月500GB的流量和2个独立IP地址.我感觉价格偏贵,不过售后服务还是蛮不错的,每次 ...

  4. oracle redo日志维护

    环境 OS:Red Hat Linux As 5 DB:10.2.0.1 1.添加日志组 alter database add logfile group 4 ('/u01/app/oracle/or ...

  5. Jsoup解析HTML、加载文档等实例

    一.引入jsoup的jar包:http://jsoup.org/download 补充:http://jsoup.org/apidocs/   Jsoup API    可以了解更详细的内容 二.Js ...

  6. CoreAnimation5-图层时间和缓冲

    图层时间 动画的发生是需要持续一段时间的,所以计时对整个概念来说至关重要.在这一章中,我们来看看CAMediaTiming,看看Core Animation是如何跟踪时间的. CAMediaTimin ...

  7. umask默认权限分配

    umask默认权限分配的命令 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认 权限,它与chmod的效果刚好 ...

  8. (转)ASP.NET-关于Container dataitem 与 eval方法介绍

    Container是一个数据容器,代表集合类或者dataview中的一行,而Container.dataitem代表该行的数据:所有的container   被存 放在是一个栈堆stack中,自动的将 ...

  9. Cloudera Impala 之 ORDER BY without LIMIT currently not supported

    ERROR: NotImplementedException: ORDER BY without LIMIT currently not supported   impala中order by 需要l ...

  10. Cohort Analysis Using Python

    Cohort Analysis是将某一个时期内的用户划分为一个cohort,并将多个cohort进行时间上的某个属性的比较的一种分析方法.Cohort Analysis在有些场景下非常有用.比如一个网 ...