??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区久久精品涩爱,久久婷婷五月综合97色一本一本 ,精品国际久久久久999波多野http://www.shnenglu.com/erran/category/5359.htmlzh-cnSun, 20 Jul 2008 14:55:24 GMTSun, 20 Jul 2008 14:55:24 GMT60ARM & DSP 。。。。。。。。?/title><link>http://www.shnenglu.com/erran/archive/2008/07/20/56671.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Sun, 20 Jul 2008 03:41:00 GMT</pubDate><guid>http://www.shnenglu.com/erran/archive/2008/07/20/56671.html</guid><wfw:comment>http://www.shnenglu.com/erran/comments/56671.html</wfw:comment><comments>http://www.shnenglu.com/erran/archive/2008/07/20/56671.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/erran/comments/commentRss/56671.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/erran/services/trackbacks/56671.html</trackback:ping><description><![CDATA[ <br />想买套嵌入式的硬件玩玩,查了很长旉的资料,定了两个方面armQdsp。公司做的东西主要用到的是dspQ惭愧的做Y件的没什么机会接触那些?br /><br />看了arm和dsp的比较,armҎ作系l的支持很好Q控制性能很好Qdsp的数据处理能?.....<br /><br />惛_Carm板试试,考虑了很久最后还是决定买周立功的Q虽然hD了点Q资料全些?MagicARM2410没查Ch钱,估计?k以上吧,没法接受..... smartArm2200不到2kQ勉行。?br /><br />今天是星期日Q打他们代理电话Q说只能周一到周五才能买刎ͼ晕死Q周立功不会q么牛吧......q有q样做生意的。。。。?br /><br />《打听到的DSPh SEED-XDSusbUSB2.0Q?.7k含税公司采购P SEED-DPS2812/KitQ?.5k左右吧) ?br /><br /><br />q里应该有很多是做这个的吧,毕竟是Cpp blogQ?o(∩_?o... 恌l点....<br /><br />《《《不好意思,我发C“首原创区”,谅解?o(∩_?o...》》》?br /><img src ="http://www.shnenglu.com/erran/aggbug/56671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/erran/" target="_blank">erran</a> 2008-07-20 11:41 <a href="http://www.shnenglu.com/erran/archive/2008/07/20/56671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:单片机汇~程序编码规?/title><link>http://www.shnenglu.com/erran/archive/2007/10/14/34188.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Sat, 13 Oct 2007 16:43:00 GMT</pubDate><guid>http://www.shnenglu.com/erran/archive/2007/10/14/34188.html</guid><wfw:comment>http://www.shnenglu.com/erran/comments/34188.html</wfw:comment><comments>http://www.shnenglu.com/erran/archive/2007/10/14/34188.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/erran/comments/commentRss/34188.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/erran/services/trackbacks/34188.html</trackback:ping><description><![CDATA[     摘要: 单片机汇~程序编码规? http://www.blogcn.com/u2/94/42/cbz6000/blog/43716860.html 引言      ...  <a href='http://www.shnenglu.com/erran/archive/2007/10/14/34188.html'>阅读全文</a><img src ="http://www.shnenglu.com/erran/aggbug/34188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/erran/" target="_blank">erran</a> 2007-10-14 00:43 <a href="http://www.shnenglu.com/erran/archive/2007/10/14/34188.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:DSP芯片介绍 http://www.shnenglu.com/erran/archive/2007/10/13/34170.htmlerranerranSat, 13 Oct 2007 15:48:00 GMThttp://www.shnenglu.com/erran/archive/2007/10/13/34170.htmlhttp://www.shnenglu.com/erran/comments/34170.htmlhttp://www.shnenglu.com/erran/archive/2007/10/13/34170.html#Feedback0http://www.shnenglu.com/erran/comments/commentRss/34170.htmlhttp://www.shnenglu.com/erran/services/trackbacks/34170.html {于最q汉芯造假丑闻非常行,q里介绍一下dsp芯片
借此Z,l大家一个dsp芯片的概?br />http://dsp.blueidea.com/column/weekly/001/145.asp


1 什么是DSP芯片

    DSP芯片Q也U数字信号处理器Q是一U具有特D结构的微处理器。DSP芯片的内部采用程序和数据分开的哈佛结构,h专门的硬件乘法器Q广泛采用流水线 操作Q提供特D的DSP 指oQ可以用来快速地实现各种数字信号处理法。根据数字信号处理的要求QDSP芯片一般具有如下的一些主要特点:

Q?Q?在一个指令周期内可完成一ơ乘法和一ơ加法?br />
Q?Q?E序和数据空间分开Q可以同时访问指令和数据?br />
Q?Q?片内h快速RAMQ通常可通过独立的数据ȝ在两块中同时讉K?br />
Q?Q?h低开销或无开销循环及蟩转的g支持?br />
Q?Q?快速的中断处理和硬件I/O支持?br />
Q?Q?h在单周期内操作的多个g地址产生器?br />
Q?Q?可以q行执行多个操作?br />
Q?Q?支持水U操作,使取指、译码和执行{操作可以重叠执行?br />
与通用微处理器相比QDSP芯片的其他通用功能相对较弱些?br />
2 DSP芯片的发?br />
    世界上第一个单片DSP芯片?978qAMI公司宣布的S2811Q?979q美国Iintel公司发布的商用可~程期间2920是DSP芯片的一个主 要里E碑。这两种芯片内部都没有现代DSP芯片所必须的单周期芯片?1980q。日本NEC公司推出的μPD7720是第一个具有乘法器的商用DSP 芯片。第一个采用CMOS工艺生񔋹点DSP芯片的是日本的Hitachi 公司Q它?982q推Z点DSP芯片?983q_日本的Fujitsu公司推出的MB8764Q其指o周期?20ns Q且h双内部ȝQ从而处理的吞吐量发生了一个大的飞跃。而第一个高性能的Q点DSP芯片应是AT&T公司?984q推出的DSP32?br />
    在这么多的DSP芯片U类中,最成功的是国德克萨斯仪器公司QTexas InstrumentsQ简UTIQ的一pd产品。TI公司?82q成功推出启q一代DSP芯片TMS32010及其pd产品TMS32011? TMS32C10/C14/C15/C16/C17{,之后相推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28Q第三代 DSP芯片TMS32C30/C31/C32Q第四代DSP芯片TMS32C40/C44Q第五代DSP芯片TMS32C50/C51/C52/C53? 及集多个DSP于一体的高性能DSP芯片TMS32C80/C82{?br />
    ?980q以来,DSP芯片得到了突飞猛q的发展QDSP芯片的应用越来越q泛。从q算速度来看QMACQ一ơ乘法和一ơ加法)旉已经?0q代初的 400nsQ如TMS32010Q降低到40nsQ如TMS32C40Q,处理能力提高?0多倍。DSP芯片内部关键的乘法器部g?980q的占模? ?0左右下降?以下Q片内RAM增加一个数量以上。从刉工艺来看,1980q采?μ的N沟道MOS工艺Q而现在则普遍采用亚微cCMOS工艺? DSP芯片的引脚数量从1980q的最?4个增加到现在?00个以上,引脚数量的增加,意味着l构灉|性的增加。此外,DSP芯片的发展,是DSPp? l的成本、体U、重量和功耗都有很大程度的下降?br />
3 DSP芯片的分c?br />
    DSP的芯片可以按照以下的三种方式q行分类?br />
1. 按基Ҏ分

    q是ҎDSP芯片的工作时钟和指ocd来分cȝ。如果DSP芯片在某旉频率范围内的M频率上能正常工作Q除计算速度有变化外Q没有性能的下降,q类DSP芯片一般称之ؓ静态DSP芯片?br />
    如果有两U或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼?则这cDSP芯片UCZ致性的DSP芯片?br />
2. 按数据格式分

    q是ҎDSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片UC为定点DSP芯片。以点格式工作的称为DSP芯片。不同的点DSP? 片所采用的QҎ式不完全一P有的DSP芯片采用自定义的点格式Q有的DSP芯片则采用IEEE的标准QҎ式?br />
3. 按用途分

    按照DSP芯片的用途来分,可分为通用型DSP芯片和专用型的DSP芯片。通用型DSP芯片适合普通的DSP应用Q如TI公司的一pdDSP芯片。专用型DSP芯片市ؓ特定的DSPq算而设计,更适合Ҏ的运,如数字o波,L和FFT{?br />
4 DSP芯片的选择

    设计DSP应用pȝQ选择DSP芯片旉帔R要的一个环节。只有选定了DSP芯片才能q一步设计外围电路集pȝ的其它电路。ȝ来说QDSP芯片的选择应根据实际的应用pȝ需要而确定。一般来_选择DSP芯片时考虑如下诸多因素?br />
1Q?DSP芯片的运速度。运速度是DSP芯片的一个最重要的性能指标Q也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运速度可以用以下几U性能指标来衡量:

Q?Q?指o周期。就是执行一条指令所需要的旉Q通常以ns为单位?br />
Q?Q?MAC旉。即一ơ乘法加上一ơ加法的旉?br />
Q?Q?FFT执行旉。即q行一个N点FFTE序所需的时间?br />
Q?Q?MIPS。即每秒执行百万条指令?br />
Q?Q?MOPS。即每秒执行百万ơ操作?br />
Q?Q?MFLOPS。即每秒执行百万ơQҎ作?br />
Q?Q?BOPS。即每秒执行十亿ơ操作?br />
2Q?DSP芯片的h根{根据一个h格实际的应用情况Q确定一个h格适中的DSP芯片?br />
3Q?DSP芯片的硬件资源?br />
4Q?DSP芯片的运速度?br />
5Q?DSP芯片的开发工兗?br />
6Q?DSP 芯片的功耗?br />
7Q?其它的因素,如封装的形式、质量标准、生命周期等?br />
    DSP应用pȝ的运量是确定选用处理能力多大的DSP芯片的基。那么如何确定DSPpȝ的运量以选择DSP芯片呢?

1Q?按样点处?br />
    按样点处理就是DSP法Ҏ一个输入样点@环一ơ。例如;一个采用LMS法?56抽头L自适应FIR滤L器,假定每个抽头的计需?个MAC? 期,?56抽头计算需?56*3=768个MAC周期。如果采样频率ؓ8KHzQ即L之间的间隔ؓ125μs的时_DSP芯片的MAC周期? 200μsQ则768个周期需?53.6μs的时_昄无法实时处理Q需要选用速度更快的芯片?br />
2Q?按处理

    有些数字信号处理法不是每个输入L循环一ơ,而是每隔一定的旉间隔Q通常UCؓ帧)循环一ơ。所以选择DSP芯片应该比较一帧内DSP芯片的处理能? 和DSP法的运量。假设DSP芯片的指令周期ؓPQnsQ,一帧的旉为⊿τQnsQ,则该DSP芯片在一帧内所提供的最大运量为⊿τ/ P 条指令?br />
5 DSP芯片的基本结?br />
DSP芯片的基本结构包括:

Q?Q哈佛结构;

Q?Q流水线操作Q?br />
Q?Q专用的g乘法器;

Q?Q特D的DSP指oQ?br />
Q?Q快速的指o周期?br />
哈佛l构

    哈佛l构的主要特Ҏ程序和数据存储在不同的存储I间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址Q独立访问。与两个存储 器相对应的是pȝ中设|了E序ȝ和数据ȝQ从而数据的吞吐率提高了一倍。由于程序和存储器在两个分开的空间中Q因此取指和执行能完全重叠?br />
    水U与哈佛l构相关QDSP芯片q泛采用水U以减少指o执行的时_从而增Z处理器的处理能力。处理器可以q行处理二到四条指oQ每条指令处于流水线的不同阶Dc入囄Z个三U流水线操作的例子?br />
CLLOUT1

取指 N N-1 N-2

译码 N-1 N N-2

执行 N-2 N-1 N

?-1 三񔋹水U操?br />
专用的硬件乘法器

乘法速度快QDSP处理器的性能高。由于具有专用的应用乘法器,乘法可在一个指令周期内完成?br />
Ҏ的DSP指oDSP芯片是采用特D的指o?br />
    快速的指o周期哈佛l构、流水线操作、专用的g乘法器、特D的DSP指o再加上集成电路的优化设计可DSP芯片的指令周期在200ns以下?br />
6 DSPpȝ的特?br />
    数字信号处理pȝ是以数字信号处理为基Q因此具有数字处理的全部特点Q?br />
Q?Q?接口方便。DSPpȝ与其它以C数字技术ؓ基础的系l或讑֤都是怺兼容Q这Lpȝ接口以实现某U功能要比模拟系l与q些pȝ接口要容易的多?br />
Q?Q?~程方便。DSPpȝU的可编EDSP芯片可设计人员在开发过E中灉|方便地对软gq行修改和升U?br />
Q?Q?E_性好。DSPpȝ以数字处理ؓ基础Q受环境温度以及噪声的媄响较,可靠性高?br />
Q?Q?_ֺ高?6位数字系l可以达到的_ֺ?br />
Q?Q?可重复性好。模拟系l的性能受元器g参数性能变化比较大,而数字系l基本上不受影响Q因此数字系l便于测试,调试和大规模生?br />
Q?Q?集成方便。DSPpȝ中的数字部g有高度的规范性,便于大规模集成?br />
7 DSP芯片的应?br />
    自从DSP芯片诞生以来QDSP芯片得到了飞速的发展。DSP芯片高速发展,一斚w得益于集成电路的发展Q另一斚w也得益于巨大的市场。在短短的十多年? _DSP芯片已经在信号处理、通信、雷辄许多领域得到q泛的应用。目前,DSP芯片的hg来低Q性能h比日益提高,h巨大的应用潜力? DSP芯片的应用主要有Q?br />
Q?Q?信号处理--如,数字滤L、自适应滤L、快速傅里叶变换、相兌、频谱分析、卷U等?br />
Q?Q?通信--如,调制解调器、自适应均衡、数据加密、数据压~、回坡抵消、多路复用、传真、扩频通信、纠错编码、L形生等?br />
Q?Q?语音--如语音编码、语韛_成、语韌别、语韛_强、说话h辨认、说话h认、语音邮件、语韛_存等?br />
Q?Q?囑փ/囑Ş--如二l和三维囑Ş处理、图像压~与传输、图像增强、动甅R机器h视觉{?br />
Q?Q?军事--如保密通信、雷辑֤理、声U_理、导航等?br />
Q?Q?仪器仪表--如频谱分析、函数发生、锁相环、地震处理等?br />
Q?Q?自动控制--如引擎控制、深I、自动驾驶、机器h控制、磁盘控制?br />
Q?Q?ȝ--如助听、超声设备、诊断工兗病人监护等?br />
Q?Q?家用电器--如高保真韛_、音乐合成、音调控制、玩具与游戏、数字电?电视{?/span>



erran 2007-10-13 23:48 发表评论
]]>
转:DSP的特?/title><link>http://www.shnenglu.com/erran/archive/2007/10/13/34167.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Sat, 13 Oct 2007 15:23:00 GMT</pubDate><guid>http://www.shnenglu.com/erran/archive/2007/10/13/34167.html</guid><wfw:comment>http://www.shnenglu.com/erran/comments/34167.html</wfw:comment><comments>http://www.shnenglu.com/erran/archive/2007/10/13/34167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/erran/comments/commentRss/34167.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/erran/services/trackbacks/34167.html</trackback:ping><description><![CDATA[ <p> <font face="Arial">原文Qhttp://www.mcublog.com/blog/user1/5157/archives/2006/16413.html<br /></font> </p> <p> <font face="Arial">DSP的特?/font> </p> <p> <font face="Arial">对于没有使用qDSP的初学者来_W一个困惑就是DSP其他的嵌入式处理器究竟有什么不同,它和单片机,ARM有什么区别。事实上QDSP也是一U嵌入式处理器,它完全可以完成单片机的功能?br />? 一的重要的区别在于DSP支持单时钟周期的"??q算。这几乎是所有厂家的DSP芯片的一个共有特征。几乎所有的DSP处理器的指o集中都会有一? MAC指oQ这条指令可以把两个操作CRAM中取出相乘,然后加到一个篏加器中,所有这些操作都在一个时钟周期内完成。拥有这样一条指令的处理器就具备 ?br />DSP功能?br />hq条指oq之ؓ数字信号处理器的原因在于Q所有的数字信号处理法中最为常见的术操作是"??。这是因为数 字信号处理中大量使用了内U,或称"点积"的运。无论是FIR滤LQFFTQ信L养I数字混频Q下变频。所有这些数字信号处理的q算l常是将输入信号 与一个系数表或者与一个本地参考信L乘然后积分(累加Q,q就表现为将两个向量Q或U序列)q行点积Q在~程上就变成输入的采样攑֜一个@? buffer里,本地的系数表或参考信号也攑֜一个buffer里,然后使用两个指针指向q两个buffer。这样就可以在一个loop里面使用一? MAC指o二者进行点U运。这L点积q算对与处理器来说是最快的Q因Z需一个始l周期就可以完成一ơ乘加?br />了解DSP的这一特点后,当我们设计一个嵌入式pȝӞ首先要考虑处理器所实现的算法中是否有点U运?br />Q即是否要经常进行两个数l的乘加Q(C数字滤LQ相关等都表Cؓ两个数组的点U)如果有的话,每秒要做多少ơ,q样p够决定是否采用DSPQ采用多高性能的DSP了?/font> </p> <p> <font face="Arial">点与定?/font> </p> <p> <font face="Arial">点与定点也是经常是初学者困惑的问题Q在选择DSP器g的时候,是采用Q点还是采用定点,如果用定Ҏ16位还?2位?其实q个问题和你的算法所要求的信L动态范围有兟?br />? 点的计算不过是把一个数据当作整数来处理Q通常AD采样来的都是整数Q这个数相对于真实的模拟信号有一个刻度因子,大家都知道用一?6位的AD去采样一 ??V的信P那么AD输出的整数除?^16再乘?V是对应的电压。在定点DSP中是直接对这?6位的采样q行处理Qƈ不将它{换成以小数表 C的电压Q因为定点DSP无法以够的_ֺ表示一个小敎ͼ它只能对整数q行计算?br />而Q点DSP的优势在于它可以把这个采样得到的整数转换成小数表C的电压Qƈ不损q度(q个数用科学记数法来表C)Q原因在于科学记数法可以表示很大的动态范围的一个信P以IEEE754点Cؓ例,<br />单精度QҎ式: [31] 1位符?[30-23]8位指?[22-00]23位小?<br />q? L能表C的最的数是+-2^-149,最大的数是+-Q?-2^23)*2^127.动态范围ؓ20*log(最大的?最的敎ͼ= 1667.6dB q样大的动态范围得我们在~程的时候几乎不必考虑乘法和篏加的溢出Q而如果用定点处理器~程Q对计算l果q行舍入和移位则是家怾饭,q在一定程度上 会损失是_ֺ。原因在于定点处理处理的信号的动态范围有限,比如16位定点DSPQ可以表C整数范围ؓ1-65536Q其动态范围ؓ20*log (65536/1)=96dB.对于32定点DSPQ动态范围ؓ20*log(2^32/1)=192dB,q小?2位ieee点数的 1667.6dB,但是Q实际上192dB对绝大多数应用所处理的信号已l够了?br />׃AD转换器的位数限制Q一般输入信L动态范围都比较, 但在DSP的信号处理中Q由于点U运会使中间节点信L动态范围增加,所以主要考虑信号处理程中中间结果的动态范_以及法对中间结果的_ֺ要求Q? 来选择相应的DSP。另外就是Q点的DSP更易于编E,定点DSP~程中程序员要不断调整中间结果的PQQ|实际是不断对中间结果进行移位调整和? 入?/font> </p> <p> <font face="Arial">DSP与RTOS</font> </p> <p> <font face="Arial">TI的CCS提供BIOSQADI的VDSP提供VDKQ都是基于各自DSP的嵌入式多Q务内核。DSP~程可以用单用CQ也可以用汇~,或者二? l合Q一般Y件编译工具都提供了很好的支持。我不想在这里多说BIOSQVDK怎么用这在相应的文档里说的很详细。我想给初学者说说DSP的RTOS? 理。用短短几段话说q个复杂的东西也是挑战!^_^</font> </p> <p> <font face="Arial">其实DSP的RTOS和基于其他处理器的通用RTOS没什么大的区别,现在几乎Zh皆知的uCOSii也很ҎUL到DSP上来Q只要把寄存器保存与恢复部分和堆栈部分改改就可以。一般在用BIOS和VDK之前Q先看看操作pȝ原理的书比较好。uCOS那本书也不错?br />BIOS 和VDK其实是一个RTOS内核函数集,DSP的应用程序会和这些函数连接成一个可执行文g。其实实C个简单的多Q务内核ƈ不复杂,首先定义好内核的? U数据结构,然后写一个scheduler函数Q功能是从所有就lQ务中Q通过查找qAd队列或就lQ务表Q找Z先最高的dQƈ恢复其执行。然? 在此基础上写几个用于d间通信的函数就可以了,比如event,message box,{等?br />RTOS一般采用抢先式的Q务调度方式,举例? 当Q务A{待的资源available的时?DSP会执行一个Q务调度函数scheduler,q个函数会检查当前Q务是否比dA优先U低Q如果是? 话,׃把它当前挂vQ然后把dA保存在堆栈里寄存器值全部pop到DSP处理器中(q就是所谓的d现场恢复Q。接着schedulerq会把从堆栈 中取ZQ务A挂v时的E序执行的地址Qpop到PCQdAl箋执行。这样当前Q务就被Q务A抢先了?br />使用RTOS之后Q每个Q务都会有一个主 函数Q这个函数的起始地址是该Q务的入口。一般每个Q务的d数里有一个死循环Q这个@环该Q务周期地执行Q完成一部分法模块的功能,其实q个函数 跟普通函数没M区别Q类gC语言中的main函数。一个Q务创建的时候,RTOS会把q个函数入口地址压入d的堆栈中Q好象这个函敎ͼdQ刚发生 q一ơ中断一栗一旦这个新创徏d的优先在就l队列中是最高的QRTOS׃从其堆栈中弹出其入口地址开始执行?br />有一个疑问是Q不使用 RTOSQ而是单用一个主循环在程序中调用各个函数模块Q一样可以实现Y件的调度执行。那么,q种常用的方法与使用RTOS相比有什么区别呢Q其实, 使用d@环的Ҏ不过是一U没有优先的顺序执行的调度{略而已。这U方法的~点在于Q主循环中调用的各个函数是顺序执行的Q那么,即是一个无关紧要的 函数Q比如闪烁一个LEDQ,只要他不dq回Q也会一直执行直到结束,q时Q如果发生一个重要的事gQ比如DMA buffer full 中断)Q就会得不到及时的响应和处理Q只能等到那个闪烁LED的函数执行完毕。这样就使整个DSP处理的优先次序十分不合理。而在使用了RTOS之后Q当 一个重要的事g发生Ӟ中断处理会进入RTOSQƈ调用scheduler,q时scheduler 会让处理q一事g的Q务抢占DSP处理器(因ؓ它的优先U高Q。而哪个闪烁LEDd即晚执行几毫秒都没M影响。这h个DSP的调度策略就十分? 理?br />RTOS要说的内容太多,我只能讲一下自q一点体会吧</font> </p> <p> <font face="Arial">DSP与正Q余Qu?/font> </p> <p> <font face="Arial">在DSP的应用中Q我们经常要用到三角函数Q或者合成一个正Q余Qu波。这是因为我们喜Ƣ把信号通过傅立叶变换映到三角函数I间来理解信L频率 Ҏ。信号处理的一些计技巧都需要在DSP软g中进行三角函数计。然而三角函数计是非线性的计算QDSPq没有专门的指o来求一个数的正弦或余u? 于是我们需要用U性方法来q似求解?br />一个直接的x是用多项式拟合,q也正是大多数DSP C~译器提供正余u库函数所采用的方法。其原理是把三角函数向函数空间{1Qx,x^2,x^3....}上投影,从而获得一pd的系敎ͼ用这些系数就? 以拟合出三角函数。比如,我们在[0Qpi/2]区间上拟合sin,只需在matlab中输入以下命令:<br />x=0:0.05:pi/2;<br />p=polyfit(x,sin(x),5)<br />得?阶的多项式系敎ͼ<br />p =<br />0.00581052047605 0.00580963216172 -0.17193865685360<br />0.00209002716293 0.99969270087312 0.00000809543448<br />于是在[0Qpi/2]区间上:<br />sin(x)= 0.00000809543448+0.99969270087312*x+ 0.00209002716293*x^2-0.17193865685360*x^3+<br />0.00580963216172*x^4+0.00581052047605*x^5<br />于是在DSPE序中,我们可以通过用乘加(MACQ指令计这个多式来近似求得sin(x)<br />当然如果用定点DSPq要把Pq个多项式系数表用一定的Q值来改写成定Ҏ?/font> </p> <p> <font face="Arial">q样的三角函数计一般都需要几十个cycle 的开销。这对于某些场合是不能容忍的</font> </p> <p> <font face="Arial">另一U更快的Ҏ是借助于查表,比如Q我们将[0Qpi/2]分成32个区_每个区间长度׃ؓpi/64,在每个区间上我们使用直线D|合sin曲线Q每个区间线Dv点的正u值和U段斜率事先好Q存在RAM里,q样需要在在RAM里存?4?br />常数Q?br />32个v点的_的正弦|事先好Q: s[32]={0,sin(pi/64),sin(pi/32),sin(pi/16)....}<br />32个线D늚斜率Q?f[32]={0.049,.....}<br />对于输入的每一个x,先根据其大小扑ֈ所在区间iQ通常x用定点表C,一般取光几位是pLi了,?后通过下式卛_求出sin(x)Q?br />sin(x)= s[i]*f[i]<br />q样一般只需几个CYCLE可以算出正弦|如果需要更高的_ֺQ可以将区间分得更细Q当Ӟ也就需 要更多的RAMd储常数表?br />事实上,不仅三角函数Q其他的各种非线性函数都是这栯D的?</font> </p> <img src ="http://www.shnenglu.com/erran/aggbug/34167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/erran/" target="_blank">erran</a> 2007-10-13 23:23 <a href="http://www.shnenglu.com/erran/archive/2007/10/13/34167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:做DSP最应该懂得157个问题(回答Q?/title><link>http://www.shnenglu.com/erran/archive/2007/10/13/34166.html</link><dc:creator>erran</dc:creator><author>erran</author><pubDate>Sat, 13 Oct 2007 15:04:00 GMT</pubDate><guid>http://www.shnenglu.com/erran/archive/2007/10/13/34166.html</guid><wfw:comment>http://www.shnenglu.com/erran/comments/34166.html</wfw:comment><comments>http://www.shnenglu.com/erran/archive/2007/10/13/34166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/erran/comments/commentRss/34166.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/erran/services/trackbacks/34166.html</trackback:ping><description><![CDATA[ <font face="Arial"> <span id="h5hhv35" class="javascript" id="text352539"> <br />做DSP最应该懂得157个问题(回答Q?br /><br /><br />?5V/3.3V如何hQ?br />TI DSP的发展同集成电\的发展一P新的DSP都是3.3V的,但目前还有许多外围电路是5V的,因此在DSPpȝ中,l常?V?.3V的DSPh 问题。在q些pȝ中,应注意: 1)DSP输出l?V的电路(如D/AQ,无需加Q何缓冲电路,可以直接q接? 2)DSP输入5V的信P如A/DQ,׃输入信号的电?gt;4VQ超q了DSP的电源电压,DSP的外部信h有保护电路,需要加~冲Q如 74LVC245{,?V信号变换?.3V的信受?3)仿真器的JTAG口的信号也必Mؓ3.3VQ否则有可能损坏DSP?<br /><br />?Z么要片内RAM大的DSP效率高?<br />? 前DSP发展的片内存储器RAM来大Q要设计高效的DSPpȝQ就应该选择片内RAM较大的DSP。片内RAM同片外存储器相比Q有以下优点Q? 1)片内RAM的速度较快Q可以保证DSP无等待运行? 2)对于C2000/C3x/C5000pdQ部分片内存储器可以在一个指令周期内讉K两次Q得指令可以更加高效? 3)片内RAMq行E_Q不受外部的q扰影响Q也不会q扰外部?4)DSP片内多ȝQ在讉K片内RAMӞ不会影响其它ȝ的访问,效率较高?br /><br />?Z么DSP?V发展?.3VQ?br />? 大规模集成电路的发展?umQ发展到目前?.1umQ芯片的甉|电压也随之降低,功耗也随之降低。DSP也同样从5V发展到目前的3.3VQ核心电? 发展?V。目前主的DSP的外围均已发展ؓ3.3VQ?V的DSP的h格和功耗都hQ以逐渐?.3V的DSP取代?<br /><br />七如何选择DSP的电源芯片?<br />TMS320LF24xxQTPS7333QDQ?V?.3VQ最?00mA?<br />TMS320VC33Q?TPS73HD318PWPQ?V?.3V?.8VQ最?50mA?<br />TMS320VC54xxQTPS73HD318PWPQ?V?.3V?.8VQ最?50mAQ?TPS73HD301PWPQ?V?.3V和可调,最?50mA?<br />TMS320VC55xxQTPS73HD301PWPQ?V?.3V和可调,最?50mA?<br />TMS320C6000Q?PT6931QTPS56000Q最?A?<br /><br />?软g{待的如何用?<br />DSP的指令周期较快,讉K慢速存储器或外设时需加入{待。等待分g{待和Y件等待,每一个系列的{待不完全相同?<br />1)对于C2000pdQ?g{待信号为READYQ高电^时不{待?软g{待由WSGR寄存器决定,可以加入最?个等待。其中程序存储器和数据存储器及I/O可以分别讄?<br />2)对于C3xpdQ?g{待信号?RDYQ低电^是不{待?软g{待由ȝ控制寄存器中的SWW和WTCNY军_Q可以加入最?个等待,但等待是不分D늚Q除了片内之外全I间有效?<br />3)对于C5000pdQ?g{待信号为READYQ高电^时不{待?软g{待由SWWCR和SWWSR寄存器决定,可以加入最?4个等待。其中程序存储器、控制程序存储器和数据存储器及I/O可以分别讄?<br />4)对于C6000pdQ只限于非同步存储器或外设)Q?g{待信号为ARDYQ高电^时不{待?软g{待由外部存储器接口控制寄存器决定,ȝ讉K外部存储器或讑֤的时序可以设|,可以方便的同异步的存储器或外设接口?<br /><br />?中断向量Z么要重定位?<br />Z方便DSP存储器的配置Q一般DSP的中断向量可以重新定位,卛_以通过讄寄存器放在存储器I间的Q何地斏V?注意QC2000的中断向量不能重定位?<br /><br />?DSP的最高主频能从芯片型号中获得吗?<br />TI的DSP最高主频可以从芯片的型号中获得Q但每一个系列不一定相同?<br />1)TMS320C2000pdQ?<br />TMS320F206Q最高主?0MHz?<br />TMS320C203/C206Q最高主?0MHz?<br />TMS320F24xQ最高主?0MHz?<br />TMS320LF24xxQ最高主?0MHz?<br />TMS320LF24xxAQ最高主?0MHz?<br />TMS320LF28xxQ最高主?50MHz?<br />2)TMS320C3xpdQ?<br />TMS320C30Q最高主?5MHz?<br />TMS320C31PQL80Q最高主?0MHz?<br />TMS320C32PCM60Q最高主?0MHz?<br />TMS320VC33PGE150Q最高主?5MHz?<br />3)TMS320C5000pdQ?<br />TMS320VC54xxQ最高主?60MHz?<br />TMS320VC55xxQ最高主?00MHz?<br />4)TMS320C6000pdQ?<br />TMS320C62xxQ最高主?00MHz?<br />TMS320C67xxQ最高主?30MHz?<br />TMS320C64xxQ最高主?20MHz?<br /><br />十一.DSP可以降频使用吗?<br />可以QDSP的主频均有一定的工作范围Q因此DSP均可以降频用?<br /><br />十二.如何选择外部旉Q?br />DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL。但每个pd不尽相同?<br />1)TMS320C2000pdQ?<br />TMS320C20xQPLL可以÷2Q?Q?和?Q因此外部时钟可以ؓ5MHzQ?0MHz?<br />TMS320F240QPLL可以÷2Q?Q?.5Q?Q?.5Q?Q?Q?.5Q?和?Q因此外部时钟可以ؓ2.22MHzQ?0MHz?<br />TMS320F241/C242/F243QPLL可以×4Q因此外部时钟ؓ5MHz?TMS320LF24xxQPLL可以由RC调节Q因此外部时钟ؓ4MHzQ?0MHz?<br />TMS320LF24xxAQPLL可以由RC调节Q因此外部时钟ؓ4MHzQ?0MHz?<br />2)TMS320C3xpdQ?<br />TMS320C3xQ没有PLLQ因此外部主频ؓ工作频率?倍?<br />TMS320VC33QPLL可以÷2Q?Q?Q因此外部主频可以ؓ12MHzQ?00MHz?<br />3)TMS320C5000pdQ?<br />TMS320VC54xxQPLL可以÷4Q?Q?-32Q因此外部主频可以ؓ0.625MHzQ?0MHz?<br />TMS320VC55xxQPLL可以÷4Q?Q?-32Q因此外部主频可以ؓ6.25MHzQ?00MHz?<br />4)TMS320C6000pdQ?<br />TMS320C62xxQPLL可以×1Q?Q?Q?Q?Q?Q?0和?1Q因此外部主频可以ؓ11.8MHzQ?00MHz?<br />TMS320C67xxQPLL可以×1和?Q因此外部主频可以ؓ12.5MHzQ?30MHz?<br />TMS320C64xxQPLL可以×1Q?和?2Q因此外部主频可以ؓ30MHzQ?20MHz<br /><br />十三.如何选择DSP的外部存储器Q?br />DSP的速度较快Qؓ了保证DSP的运行速度Q外部存储器需要具有一定的速度Q否则DSP讉K外部存储器时需要加入等待周期?<br />1)对于C2000pdQ?C2000pd只能同异步的存储器直接相接?C2000pd的DSP目前的最高速度?50MHz。徏议可以用的存储器有: <br />CY7C199-15Q?2K×8Q?5nsQ?VQ?<br />CY7C1021-12Q?4K×16Q?5nsQ?VQ?CY7C1021V33-12Q?4K×16Q?5nsQ?.3V?<br />2)对于C3xpdQ?C3xpd只能同异步的存储器直接相接?C3xpd的DSP的最高速度Q?V的ؓ40MHzQ?.3V的ؓ75MHzQؓ保证DSP无等待运行,分别需要外部存储器的速度<25ns?lt;12ns。徏议可以用的存储器有: <br />ROMQ?AM29F400-70Q?56K×16Q?0nsQ?VQ加入一个等待; <br />AM29LV400-55(SST39VF400)Q?56K×16Q?5nsQ?.3VQ加入两个等待(目前没有更快的FlashQ?<br />SRAMQ?CY7C199-15Q?2K×8Q?5nsQ?VQ?<br />CY7C1021-15Q?4K×16Q?5nsQ?VQ?<br />CY7C1009-15Q?28K×8Q?5nsQ?VQ?<br />CY7C1049-15Q?12K×8Q?5nsQ?VQ?<br />CY7C1021V33-15Q?4K×16Q?5nsQ?.3VQ?<br />CY7C1009V33-15Q?28K×8Q?5nsQ?.3VQ?<br />CY7C1041V33-15Q?56k×16Q?5nsQ?.3V?<br />3)对于C54xpdQ?C54xpd只能同异步的存储器直接相接?C54xpd的DSP的速度?00MHz?60MHzQؓ保证DSP无等待运行,需要外部存储器的速度<10ns?lt;6ns。徏议可以用的存储器有: <br />ROMQ?AM29LV400-55(SST39VF400)Q?56K×16Q?5nsQ?.3VQ加??个等待(目前没有更快的FlashQ?<br />SRAMQ?CY7C1021V33-12Q?4K×16Q?2nsQ?.3VQ加入一个等待; <br />CY7C1009V33-12Q?28K×8Q?2nsQ?.3VQ加入一个等待?<br />4)对于C55x和C6000pdQ?TI的DSP中只有C55x和C6000可以同同步的存储器相q,同步存储器可以保证系l的数据交换效率更高?<br />ROMQ?AM29LV400-55(SST39VF400)Q?56K×16Q?5nsQ?.3V?<br />SDRAMQ?HY57V651620BTC-10SQ?4MQ?0ns?<br />SBSRAMQ?CY7C1329-133ACQ?4k×32Q?<br />CY7C1339-133ACQ?28k×32?<br />FIFOQCY7C42x5V-10ASCQ?2k/64k×18?<br /><br />十四.DSP芯片有多大的驱动能力Q?br />DSP的驱动能力较强,可以不加驱动Q连?个以上标准TTL门?<br /><br />十五.调试TMS320C2000pd的常见问题?<br />1)单步可以q行Q连l运行时d0地址Q?Watchdog没有养Iq箋q行复位DSP回到0地址?<br />2)OUT文g不能load到片内flash中: Flash不是RAMQ不能用单的写指令写入,需要专门的E序写入。CCS和C Source Debugger中的load命oQ不能对flash写入?OUT文g只能load到片内RAMQ或片外RAM中?<br />3)在flash中如何加入断点: 在flash中可以用单步调试Q也可以用硬件断点的Ҏ在flash中加入断点,软g断点是不能加在ROM中的。硬件断点,讄存储器的地址Q当讉K该地址时生中断?<br />4)中断向量Q?C2000的中断向量不可重定位Q因此中断向量必L?地址开始的flash内。在调试pȝӞ代码攑֜RAM中,中断向量也必L在flash内?<br /><br />十六.调试TMS320C3xpd的常见问题?<br />1)TMS320C32的存储器配置Q?TMS320C32的程序存储器可以配置?6位或32位;数据存储器可以配|ؓ8位?6位或32位?<br />2)TMS320VC33的PLL控制Q?TMS320VC33的PLL控制端只能接1.8VQ不能接3.3V?V?<br /><br />十七.如何调试多片DSPQ?br />? 于有MPSD仿真口的DSPQTMS320C30/C31/C32Q,不能用一套仿真器同时调试Q每ơ只能调试其中的一个DSPQ? 对于有JTAG仿真口的DSPQ可以将JTAG串接在一P用一套仿真器同时调试多个DSPQ每个DSP可以用不同的名字Q在不同的窗口中调试? 注意Q如果在JTAG和DSP间加入驱动,一定要用快速的门电路,不能使用如LS的慢速门电\?<br /><br />十八.在DSPpȝ中ؓ什么要使用CPLDQ?br />DSP 的速度较快Q要求译码的速度也必较快。利用小规模逻辑器g译码的方式,已不能满DSPpȝ的要求? 同时QDSPpȝ中也l常需要外部快速部件的配合Q这些部件往往是专门的电\Q有可编E器件实现? CPLD的时序严|速度较快Q可~程性好Q非帔R合于实现译码和专门电\?<br /><br />十九.DSPpȝ构成的常用芯片有哪些Q?br />1)甉|Q?TPS73HD3xxQTPS7333QTPS56100QPT64xx... <br />2)FlashQ?AM29F400QAM29LV400QSST39VF400... <br />3)SRAMQ?CY7C1021QCY7C1009QCY7C1049... <br />4)FIF CY7C425QCY7C42x5... <br />5)Dual portQ?CY7C136QCY7C133QCY7C1342... <br />6)SBSRAMQ?CY7C1329QCY7C1339... <br />7)SDRAMQ?HY57V651620BTC... <br />8)CPLDQ?CY37000pdQCY38000pdQCY39000pd... <br />9)PCIQ?PCI2040QCY7C09449... <br />10)USBQ?AN21xxQCY7C68xxx... <br />11)CodecQTLV320AIC23QTLV320AIC10... <br />12)A/D,D/AQADS7805QTLV2543... <br />具体资料见www.ti.comQwww.cypress.com <br /><br />二十.什么是boot loaderQ?br />DSP 的速度快QEPROM或flash的速度较慢Q而DSP片内的RAM很快Q片外的RAM也较快。ؓ了DSP充分发挥它的能力Q必dE序代码攑֜ RAM中运行。ؓ了方便的代码从ROM中搬到RAM中,在不带flash的DSP中,TI在出厂时固化了一D늨序,在上电后完成从ROM或外讑ְ代码? 到用h定的RAM中。此D늨序称?boot loader"?<br /><br />二十一.TMS320C3x如何bootQ?br />在MC/MP脚为高ӞC3xq入boot状态。C3x的boot loader在resetӞ判断外部中断脚的电q뀂根据中断配|决定boot的方式ؓ存储器加载还是串口加载,其中ROM的地址可以Z个中的一个,ROM可以?位?<br /><br />二十?Boot有问题如何解冻I<br />1)仔细查boot的控制字是否正确?<br />2)仔细查外部管脚设|是否正?<br />3)仔细查hex文g是否转换正确?<br />4)用仿真器跟踪bootq程Q分析错误原因?<br /><br />二十?DSPZ么要初始化?<br />DSP在RESET后,许多的寄存器的初g般同用户的要求不一_例如Q等待寄存器QSPQ中断定位寄存器{,需要通过初始化程序设|ؓ用户要求的数倹{?初始化程序的主要作用Q?1)讄寄存器初倹{?2)建立中断向量表?3)外围部g初始化?<br /><br />二十?DSP有哪些数学库及其它应用YӞ<br />TI公司Z方便客户开发DSPQ在它的|站上提供了许多E序的示例和应用E序Q如MATH库,FFTQFIR/IIR{,可以在TI的网免费下载?<br /><br />二十?如何获得DSP专用法Q?br />TI有许多的Third Party可以通过DSP上的多种法软g。可以通过TI的网|索你所需的算法,扑ֈ通过法的公司,同相应的公司联系。注意这些算法都是要付费的?br /><br />二十?eXpressDSP是什么?<br />eXpressDSP 是一U实时DSP软g技术,它是一UDSP~程的标准,利用它可以加快你开发DSP软g的速度? 以往DSP软g的开发没有Q何标准,不同的h写的E序一般无法连接在一赗DSP软g的调试工具也非常不方ѝ得DSP软g的开发往往滞后于硬件的开 发?eXpressDSP集成了CCS(Code Composer Studio)开发^収ͼDSP BIOS实时软gq_QDSP法标准和第三方支持四部分。利用该技术,可以使你的Y件调试,软gq程理QY件的互通及法的获得,都便的容易。这样就 可以加快你的软g开发进E?<br />1)CCS是eXpressDSP的基Q因此你必须首先拥有CCS软g?<br />2)DSP BIOS是eXpressDSP的基本^収ͼ你必d会所有DSP BIOS?<br />3)DSP法标准可以保证你的E序可以方便的同其它利用eXpressDSP技术的E序q接在一赗同时也保证你的E序的gl性?<br /><br />二十?Z么要用DSPQ?br />3G 技术和internate的发展,要求处理器的速度来高Q体U越来越,DSP的发展正好能满q一发展的要求。因为,传统的其它处理器都有不同的缺 陗MCU的速度较慢QCPU体积较大Q功耗较高;嵌入CPU的成本较高? DSP的发展,使得在许多速度要求较高Q算法较复杂的场合,取代MCU或其它处理器Q而成本有可能更低?<br /><br />二十?如何选择DSPQ?br />选择DSP可以Ҏ以下几方面决定: <br />1)速度Q?DSP速度一般用MIPS或FLOPS表示Q即百万?U钟。根据您对处理速度的要求选择适合的器件。一般选择处理速度不要q高Q速度高的DSPQ系l实C较困难?<br />2)_ֺQ?DSP芯片分ؓ定点、Q点处理器Q对于运精度要求很高的处理Q可选择点处理器。定点处理器也可完成点q算Q但_ֺ和速度会有影响?<br />3)dI间Q?不同pdDSPE序、数据、I/OI间大小不一Q与普通MCU不同QDSP在一个指令周期内能完成多个操作,所以DSP的指令效率很高,E序I间一般不会有问题Q关键是数据I间是否满。数据空间的大小可以通过DMA的帮助,借助E序I间扩大?<br />4)成本Q?一般定点DSP的成本会比Q点DSP的要低,速度也较快。要获得低成本的DSPpȝQ尽量用定点法Q用定点DSP?<br />5)实现方便Q?点DSP的结构实现DSPpȝ较容易,不用考虑dI间的问题,指o对C语言支持的效率也较高?<br />6)内部部gQ根据应用要求,选择hҎ部g的DSP。如QC2000适合于电机控ӞOMAP适合于多媒体{?<br /><br />二十?DSP同MCU相比的特点?<br />1)DSP的速度比MCU快,主频较高?<br />2)DSP适合于数据处理,数据处理的指令效率较高?<br />3)DSP均ؓ16位以上的处理器,不适合于低档的场合?<br />4)DSP可以同时处理的事件较多,pȝU成本有可能较低?<br />5)DSP的灵zL较好,大多数算法都可以软g实现?<br />6)DSP的集成度较高Q可靠性较好?<br /><br />三十.DSP同嵌入CPU相比的特点?<br />1)DSP是单片机Q构成系l简单?2)DSP的速度快?3)DSP的成本较低?4)DSP的性能高,可以处理较多的Q务?<br /><br />三十一.如何~写C2000片内FlashQ?br />DSP中的Flash的编写方法有三中Q?<br />1. 通过仿真器编写:在我们的|页上有相关的YӞ在销售仿真器时我们也提供相关软g。其中LF240x的编写可以在CCS中加入一个插ӞF24x的编写需 要在windows98下的DOSH中q行。具体步骤见软g中的readme。有几点需要注意: a.必须为MC方式Q? b.F206的工作频率必Mؓ20MHzQ?c.F240需要根据PLL修改C240_CFG.I文g。徏议外部时钟ؓ20MHz? d.LF240x也需要根据PLL修改文g?d.如果~写有问题,可以用BFLWx.BAT修复?<br />2.提供串口~写QTI的网上有相兌Y件。注意只能编写一ơ,因ؓ~写E序会破坏串口通信E序?<br />3.在你的程序中~写QTI的网上有相兌料?<br /><br />三十?如何~写DSP外部的FlashQ?br />DSP的外部Flash~写ҎQ?<br />1.通过~程器编写:OUT文g通过HEX转换E序转换为编E器可以接受的格式,再由~程器编写?<br />2.通过DSP软g~写Q您需要根据Flash的说明,~写Flash的编写程序,应用程序和~写Flash的程序分别load到RAM中,q行~写E序~写?<br /><br />三十?对于C5000Q大?8K的程序如何BOOTQ?br />对于C5000Q片内的BOOTE序在上电后数据区的内容,搬移到程序区的RAM中,因此FLASH必须在RESET后放在数据区。由于C5000Q数据区的空间有限,一ơBOOT的程序不能对?8K。解决的Ҏ如下Q?<br />1.在RESET后,FLASH译码在数据区QRAM攑֜E序区,片内BOOTE序程序BOOT到RAM中?<br />2.用户初试化程序发Z个I/O命oQ如XFQ,FLASH译码到程序区的高地址。开放数据区用于其它的RAM?<br />3.用户初试化程序中包括W二ơBOOTE序Q此E序必须用户自己~写Q,FLASH中没有BOOT的其它代码搬UdRAM中?<br />4.开始运行用户处理程序?<br /><br />三十?DSP外接存储器的控制方式<br />对于一般的存储器具有RD、WR和CS{控制信P许多DSPQC3x、C5000Q都没有控制信号直接q接存储器,一般采用的方式如下Q?<br />1.CS有地址U和PS、DS或STRB译码产生Q?<br />2./RD=/STRB+/R/WQ?3./WR=/STRB+R/W?br /><br />三十?GEL文g的功能?<br />GEL文g的功能同emuinit.cmd的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增强QGEL在CCS下有一个菜单,可以ҎDSP的对象不同,讄不同的初始化E序。以TMS320LF2407ZQ?<br />#define SCSR1 0x7018 Q定义scsr1寄存?<br />#define SCSR2 0X7019 Q定义scsr2寄存?<br />#define WDKEY 0x7025 Q定义wdkey寄存?<br />#define WDNTR 0x7029 Q定义wdntr寄存?<br />StartUp() ; 开始函?<br />{ <br />GEL_MapReset(); ; 存储I间复位 GEL_MapAdd(0x0000,0,0x7fff,1,1); 定义E序I间?000Q?fff 可读?<br />GEL_MapAdd(0x8000,0,0x7000,1,1); 定义E序I间?000Qf000 可读?<br />GEL_MapAdd(0x0000,1,0x10000,1,1); 定义数据I间?000Q?0000可读?<br />GEL_MapAdd(0xffff,2,1,1,1); 定义i/o I间0xffff可读?<br />GEL_MapOn(); 存储I间打开 <br />GEL_MemoryFill(0xffff,2,1,0x40); 在i/oI间d数?0h <br />*(int *)SCSR1=0x0200; lscsr1寄存器赋?<br />*(int *)SCSR2=0x000C; lscsr2寄存器赋|在这里可以进行mp/mc方式的{?<br />*(int *)WDNTR=0x006f; lwdntr寄存器赋?<br />*(int *)WDKEY=0x055; lwdkey寄存器赋?<br />*(int *)WDKEY=0x0AA; lwdkey寄存器赋?<br />} <br /><br />三十?使用TI公司模拟器g与DSPl合使用的好处?br />1)在用TI公司的DSP的同Ӟ使用TI公司的模拟可以和DSPq行无缝q接。器件与器g之间不需要Q何的q接或{接器件。这样即减少了板卡的寸Q也降低了开发难度?<br />2)同ؓTI公司的品,很多器g可以固定搭配使用。少了器仉型的烦?<br />3)TI在CCS中提供插Ӟ可以用于DSP和模拟器件的开发,非常方便?<br /><br />三十?C语言中可以嵌套汇~语aQ?br />可以。在ANSI C标准中的标准用法是用C语言~写ȝ序,用汇~语a~写子程序,中断服务E序Q一些算法,然后用C语言调用q些汇编E序Q这h率会相对比较?br /><br />三十?在定点DSPpȝ中可否实现Q点运?<br />当然可以Q因为DSP都可以用C,只要是可以用c语言的场合都可以实现点q算?br /><br />三十?JTAG头的使用会遇到哪些情况?<br />1)DSP的CLKOUT没有输出Q工作不正常?<br />2)Emu0QEmu1需要上拉?<br />3)TCK的频率应该ؓ10M?<br />4)?.3V DSP中,PD脚ؓ3.3V 供电Q但是仿真器上需?V电压供电Q所以PP仿真器盒上需要单独供c?<br />4)仿真多片DSP。在使用菊花铄时候,W一片DSP的TDO接到W二片DSP的TDI卛_。注意当串联DSP比较多的时候,信号U要适当的增加驱动?<br /><br />四十.include头文Ӟ.h)的主要作?br />头文Ӟ一般用于定义程序中的函数、参数、变量和一些宏单元Q同库函数配合用。因此,在用库Ӟ必须用相应的头文件说明?<br /><br />四十一.DSP中断向量的位|?br />1)2000pddsp的中断向量只能从0000H处开始。所以在我们调试E序的时候,要把DSP选择为MPQ微处理器方式)Q把片内的Flash屏蔽掉,免去每次更改E序都要重新烧写Flash工作?<br />2)3xpddsp的中断向量也只能在固定的地址?<br />3)5000Q?000pddsp的中断向量可以重新定位。但是它只能被重新定位到Page0范围内的MI间?br /><br />四十?有源晶振与晶体的区别Q应用范围及用法<br />1)晶体需要用DSP片内的振荡器Q在datasheet上有的连接方法。晶体没有电压的问题Q可以适应于Q何DSPQ徏议用晶体?<br />2)有源晶振不需要DSP的内部振荡器Q信h较稳定。有源晶振用法:一脚悬I,二脚接地Q三脚接输出Q四脚接电压?<br /><br />四十?E序l常跑飞的原?br />1)E序没有l尾或不是@环的E序?<br />2)nmi脚没有上拉?<br />3)在看门狗动作的时候程序会l常跑飞?<br />4)E序~制不当也会引vE序跑飞?<br />5)gpȝ有问题?<br /><br />四十?q行FLASH引导的一点经?br />最 qBBS上关于FLASH和BOOT的讨论很z跃Q我也多ơ来此请教。前几天自制的DSP板引导成功,早就打算写写q方面的东西。我用的DSP? 5416Q以其ؓ核心Q做了一个相对独立的子系l(g、Y件、算法)Q目前都已基本做好? 下面把在FLASH引导斚w做的工作向大家汇报一下,希望能对大家有所帮助。本人经验和文笔都有限,写的不好请大家谅解?<br />g环境Q?<br />DSPQTMS320VC5416PGE160 <br />FLASHQSST39VF400A-70-4C-EK 都是贴片的,FLASH映射在DSP数据I间?x8000-0xFFFF <br />软g环境Q?CCS v2.12.01 <br />? E序Q要烧入FLASH的程序)Q? DEBUG版,E序占用I间0x28000-0x2FFFFQ片内SARAMQ,中断向量表在0x0080-0x00FFQ片内DARAMQ,数据I间? ?x0100-0x7FFFQ片内DARAMQ? 因ؓFLASH是脓片的Q所以需要自q一个数据搬Uȝ序,把要ȝ序搬UdFLASH中。在写入FLASH数据Ӟq应写入引导表的格式数据。最后在? 据空间的0xFFFF处写入引D的v始地址Q这里ؓ0x8000Q?<br />搬移E序Q? DEBUG版,E序I间0x38000-0x3FFFFQ片内SARAMQ,中断向量表在0x7800-0x78FFQ片内DARAMQ,数据I间使用 0x5000-0x77FFQ片内DARAMQ?搬移E序不能使用与主E序的程序空间和中断向量表重合的物理I间Q以免覆盖? 烧写Ӟ同时打开ȝ序和搬移E序的PROJECTQ先LOADȝ序,再LOAD搬移E序Q然后执行搬Uȝ序,烧写OK! 附:搬移E序Q仅供参考) <br />volatile unsigned int *pTemp=(unsigned int *)0x7e00; unsigned int iFlashAddr; <br />int iLoop; /* 在引D头存攑ƈ行引导关键字 */ <br />iFlashAddr=0x8000; <br />WriteFlash(iFlashAddr,0x10aa); <br />iFlashAddr++; /* 初始化SWWSR?*/ <br />WriteFlash(iFlashAddr,0x7e00); <br />iFlashAddr++; /* 初始化BSCR?*/ <br />WriteFlash(iFlashAddr,0x8006); <br />iFlashAddr++; /* E序执行的入口地址 */ <br />WriteFlash(iFlashAddr,0x0002); <br />iFlashAddr++; <br />WriteFlash(iFlashAddr,0x8085); <br />iFlashAddr++; /* E序长度 */ <br />WriteFlash(iFlashAddr,0x7f00); <br />iFlashAddr++; /* E序要装载到的地址 */ <br />WriteFlash(iFlashAddr,0x0002); <br />iFlashAddr++; <br />WriteFlash(iFlashAddr,0x8000); <br />iFlashAddr++; <br />for (iLoop=0;iLoop<0x7f00;iLoop++) <br />{ /* 从程序空间读数据Q放到暂存单?*/ <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++) { /* 从程序空间读数据Q放到暂存单?*/ <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写入引导表v始地址 */ <br />iFlashAddr=0xffff; <br />WriteFlash(iFlashAddr,0x8000); <br /><br />四十?关于LF2407A的FLASH烧写问题的几点说?br />TI 现在关于LF24x写入FLASH的工hCؓc2000flashprogsw_v112。可以支持LF2407、LF2407a、LF2401及相? 的LF240xpd。徏议用此版本。在http://focus.ti.com/docs/tool/toolf...灿写松招闯?/a> 在用这个工h注意Q?<br />一,先解压,再执行setup.exe?<br />二、进入cc中,在tools图标下有烧写工具Q?<br />1、关 于FLASH旉的选择Q此烧写工具默认最高频率进行FLASH的操作。根据目标系l的工作主频重新要进行PLL讄。方法:先在advance options下面的View Config file中修改倍频。存盘后Q在相应的目录下Qtic2xx\\algos\\相应目录Q运行buildall.bat可以完成修改了。再q行相应的操 作即可?<br />2、若是你所选的频率不是最高频率,q需要设定你自已的timings.xx来代替系l默认的最高频率的timings.xx。例? LF2407a的默认文件是timings.40。Timings.xx可以利用include\\timings.xls的excel工作表来生成。然 后在advance options下面的View Config file中修改相应的位置。存盘后Q在相应的目录下q行buildall.bat可以完成修改了?<br />3、对于TMS320LF240XAp? 列,q要注意Q由于这些DSP的FLASHh加密功能Q加密地址为程序空间的0x40-0X43HQ程序禁止写入此I间Q如果写了,此空间的数据被认? 是加密位Q断电后q入保护FLASH状态,使FLASH不可重新操作Q从而DSP报废Q烧写完毕后一定要q行Program passwords的操作,如果不做加密操作默认最后一ơ写入加密位的数据作为密码?<br />4?407A不能用DOS下的烧写软g烧写Q必ȝc2000flashprogsw_v112软g烧写Q?<br />5、徏议如下: <br />1)、一般调试时Q在RAM中进行; <br />2)、程序烧写时Q避开E序I间0x40-0x43H加密区,E序最好小?2kQ?<br />3)? 每次E序烧写完后Q将word0Qword1,word2Qword3分别输入自己的密码,再点?Program passwordQ如果加密成功,提示Program is arrayedQ如?x40Q?x43h中写入的是ffffQ认为处于调试状态,flash不会加密Q?<br />4)、断电后Q下ơ重新烧写时需要往word0~word3输入已设的密码,再unlockQ成功后可以重新烧写了; <br />6、VCPP脚接在Q?V上,是应直接接的Q中间不要加电阻?<br />7、具体事宜请阅读相应目录下的readme1,readme2帮助文g?<br />8.注意*.cmd文g的编写时应该避开40-43H单元Q好多客L于没有注意到q里而把FALSH加密?<br /><br />四十?如何讄g断点Q?br />在profiler Q?gt;profile point -> break point <br /><br />四十?c54x的外部中断是电^响应q是沿响应?<br />是沿响应Q准的_它要到100(一个clk的高和两个clk的低)的变化才可以?br /><br />四十八。参考程序,里面好象都要 disable wachdog,不知道ؓ什?<br />watchdog是一个计数器Q溢出时会复位你的DSPQ不disable的话Q你的系l会动不动就reset?br />四十九。DSPpȝ设计100?br />一、时钟和甉|<br />问:DSP的电源设计和旉设计应该特别注意哪些斚wQ外接晶振选用有源的好q是无源的好Q?br />{:旉一般用晶体,甉|可用TI的配套电源。外接晶振用无源的好?br />问:TMS320LF2407的A/D转换_ֺ保证措施?br />{:参考电源和模拟甉|要求q净?br />问:pȝ调试时发现纹波太大,主要是哪斚w的问题?<br />{:如果是电源纹波大Q加大电Ҏo波?br />问:请问我用5V供电的有源晶振ؓDSP提供旉Q是否可以将其用两个电阻q行分压后再接到DSP的时钟输入端Q这样做的话Q时钟工作是否稳定?<br />{:q样做不好,使用晶体?br />问:一个多DSP电\板的旉Q如何选择比较好?DSP电\板的g设计和系l调试时的时序问题?<br />{:使用旉芯片Q以保证同步。硬件设计要ҎDSP芯片的时序,选择外围芯片Q根据时序设定等待和g逻辑?br />二.q扰与板的布局<br />问:器g布局应重点考虑哪些因素Q例如在集中抄表pȝ中?<br />{:可用TMS320VC5402Q成本不是很高。器件布局重点应是存贮器与DSP的接口?br />问:在设计DSP的PCB板时应注意哪些问题?<br />{:1.甉|的布|;2.旉的布|;3.电容的布|;4.l端电\Q?.数字同模拟的布置?br />问:请问DSP在与前向通道(比如说AD)接口的时候,布线q程中要注意哪些问题Q以保证AD采样的稳定性?<br />{:模拟地和数字地分开Q但在一Ҏ地?br />问:DSPL设计的一般步骤是什么?需要特别注意的问题有哪些?<br />{:1.选择芯片Q?.设计时序Q?.设计PCB。最重要的是时序和布Uѝ?br />问:在硬件设计阶D如何消除信号干扎ͼ包括模拟信号及高频信PQ应该从那些斚w着<br />手?<br />{:1.模拟和数字分开Q?.多层板;3.电容滤L?br />问:在电路板的设计上Q如何很好的解决静电q扰问题?br />{:一般情况下Q机x大地Q即能满求。特D情况下Q电源输入、数字量输入串接<br />专用的防静电器g?br />问:DSP板的늣兼容QEMCQ设计应特别注意哪些问题?<br />{:正确处理甉|、地q面Q高速的、关键的信号在源端串接端接电阻,避免信号反射?br />问:用电感来隔离模拟甉|和数字电源,其电感量如何军_Q是׃는或噪音要求?br />军_吗?有没有计公式?<br />{:甉|或磁珠相当于一个低通o波器Q直电源可以通过Q而高频噪声被滤除。所以电<br />感的选择主要军_于电源中高频噪声的成分?br />问:讲上的材料多是甉|q扰问题Q能否介l板上高频信号布局QLayoutQ时要注意的<br />问题以及数字信号Ҏ拟信L影响问题Q?br />{:数字信号Ҏ拟信Lq扰主要是串扎ͼ在布局时模拟器件应量q离高速数字器Ӟ高速数字信号尽量远L拟部分,q且应保证它们不I越模拟地^面?br />问:能否介绍PCB布线Ҏ拟信号失真和串音的媄响,如何降低和克服?<br />{:?个方面,1. 模拟信号与模拟信号之间的q扰Q布U时模拟信号量走粗一些,如果有条Ӟ2个模拟信号之间用地线间隔?. 数字信号Ҏ拟信Lq扰Q数字信号尽量远L拟信P数字信号不能I越模拟地?br />三.DSP性能<br />问:1.我要设计生物囑փ处理pȝQ选用那种型号较好Q高性能和低hQ?2.如果选定<br />TI DSPQ需要什么开发工P<br />{:1.你可采用C54x ?C55xq_Q如果你需要更高性能的,可采用C6xpd?.需要EVM<br />s和XDS510仿真器?br />问:请介l一U专门用于快速富利叶变换QFFTQ, 数字滤LQ卷U,相关{算法的DSPQ?br />最好集?2bit以上的ADC功能?br />{:如果你的pȝ是马?能量控制的,我徏议你用TMS320LF240x。详情请参阅DSP选择指南Qhttp://www.dspvillage.ti.com/dspguide?br />问:有些资料说DSP比单片机好,但单片机用的比DSPqѝ请问这两个在用上有何区别Q?br />{:单片Z般用于要求低的场合,?/8位的单片机。DSP适合于要求较高的场合?br />问:我想了解在信号处理方面DSP比FPGA的优炏V?br />{:DSP是通用的信号处理器Q用软g实现数据处理QFPGA用硬件实现数据处理。DSP的成本便宜,法灉|Q功能强QFPGA的实时性好Q成本较高?br />问:请问减小电\功耗的主要途径有哪些?<br />{:1.选择低功耗的芯片Q?.减少芯片的数量;3.量使用IDLE?br />问:用C55设计一个低功耗图像压~?解压和无U传输的产品Q同时双向传输遥控指令和?br />他信息,要求囑փ30?U,TFT昄320*240Q不知道能否实现Q若能,怎样定性能Q选择周边元器Ӟ定最的传输速率Q能否提供开发的解决ҎQY件核Q?br />{:1.有可能,要看你的法?.先在模拟器上模拟?br />问:用DSP开发MP3Q比较专用MP3解码芯片如何Q比如成本、难度、周期?谢谢?br />{:1.DSP的功能强Q可以实现附加的功能Q如ebook{;2.DSP的性能h比高Q?.隑ֺ较大Q需要算法,因此周期较长Q但TI有现成的Ҏ?br />问:用DSP开发的pȝ跟用普通单片机开发的pȝ相比Q有何优势?DSP一般适用于开发什么样的系l?其开发周期、资金投入、开发成本如何?与DSP的接口电路是否还得用专门的芯片?<br />{:1.性能高;2.适合于速度要求高的场合Q?.开发周期一?个月Q投入一般要一万元?br />叻I4.不一定,但需要速度较高的芯片?br />问:DSP会对原来的模拟电路生什么样的媄响?<br />{:一斚wDSP用数字处理的Ҏ可以代替原来用模拟电路实现的一些功能;另一斚wQDSP的高速性对模拟电\产生较大的干扎ͼ设计时应量使DSPq离模拟电\部分?br />问:请问支持MPEG-4芯片型号是什么?<br />{:C55x?C6000 或DSC2x<br />问:DSP内的计算速度是快的,但是它的I/O口的交换速度有多快呢Q?br />{:主频?/4左右?br />四.技术性问?br />问:我有二个关于C2000的问题:1、C240或C2407的RS复位引脚既可输入Q也可输出,直接用CMOS门电路(?4ACT04Q驱动是否合适,q是应该用OC门(集电极开路)驱动Q?、大E序有时q行异常Q但加一两条I指令就正常Q是何原因?<br />{:1、OC门(集电极开路)驱动?、是水U的问题?br />问:1.DSP芯片内是否有单个的随机函数指令?2QDSP内的计算速度是快的,但是它的I/O<br />口的交换速度有多快呢QSP如何配合EPLD或FPGA工作呢?<br />{:1.没有?.取决于你所用的I/O。对于HPIQ传输速率Q字节)大约为CPU?/4Q对McBSPQ位速率QkbpsQ大UؓCPU?/2?.你可以联仿真接口和一个EPLD/FPGA在一赗请参考下面的应用手册Q?<a target="_blank" class="ilink">http://www.ti.com/sc/docs/psheets/abstract/apps/spra439a.htm</a><br />问:设计DSPpȝӞ我用C6000pd。DSP引脚的要上拉Q或者下拉的原则是怎样的?我经常在设计时ؓ某一脚是否要设|上/下拉电阻而犹豫不定?br />{:C6000pd的输入引脚内部一般都有弱的上拉或者下拉电阻,一般不需要考虑外部加上<br />拉或者下拉电阻,Ҏ情况Ҏ需要配|?br />问:我正在用TMS320VC5402Q通过HPI下蝲代码Q但C5402的内部只提供16K字的存储区,请问我能通过HPI把代码下载到它的外部扩展存储行吗Q?br />{:不行Q只能下载到片内?br />问:电\中用到DSPQ有时当复位信号ZӞ电压也属于正常范_但DSP加蝲E序不成功。电也偏大Q有时时钟也有输出。不知ؓ什么?<br />{:复位时无法加载程序?br />问:DSP和单片机相连l成MpȝӞ需要注意哪些问题?<br />{:使用HPI接口Q或者通过DPRAMq接?br />问:原来的DSP的程序需攑֜EPROM中,但EPROM的速度难以和DSP匚w。现在是如何解决此问题的Q?br />{:用BootLoadҎ解决?br />问: 我在使用5402DSKӞ一上电Q不接MICQ只接xQ不q行ME序Qx中有比较明显的一定频率的噪声出现。有时上电后没有出现Q但接MICQ运 行范例中的CODECE序Ӟ又会出现q种噪声。上q情况通常都在DSK工作一D|间后自动消失。我在DSP论坛上发现别人用DSK时也到q这U情况, 我自己参?402DSK做了一块板Q所用器件基本一P也是q现象,请问怎么回事Q如何解冻I<br />{:开始时没有有效的程序代码,所以上电后是随机状态,出现q种情况是正常的?br />问:我用的是TMS320LF2407Q但是仿真时不能保证每次都能GO MAIN。我惌l咨询一下,CMD文g的设|用法,q有VECTOR的定义?br />{:可能看门狗有问题Q关掉看门狗。有关CMD文g配置请参考《汇~语a工具》第二章?br />问:我设计的TMS320VC5402板子在调试Y件时会经常出现存储器错误报告Q排除是映射的问题,是不是板子不E_的因素?q是DSP工作不正常的问题Q如何判别?<br />{:你可以利用Memoryfill功能Q填入一些数|然后h一下,看是不是在变Q如果是<br />在变化,则Memory 是有问题?br />问:如何解决Flash~程的问?可不可以先用仿真器下载到外程序存储RAM中,然后E序代码程序代码自׃外程序存储RAM写到F240的内部Flash ROM中,如何?<br />{:如果你用F240Q你可以用下载TI做的工具。其它的可以q样做?br />问:C5510芯片如何接入E1信号Q在接入时有什么需要注意的地方Q?br />{:通过McBSP同步串口接入。注意信Lq_L求?br />问:请问如何通过仿真器把.HEXE序直接烧到FLASH中去?所用DSP?402是否需要自己另外编写一个烧写程序, 如何实现?谢谢!!<br />{:直接?OUT。是DSP中写一D늨序,把主E序写到FLASH中?br />问:DSP的硬件设计和其他的电路板有什么不同的地方Q?br />{:1.要考虑时序要求Q?.要考虑EMI的要求;3.要考虑高速的要求Q?.要考虑甉|的要求?br />问: ADS7811QADS7815QADS8320QADS8325QADS8341QADS8343QADS8344QADS8345中,哪个可以较方? CVC33q接Q完?0个模拟信LAD转换Q要?6bitQ?毫秒内完?0个信L采样Q当然也要考虑hQ?<br />{:作选择有下列几炚w 要考虑1. ȝ采样率:1ms?0个通道Q总采L?00K Q所有A/D均能满要求?. A/D与VC33的接口类型:q行、串行。前2UA/D为ƈ行接口,后几U均Z行接口?. 接口电^的匹配。前2UA/D?V电^Q与VC33不能接口Q后几种均可?.3V电^Q可与VC33直接接口?br />问:DSP的电路板有时调试成功率低?0%Q连接和底板均无问题Q如何解冻I有时DSP同CPLD产生不明原因的冲H,如何避免Q?br />{:看来你的g设计可能有问题,不应该这么小的成功率。我们的板的成功率ؓ95%以上?br />问:我们的工E有两h参与开发,׃事先没有考虑周全Q一Z用的是助记符方式~写<br />汇编代码Q另一Z用的是代数符h式编写汇~代码,请问CCS5000中这二种~写方式如何嵌在一赯试?<br />{:我没有这Lq,我想可以用下面的办法解决Q将一U方式的E序先单独编译ؓ.obj<br />文gQ在创徏工程Ӟ这?obj文g和另一U方式的E序一起加q工E中Q二者即可一<br />L译调试了?br />问:DSP数据~冲Q能否用SDRAM代替FIFOQ?br />{:不行<br />问:ADC或DAC和DSP相连接时Q要注意什么问题?比如匚w问题Q以保证A/D采样E_或D/A码不丢失?br />{:1. 接口方式Qƈ行/串行Q?. 接口电^Q必M证二者一致?br />问:用F240l常发生外部中断丢失现象Q甚臛_实际环境中只有在E序刚开始时能生中<br />断,几分钟后׃能生中断。有时只能采取查询的方式Q请问有何有效的解决ҎQ改<br />为F2407是不是要好些Q?br />{:应该同DSP无关。徏议你中断服务程序简化看一下?<br /><br />四十?旉电\选择原则<br />1,pȝ中要求多个不同频率的旉信号Ӟ首选可~程旉芯片; <br />2,单一旉信号Ӟ选择晶体旉电\; <br />3,多个同频旉信号Ӟ选择晶振; <br />4,量使用DSP片内的PLLQ降低片外时钟频率,提高pȝ的稳定? <br />5,C6000、C5510、C5409A、C5416、C5420、C5421和C5441{DSP片内无振荡电路,不能用晶体时钟电? <br />6,VC5401、VC5402、VC5409和F281x{DSP旉信号的电qؓ1.8VQ徏议采用晶体时钟电?<br /><br />五十.CE序的代码和数据如何定位<br />1,pȝ定义: <br />.cinit 存放CE序中的变量初值和帔R; <br />.const 存放CE序中的字符帔R、Q点常量和用const声明的常? <br />tch 存放CE序tch语句的蟩针表; <br />.text 存放CE序的代? <br />.bss 为CE序中的全局和静态变量保留存储空? <br />.far 为CE序中用far声明的全局和静态变量保留空? <br />.stack 为CE序pȝ堆栈保留存储I间Q用于保存返回地址、函数间的参C递、存储局部变量和保存中间l果; <br />.sysmem 用于CE序中malloc、calloc和realloc函数动态分配存储空?<br />2,用户定义: <br />#pragma CODE_SECTION (symbol, "section name"); <br />#pragma DATA_SECTION (symbol, "section name") <br /><br />五十一.cmd文g<br />?部分l成Q?<br />1)输入Q输出定义:.obj文gQ链接器要链接的目标文g;.lib文gQ链接器要链接的库文?.map文gQ链接器生成的交叉烦引文?.out文gQ链接器生成的可执行代码;链接器选项 <br />2)MEMORY命oQ描q系l实际的g资源 <br />3)SECTIONS命oQ描q?D?如何定位 <br /><br />五十?Z么要设计CSL?<br />1,DSP片上外设U类及其应用日趋复杂 <br />2,提供一l标准的Ҏ用于讉K和控制片上外?<br />3,免除用户~写配置和控制片上外设所必需的定义和代码 <br /><br />五十?什么是CSL?<br />1,用于配置、控制和理DSP片上外设 <br />2,已ؓC6000和C5000pdDSP设计了各自的CSL?<br />3,CSL库函数大多数是用C语言~写的,q已对代码的大小和速度q行了优?<br />4,CSL库是可裁剪的Q即只有被用的CSL模块才会包含q应用程序中 <br />5,CSL库是可扩展的Q每个片上外讄API怺独立Q增加新的APIQ对其他片上外设没有影响 <br /><br />五十?CSL的特?br />1,片上外设~程的标准协议:定义一l标准的APIsQ函数、数据类型、宏; <br />2,对硬件进行抽象,提取W号化的片上外设描述:定义一l宏Q用于访问和建立寄存器及其域?<br />3,基本的资源管?对多资源的片上外设进行管? <br />4,已集成到DSP/BIOS?通过囑Ş用户接口GUI对CSLq行配置; <br />5,使片上外讑֮易?~短开发时_增加可移? <br /><br />五十?Z么需要电q_?<br />1)DSPpȝ中难免存?V/3.3V混合供电现象; <br />2)I/O?.3V供电的DSPQ其输入信号电^不允许超q电源电?.3V; <br />3)5V器g输出信号高电q_?.4V; <br />4)长时间超常工作会损坏DSP器g; <br />5)输出信号电^一般无需变换 <br /><br />五十?电^变换的方?br />1,ȝ收发器(Bus TransceiverQ: <br />常用器gQ?SN74LVTH245AQ?位)、SN74LVTH16245AQ?6位) <br />特点Q?.3V供电Q需q行方向控制Q?<br />延迟Q?.5nsQ驱动:-32/64mAQ?<br />输入定wQ?V <br />应用Q数据、地址和控制ȝ的驱?<br />2,ȝ开养IBustchQ?<br />常用器gQSN74CBTD3384Q?0位)、SN74CBTD16210Q?0位) <br />特点Q?V供电Q无需方向控制 <br />延迟Q?.25nsQ驱动能力不增加 <br />应用Q适用于信h向灵zR且负蝲单一的应用,如McBSP{外设信L电^变换 <br />3,2?切换器(1 of 2 MultiplexerQ?<br />常用器gQSN74CBT3257Q?位)、SN74CBT16292Q?2位) <br />特点Q实??Q?V供电Q无需方向控制 <br />延迟Q?.25nsQ驱动能力不增加 <br />应用Q适用于多路切换信受且要进行电q_换的应用Q如双\复用的McBSP <br />4,CPLD <br />3.3V供电Q但输入定w?VQƈ且gq较大:Q?nsQ适用于少量的对gq要求不高的输入信号 <br />5,电阻分压 <br />10KΩ?0KΩ串联分压Q?V×20÷Q?0Q?0Q≈3.3V <br /><br />五十?未用的输入/输出引脚的处?br />1,未用的输入引脚不能悬IZ接,而应它们上拉活下拉为固定的电^ <br />1)关键的控制输入引脚,如Ready、Hold{,应固定接为适当的状?Ready引脚应固定接为有效状?Hold引脚应固定接为无效状?<br />2)无连接(NCQ和保留QRSVQ引?NC 引脚Q除非特D说明,q些引脚悬空不接,RSV引脚Q应Ҏ数据手册具体军_接还是不?<br />3)非关键的输入引脚,它们上拉或下拉为固定的电^Q以降低功?<br />2,未用的输出引脚可以悬IZ?<br />3,未用的I/O引脚:如果省状态ؓ输入引脚Q则作ؓ非关键的输入引脚处理Q上拉或下拉为固定的电^;如果省状态ؓ输出引脚Q则可以悬空不接<br />?DSP的C语言同主机C语言的主要区别?<br />1)DSP的C语言是标准的ANSI CQ它不包括同外设联系的扩展部分,如屏q绘囄。但在CCS中,Z方便调试Q可以将数据通过prinf命o虚拟输出C机的屏幕上?<br />2)DSP的C语言的编译过EؓQC~译为ASMQ再由ASM~译为OBJ。因此C和ASM的对应关p非常明,非常便于人工优化?<br />3)DSP的代码需要绝对定位;L的C的代码有操作pȝ定位?<br />4)DSP的C的效率较高,非常适合于嵌入系l?<br /><br />?DSP发展动?br />1.TMS320C2000 TMS320C2000pd包括C24x和C28xpd。C24xpd使用LF24xxpd替代C24xpdQLF24xxpd的h格比C24x? 宜,性能高于C24xQ而且LF24xxAh加密功能?C28xpd主要用于大存储设备管理,高性能的控制场合?<br />2.TMS320C3x TMS320C3xpd包括C3x和VC33Q主要推荐用VC33。C3xpd是TI点DSP的基Q不可能停Q但h不会q一步下调?<br />3.TMS320C5x TMS320C5xpd已不推荐使用Q徏议用C24x或C5000pd替代?<br />4.TMS320C5000 TMS320C5000pd包括C54x和C55xpd? 其中VC54xxq不断有新的器g出现Q如QTMS320VC5471QDSPQARM7Q? C55xpd是TI的第三代DSPQ功耗ؓVC54xx?/6Q性能为VC54xx?倍,是一个正在发展的pd?C5000pd是目前TI DSP的主DSPQ它늛了从低档C高档的应用领域,目前也是用户最多的pd?<br />5.TMS320C6000 TMS320C6000pd包括C62xx、C67xx和C64xx。此pd是TI的高档DSPpd? 其中C62xxpd是定点的DSPQ系列芯片种c较丰富Q是主要的应用系列?C67xxpd是Q点的DSPQ用于需要高速Q点处理的领域? C64xxpd是新发展Q性能是C62xx?0倍?<br />6.OMAPpd 是TI专门用于多媒体领域的芯片Q它是C55QARM9Q性能卓越Q非帔R合于手持设备、Internetl端{多媒体应用? </span> <br /> <br /> </font> <img src ="http://www.shnenglu.com/erran/aggbug/34166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/erran/" target="_blank">erran</a> 2007-10-13 23:04 <a href="http://www.shnenglu.com/erran/archive/2007/10/13/34166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.37eee.cn" target="_blank">þþþƷ޳18վ</a>| <a href="http://www.0208958.cn" target="_blank">99þ99þþƷƬ</a>| <a href="http://www.aion999.cn" target="_blank">þþþAVƬ</a>| <a href="http://www.xxysw.com.cn" target="_blank">þۺϹ׾Ʒ</a>| <a href="http://www.yssmtm.cn" target="_blank">þþƷ77777</a>| <a href="http://www.worktrotter.cn" target="_blank">˾þ91</a>| <a href="http://www.jzxqbz.cn" target="_blank">þۺϸۺϾþ</a>| <a href="http://www.zfse4m.cn" target="_blank">þ붯aëƬ</a>| <a href="http://www.vgqk.cn" target="_blank">ƷƷھþø</a>| <a href="http://www.ssxgsl.cn" target="_blank">þþƷһ</a>| <a href="http://www.baojingqi88.org.cn" target="_blank">޾þþþþ77777</a>| <a href="http://www.j16dr.cn" target="_blank">þ÷׾Ʒ</a>| <a href="http://www.shaosang.cn" target="_blank">þþþ޾ƷĻ</a>| <a href="http://www.z718.cn" target="_blank">þݺҹҹ2O2O</a>| <a href="http://www.ytljc.cn" target="_blank">鶹wwwþùƷ</a>| <a href="http://www.by1506.cn" target="_blank">޹ŷۺϾþ</a>| <a href="http://www.wzcl818.cn" target="_blank">պһþþþþ</a>| <a href="http://www.00dh.cn" target="_blank">99þ99þþƷƬ</a>| <a href="http://www.pingyaonews.cn" target="_blank">þþþӰԺ</a>| <a href="http://www.ozxt.cn" target="_blank">Ļþۺ</a>| <a href="http://www.oxygeniclife.com.cn" target="_blank">ƷŮþþAV</a>| <a href="http://www.023pet.cn" target="_blank">þþþþùƷ볬</a>| <a href="http://www.xiang158.cn" target="_blank">ھƷþþþù</a>| <a href="http://www.qhcl233.cn" target="_blank">ݺɫۺϾþ</a>| <a href="http://www.xkot.cn" target="_blank">޾ƷŮþþ</a>| <a href="http://www.csafebox.cn" target="_blank">ɫþˬˬƬaV</a>| <a href="http://www.vqzt.cn" target="_blank">91þۺ</a>| <a href="http://www.clg8.cn" target="_blank">þ˾Ʒԭ</a>| <a href="http://www.ssfbq5.cn" target="_blank">91þùۺϾƷ</a>| <a href="http://www.cq928.cn" target="_blank">˳ɾƷþþþ</a>| <a href="http://www.jdongshop.cn" target="_blank">ձƷþþþӰԺձ</a>| <a href="http://www.abensky.cn" target="_blank">Ůþþ</a>| <a href="http://www.xsoczv19.cn" target="_blank">ƷŷþþӰ</a>| <a href="http://www.zzrich.cn" target="_blank">þ͵wcŮ</a>| <a href="http://www.ewoman.com.cn" target="_blank">պ޾Ʒþ </a>| <a href="http://www.xiewanliang.cn" target="_blank">ݺɫþۺ_</a>| <a href="http://www.subaidu.cn" target="_blank">ƷŮþþþavˬ </a>| <a href="http://www.peizis.cn" target="_blank">һþۺ³³ŷһ </a>| <a href="http://www.z42195.cn" target="_blank">ŷþþþþþѡ9999</a>| <a href="http://www.fnrbnpj.cn" target="_blank">Ůþþþþjþ</a>| <a href="http://www.santoncc.cn" target="_blank">ձƷþþþĻ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>