DSP硬件开发常见问题
- 格式:doc
- 大小:109.00 KB
- 文档页数:14
做DSP最应该懂得57个问题一.什么是DSP?DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:(1)在一个指令周期内可完成一次乘法和一次加法。
(2)程序和数据空间分开,可以同时访问指令和数据。
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
(4)具有低开销或无开销循环及跳转的硬件支持。
(5)快速的中断处理和硬件I/O支持。
(6)具有在单周期内操作的多个硬件地址产生器。
(7)可以并行执行多个操作。
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
例如:声卡上往往可以找到一片大块头的芯片,这个一般就是DSP芯片,DSP就是digital signal processor,即数字信号处理器,各种各样的音效处理就全它他了。
二.DSP的C语言同主机C语言的主要区别?1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。
但在CCS中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。
2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。
因此C和ASM的对应关系非常明确,非常便于人工优化。
3)DSP的代码需要绝对定位;主机的C的代码有操作系统定位。
4)DSP的C的效率较高,非常适合于嵌入系统。
三.DSP发展动态1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。
C24x系列建议使用LF24xx系列替代C24x 系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。
C28x系列主要用于大存储设备管理,高性能的控制场合。
问:我测试你们的程序的时候,go main 进不去主函数,进入的是一段汇编。
是怎么回事?答:程序如果要进行设断点,观察变量等操作,要先调入project文件,然后再调入out文件。
如果是可以直接执行能看到结果的,就直接调入out文件,run就可以。
问:CY68013的固件程序怎么修改?答:在把QQ2812都研究清楚了,有精力有兴趣自己可以买一本EZ-USB的书好好看看。
在此之前,请不要随便更改固件代码,因为一旦出错,可能带来不必要的麻烦。
固件代码是通过USBControlPanel,使用USB接口进行下载的。
:2812的主频是最大150M,我如果想设为100M是在那里设置?答:打开工程,在Source文件夹下,打开DSP28_SysCtro.c文件,找到如下语句,修改即可。
// Initalize PLLSysCtrlRegs.PLLCR = 0x02;///锁相环产生的时钟频率定标,这里配置为30M问:为什么我的程序在SRAM中正常,烧入Flash后不对?答:1、请先确认你编译的时候使用了flash.cmd,推荐使用我们提供的flash.cmd,如果自己更改了这个文件,请先确认cmd文件的正确性;2、编译的时候,如果选择release模式,请检查一下build option,把其中的opt level改为none,即取消编译优化选项,很多语句在优化的时候可能会产生错误的优化结果。
或者选择debug模式编译,烧写正确后再改为release模式,通过对比两种模式的编译选项也能看出其中的区别。
3、程序在flash中运行会比在ram中运行大概慢20%,因此对于一些时序敏感的外设,比如usb总线,就有可能需要调整时序,否则就会有问题。
问:数码管LED显示的时候发送的数据是怎么规定和产生的?答:其实如果自己看程序和原理图自己就可以知道是怎么产生的。
数码管数据如下:Uint16SpiCode[]={0x7E7E,0x2929,0x2c2c,0x6666,0xa4a4,0xa0a0,0x3e3e,0x2020,0x2424,0x22 22,0xe0e0,0xb1b1,0x6868,0xa1a1,0xa3a3,0xffff,0xdfdf};数码管的笔画对应关系如下:63 742 01 5就是说0~7分别对应笔画的a~h,在原理图看就是分别连接的Q0~Q7这个数码管的型号是LG3611BH,是共阳级的,也就是说某个笔画为0的时候,这个笔画被点亮。
问:我测试你们的程序的时候,go main 进不去主函数,进入的是一段汇编。
是怎么回事?答:程序如果要进行设断点,观察变量等操作,要先调入pro ject文件,然后再调入ou t文件。
如果是可以直接执行能看到结果的,就直接调入ou t文件,run就可以。
问:CY68013的固件程序怎么修改?答:在把QQ2812都研究清楚了,有精力有兴趣自己可以买一本EZ-USB的书好好看看。
在此之前,请不要随便更改固件代码,因为一旦出错,可能带来不必要的麻烦。
固件代码是通过USBCon trolPa nel,使用USB接口进行下载的。
:2812的主频是最大150M,我如果想设为100M是在那里设置?答:打开工程,在Source文件夹下,打开DSP28_SysCt ro.c文件,找到如下语句,修改即可。
// Initali ze PLLSysCtrl Regs.PLLCR = 0x02;///锁相环产生的时钟频率定标,这里配置为30M问:为什么我的程序在SRAM中正常,烧入Flash后不对?答:1、请先确认你编译的时候使用了flash.cmd,推荐使用我们提供的flas h.cmd,如果自己更改了这个文件,请先确认cmd文件的正确性;2、编译的时候,如果选择rel ease模式,请检查一下bu ild option,把其中的opt level改为none,即取消编译优化选项,很多语句在优化的时候可能会产生错误的优化结果。
或者选择deb ug模式编译,烧写正确后再改为relea se模式,通过对比两种模式的编译选项也能看出其中的区别。
3、程序在flas h中运行会比在ram中运行大概慢20%,因此对于一些时序敏感的外设,比如usb总线,就有可能需要调整时序,否则就会有问题。
DSP常见问题1.DSP与普通的微处理器的不同?单周期指令:大多数DSP都拥有流水结构,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,这样可以大大提高系统的执行效率。
它可以在一个时钟周期内执行一条语句。
快速乘法器:信号处理算法往往大量用到乘加(multiply-accumulate,MAC)运算。
DSP有专用的硬件乘法器,它可以在一个时钟周期内完成MAC运算。
硬件乘法器占用了DSP芯片面积的很大一部分。
(与之相反,通用微处理器采用一种较慢的、迭代的乘法技术,它可以在多个时钟周期内完成一次乘法运算,但是占用了较少了硅片资源)。
多总线:DSP有分开的代码和数据总线(一般用术语“哈佛结构”表示),这样在同一个时钟周期内可以进行多次存储器访问——这是因为数据总线也往往有好几组。
有了这种体系结构,DSP就可以在单个时钟周期内取出一条指令和一个或者两个(或者更多)的操作数。
地址发生器:DSP有专用的硬件地址发生单元,这样它可以支持许多信号处理算法所要求的特定数据地址模式。
这包括前(后)增(减)、环状数据缓冲的模地址以及FFT 的比特倒置地址。
地址发生器单元与主ALU和乘法器并行工作,这就进一步增加了DSP 可以在一个时钟周期内可以完成的工作量。
硬件辅助循环:信号处理算法常常需要执行紧密的指令循环。
对硬件辅助循环的支持,可以让DSP高效的循环执行代码块而无需让流水线停转或者让软件来测试循环终止条件。
数据格式:除了标准的整数型格式外,DSP一般支持定点和(或)浮点数。
对数据格式和精度的选择取决于应用程序所需,例如:16位定点DSP可以满足语音信号处理和控制所需24位和32位定点DSP可以满足高质量音频信号处理所需32位浮点DSP可以满足图形和图像处理所需1:DSP采用改进的Harvard结构,程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,而单片机多数采用的是冯•罗依曼结构,所有的操作都必须经过累加器A,很容易造成瓶颈效应。
DSP常见问题解答如何选择外部时钟?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。
DSP调试及烧写和加载常见错误及分析在进行DSP调试、烧写和加载过程中,常见的错误有很多,下面是一些常见错误及其分析:1.调试错误:-问题描述:无法连接到DSP设备。
-分析:可能是因为设备未正确连接,或者连接线路有问题,也可能是驱动程序不兼容导致的。
-解决方法:检查设备的连接状态,确保连接正确;检查连接线路是否完好;更新或卸载并重新安装驱动程序。
2.烧写错误:-问题描述:烧写失败或者烧写之后设备无法启动。
-分析:可能是烧写的文件有错误或者不完整,也可能是设备本身存在问题。
3.加载错误:-问题描述:加载程序时出现错误,或者加载之后程序无法正常运行。
-分析:可能是加载的程序有问题或者与设备不兼容,也可能是设备本身存在问题。
4.软件错误:-问题描述:使用的调试、烧写或加载软件出现错误或崩溃。
-分析:可能是软件本身存在问题,也可能是与其他软件或系统的兼容性冲突。
-解决方法:更新软件版本,或者使用其他可靠的软件;检查是否存在与其他软件或系统冲突的情况,如果有需要进行排查和修复。
5.设备故障:-问题描述:设备无法识别、烧写或加载,存在硬件故障。
-分析:可能是设备损坏或老化,设备内部电路出现问题。
-解决方法:检查设备的物理状态,是否存在损坏或老化情况;检查设备的内部电路,如果有问题需要进行修复或更换。
6.嵌入式系统错误:-问题描述:DSP芯片上的嵌入式系统无法正常运行。
-分析:可能是系统的软件代码有问题,硬件与软件的不匹配,系统配置错误等。
-解决方法:检查系统的软件代码,重新进行编译、调试和烧写;检查系统的硬件与软件的兼容性,如果有问题需要进行修复或更换;检查系统的配置参数,进行适当的修改。
在遇到以上错误时,可以根据具体情况进行分析和解决。
同时,可以参考调试、烧写和加载工具的操作手册,寻求厂商的技术支持,或者查阅相关的文档和资料来获取更多的帮助和解决方案。
调试、烧写和加载过程中可能会遇到各种各样的问题,需要耐心和细心进行排查和解决。
实验常见错误及解决方法1、启动CCS时出现如下错误:错误原因:以前在CCS setup里设置当前使用的平台为sdgo2xx(硬件仿真),或者同时设置为sdgo2xx 与c2xx simulator,所以进行软件仿真时应设置当前正在使用的为c2xx simulator。
解决方法有两种:方法1:点击“终止”,然后重新设置CCS setup,将sdgo2xx移除。
方法2:点击“忽略”,然后在“Parallel Debug Manager”中Open菜单下选择c2xx simulator2、编译连接时出现如下错误:错误原因是:文件命名、文件夹命名或保存位置不正确。
文件命名:不能以数字开头(包括mak文件的名字)文件夹命名:不能为中文保存位置:项目文件(mak文件)存储的位置一定要与其它文件(C文件、asm文件、h文件、cmd文件、等)放在同一目录下,且最好放在“x:\tic2xx\myprojects”目录下。
3、编译连接时出现如下错误提示:warning: entry point symbol _C_int0 undefined错误原因:用C语言开发的DSP程序在向工程文件添加文件时没有添加运行支持库文件rts2xx.lib注意rts2xx.lib的路径:在C:\tic2000\c2000\cgtools\lib目录下4、CCS与CCS setup均不能启动,提示:不能正确初始化程序或者CCS运行到某个地方后(例如编译连接后)不能停止,观察任务管理器,发现cc_app.exe占用CPU为100%,即CCS已经死了。
错误原因:CCS被病毒感染或破坏,或者多个版本CCS共存,相互干扰。
解决方法:方法1:重新启动电脑方法2:用运行正确的cc_app.exe程序替换被破坏的cc_app.exe程序。
5、编译连接通过,加载程序后,在运行时出现如下错误提示:错误可能原因:第一种可能:没有加载CMD文件第二种可能:CMD文件已加载,但CMD文件编写有问题,存储器配置、定位不正确第三种可能:用C语言编写的DSP程序,C初始化设置错误,已修改C Initialization 设置,方法:Project ——> Option——> Linker6、探测点设置不成功注意:①在设置探测点时应先加载程序②如下图所示,应先点击Probe Point中的选择框,使volume.c line 63——> No Connection被选中,然后在选Connect下拉菜单,找到相关联的数据文件,再点击Replace ,最后点“确定”。
DSP硬件设计的一些注意事项数字信号处理芯片(DSP)具有高性能的CPU(时钟性能超过100MHZ)和高速先进外围设备,通过CMOS处理技术,DSP芯片的功耗越来越低。
这些巨大的进步增加了DSP电路板设计的复杂性,并且同简单的数字电路设计相比较,面临更多相似的问题。
以下是DSP硬件设计的一些注意事项,谨供参考。
时钟电路选择原则1,系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片。
2,单一时钟信号时,选择晶体时钟电路。
3,多个同频时钟信号时,选择晶振。
4,尽量使用DSP片内的PLL,降低片外时钟频率,提高系统的稳定性。
5,C6000、C5510、C5409A、C5416、C5420、C5421和C5441等DSP片内无振荡电路,不能用晶体时钟电路。
6,VC5401、VC5402、VC5409和F281x等DSP时钟信号的电平为1.8V,建议采用晶体时钟电路未用的输入/输出引脚的处理1,未用的输入引脚不能悬空不接,而应将它们上拉活下拉为固定的电平1)关键的控制输入引脚,如Ready、Hold等,应固定接为适当的状态,Ready引脚应固定接为有效状态,Hold引脚应固定接为无效状态2)无连接(NC)和保留(RSV)引脚,NC 引脚:除非特殊说明,这些引脚悬空不接,RSV引脚:应根据数据手册具体决定接还是不接3)非关键的输入引脚,将它们上拉或下拉为固定的电平,以降低功耗2,未用的输出引脚可以悬空不接3,未用的I/O引脚:如果确省状态为输入引脚,则作为非关键的输入引脚处理,上拉或下拉为固定的电平。
如果确省状态为输出引脚,则可以悬空不接为什么要片内RAM大的DSP效率高?目前DSP发展的片内存储器RAM越来越大,要设计高效的DSP 系统,就应该选择片内RAM较大的DSP。
片内RAM同片外存储器相比,有以下优点:1)片内RAM的速度较快,可以保证DSP无等待运行。
2)对于C2000/C3x/C5000系列,部分片内存储器可以在一个指令周期内访问两次,使得指令可以更加高效。
Dsp遇到的问题集锦1:仿真器驱动没有装好,可以查看“Studio_v3.3/cc/bin”路径下的“xdsfast3.dll”文件,如果这个文件是160K大小那么驱动就是没有装好的。
如果出现这样的问题,即使重装驱动往往也不能成功。
需要删除该“xdsfast3.dll”文件,然后断开PC和仿真器,重新装仿真器驱动。
安装后查看“xdsfast3.dll”文件大小为352K即表示驱动安装成功。
2:Error:Error 0xA0002020/-1044Error during: Execution, Control,Device driver: Cannot acquire emulator processPossible conflict for device driver usage3:Error connecting to the target:Error 0x80000244/-2131Fatal Error during: Register, Initialization, OCS,Cannot access register at 0x00000000Sequence ID: 0Error Code: -2131Error Class: 0x800002444:Error:Error 0xA0003020/-1137Error during: Execution, Target, Control,It appears that the target is being held in reset. This may be due to Wait-In-Reset (WIR) configuration set by the EMU0=0 and EMU1=1 pin settings. If this is the case, DISCONNECTall CONNECTED devices including icepick and then select RETRY to clear the WIR configuration.If this is a multi-core system, the master CPU may not be releasing the DSP/MCU from reset. Please check your configuration in CC_setup and/or your GEL file to ensure that nothing is blocking the DSP/MCU from being released from resetSequence ID: 16Error Code: -1137Error Class: 0xA0003020。
二.DSP的C语言同主机C语言的主要区别?1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。
但在CCS 中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。
2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。
因此C和ASM的对应关系非常明确,非常便于人工优化。
3)DSP的代码需要绝对定位;主机的C的代码有操作系统定位。
4)DSP的C的效率较高,非常适合于嵌入系统。
三.DSP发展动态1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。
C24x系列建议使用LF24xx系列替代C24x系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。
C28x系列主要用于大存储设备管理,高性能的控制场合。
2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推荐使用VC33。
C3x系列是TI浮点DSP 的基础,不可能停产,但价格不会进一步下调。
3.TMS320C5x TMS320C5x系列已不推荐使用,建议使用C24x或C5000系列替代。
4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列。
其中VC54xx还不断有新的器件出现,如:TMS320VC5471(DSP+ARM7)。
C55x系列是TI的第三代DSP,功耗为VC54xx的1/6,性能为VC54xx的5倍,是一个正在发展的系列。
C5000系列是目前TI DSP的主流DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列。
5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。
此系列是TI的高档DSP系列。
其中C62xx系列是定点的DSP,系列芯片种类较丰富,是主要的应用系列。
C67xx系列是浮点的DSP,用于需要高速浮点处理的领域。
dsp硬件开发常见问题有源晶振与晶体的区别,应用范围及用法1) 晶体需要用DSP片内的振荡器,在datasheet上有建议的连接方法。
晶体没有电压的问题,可以适应于任何DSP,建议用晶体。
2)有源晶振不需要DSP的内部振荡器,信号比较稳定。
有源晶振用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。
如何测量晶振频率?1 测量晶振频率的最简捷、准确的方法就是:“用频率计”。
2 如果手头没有,也可用示波器测量晶振输出信号的重复周期,再反算出来。
如:0.1uS-->10MHz,62. 5nS-->16MHz。
用示波器测量频率不会很准确,即使是带有电子卡尺功能的,通常也不如频率计准确。
3 OSC1与OSC2中至少有一点(对地仅有十几pF的电容)是负担不动示波器的探头(X1---1Mohm/ /20-45pF或X10---10Mohm//12-18pF)或频率计的电缆(100Kohm//20-45pF等)的。
连接以后不是停振,就是频率跑了(改变很大)。
而且被测频率越高,越严重(电容阻抗越小并严重衰减信号的幅度)。
因此,通常可以测量振荡放大器或振荡非门的(低阻)输出端或经过一两级缓冲后的输出端。
4 我们知道方波是由相同频率的基波与基波的高次正弦谐波叠加而成。
因示波器带宽不够高,很多高次正弦谐波被衰减掉了。
于是只能将基(频正弦)波显示出来。
但并不影响测量信号频率。
DSP的最高主频能从芯片型号中获得吗?TI的DSP最高主频可以从芯片的型号中获得,但每一个系列不一定相同。
1)TMS320C2000系列:TMS320F206-最高主频20MHz。
TMS320C203/C206-最高主频40MHz。
TMS320F24x-最高主频20MHz。
TMS320LF24xx-最高主频30MHz。
TMS320LF24xxA-最高主频40MHz。
TMS320LF28xx-最高主频150MHz。
2)TMS320C3x系列:TMS320C30:最高主频25MHz。
TMS320C31PQL80:最高主频40MHz。
TMS320C32PCM60:最高主频30MHz。
TMS320VC33PGE150:最高主频75MHz。
3)TMS320C5000系列:TMS320VC54xx:最高主频160MHz。
TMS320VC55xx:最高主频300MHz。
4)TMS320C6000系列:TMS320C62xx:最高主频300MHz。
TMS320C67xx:最高主频230MHz。
TMS320C64xx:最高主频720MHz。
如何选择DSP的电源芯片?TMS320LF24xx:TPS7333QD,5V变3.3V,最大500mA。
TMS320VC33:TPS73HD318PWP,5V变3.3V和1.8V,最大750mA。
TMS320VC54xx:TPS73HD318PWP,5V变3.3V和1.8V,最大750mA;TPS73HD301PWP,5V变3. 3V和可调,最大750mA。
TMS320VC55xx:TPS73HD301PWP,5V变3.3V和可调,最大750mA。
TMS320C6000:PT6931,TPS56000,最大3A。
如何选择外部时钟?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-3 00MHz。
TMS320C67xx:PLL可以×1和×4,因此外部主频可以为12.5MHz-230MHz。
TMS320C64xx:PLL 可以×1,×6和×12,因此外部主频可以为30MHz-720MHzDSP发展动态1.TMS320C2000TMS320C2000系列包括C24x和C28x系列。
C24x系列建议使用LF24xx系列替代C24x 系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。
C28x系列主要用于大存储设备管理,高性能的控制场合。
2.TMS320C3xTMS320C3x系列包括C3x和VC33,主要推荐使用VC33。
C3x系列是TI浮点DSP的基础,不可能停产,但价格不会进一步下调。
3.TMS320C5xTMS320C5x系列已不推荐使用,建议使用C24x或C5000系列替代。
4.TMS320C5000TMS320C5000系列包括C54x和C55x系列。
其中VC54xx还不断有新的器件出现,如:TMS320VC5471(DSP+ARM7)。
C55x系列是TI的第三代DSP,功耗为VC54xx的1/6,性能为VC54xx的5倍,是一个正在发展的系列。
C5000系列是目前TI DSP的主流DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列。
5.TMS320C6000TMS320C6000系列包括C62xx、C67xx和C64xx。
此系列是TI的高档DSP系列。
其中C62xx系列是定点的DSP,系列芯片种类较丰富,是主要的应用系列。
C67xx系列是浮点的DSP,用于需要高速浮点处理的领域。
C64xx系列是新发展,性能是C62xx的10倍。
6.OMAP系列是TI专门用于多媒体领域的芯片,它是C55+ARM9,性能卓越,非常适合于手持设备、Internet终端等多媒体应用。
5V/3.3V如何混接?TI DSP的发展同集成电路的发展一样,新的DSP都是3.3V的,但目前还有许多外围电路是5V的,因此在DSP系统中,经常有5V和3.3V的DSP混接问题。
在这些系统中,应注意:1)DSP输出给5V的电路(如D/A),无需加任何缓冲电路,可以直接连接。
2)DSP输入5V的信号(如A/D),由于输入信号的电压>4V,超过了DSP的电源电压,DS P的外部信号没有保护电路,需要加缓冲,如74LVC245等,将5V信号变换成3.3V的信号。
3)仿真器的JTAG口的信号也必须为3.3V,否则有可能损坏DSP。
为什么DSP从5V发展成3.3V?超大规模集成电路的发展从1um,发展到目前的0.1um,芯片的电源电压也随之降低,功耗也随之降低。
DSP也同样从5V发展到目前的3.3V,核心电压发展到1V。
目前主流的DSP 的外围均已发展为3.3V,5V的DSP的价格和功耗都价格,以逐渐被3.3V的DSP取代。
为什么要片内RAM大的DSP效率高?目前DSP发展的片内存储器RAM越来越大,要设计高效的DSP系统,就应该选择片内R AM较大的DSP。
片内RAM同片外存储器相比,有以下优点:1)片内RAM的速度较快,可以保证DSP无等待运行。
2)对于C2000/C3x/C5000系列,部分片内存储器可以在一个指令周期内访问两次,使得指令可以更加高效。
3)片内RAM运行稳定,不受外部的干扰影响,也不会干扰外部。
4)DSP片内多总线,在访问片内RAM时,不会影响其它总线的访问,效率较高。
DSP可以降频使用吗?可以,DSP的主频均有一定的工作范围,因此DSP均可以降频使用。
DSP芯片有多大的驱动能力?DSP的驱动能力较强,可以不加驱动,连接8个以上标准TTL门。
调试TMS320C2000系列的常见问题?1)单步可以运行,连续运行时总回0地址:Watchdog没有关,连续运行复位DSP回到0地址。
2)OUT文件不能load到片内flash中:Flash不是RAM,不能用简单的写指令写入,需要专门的程序写入。
CCS和C Source Debugger中的load命令,不能对flash写入。
OUT文件只能load到片内RAM,或片外RAM中。
3)在flash中如何加入断点:在flash中可以用单步调试,也可以用硬件断点的方法在flash 中加入断点,软件断点是不能加在ROM中的。
硬件断点,设置存储器的地址,当访问该地址时产生中断。
4)中断向量:C2000的中断向量不可重定位,因此中断向量必须放在0地址开始的flash内。
在调试系统时,代码放在RAM中,中断向量也必须放在flash内。
调试TMS320C3x系列的常见问题?1) TMS320C32的存储器配置:TMS320C32的程序存储器可以配置为16位或32位;数据存储器可以配置为8位、16位或32位。
2)TMS320VC33的PLL控制:TMS320VC33的P LL控制端只能接1.8V,不能接3.3V或5V。
如何调试多片DSP?对于有MPSD仿真口的DSP(TMS320C30/C31/C32),不能用一套仿真器同时调试,每次只能调试其中的一个DSP;对于有JTAG仿真口的DSP,可以将JTAG串接在一起,用一套仿真器同时调试多个DSP,每个DSP可以用不同的名字,在不同的窗口中调试。
注意:如果在JTAG和DSP间加入驱动,一定要用快速的门电路,不能使用如LS的慢速门电路。
在DSP系统中为什么要使用CPLD?DSP的速度较快,要求译码的速度也必须较快。
利用小规模逻辑器件译码的方式,已不能满足DSP系统的要求。