开发人员对DSP控制器的四大误解
DSP常见问题及解决
问:我测试你们的程序的时候,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的时候,这个笔画被点亮。
做DSP最应该懂57个问题
一、时钟和电源问:DSP的电源设计和时钟设计应该特别注意哪些方面.外接晶振选用有源的好还是无源的好.答:时钟一般使用晶体,电源可用TI的配套电源。
外接晶振用无源的好。
问:TMS320LF2407的A/D转换精度保证措施。
答:参考电源和模拟电源要求干净。
问:系统调试时发现纹波太大,主要是哪方面的问题.答:如果是电源纹波大,加大电容滤波。
问:请问我用5V供电的有源晶振为DSP提供时钟,是否可以将其用两个电阻进展分压后再接到DSP的时钟输入端,这样做的话,时钟工作是否稳定.答:这样做不好,建议使用晶体。
问:一个多DSP电路板的时钟,如何选择比拟好.DSP电路板的硬件设计和系统调试时的时序问题.答:建议使用时钟芯片,以保证同步。
硬件设计要根据DSP芯片的时序,选择外围芯片,根据时序设定等待和硬件逻辑。
二.干扰与板的布局问:器件布局应重点考虑哪些因素.例如在集中抄表系统中.答:可用TMS320VC5402,本钱不是很高。
器件布局重点应是存贮器与DSP的接口。
问:在设计DSP的PCB板时应注意哪些问题.答:1.电源的布置;2.时钟的布置;3.电容的布置;4.终端电路;5.数字同模拟的布置。
问:请问DSP在与前向通道(比方说AD)接口的时候,布线过程中要注意哪些问题,以保证AD采样的稳定性.答:模拟地和数字地分开,但在一点接地。
问:DSP主板设计的一般步骤是什么.需要特别注意的问题有哪些.答:1.选择芯片;2.设计时序;3.设计PCB。
最重要的是时序和布线。
问:在硬件设计阶段如何消除信号干扰〔包括模拟信号及高频信号〕.应该从那些方面着手.答:1.模拟和数字分开;2.多层板;3.电容滤波。
问:在电路板的设计上,如何很好的解决静电干扰问题。
答:一般情况下,机壳接,即能满足要求。
特殊情况下,电源输入、数字量输入串接专用的防静电器件。
问:DSP板的电磁兼容〔EMC〕设计应特别注意哪些问题"答:正确处理电源、地平面,高速的、关键的信号在源端串接端接电阻,防止信号反射。
DSP编程中几个关键问题的探究
义 ,1e cI 。  ̄.f a y 汇编语 言程序巾使用 的局部变 d T 量不需定义 , 可直接声 明,例如 t _ u .o r nm wr n d O h 如果在两个 am文件中有 两个都没有定义 O。 s 的同名变量 ,则编译程序会 认为分f 不是 同 门 变量 。在汇编程序 的开头应 有. m e s m r 宏语 g 句 。它一方 面表示对 默认定义的确认 (h hr a , ,n bt 等) , 另一方面可以对所用寄存器雨新定义 。 : 如
AR4 (/ 、)
其他易导致歧义 的语句还有 : L R , ; A 5 D A 5A 把 R 的内容送人寄存器 A
( X)
确结果 。 因为 C到 A M的汇编有默认的人 口c S — i0 , n 0 从这开始 的一段程序为 C程序的运行做 t 准备工 作。 这些工作包括初 始化变量 、 设置栈指 针等 ,相 当于 系统壳 不能 耐跨越 。这时可在 . c d文件 中去 掉语 句 :em i—tt m - a sr ^ n a 。如仍想执 行某些汇编程序 , 可以 c函数的形式执行 , : 如 ma n s r ;/ i tt , a0 其中含有其 他汇编程序 但前 提是 在汇 编程 序 中把 _ a _t t m ns r作 i a 为首地址 , 序以 rt结 尾 ( 为可调用 的函 程 e e 作 数 ) 的 程 序 段 , 并 在 汇 编 程 序 中 引 用
摘 要 :对 D P串 口的 D A传 榆 方式 使 用 中可能遇 到 的疑 难 问题 、汇编指 令歧 义及 C语 言 混合 编程 容 易犯 的错 误作 了分析 , S M 对 B o od编 程的疑 难点做 出 了相应 实例 解释 。 ot a l
关 键 词 : 编 指 令 的 歧 义 ; ot a u ; l — rme 汇 B oI d B g Mut F a o i
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。
DSP调试及烧写和加载常见错误及分析
Error: Read status value 0x0001 from symbol PRG_statusFlash algorithm failed during clear operation开始能够正常烧写的 , 可是上机调试了一下就不可以写了.在烧写 lf2407内部flash时出现以下错误,不知是什么原由造成的?Error:Read status value 0x0001 from symbolPRG_status Flash algorithm failed during clear operation.换了一个芯片后正常从前有一次在试 CCS功能时,一不当心点了一次加密,还没有履行完,就立刻点认识密,大体这样烧坏了吧!太柔弱了,不再敢试加密了CMD文件要避开 FLASH的 40H--44H 区间,我也出现过这样的问题,烧写2407A的片内 flash时会出现下边的错误提示:Error: Read status value 0x0001 form symbol PRG_statusFlash algorithm failed during clear operation以后换了一块 2407 就能烧写了。
是不是 2407 的 flash坏了?有没有方法检测或许修复flash?昨天在网上查了一下 , 好多人都碰到了这类问题 , 可能是 dsp 内部 flash 烧坏了吧 ! 今日从头换了一块芯片 , 能够烧录进去了 , 可是上拿到样机上浮试试看 , 再烧录就出现了相同的问题 , 预计又是 flash 坏了 , 究竟是什么原由惹起的 ?是不是电源惹起的呢 ?我也出现过能仿真,但不可以烧写的状况!解决方法:解决方法:降低时钟频次。
点击 FLASH插件上的“ View Config File ”,翻开VAR.h文件。
将该文件中的“ PLL_PATIO_CONST .Set 0000h”改成“PLL_PATIO_CONST .Set 0200h”存盘后,履行目录下的Buildall.bat 批办理文件。
dsp控制器原理及应用
dsp控制器原理及应用
DSP控制器原理及应用
DSP控制器是指采用数字信号处理技术设计的控制系统中的
一种关键组件。
它主要应用于需要高性能数字信号处理的领域,如通信、音频、图像处理、汽车控制等。
DSP控制器的原理是基于数字信号处理技术,通过将模拟信
号转换为数字信号,并利用高速的数值运算进行信号处理和控制。
其核心是DSP芯片,它集成了高性能的数字信号处理器,具有强大的计算能力和灵活的编程控制能力。
在应用方面,DSP控制器的主要作用是实现对输入信号的数
字化采样、滤波、变换和调节,从而得到所需的控制输出信号。
它可以对信号进行实时处理,满足复杂的控制算法和多种控制需求。
同时,DSP控制器还可与其他传感器、执行器等硬件
设备进行接口连接,实现完整的控制系统。
在通信领域,DSP控制器可用于实现调制解调、编码解码、
信号检测等功能,提高通信系统的传输质量和可靠性。
在音频领域,它可以实现音频信号音乐合成、音频效果处理等功能,满足高保真音质要求。
在图像处理领域,DSP控制器可以处
理图像的采集、压缩、增强等任务,实现高质量图像输出。
在汽车控制领域,它可以应用于发动机控制、车辆稳定性控制等方面,提高驾驶安全性和舒适性。
总的来说,DSP控制器的原理是基于数字信号处理技术,通
过数字化信号的处理和计算,实现对输入信号的控制输出。
在各个领域中,它都具有广泛的应用前景,可以提高系统的性能和功能。
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的科氏流量计变送器开发过程中遇到的问题及解决方案(四)
二、信号调理(一)INA1281.放大系数由外接电阻RG的阻值决定,放大13.8倍。
2.为何要用户自己提供偏置电流?因为运算放大器要求尽可能宽的共模输入电压范围, 而且都是直接耦合的, 不可能在芯片上集成提供偏置电流的电流源。
3.本设计中,把RP+和RP-作为两个输入端接入放大器,所以只有一个输出,输出是OUT与REF之间的电压,因而只有一路信号,后边进行ADC的时候,看上去是差分输入,但是其中只有一路是信号,另一路是直流电平,所以是伪差分输入。
(二)OPA22774.为防止直流电源电压波动产生的干扰,需要在电源引脚和地端加一10uF钽电容,这是具有极性的电容,防止低频干扰,钽电容体积最小;加一104pF独石电容,防止高频干扰。
独石电容电气性能最稳定,不随电压、温度、时间而改变。
(三)模拟滤波器5.模拟滤波器中,贝塞尔滤波器具有线性相位的特点,适用于要求群时延相等的场合,比如音频。
6.巴特沃斯、切比雪夫和贝塞尔都是全极点滤波器。
椭圆滤波器的零点为有限值,从通带到阻带的过渡比切比雪夫还快,但是有纹波。
7.滤波器的加入会带来相移,截止频率距信号频率越近,相移越大。
若两路滤波电路的相移变化不对称,就会导致相位差发生变化。
提高截止频率能明显减小滤波器对相位的影响,截止频率的提高对于噪声的抑制能力减弱。
参见朱永强的大论文。
8.电阻、运放等参数相对稳定,不至于影响结果,影响主要来自电容,因受工艺限制,普通电容的精度低,温度系数大。
9.(四)ADS125510.ADS1255采样频率7500SPS,DRDY周期为1/7500=133us,当SYNC低电平超过20*133us=2.67ms时,就会进入power-down模式11.放大倍数为1,满量程应该是5V12.差分输入信号,使用AIN0和AIN1,不要使用AINCOM13.Epwm5a和GPIO8共用一个引脚,而且GPIO8跟ADS1255的DRDY引脚相连,是作为GPIO引脚14.DSP的GPIO10连接到ADS1255的DRDY引脚上,作为外部中断源XINT1,当数据准备好后,就从mcbsp向1255发送数据AAAAAAAA,不知为何物!!!没有这个命令,可能只是调试的时候方便辨认波形。
做DSP之前我们该弄明白哪些基本问题2
十四.DSP芯片有多大的驱动能力?DSP的驱动能力较强,可以不加驱动,连接8个以上标准TTL门。
十五.调试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内。
十六.调试TMS320C3x系列的常见问题?1)TMS320C32的存储器配置:TMS320C32的程序存储器可以配置为16位或32位;数据存储器可以配置为8位、16位或32位。
2)TMS320VC33的PLL控制:TMS320VC33的PLL控制端只能接1.8V,不能接3.3V或5V。
十七.如何调试多片DSP?对于有MPSD仿真口的DSP(TMS320C30/C31/C32),不能用一套仿真器同时调试,每次只能调试其中的一个DSP; 对于有JTAG仿真口的DSP,可以将JTAG串接在一起,用一套仿真器同时调试多个DSP,每个DSP可以用不同的名字,在不同的窗口中调试。
注意:如果在JTAG和DSP间加入驱动,一定要用快速的门电路,不能使用如LS的慢速门电路。
十八.在DSP系统中为什么要使用CPLD?DSP的速度较快,要求译码的速度也必须较快。
利用小规模逻辑器件译码的方式,已不能满足DSP系统的要求。
dsp 编程注意问题
TI 的 DSP 为了提高安全性能,将很多关键寄存器作了保护处理。
通过状态寄存器 1(ST1)的位6设置与复位,来决定是否允许DSP指令对关键寄存器进行操作。
这些关键寄存器包括器件仿真寄存器、FLASH寄存器、CSM寄存器、PIE 矢量表、系统控制寄存器、GPIO MUX 寄存器、eCAN 寄存器的一部分。
DSP由于在上电复位之后,状态寄存器基本上都是清零,而这样的状态下正是上述特殊寄存器禁止改写的状态。
为了能够对这些特殊寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设置状态寄存器1的C6位。
在设置完寄存器之后,一定要注意执行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器1 的C6 位。
DSP开发中值得注意的几个问题
DSP开发中值得注意的几个问题选择DSP的型号目前市场上的主要DSP生产商包括TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大市场份额。
产品包括了从低端的低速度DSP到高端的大运算量的DSP产品。
目前,广泛使用的TI DSP有三个系列:C2000、C5000、C6000(C3X 也有使用),其它型号都基本淘汰。
需要提醒注意的是:在TI的DSP中,同一系列中不同型号的DSP都具有相同的DSP核,相同或兼容的汇编指令系统,其差别仅在于片内存储器的大小,外设资源(如定时器、串口、并口等)的多少;不同系列DSP的汇编指令系统不兼容,但汇编语言的语法非常相似。
除了汇编语言外,TI还为每个系列都提供了优化的C/C++编译器,方便用户使用高级语言进行开发,效率可以达到手工汇编的90%甚至更高。
在具体的开发中,根据所设计的系统要求和最终产品的成本估算,一般从以下几个方面去考虑选择什么型号的DSP芯片。
DSP设计中的基本技巧可以同时使用FIFO为CY7C4225(1k×18)。
多CPU的混合系统。
MCU在控制、管理领域有不可替代的地位,因为它无论从成本,开发系统都很廉价和成熟。
DSP在数字信号处理方面又是普通MCU,甚至通用CPU都无法比拟的。
因此许多应用中采用MCU+DSP的结构,MCU负责管理,甚至运行嵌入式操作系统;而DSP仅仅负责快速的数据运算处SP的混合系统目前也很方便,有时采用多个低档的DSP并行比采用一片高档的DSP 会大大降低系统的成本。
如前锋公司的GSM手机综测仪采用3片VC5409并行处理,分别负责信道、基带和信令。
多CPU的混合系统中使用RTOS。
在DSP+MCU或多DSP的系统中,嵌入式操作系统,特别是实时嵌入式操作系统显得尤其重要。
但实时操作系统不仅少,而且价格昂贵,但普通嵌入式操作系统很廉价,根据具体设计要求可以做不同的选择。
目前也正在VC5471平台和C5000平台上尝试嵌入式操作系统电源管理。
dsp控制器原理与应用的答案
DSP控制器原理与应用的答案1. 简介DSP(Digital Signal Processor)控制器是一种专门用于数字信号处理的微处理器。
它具有高性能、高速度和低功耗的特点,广泛应用于音频、视频、图像处理、通信系统等领域。
本文将介绍DSP控制器的原理和应用。
2. DSP控制器的原理DSP控制器的核心原理是通过数字信号处理算法对信号进行处理。
它包括以下几个主要组成部分:2.1 数据通路数据通路是DSP控制器中最重要的部分。
它由数据寄存器、算术逻辑单元(ALU)、累加器、控制单元等组成。
数据通路通过ALU执行加法、乘法、移位等算术和逻辑运算操作,将处理后的数据保存在数据寄存器中。
2.2 存储器存储器是用于存储数据和程序的部件。
DSP控制器通常包括内部RAM和外部ROM。
内部RAM用于临时存储数据和程序,而外部ROM用于存储固定的程序代码和常量数据。
2.3 控制单元控制单元是DSP控制器中的指令解码器和时序生成器。
它根据程序指令提供的操作码和地址信息,生成相应的控制信号,控制数据通路的工作。
控制单元还负责指令的译码、寻址以及算术和逻辑运算的协调。
3. DSP控制器的应用DSP控制器广泛应用于各个领域的数字信号处理中,包括音频、视频、图像处理和通信系统等。
以下是几个常见的应用场景:3.1 音频处理DSP控制器可以实现音频信号的滤波、变声、混音等处理功能。
例如,在音频设备中,可以使用DSP控制器对声音进行均衡处理,提升音质。
此外,DSP控制器还可以实现音频信号的压缩和解压缩,实现高效的音频编解码。
3.2 视频处理DSP控制器在视频处理中也发挥着重要作用。
它可以实现图像的降噪、边缘增强、色彩校正等功能。
在视频编解码中,DSP控制器可以对视频信号进行压缩和解压缩,实现高清视频的传输和存储。
3.3 图像处理DSP控制器在图像处理领域的应用越来越广泛。
它可以实现图像的增强、去噪、图像识别等功能。
例如,在安防领域,DSP控制器可以对监控视频进行实时的人脸识别和车牌识别。
DSP程序编写和调试的常见问题
DSP仿真器为什么必须连接目标系统(Target)?DSP的仿真器同单片机的不同,仿真器中没有DSP,提供IEEE 标准的JTAG口对DSP进行仿真调试,所以仿真器必须有仿真对象,及目标系统。
目标系统就是你的产品,上面必须有DSP。
仿真器提供JTAG同目标系统的DSP相接,通过DSP实现对整个目标系统的调试。
仿真工作正常对于DSP的基本要求1)DSP电源和地连接正确。
2)DSP时钟正确。
3)DSP的控制信号RS和HOLD信号接高电平。
4)C2000的watchdog关掉。
5)不可屏蔽中断NMI上拉高电平。
CCS或Emurst运行时提示“Can't Initialize Target DSP”1)仿真器连接是否正常?2)仿真器的I/O设置是否正确?3)XDSPP仿真器的电源是否正确?4)目标系统是否正确?5)仿真器是否正常?建议使用目标板测试。
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的效率较高,非常适合于嵌入系统。
Link的cmd文件的作用是什么?Link的cmd文件用于DSP代码的定位。
由于DSP的编译器的编译结果是未定位的,DSP没有操作系统来定位执行代码,每个客户设计的DSP系统的配置也不尽相同,因此需要用户自己定义代码的安装位置。
以C5000为例,基本格式为:-o sample.out -m sample.map -stack 100 sample.obj meminit.obj -l rts.lib ME MORY { PAGE 0: VECT: origin = 0xff80, length 0x80 PAG E 0: PROG: origin = 0x2000, length 0x400 PAGE 1: DATA: origin = 0x800, length 0x400 } SECTIONS { .vectors : {} >P ROG PAGE 0 .text : {} >PROG PAGE 0 .data : {} >PROG PAGE 0 .cinit : {} >PROG PAGE 0 .bss : {} >DATA PAGE 1}如何将OUT文件转换为可以烧写ROM的文件格式?DSP的开发软件集成了一个程序,可以从执行文件OUT转换到编程器可以接受的格式,使得编程器可以用次文件烧写EPROM 或Flash。
浅谈对DSP的认识和DSP发展前景
浅谈对DSP的认识和DSP发展前景概念的理解DSP一方面是Digital Signal Processing的缩写,意思是数字信号处理,就是指数字信号理论研究。
DSP另一方面是Digital Signal Processor,意思是数字信号处理器,就是用来完成数字信号处理的器件。
DSP的发展概况最初的DSP器件只是被设计成用以完成复杂数字信号处理的算法。
DSP器件紧随着数字信号理论的发展而不断发展。
在20世纪60年代,数字信号处理技术才刚刚起步。
60年代中期以后,快速傅里叶算法的出现及大规模集成电路的发展大大促进了DSP技术与器件的飞速发展。
DSP器件的发展大致可分为三个阶段:(1)1980年前后的雏形阶段。
(2)1990年前后的成熟阶段。
(3)2000年之后的完善阶段DSP器件的特点1.高速、高精度运算能力(1)硬件乘法累加操作,在一个指令周期内可完成一次乘法和一次加法。
(2)哈弗结构和流水线结构。
哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。
与两个存储器相对应的是系统中设置了程序总线和数据总线,从而使数据的吞吐率提高了一倍。
由于程序和存储器在两个分开的空间中,因此取指和执行能完全重叠。
流水线与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行的时间,从而增强了处理器的处理能力。
使取指、译码和执行等操作可以重叠执行,处理器可以并行处理二到四条指令,每条指令处于流水线的不同阶段。
(3)硬件循环控制。
大多数的DSP都有专门的硬件,用于零开销循环。
所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。
(4)特殊的寻址模式。
DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。
例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。
谈谈对DSP的认识
浅谈对DSP的认识中文摘要:数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
关键词:数字信号处理;芯片发展;应用正文:数字信号处理作为信号和信息处理的一个分支学科,已渗透到科学研究、技术开发、工业生产、国防和国民经济的各个领域,取得了丰硕的成果。
对信号在时域及变换域的特性进行分析、处理,能使我们对信号的特性和本质有更清楚的认识和理解,得到我们需要的信号形式,提高信息的利用程度,进而在更广和更深层次上获取信息。
DSP芯片,也称数字信号处理器,是一种特别适合进行数字信号处理运算的微处理器。
DSP芯片的出现和发展,促进数字信号处理技术的提高,许多新系统、新算法应运而生,其应用领域不断拓展。
目前,DSP芯片已广泛应用于通信、自动控制、航天航空、军事、医疗等领域。
数字信号处理是将信号以数字方式表示并处理的理论和技术。
数字信号处理与模拟信号处理是信号处理的子集。
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。
而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。
数字信号处理系统的优越性表现为:1.灵活性好:当处理方法和参数发生变化时,处理系统只需通过改变软件设计以适应相应的变化。
2.精度高:信号处理系统可以通过A/D变换的位数、处理器的字长和适当的算法满足精度要求。
DSP到底是个什么鬼?看完你就懂了
DSP到底是个什么鬼?看完你就懂了DSP 即数字信号处理技术, DSP 芯片即指能够实现数字信号处理技术的芯片。
DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。
DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法。
在当今的数字化时代背景下, DSP 己成为通信、计算机、消费类电子产品等领域的基础器件。
DSP 芯片的诞生是时代所需。
20 世纪 60 年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在 DSP 芯片出现之前数字信号处理只能依靠微处理器来完成。
但由于微处理器较低的处理速度不快,根本就无法满足越来越大的信息量的高速实时要求。
因此应用更快更高效的信号处理方式成了日渐迫切的社会需求。
上世纪 70 年代, DSP 芯片的理论和算法基础已成熟。
但那时的 DSP 仅仅停留在教科书上,即使是研制出来的 DSP 系统也是由分立元件组成的,其应用领域仅局限于军事、航空航天部门。
1978 年, AMI 公司发布世界上第一个单片 DSP 芯片 S2811,但没有现代 DSP 芯片所必须有的硬件乘法器;1979 年,美国 Intel 公司发布的商用可编程器件 2920 是 DSP 芯片的一个主要里程碑,但其依然没有硬件乘法器;1980 年,日本 NEC 公司推出的 MPD7720 是第一个具有硬件乘法器的商用 DSP 芯片,从而被认为是第一块单片 DSP 器件。
DSP 芯片的诞生过程1982 年世界上诞生了第一代 DSP 芯片 TMS32010 及其系列产品。
这种 DSP 器件采用微米工艺 NMOS 技术制作,虽功耗和尺寸稍大,但运算速度却比微处理器快了几十倍。
DSP 芯片的问世是个里程碑,它标志着 DSP 应用系统由大型系统向小型化迈进了一大步。
至 80 年代中期,随着 CMOS 工艺的 DSP 芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。
对dsp的认识
对DSP系统的认识数字信号处理(简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。
数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用DSP可以代表数字信号处理技术(Digital SignalProcessing),也可以代表数字信号处理器(Digital Signal Processor)。
前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。
一DSP芯片的特点数字信号处理不同于普通的科学计算与分析,它强调运算的实时性。
除了具备普通微处理器所强调的高速运算和控制能力外,针对实时数字信号处理的特点,在处理器的结构、指令系统、指令流程上作了很大的改进,其主要特点如下:1.采用哈佛结构DSP芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯·诺伊曼结构有更快的指令执行速度。
2.采用多总线结构DSP芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并由辅助寄存器自动增减地址进行寻址,使CPU在一个机器周期内可多次对程序空间和数据空间进行访问,大大地提高了DSP的运行速度。
如:TMS320C54x系列内部有P、C、D、E等4组总线,每组总线中都有地址总线和数据总线,这样在一个机器周期内可以完成如下操作:①从程序存储器中取一条指令;②从数据存储器中读两个操作数;③向数据存储器写一个操作数。
3.采用流水线技术4. 配有专用的硬件乘法-累加器5. 具有特殊的DSP指令6.快速的指令周期7.硬件配置强8.支持多处理器结构二DSP系统的构成一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等组成。
DSP系统的处理过程:①将输入信号x(t)进行抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠;②经采样和A/D转换器,将滤波后的信号转换为数字信号x(n);③数字信号处理器对x(n)进行处理,得数字信号y(n);④经D/A转换器,将y(n)转换成模拟信号;⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。
车载控制器开发中的一些吐槽
车载控制器开发中的一些吐槽周末,难得清闲,跟几个朋友吃吃饭,聊聊天。
正好一个朋友最近工作上遇到了烦心事,给吐槽了一段,听来估计也是同行的痛点,遂写出来。
这位朋友最近在做量产项目的UDS诊断的开发。
目前车载项目的诊断开发基本都是基于AUTOSAR来开发,很少有自己写诊断协议栈的,除非是家里祖传的协议栈代码。
问题就出在AUTOSAR上。
在AUTOSAR的官网上,或者是AUTOSAR的培训或者是相关的文章,都提到基于AUTOSAR架构开发控制器,可以模块化,缩短开发周期,提高开发质量,巴拉巴拉等。
这些无可厚非,确实有一些好处,但是也有很多苦恼。
这些在之前的文章里也分析过(谈谈对两家AUTOSAR工具看法),这些都不说了,这些是领导要考虑的事情。
那这位朋友作为开发人员最难受的是什么呢?1.cdd的编辑工具居然也有不同的license权限。
熟悉Vector达芬奇工具的人知道,其诊断的开发依赖于cdd文件的导入,而cdd文件的编辑是基于CANdelaStudio,但是这个工具居然也有不同的license,不同的license的编辑权限不一样,这真是让人无语了,一个编辑器也搞这么多花样。
2.不同的AUTOSAR授权license,居然可配置的选项不一样。
在之前的文章(谈谈对两家AUTOSAR工具看法)也提到过,AUTOSAR工具厂商在卖工具时,通常有不同的授权模式,比如项目license,OEM license,预研license等。
在ETAS的不同授权里,据了解是不会有配置选项的不同。
而Vector就牛逼了,不同的license可能会锁配置选项的,比如你们公司给德国某主机厂开发产品,那些有些参数就是锁死的,不让配置,比如网络管理的时间参数。
另外还有就是诊断里的快照配置,有些也是灰色的,不让配置的。
以上两种就是最近我这位朋友在工作开发过程中遇到的,我也是很感叹,这些厂商真会玩,赚钱方式是真多,好好的一个标准,居然玩成这样。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发人员对DSP控制器的四大误解
马达控制设计人员近来在家用电器产品与伺服驱动器等各种应用中的发展
都遇到了障碍,必须在控制器性能或昂贵的价格之间进行选择。
大多数马达控
制应用本身成本较低。
获得市场接受的必需条件之一就是产品价格要有吸引力,这就意味着必须选择能够实现工作目的的、从事其他作用有限的最廉价控制器。
基于DSP 的智能控制器正在改变这种情况,僵局被打破,基于DSP 的新型控制器在相当适中的价格上实现了显著的性能提高。
如电压赫兹常量以及六步通信(six step commutation) 等简单的控制算法难以实现高效率与优化机身大小所需的性能。
基于DSP 的智能控制器在两个方面改变了上述情况。
首先,其添加了计数能力。
这使得设计人员能够实施性能更高的控制算法,
如磁场定向控制。
其次,计算强度更高的算法还使设计人员能够使用更高效的
马达。
举例来说,我们可用永磁马达替代AC 感应马达,这就进一步提高了效
率与动态性能。
计算强度较大的矢量控制等先进技术的所谓问题在于乘法与累加(MAC) 运
算占据了算法的大部分。
标准的8、16 或32 位微控制器不能处理上述运算,因为缺少适当的总线架构来实现数学效率。
最终,这就意味着我们必须将设计
从根本上进行转变,不是转变到DSP,而是发展到基于DSP 的32 位控制器。
人们对采用DSP 控制器有许多常见的误解,这丝毫不足为奇,例如:
* DSP 控制器不具备马达控制外设;
* 代码密度问题使基于DSP 的32 位系统难以让人接受;
* DSP 可能会较好地适合控制算法,但却不能很好地处理其他控制任务;。