TI公司C2000DSP工程师培训
DSP入门教程(非常经典)

3)对于 C5000 系列: 硬件等待信号为 READY,高电平时不等待。 软件等待由 SWWCR 和 SWWSR 寄存器决定,可以加入最多 14 个等待。其中程序存储器、控制程序存储器和 数据 存储器及 I/O 可以分别设置。
4)地址译码、IO 扩展等用 CPLD 或者 FPGA 来做,将 DSP 的地址线、数据线、控制信 号 线如 IS/PS/DS 等都引进去有利于调试
5、如何高效开始 TI DSP 的软件开发 如果你不是纯做算法,而是在一个目标版上进行开发, 需要使用 DSP 的片上外设,需要控 制片外接口电路,那么建议在写程序前先好好将这个目标 版的电路设计搞清楚。最重要的是 程序、数据、I/O 空间的译码。不管是否纯做算法还是软硬结合, DSP 的 CPU,memory,program memory addressing, data mem.ory addressing 的资料都需要看.
1)看 CCS 的使用指南
2)明白 CMD 文件的编写
3)明白中断向量表文件的编写,并定位在正确的地方
4)运行一个纯 simulator 的程序,了解 CCS 的各个操作
5)到 TI 网站下相关的源码,参考源码的结构进行编程
6)不论是 C 编程还是 ASM 编程,模块化是必须的
6、选择 C 还是选择 ASM 进行编程 记住一条原则,TI 的工程师在不断改进 CCS 的 C 程序优化编译器,现在 C 优化的效率可 达 到手工汇编的 90%甚至更高。当然有的时候如果计算能力和内存资源是瓶颈,ASM 还 是有 优势,比如 G.729 编解码。但是针对一般的应用开发,C 是最好的选择。 新手编程则选择 C 和汇编混合编程更有利一些
TI-DSPC2000程序加密2种方法

TI-DSP C2000程序加密2种方法1.显性法选中Tools-F28xx On-chip Flash Programmer进入Flash编程界面(如下图所示),如上图所示,或者点击此图标。
Flash编程界面在“Code Security Password”区域设置好程序密码,然后按“Program Password”确定密码设置。
在设置密码的时候,注意不要将Key0-Key8全设置为0,如果全为0,则芯片将会永久“Lock”!如果采用这种显性方法设置密码,在生产产品的时候,你需要将密码告诉生产线上的Flash烧写人员,以至除了公司核心的人员外,还会有更多的人知道你的程序密码,给保密性带来不利!2.隐性法为了避免上述情况的发生,让更少的人知道程序的密码,甚至只让一个人知道程序的密码,可以将密码嵌入到程序中,与其他程序一起编译好后,生成.out文件,这个时候,你只需要将.out文件给FLASH烧写人员就可以,不需要再让FLASH烧写人员自己设置密码,我们把这种方法叫做隐性法,在使用串口烧写FLASH的时候,也需要采用这种方法进行程序加密。
将下面的程序保存为.asm文件,添加到工程中,与其他文件一起编译。
.sect "csmpasswds".int 0xFFFF ;PWL0 (LSW of 128-bit password).int 0xFFFF ;PWL1.int 0xFFFF ;PWL2.int 0xFFFF ;PWL3.int 0xFFFF ;PWL4.int 0xFFFF ;PWL5.int 0xFFFF ;PWL6.int 0xFFFF ;PWL7 (MSW of 128-bit password.sect "csm_rsvd".loop (3F7FF5h - 3F7F80h + 1).int 0x0000.endloop将下面的语句写入CMD中,MEMORY{CSM_RSVD : origin = 0x3F7F80, length = 0x000076CSM_PWL : origin = 0x3F7FF8, length = 0x000008}SECTIONS{csmpasswds : > CSM_PWL PAGE = 0csm_rsvd : > CSM_RSVD PAGE = 0}按照上面的方法编译好后,你的程序已经加密好了,你只需要将生成的.out交给Flash烧写人员就可以了!。
DSP习题答案

DSP习题答案DSP 技术及应⽤综合训练1.DSP全称有哪两个含义?全称分别是什么?答:1、Digital Signal Processing,数字信号处理,指的是⼀门学科2、Digital Signal Processor,数字信号处理器,实现数字信号处理算法的处理器.平常所说的DSP⼀般指后者。
2.TI公司DSP主要分为哪⼏种⼦列?分别⽤于哪些场合答:C2000、C5000和C6000三⼤主流,其中C2000系列属于控制型,相当于⾼端单⽚机;C5000系列属于低成本、低功耗、⾼效率型;C6000系列属于⾼性能的类型,其性能是C5000系列的数⼗倍。
如果你处理的算法不是很复杂的话,建议使⽤C5000系列(如C5509、C5510等);如果算法之类的特别复杂,可以考虑C6000系列。
3.VC5509A硬件结构主要有哪些组成?答:CPU、存储器、⽚上外设。
(⽚上外设:●两个20位的定时器。
●⼀个看门狗定时器。
●l6通道直接存储器存取控制器(DMA),DMA控制器在不需要CPU⼲预的情况下可以提供6路独⽴的通道⽤于数据传输,并且可达每周期两个16位数据的吞吐量。
l外部存储器接⼝(EMIF),它提供与异步存储器如EPROM、SRAM及⾼密度存储器如同步DRAM的⽆缝连接。
l 三个串⼝⽀持最多三个多通道缓冲串⼝(McBSP)或最多两个多媒体/安全数字卡接⼝。
三个全双⼯多通道缓冲串⼝(McBSP)提供了与各种⼯业级串⾏设备的⽆缝接⼝,其多通道通信最多可以实现128个独⽴通道。
增强型主机接⼝(EHPI)是⼀个16位的并⾏接⼝,主机能够提供HPI接⼝访问5509A上的32KB⽚上存储器。
●可编程锁相环(DPLL)时钟发⽣器。
●USB全速(12Mbps)从端⼝。
●I2C主从接⼝。
●⼀个实时时钟。
)4.在CMD⽂件中,Mermory命令的主要作⽤是什么?答:⽤来指定⽬标存储器结构5.在CMD⽂件中,SECTION命令的主要作⽤是什么?答:⽤来控制段的构成与地址分配6.C55X处理器软件开发流程是什么?答:7.利⽤C语⾔与汇编语⾔混合编程优什么优点?答:可以充分地控制处理器的功能,为⼈⼯映射算法构成最有效的程序编码,效率⾼、可维护性和移植性好。
DSP入门知识

DSP入门知识文章来源:DSP入门访问次数:--------------------------------------------------------------------------------DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL。
但每个系列不尽相同。
1)TMS320C2000系列:TMS320C20x:PLL可以÷2,×1,×2和×4,因如何选择外部时钟?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。
干货 DSP技术芯片C2000上电引导模式解析

干货DSP技术芯片C2000上电引导模式解析
DSP技术目前已经被广泛的应用在了集成芯片研发过程中,这一类新产品的出现,为工程师的电路设计工作带来了极大的革新和帮助。
C2000作为一种比较常见的DSP技术集成芯片产品,应用范围广泛,但在使用过程中却常常会出现仿真运行正常但单机程序跑不起来的情况,今天我们将会就这种问题进行详细解析。
其实就DSP集成芯片C2000而言,之所以会在调试时出现单机程序无法运行的情况,其根本原因还是因为工程师没有正确的完成C2000的引导模式设置。
以C2000Piccolo系列的引导模式为例,尽管这一系列的芯片与delfino稍微有点区别,而concerto系列的芯片在引导模式设置方面更复杂。
但是Piccolo系列是最基础的DSP集成芯片类型,理解了Piccolo的引导原理对我们在日后工作中使用其余两个系列的芯片有非常大的帮助。
首先我们需要了解的,是C2000DSP技术集成芯片的代码执行程序运行问题。
下图中,图1是C2000的芯片复位流程图,从图中我们可以看到,当芯片在接收到一个复位信号后,会到0x3FFFC0去复位向量,该复位向量跳到BootROM0x3FF75C中去执行bootloader的程序,这里主要有进入引导和选择启动模式,以及一些外设引导的函数。
选择启动模式根据芯片的硬件或软件设置来判断芯片该去哪里寻找程序入口,其直接目的是如何找到main,然后执行应用程序。
图1 DSP技术芯片C2000的复位流程图
在了解了这种C2000集成芯片的复位流程之后,接下来我们再来看一下这。
第2章 TMS320C2000系列DSP芯片的基本结构及性能

安徽工程大学电气工程学院
安徽工程大学电气工程学院
2.1 C28x Piccolo系列基本结构及性能
2008年10月,TI发布了基于C2000 DSP的 Piccolo系列,取自意大利语“风笛”,是以小巧、 低成本、高集成度为主要特点的32位微控制器,采 用最新的架构技术成果和增强型外设,能够提供一 款低成本的高集成度解决方案,有助于在成本敏感 型应用中实现处理器密集型的32位实时控制功能。 Piccolo系列可提供多种封装版本和外设选项,实现 了高性能、高集成度、小尺寸以及低成本的完美组 合。
安徽工程大学电气工程学院
2.1.1 F2802x系列
F2802x Piccolo系列为C28x内核供电,此内核与低引脚数 量器件中的高集成控制外设相耦合。该系列的代码与以往基于 C28x的代码相兼容,并且提供了很高的模拟集成度。 F2802x 系列速度为40-60MHz,配有多达64KB Flash,属于低成本入 门级产品。
•
安徽工程大学电气工程学院
2.2.1 F2833x系列
F2833x系列速度为100-150MHz,Flash多达 512KB。它们是针对要求严格的控制应用的高度集成、 高性能解决方案。
安徽工程大学电气工程学院
2.2.2 C2834x系列
C2834x系列性能翻倍,达到300MHz,但是此系 列解决方案仅限于基于RAM的存储,RAM可达到 516KB。
安徽工程大学电气工程学院
C2000是一种注重实时控制应用的微控制器系列,应用 范围包括数字电源、数字电机控制、位置传感、汽车雷达等。
C2000器件核心是一个32位C28x CPU,其频率范围介于40400MHz之间,外加浮点单元,部分器件还配有控制律加速 器(CLA),它实际上成为与CPU并行运行的第二个内核, 能够独立地控制外设。 目前在TMS320C2000系列产品中,TI主要推出了四个系 列主流产品,即使用广泛的C28x定点系列、低成本与高创新 的C28x Piccolo系列、C28x Delfino浮点性能系列以及基于 C28x和ARM Cortex-M3的Concerto多核系列。图2-1给出了
TI C2000系列DSP Flash烧写解决方案 (Rev[1]. A)
Rev. A
1Q05
综述
TI C2000系列DSP从硬件构架和开发环境上可以划分为 F28x,F240x,F240与F206几类.而Flash的烧写问题一直是 开发过程中,编程人员比较关注的问题. 本文从最后出现的F28x的Flash烧写方法开始,依次介绍这 三种DSP的Flash烧写的方法和步骤. 首先是详细介绍F28系列的烧写工具和方法 由于C2000系列DSP的烧写方法大同小异所以简要描述F240与 F206的烧写方法,并归纳和总结F240x烧写的一些经验 最后一部分以F2812为例介绍用户自定义的嵌入式Flash编程 (API)
15 保留R-0 0 ENPIPE
位0 ENPIPE 使能流水线/流水线使能时等待状态必须大于0
1Q05
F28x Flash 寄存器
1. Flash选择寄存器FOPT 2. Flash电源寄存器FPWR 3. Flash状态寄存器FSTATUS 4. Flash待机等待寄存器FSTDBYWAIT 5. Flash待机到激活等待计数器寄存器FACTIVEWAIT 6. Flash等待状态寄存器FBANKWAIT
Flash擦写操作的相关描述 编程操作使Flash中某些特定的位变成0 编程操作不能使某一个位由0变成1 编程操作可以对FLASH和OTP进行操作 编程操作每次操作是针对16位中的一位进行
1Q05
F28x Flash 烧写方法概述
TI及其第三方提供的烧写软件主要有两种: 一个是TI提供的TMS320C2000 Code Composer Studio on-chip Flash programmer plug-in.其最新 版本是1.1102.发行日期是2005-1-11,可以从TI网站 上下载或者向SEED索取.() 另一个工具是Spectrum Digital公司提供的SDFlash. 这个软件在TI的CCS插件推出之前比较受欢迎,但是有 了上面更方便的插件以后因为使用的限制用得比较少. 其最新版本是1.63.包含在CCS2.21以上的版本中,当 然也可以单独下载升级包进行安装.可以从其官方网站 或者向SEED索取.() 接下来的两章分别介绍这两种工具的使用.
DSP入门培训PPT资料18页
三、DSP中C表达式与基本语句
1、if语句 (1)整型变量与零值比较
应当将整型变量用“==”或“!=”直接与0比较。假设整型变量的名字为value, 它与零值比较的标准if 语句如下:
if (value == 0) if (value != 0) 不可模仿布尔变量的风格而写成 if (value) // 会让人误解value是布尔变量 if (!value)
三、DSP中C语言的关键字
意义 声明自动变量,缺省时编译器一般默认为auto 声明整型变量 声明双精度变量 声明长整型变量 声明字符型变量 声明浮点型变量 声明短整型变量 声明有符号类型变量 声明无符号类型变量 声明结构体变量 声明联合数据类型 声明枚举类型 声明静态变量 用于开关语句 开关语句分支 开关语句中的“其他”分支 跳出当前循环 声明寄存器变量 用以给数据类型取别名(当然还有其他作用)
优秀PPT下载:1ppt/xiazai/ PPT教程: 1ppt/powerpoint/
{ Word教程: 1ppt/word/
资料下载:1ppt/ziliao/ PPT课件下载:1ppt/kejian/
Excel教程:1ppt/excel/
范文下载:1ppt/fanwen/
int i;
int *p;
if ((x>=-EPSINON) && (x<=EPSINON)) 其中EPSINON是允许的误差(即精度)。
三、表达式与基本语句
2、循环语句的效率 C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。
提高循环体效率的基本办法是降低循环体的复杂性。
例子: for (row=0; row<100; row++) {
手把手教你DSP解读
13.6.1ADC校正的原理 13.6.2ADC校正的措施 13.6.3手把手教你写ADC校正的软件算法
第14章串行通信接口SCI
14.1SCI模块的概述 14.2SCI模块的工作原理 14.3SCI多处理器通信模式 14.4SCI模块的寄存器 14.5手把手教你写SCI发送
和接收程序
14.1.1SCI模块的特点 14.1.2SCI模块信号总结
被广泛应用于通信(手机)、家电(变 频空调)、航空航天、工业测量、控制、 生物医学工程以及军事等许许多多需要 实时实现的领域。
1.1.1 什么是DSP?
DSP=Digital Signal Processing处理技术 DSP=Digital Signal Processor处理器
1.1.2 DSP的特点
特别适合于数字信号处理运算 单片机,ARM,FPGA 哈佛结构,程序空间和数据空间分开,CPU可以同时访问指令和
数据; 在一个指令周期内可以完成一次乘法和一次加法运算; 片内具有快速RAM,通常可以通过独立的数据总线在程序空间和
数据空间同时访问; 具有低开销或无开销循环及跳转的硬件支持; 具有快速的中断处理和硬件I/O支持; 可以并行执行多个操作; 支持流水线操作,使得取址、译码和执行等操作可以重叠执行。
第16章增强型控制器局域网通信接口eCAN
16.1CAN总线的概述 16.2CAN2.0B协议 16.3X281xeCAN模块的概述 16.4X281xeCAN模块的寄存器 16.5X281xeCAN模块的配置 16.6eCAN模块的中断 16.7手把手教你实现CAN通信
16.1.1什么是CAN 16.1.2CAN是怎样发展起来的 16.1.3CAN是怎样工作的 16.1.4CAN有哪些特点 16.1.5什么是标准格式CAN和扩展格 式CAN
DSP工程师之路
C2000系列1如何选择外部时钟?DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL,可通过PLL进行分频和倍频进行设置。
2软件等待如何使用?DSP的指令周期较快,访问慢速存储器或外设时需加入等待。
等待分为硬件等待和软件等待,硬件等待信号为READY,高电平时不等待。
软件等待由WSGR寄存器决定,可以加入最多7个等待。
其中程序存储器和数据存储器及I/O可以分别设置。
3 仿真工作正常与DSP的基本要求(1)DSP的电源和地连接正确(2)DSP的时钟正确(3)DSP的主要控制信号,如RS和HOLD信号接高电平(4)C2000的watchdog关掉(5)不可屏蔽中断NMI上拉高电平S或仿真运行时提示没有连接到目标仿真器,是怎么回事?(1)仿真器连接是否正常(2)仿真器的I/O设置是否正确?(3)XDSPP仿真器的电源是否正确?(4)目标系统是否正确?(5)仿真器是否正常?(6)DSP工作的基本条件是否具备?5为什么CCS需要安装Driver?CCS是开放的软件平台,它可以支持不同的硬件接口,因此不同的硬件接口必须通过标准的Driver同CCS连接。
6.Link的cmd文件的作用是什么?Link的cmd文件用于DSP代码定位。
由于DSP编译器的编译结果是未定位的,DSP 没有操作系统来定位执行代码,每个客户设计的DSP系统配置也不尽相同,因此需要用户自己定义代码的安装位置。
7.在CCS下,如何选择有效地存储空间?CCS下的存储空间最好设置同你的硬件,没有的存储器不要有效。
这样便于调试,CCS 会发现你调入程序时或程序运行时,是否访问了无效地址。
(1)在GEL文件中设置(2)在option菜单下,选择Memory Map选项,根据你的硬件设置。
注意一定要将Enable Memory Mapping置位使能。
8.在CCS下,OUT文件加载时提示“Data verification falled…”的原因?Link的CMD文件分配的地址同GEL或设置的有效地址空间不符。