📄 dsp学习资料心得体会.htm
字号:
<BR>GEL_MapAdd(0x8000,0,0x7000,1,1); 定义程序空间从8000-f000 可读写
<BR>GEL_MapAdd(0x0000,1,0x10000,1,1); 定义数据空间从0000-10000可读写
<BR>GEL_MapAdd(0xffff,2,1,1,1); 定义i/o 空间0xffff可读写 <BR>GEL_MapOn();
存储空间打开 <BR>GEL_MemoryFill(0xffff,2,1,0x40); 在i/o空间添入数值40h <BR>*(int
*)SCSR1=0x0200; 给scsr1寄存器赋值 <BR>*(int *)SCSR2=0x000C;
给scsr2寄存器赋值,在这里可以进行mp/mc方式的转换 <BR>*(int *)WDNTR="0x006f";
给wdntr寄存器赋值 <BR>*(int *)WDKEY="0x055"; 给wdkey寄存器赋值 <BR>*(int
*)WDKEY="0x0AA"; 给wdkey寄存器赋值 <BR>}
<BR><BR>三十六.使用TI公司模拟器件与DSP结合使用的好处。<BR>1)在使用TI公司的DSP的同时,使用TI公司的模拟可以和DSP进行无缝连接。器件与器件之间不需要任何的连接或转接器件。这样即减少了板卡的尺寸,也降低了开发难度。
<BR>2)同为TI公司的产品,很多器件可以固定搭配使用。少了器件选型的烦恼
<BR>3)TI在CCS中提供插件,可以用于DSP和模拟器件的开发,非常方便。
<BR><BR>三十七.C语言中可以嵌套汇编语言?<BR>可以。在ANSI
C标准中的标准用法就是用C语言编写主程序,用汇编语言编写子程序,中断服务程序,一些算法,然后用C语言调用这些汇编程序,这样效率会相对比较高<BR><BR>三十八.在定点DSP系统中可否实现浮点运算?<BR>当然可以,因为DSP都可以用C,只要是可以使用c语言的场合都可以实现浮点运算。<BR><BR>三十九.JTAG头的使用会遇到哪些情况?<BR>1)DSP的CLKOUT没有输出,工作不正常。
<BR>2)Emu0,Emu1需要上拉。 <BR>3)TCK的频率应该为10M。 <BR>4)在3.3V DSP中,PD脚为3.3V
供电,但是仿真器上需要5V电压供电,所以PP仿真器盒上需要单独供电。
<BR>4)仿真多片DSP。在使用菊花链的时候,第一片DSP的TDO接到第二片DSP的TDI即可。注意当串联DSP比较多的时候,信号线要适当的增加驱动。
<BR><BR>四十.include头文件(.h)的主要作用<BR>头文件,一般用于定义程序中的函数、参数、变量和一些宏单元,同库函数配合使用。因此,在使用库时,必须用相应的头文件说明。
<BR><BR>四十一.DSP中断向量的位置<BR>1)2000系列dsp的中断向量只能从0000H处开始。所以在我们调试程序的时候,要把DSP选择为MP(微处理器方式),把片内的Flash屏蔽掉,免去每次更改程序都要重新烧写Flash工作。
<BR>2)3x系列dsp的中断向量也只能在固定的地址。
<BR>3)5000,6000系列dsp的中断向量可以重新定位。但是它只能被重新定位到Page0范围内的任何空间。<BR><BR>四十二.有源晶振与晶体的区别,应用范围及用法<BR>1)晶体需要用DSP片内的振荡器,在datasheet上有建议的连接方法。晶体没有电压的问题,可以适应于任何DSP,建议用晶体。
<BR>2)有源晶振不需要DSP的内部振荡器,信号比较稳定。有源晶振用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。
<BR><BR>四十三.程序经常跑飞的原因<BR>1)程序没有结尾或不是循环的程序。 <BR>2)nmi管脚没有上拉。
<BR>3)在看门狗动作的时候程序会经常跑飞。 <BR>4)程序编制不当也会引起程序跑飞。 <BR>5)硬件系统有问题。
<BR><BR>四十四.并行FLASH引导的一点经验<BR>最近BBS上关于FLASH和BOOT的讨论很活跃,我也多次来此请教。前几天自制的DSP板引导成功,早就打算写写这方面的东西。我用的DSP是5416,以其为核心,做了一个相对独立的子系统(硬件、软件、算法),目前都已基本做好。
下面把在FLASH引导方面做的工作向大家汇报一下,希望能对大家有所帮助。本人经验和文笔都有限,写的不好请大家谅解。 <BR>硬件环境:
<BR>DSP:TMS320VC5416PGE160 <BR>FLASH:SST39VF400A-70-4C-EK
都是贴片的,FLASH映射在DSP数据空间的0x8000-0xFFFF <BR>软件环境: CCS v2.12.01
<BR>主程序(要烧入FLASH的程序):
DEBUG版,程序占用空间0x28000-0x2FFFF(片内SARAM),中断向量表在0x0080-0x00FF(片内DARAM),数据空间使用0x0100-0x7FFF(片内DARAM)。
因为FLASH是贴片的,所以需要自己编一个数据搬移程序,把要主程序搬移到FLASH中。在写入FLASH数据时,还应写入引导表的格式数据。最后在数据空间的0xFFFF处写入引导表的起始地址(这里为0x8000)。
<BR>搬移程序:
DEBUG版,程序空间0x38000-0x3FFFF(片内SARAM),中断向量表在0x7800-0x78FF(片内DARAM),数据空间使用0x5000-0x77FF(片内DARAM)。
搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间,以免覆盖。
烧写时,同时打开主程序和搬移程序的PROJECT,先LOAD主程序,再LOAD搬移程序,然后执行搬移程序,烧写OK!
附:搬移程序(仅供参考) <BR>volatile unsigned int *pTemp=(unsigned int
*)0x7e00; unsigned int iFlashAddr; <BR>int iLoop; /* 在引导表头存放并行引导关键字
*/ <BR>iFlashAddr="0x8000"; <BR>WriteFlash(iFlashAddr,0x10aa);
<BR>iFlashAddr ; /* 初始化SWWSR值 */ <BR>WriteFlash(iFlashAddr,0x7e00);
<BR>iFlashAddr ; /* 初始化BSCR值 */ <BR>WriteFlash(iFlashAddr,0x8006);
<BR>iFlashAddr ; /* 程序执行的入口地址 */ <BR>WriteFlash(iFlashAddr,0x0002);
<BR>iFlashAddr ; <BR>WriteFlash(iFlashAddr,0x8085); <BR>iFlashAddr ;
/* 程序长度 */ <BR>WriteFlash(iFlashAddr,0x7f00); <BR>iFlashAddr ; /*
程序要装载到的地址 */ <BR>WriteFlash(iFlashAddr,0x0002); <BR>iFlashAddr ;
<BR>WriteFlash(iFlashAddr,0x8000); <BR>iFlashAddr ;
<BR>for (iLoop="0";iLoop<0x7f00;iLoop ) <BR>{ /*
从程序空间读数据,放到暂存单元 */ <BR>asm(" pshm al"); <BR>asm(" pshm ah");
<BR>asm(" rsbx cpl"); <BR>asm(" ld #00fch,dp"); <BR>asm(" stm
#0000h, ah"); <BR>asm(" MVDM _iLoop, al"); <BR>asm(" add
#2800h,4,a"); <BR>asm(" reada 0h"); <BR>asm(" popm ah"); <BR>asm("
popm al"); <BR>asm(" ssbx cpl"); /* 把暂存单元内容写入FLASH */
<BR>WriteFlash(iFlashAddr,*pTemp); <BR>iFlashAddr ; } /* 中断向量表长度 */
<BR>WriteFlash(iFlashAddr,0x0080); <BR>iFlashAddr ; /* 中断向量表装载地址 */
<BR>WriteFlash(iFlashAddr,0x0000); <BR>iFlashAddr ;
<BR>WriteFlash(iFlashAddr,0x0080); <BR>iFlashAddr ;
<BR>for (iLoop="0";iLoop<0x0080;iLoop ) { /* 从程序空间读数据,放到暂存单元
*/ <BR>asm(" pshm al"); <BR>asm(" pshm ah"); <BR>asm(" rsbx cpl");
<BR>asm(" ld #00fch,dp"); <BR>asm(" stm #0000h, ah"); <BR>asm(" MVDM
_iLoop, al"); <BR>asm(" add #0080h,0,a"); <BR>asm(" reada 0h");
<BR>asm(" popm ah"); <BR>asm(" popm al"); <BR>asm(" ssbx cpl"); /*
把暂存单元内容写入FLASH */ <BR>WriteFlash(iFlashAddr,*pTemp); <BR>iFlashAddr
; <BR>} /* 写入引导表结束标志 */ <BR>WriteFlash(iFlashAddr,0x0000);
<BR>iFlashAddr ; <BR>WriteFlash(iFlashAddr,0x0000); /*
在数据空间的0xFFFF写入引导表起始地址 */ <BR>iFlashAddr="0xffff";
<BR>WriteFlash(iFlashAddr,0x8000);
<BR><BR>四十五.关于LF2407A的FLASH烧写问题的几点说明<BR>TI现在关于LF24x写入FLASH的工具最新为c2000flashprogsw_v112。可以支持LF2407、LF2407a、LF2401及相关的LF240x系列。建议使用此版本。在</FONT><A
href="http://focus.ti.com/docs/tool/toolf..." target=_blank><FONT
color=#000063
size=4>http://focus.ti.com/docs/tool/toolf...</FONT></A><FONT
size=4>灿写松招闯绦颉?/a> 在使用这个工具时注意: <BR>一,先解压,再执行setup.exe。
<BR>二、进入cc中,在tools图标下有烧写工具;
<BR>1、关于FLASH时钟的选择,此烧写工具默认最高频率进行FLASH的操作。根据目标系统的工作主频重新要进行PLL设置。方法:先在advance
options下面的View Config
file中修改倍频。存盘后,在相应的目录下(tic2xx\\algos\\相应目录)运行buildall.bat就可以完成修改了。再进行相应的操作即可。
<BR>2、若是你所选的频率不是最高频率,还需要设定你自已的timings.xx来代替系统默认的最高频率的timings.xx。例如LF2407a的默认文件是timings.40。Timings.xx可以利用include\\timings.xls的excel工作表来生成。然后在advance
options下面的View Config
file中修改相应的位置。存盘后,在相应的目录下运行buildall.bat就可以完成修改了。
<BR>3、对于TMS320LF240XA系列,还要注意:由于这些DSP的FLASH具有加密功能,加密地址为程序空间的0x40-0X43H,程序禁止写入此空间,如果写了,此空间的数据被认为是加密位,断电后进入保护FLASH状态,使FLASH不可重新操作,从而使DSP报废,烧写完毕后一定要进行Program
passwords的操作,如果不做加密操作就默认最后一次写入加密位的数据作为密码。
<BR>4、2407A不能用DOS下的烧写软件烧写,必须用c2000flashprogsw_v112软件烧写; <BR>5、建议如下:
<BR>1)、一般调试时,在RAM中进行; <BR>2)、程序烧写时,避开程序空间0x40-0x43H加密区,程序最好小于32k;
<BR>3)、每次程序烧写完后,将word0,word1,word2,word3分别输入自己的密码,再点击 Program
password,如果加密成功,提示Program is
arrayed,如果0x40-0x43h中写入的是ffff,认为处于调试状态,flash不会加密;
<BR>4)、断电后,下次重新烧写时需要往word0~word3输入已设的密码,再unlock,成功后可以重新烧写了;
<BR>6、VCPP管脚接在+5V上,是应直接接的,中间不要加电阻。
<BR>7、具体事宜请阅读相应目录下的readme1,readme2帮助文件。
<BR>8.注意*.cmd文件的编写时应该避开40-43H单元,好多客户由于没有注意到这里而把FALSH加密。
<BR><BR>四十六.如何设置硬件断点?<BR>在profiler ->profile point -> break
point
<BR><BR>四十七.c54x的外部中断是电平响应还是沿响应?<BR>是沿响应,准确的说,它要检测到100(一个clk的高和两个clk的低)的变化才可以。<BR><BR>四十八。参考程序,里面好象都要
disable
wachdog,不知道为什么?<BR>watchdog是一个计数器,溢出时会复位你的DSP,不disable的话,你的系统会动不动就reset。<BR>四十九。DSP系统设计100问<BR>一、时钟和电源<BR>问:DSP的电源设计和时钟设计应该特别注意哪些方面?外接晶振选用有源的好还是无源的好?<BR>答:时钟一般使用晶体,电源可用TI的配套电源。外接晶振用无源的好。<BR>问:TMS320LF2407的A/D转换精度保证措施。<BR>答:参考电源和模拟电源要求干净。<BR>问:系统调试时发现纹波太大,主要是哪方面的问题?<BR>答:如果是电源纹波大,加大电容滤波。<BR>问:请问我用5V供电的有源晶振为DSP提供时钟,是否可以将其用两个电阻进行分压后再接到DSP的时钟输入端,这样做的话,时钟工作是否稳定?<BR>答:这样做不好,建议使用晶体。<BR>问:一个多DSP电路板的时钟,如何选择比较好?DSP电路板的硬件设计和系统调试时的时序问题?<BR>答:建议使用时钟芯片,以保证同步。硬件设计要根据DSP芯片的时序,选择外围芯片,根据时序设定等待和硬件逻辑。<BR>二.干扰与板的布局<BR>问:器件布局应重点考虑哪些因素?例如在集中抄表系统中?<BR>答:可用TMS320VC5402,成本不是很高。器件布局重点应是存贮器与DSP的接口。<BR>问:在设计DSP的PCB板时应注意哪些问题?<BR>答:1.电源的布置;2.时钟的布置;3.电容的布置;4.终端电路;5.数字同模拟的布置。<BR>问:请问DSP在与前向通道(比如说AD)接口的时候,布线过程中要注意哪些问题,以保证AD采样的稳定性?<BR>答:模拟地和数字地分开,但在一点接地。<BR>问:DSP主板设计的一般步骤是什么?需要特别注意的问题有哪些?<BR>答:1.选择芯片;2.设计时序;3.设计PCB。最重要的是时序和布线。<BR>问:在硬件设计阶段如何消除信号干扰(包括模拟信号及高频信号)?应该从那些方面着<BR>手?<BR>答:1.模拟和数字分开;2.多层板;3.电容滤波。<BR>问:在电路板的设计上,如何很好的解决静电干扰问题。<BR>答:一般情况下,机壳接大地,即能满足要求。特殊情况下,电源输入、数字量输入串接<BR>专用的防静电器件。<BR>问:DSP板的电磁兼容(EMC)设计应特别注意哪些问题?<BR>答:正确处理电源、地平面,高速的、关键的信号在源端串接端接电阻,避免信号反射。<BR>问:用电感来隔离模拟电源和数字电源,其电感量如何决定?是由供电电流或噪音要求来<BR>决定吗?有没有计算公式?<BR>答:电感或磁珠相当于一个低通滤波器,直流电源可以通过,而高频噪声被滤除。所以电<BR>感的选择主要决定于电源中高频噪声的成分。<BR>问:讲座上的材料多是电源干扰问题,能否介绍板上高频信号布局(Layout)时要注意的<BR>问题以及数字信号对模拟信号的影响问题?<BR>答:数字信号对模拟信号的干扰主要是串扰,在布局时模拟器件应尽量远离高速数字器件,高速数字信号尽量远离模拟部分,并且应保证它们不穿越模拟地平面。<BR>问:能否介绍PCB布线对模拟信号失真和串音的影响,如何降低和克服?<BR>答:有2个方面,1.
模拟信号与模拟信号之间的干扰:布线时模拟信号尽量走粗一些,如果有条件,2个模拟信号之间用地线间隔。2.
数字信号对模拟信号的干扰:数字信号尽量远离模拟信号,数字信号不能穿越模拟地。<BR>三.DSP性能<BR>问:1.我要设计生物图像处理系统,选用那种型号较好(高性能和低价格)?2.如果选定<BR>TI
DSP,需要什么开发工具?<BR>答:1.你可采用C54x 或
C55x平台,如果你需要更高性能的,可采用C6x系列。2.需要EVM<BR>s和XDS510仿真器。<BR>问:请介绍一种专门用于快速富利叶变换(FFT),
数字滤波,卷积,相关等算法的DSP,<BR>最好集成12bit以上的ADC功能。<BR>答:如果你的系统是马达/能量控制的,我建议你用TMS320LF240x。详情请参阅DSP选择指南:</FONT><A
href="http://www.dspvillage.ti.com/dspguide" target=_blank><FONT
color=#000063
size=4>http://www.dspvillage.ti.com/dspguide</FONT></A><FONT
size=4>。<BR>问:有些资料说DSP比单片机好,但单片机用的比DSP广。请问这两个在使用上有何区别?<BR>答:单片机一般用于要求低的场合,如4/8位的单片机。DSP适合于要求较高的场合。<BR>问:我想了解在信号处理方面DSP比FPGA的优点。<BR>答:DSP是通用的信号处理器,用软件实现数据处理;FPGA用硬件实现数据处理。DSP的成本便宜,算法灵活,功能强;FPGA的实时性好,成本较高。<BR>问:请问减小电路功耗的主要途径有哪些?<BR>答:1.选择低功耗的芯片;2.减少芯片的数量;3.尽量使用IDLE。<BR>问:用C55设计一个低功耗图像压缩/解压和无线传输的产品,同时双向传输遥控指令和其<BR>他信息,要求图像30帧/秒,TFT显示320*240,不知道能否实现?若能,怎样确定性能?选择周边元器件?确定最小的传输速率?能否提供开发的解决方案?软件核?<BR>答:1.有可能,要看你的算法。2.建议先在模拟器上模拟。<BR>问:用DSP开发MP3,比较专用MP3解码芯片如何,比如成本、难度、周期?谢谢。<BR>答:1.DSP的功能强,可以实现附加的功能,如ebook等;2.DSP的性能价格比高;3.难度较大,需要算法,因此周期较长,但TI有现成的方案。<BR>问:用DSP开发的系统跟用普通单片机开发的系统相比,有何优势?DSP一般适用于开发什么样的系统?其开发周期、资金投入、开发成本如何?与DSP的接口电路是否还得用专门的芯片?<BR>答:1.性能高;2.适合于速度要求高的场合;3.开发周期一般6个月,投入一般要一万元左<BR>右;4.不一定,但需要速度较高的芯片。<BR>问:DSP会对原来的模拟电路产生什么样的影响?<BR>答:一方面DSP用数字处理的方法可以代替原来用模拟电路实现的一些功能;另一方面,DSP的高速性对模拟电路产生较大的干扰,设计时应尽量使DSP远离模拟电路部分。<BR>问:请问支持MPEG-4芯片型号是什么?<BR>答:C55x或
C6000
或DSC2x<BR>问:DSP内的计算速度是快的,但是它的I/O口的交换速度有多快呢?<BR>答:主频的1/4左右。<BR>四.技术性问题<BR>问:我有二个关于C2000的问题:1、C240或C2407的RS复位引脚既可输入,也可输出,直接用CMOS门电路(如74ACT04)驱动是否合适,还是应该用OC门(集电极开路)驱动?2、大程序有时运行异常,但加一两条空指令就正常,是何原因?<BR>答:1、OC门(集电极开路)驱动。2、是流水线的问题。<BR>问:1.DSP芯片内是否有单个的随机函数指令?2.DSP内的计算速度是快的,但是它的I/O<BR>口的交换速度有多快呢?SP如何配合EPLD或FPGA工作呢?<BR>答:1.没有。2.取决于你所用的I/O。对于HPI,传输速率(字节)大约为CPU的1/4,对McBSP,位速率(kbps)大约为CPU的1/2。3.你可以级联仿真接口和一个EPLD/FPGA在一起。请参考下面的应用手册:
</FONT><A
href="http://www.ti.com/sc/docs/psheets/abstract/apps/spra439a.htm"
target=_blank><FONT color=#000063
size=4>http://www.ti.com/sc/docs/psheets/abstract/apps/spra439a.htm</FONT></A><BR><FONT
size=4>问:设计DSP系统时,我用C6000系列。DSP引脚的要上拉,或者下拉的原则是怎样的?我经常在设计时为某一管脚是否要设置上/下拉电阻而犹豫不定。<BR>答:C6000系列的输入引脚内部一般都有弱的上拉或者下拉电阻,一般不需要考虑外部加上<BR>拉或者下拉电阻,特殊情况根据需要配置。<BR>问:我正在使用TMS320VC5402,通过HPI下载代码,但C5402的内部只提供16K字的存储区,请问我能通过HPI把代码下载到它的外部扩展存储区运行吗?<BR>答:不行,只能下载到片内。<BR>问:电路中用到DSP,有时当复位信号为低时,电压也属于正常范围,但DSP加载程序不成功。电流也偏大,有时时钟也有输出。不知为什么?<BR>答:复位时无法加载程序。<BR>问:DSP和单片机相连组成主从系统时,需要注意哪些问题?<BR>答:建议使用HPI接口,或者通过DPRAM连接。<BR>问:原来的DSP的程序需放在EPROM中,但EPROM的速度难以和DSP匹配。现在是如何解决此问题的?<BR>答:用BootLoad方法解决。<BR>问:我在使用5402DSK时,一上电,不接MIC,只接耳机,不运行任何程序,耳机中有比较明显的一定频率的噪声出现。有时上电后没有出现,但接MIC,运行范例中的CODEC程序时,又会出现这种噪声。上述情况通常都在DSK工作一段时间后自动消失。我在DSP论坛上发现别人用DSK时也碰到过这种情况,我自己参照5402DSK做了一块板,所用器件基本一样,也是这现象,请问怎么回事?如何解决?<BR>答:开始时没有有效的程序代码,所以上电后是随机状态,出现这种情况是正常的。<BR>问:我使用的是TMS320LF2407,但是仿真时不能保证每次都能GO
MAIN。我想详细咨询一下,CMD文件的设置用法,还有VECTOR的定义。<BR>答:可能看门狗有问题,关掉看门狗。有关CMD文件配置请参考《汇编语言工具》第二章。<BR>问:我设计的TMS320VC5402板子在调试软件时会经常出现存储器错误报告,排除是映射的问题,是不是板子不稳定的因素?还是DSP工作不正常的问题?如何判别?<BR>答:你可以利用Memoryfill功能,填入一些数值,然后刷新一下,看是不是在变,如果是<BR>在变化,则Memory
是有问题。<BR>问:如何解决Flash编程的问题:可不可以先用仿真器下载到外程序存储RAM中,然后程序代码将程序代码自己从外程序存储RAM写到F240的内部Flash
ROM中,如何写?<BR>答:如果你用F240,你可以用下载TI做的工具。其它的可以这样做。<BR>问:C5510芯片如何接入E1信号?在接入时有什么需要注意的地方?<BR>答:通过McBSP同步串口接入。注意信号电平必须满足要求。<BR>问:请问如何通过仿真器把.HEX程序直接烧到FLASH中去?所用DSP为5402是否需要自己另外编写一个烧写程序,
如何实现?谢谢!!<BR>答:直接写.OUT。是DSP中写一段程序,把主程序写到FLASH中。<BR>问:DSP的硬件设计和其他的电路板有什么不同的地方?<BR>答:1.要考虑时序要求;2.要考虑EMI的要求;3.要考虑高速的要求;4.要考虑电源的要求。<BR>问:ADS7811,ADS7815,ADS8320,ADS8325,ADS8341,ADS8343,ADS8344,ADS8345中,哪个可以较方便地与VC33连接,完成10个模拟信号的AD转换(要求16bit,1毫秒内完成10个信号的采样,当然也要考虑价格)?<BR>答:作选择有下列几点需要考虑1.
总的采样率:1ms、10个通道,总采样率为100K ,所有A/D均能满足要求。2.
A/D与VC33的接口类型:并行、串行。前2种A/D为并行接口,后几种均为串行接口。3.
接口电平的匹配。前2种A/D为5V电平,与VC33不能接口;后几种均可为3.3V电平,可与VC33直接接口。<BR>问:DSP的电路板有时调试成功率低于50%,连接和底板均无问题,如何解决?有时DSP同CPLD产生不明原因的冲突,如何避免?<BR>答:看来你的硬件设计可能有问题,不应该这么小的成功率。我们的板的成功率为95%以上。<BR>问:我们的工程有两人参与开发,由于事先没有考虑周全,一人使用的是助记符方式编写<BR>汇编代码,另一人使用的是代数符号方式编写汇编代码,请问CCS5000中这二种编写方式如何嵌在一起调试?<BR>答:我没有这样用过,我想可以用下面的办法解决:将一种方式的程序先单独编译为.obj<BR>文件,在创建工程时,将这些.obj文件和另一种方式的程序一起加进工程中,二者即可一<BR>起编译调试了。<BR>问:DSP数据缓冲,能否用SDRAM代替FIFO?<BR>答:不行<BR>问:ADC或DAC和DSP相连接时,要注意什么问题?比如匹配问题,以保证A/D采样稳定或D/A码不丢失。<BR>答:1.
接口方式:并行/串行;2.
接口电平,必须保证二者一致。<BR>问:用F240经常发生外部中断丢失现象,甚至在实际环境中只有在程序刚开始时能产生中<BR>断,几分钟后就不能产生中断。有时只能采取查询的方式,请问有何有效的解决方法?改<BR>为F2407是不是要好些?<BR>答:应该同DSP无关。建议你将中断服务程序简化看一下。
<BR><BR>四十九.时钟电路选择原则<BR>1,系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片;
<BR>2,单一时钟信号时,选择晶体时钟电路; <BR>3,多个同频时钟信号时,选择晶振;
<BR>4,尽量使用DSP片内的PLL,降低片外时钟频率,提高系统的稳定性;
<BR>5,C6000、C5510、C5409A、C5416、C5420、C5421和C5441等DSP片内无振荡电路,不能用晶体时钟电路;
<BR>6,VC5401、VC5402、VC5409和F281x等DSP时钟信号的电平为1.8V,建议采用晶体时钟电路
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -