开发人员对DSP控制器的四大误解
- 格式:docx
- 大小:12.10 KB
- 文档页数:3
问:我测试你们的程序的时候,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的电源设计和时钟设计应该特别注意哪些方面.外接晶振选用有源的好还是无源的好.答:时钟一般使用晶体,电源可用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硬件开发常见问题有源晶振与晶体的区别,应用范围及用法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。
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控制器的原理是基于数字信号处理技术,通
过数字化信号的处理和计算,实现对输入信号的控制输出。
在各个领域中,它都具有广泛的应用前景,可以提高系统的性能和功能。
实验常见错误及解决方法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 ,最后点“确定”。
二、信号调理(一)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芯片有多大的驱动能力?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系统的要求。
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 的新型控制器在相当适中的价格上实现了显著的性能提高。
如电压赫兹常量以及六步通信(six step commutation) 等简单的控制算法难以实现高效率与优化机身大小所需的性能。
基于DSP 的智能控制器在两个方面改变了上述情况。
首先,其添加了计数能力。
这使得设计人员能够实施性能更高的控制算法,
如磁场定向控制。
其次,计算强度更高的算法还使设计人员能够使用更高效的
马达。
举例来说,我们可用永磁马达替代AC 感应马达,这就进一步提高了效
率与动态性能。
计算强度较大的矢量控制等先进技术的所谓问题在于乘法与累加(MAC) 运
算占据了算法的大部分。
标准的8、16 或32 位微控制器不能处理上述运算,因为缺少适当的总线架构来实现数学效率。
最终,这就意味着我们必须将设计
从根本上进行转变,不是转变到DSP,而是发展到基于DSP 的32 位控制器。
人们对采用DSP 控制器有许多常见的误解,这丝毫不足为奇,例如:
* DSP 控制器不具备马达控制外设;
* 代码密度问题使基于DSP 的32 位系统难以让人接受;
* DSP 可能会较好地适合控制算法,但却不能很好地处理其他控制任务;。