为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DSP系统硬件设计

2013-01-28 33页 doc 108KB 23阅读

用户头像

is_682646

暂无简介

举报
DSP系统硬件设计DSP系统硬件设计(二)- [DSP] DSP硬件设计包括:硬件方案设计、DSP及周边器件选型、原理图设计、PCB设计及仿真、硬件调试等。前一讲我们详细讲述了硬件方案设计、DSP及周边器件选型两部分内容,本讲详细讲述原理图设计、PCB设计、硬件调试等内容。以期共享设计的经验,并能够提高大家的设计效率。 一、系统资源规划   硬件设计的前提需要做的一件事是对整个系统的资源进行规划,最终得到系统的资源分配表,即Memory Map。表1提供了一个用TMS320DM642设计的图像处理系统的地址映射表。   通过表1我们可以...
DSP系统硬件设计
DSP系统硬件设计(二)- [DSP] DSP硬件设计包括:硬件设计、DSP及周边器件选型、原理图设计、PCB设计及仿真、硬件调试等。前一讲我们详细讲述了硬件方案设计、DSP及周边器件选型两部分内容,本讲详细讲述原理图设计、PCB设计、硬件调试等内容。以期共享设计的经验,并能够提高大家的设计效率。 一、系统资源规划   硬件设计的前提需要做的一件事是对整个系统的资源进行规划,最终得到系统的资源分配表,即Memory Map。表1提供了一个用TMS320DM642设计的图像处理系统的地址映射表。   通过表1我们可以清晰地看到程序空间、数据空间、图像输入口等资源的地址。经过对系统资源的规划,我们的硬件设计才能够有整体的规划,不然设计出来的原理图就是非常盲目的“无源之水”。 二、硬件原理图设计   DSP的芯片厂家在设计出每一种DSP芯片时一般都提供了相应的EVM(评估板)参考原理图设计,大家可以通过网络免费下载,或通过购买原装的EVM 板得到。详细的针对某一个板的原理我们就不细讲解,根据作者多年从事DSP设计的经验把设计中的技巧出来与大家分享。   硬件设计时,应重点注意以下几点。   (1)时钟电路。DSP时钟可由外部提供,也可由板上的晶振提供。但一般DSP系统中经常使用外部时钟输入,因为使用外部时钟时,时钟的精度高、稳定性好、使用方便。由于DSP工作是以时钟为基准,如果时钟质量不高,那么系统的可靠性、稳定性就很难保证。因此,若采用外部时钟,选择晶振时应对其稳定性、毛刺做全面的检验,以便DSP系统可靠地工作。   (2)复位电路。应同时设计上电复位电路和人工复位电路,在系统运行中出现故障时可方便地人工复位。对于复位电路,一方面应确保复位低电平时间足够长(一般需要20ms以上),保证DSP可靠复位;另一方面应保证稳定性良好,防止DSP误复位。   (3)在DSP电路中,对所有的输入信号必须有明确的处理,不能悬浮或置之不理。尤其要注意的是:若设计中没用到不可屏蔽硬件中断NMI,则硬件设计时应确保将其相应引脚拉高,否则程序运行时会出现不可预料的结果;若设计中用到NMI,也应在程序正常执行阶段置其相应引脚为高电平。 三、高频PCB设计   数字器件正朝着高速、低耗、小体积、高抗干扰性的方向发展,这一发展趋势对印刷电路板的设计提出了很多新。作者根据多年在硬件设计工作中的经验,总结一些高频布线的技巧,供大家参考。   (1)高频电路往往集成度较高,布线密度大,采用多层板既是布线所必须的,也是降低干扰的有效手段。   (2)高速电路器件管脚间的引线弯折越少越好。高频电路布线的引线最好采用全直线,需要转折,可用45°折线或圆弧转折,满足这一要求可以减少高频信号对外的发射和相互间的耦合。   (3)高频电路器件管脚间的引线越短越好。   (4)高频电路器件管脚间的引线层间交替越少越好。所谓“引线的层间交替越少越好”是指元件连接过程中所用的过孔(Via)越少越好,据测,一个过孔可带来约0.5 pF的分布电容,减少过孔数能显著提高速度。   (5)高频电路布线要注意信号线近距离平行走线所引入的“交叉干扰”,若无法避免平行分布,可在平行信号线的反面布置大面积“地”来大幅度减少干扰。同一层内的平行走线几乎无法避免,但是在相邻的两个层,走线的方向务必取为相互垂直。   (6)对特别重要的信号线或局部单元实施地线包围的措施,即绘制所选对象的外轮廓线。利用此功能,可以自动地对所选定的重要信号线进行所谓的“包地”处理,当然,把此功能用于时钟等单元局部进行包地处理对高速系统也将非常有益。   (7)各类信号走线不能形成环路,地线也不能形成电流环路。   (8)每个集成电路块的附近应设置一个高频去耦电容。   (9)模拟地线、数字地线等接往公共地线时要用高频扼流环节。在实际装配高频扼流环节时用的往往是中心孔穿有导线的高频铁氧体磁珠,在电路原理图上对它一般不予表达,由此形成的网络表(netlist)就不包含这类元件,布线时就会因此而忽略它的存在。针对此现实,可在原理图中把它当做电感,在PCB 元件库中单独为它定义一个元件封装,布线前把它手工移动到靠近公共地线汇合点的合适位置上。   (10)模拟电路与数字电路应分开布置,独立布线后应单点连接电源和地,避免相互干扰。   (11)DSP、片外程序存储器和数据存储器接入电源前,应加滤波电容并使其尽量靠近芯片电源引脚,以滤除电源噪声。另外,在DSP与片外程序存储器和数据存储器等关键部分周围建议屏蔽,可减少外界干扰。   (12)片外程序存储器和数据存储器应尽量靠近DSP芯片放置,同时要合理布局,使数据线和地址线长短基本保持一致,尤其当系统中有多片存储器时要考虑时钟线到各存储器的时钟输入距离相等或可以加单独的可编程时钟驱动芯片。对于DSP 系统而言,应选择存取速度与DSP相仿的外部存储器,不然DSP的高速处理能力将不能充分发挥。DSP指令周期为纳秒级,因而DSP硬件系统中最易出现的问题是高频干扰,因此在制作DSP硬件系统的印制电路板(PCB)时,应特别注意对地址线和数据线等重要信号线的布线要做到正确合理。布线时尽量使高频线短而粗,且远离易受干扰的信号线,如模拟信号线等。当DSP周围电路较复杂时,建议将DSP及其时钟电路、复位电路、片外程序存储器、数据存储器制作成最小系统,以减少干扰。   (13)当本着以上原则,熟练设计工具的使用技巧以后,经过手工布线完成后,高频电路为了提高系统的靠性和可生产性,一般都需要利用高级的PCB仿真软件进行仿真。   限于篇幅本文不对具体的仿真做详细介绍,但给大家的建议是如果有条件一定要对系统做仿真,这里给对几个基本的概念给大家做一个基本的。   什么是电磁干扰(EMI)和电磁兼容性(EMC)?   电磁干扰(Electromagnetic Interference)有传导干扰和辐射干扰两种。传导干扰是指通过导电介质把一个电网络上的信号耦合(干扰)到另一个电网络。辐射干扰是指干扰源通过空间把其信号耦合(干扰)到另一个电网络。在高速PCB及系统设计中,高频信号线、集成电路的引脚、各类接插件等都可能成为具有天线特性的辐射干扰源,能发射电磁波并影响其他系统或本系统内其他子系统的正常工作。   什么是信号完整性(signal integrity)?   信号完整性是指信号在信号线上的质量。信号具有良好的信号完整性是指当在需要的时候,具有所必需达到的电压电平数值。差的信号完整性不是由某一单一因素导致的,而是板级设计中多种因素共同引起的。主要的信号完整性问题包括反射、振荡、地弹、串扰等。常见信号完整性问题及解决方法见表2。   什么是反射(reflection)?   反射就是在传输线上的回波。信号功率(电压和电流)的一部分传输到线上并达到负载处,但是有一部分被反射了。如果源端与负载端具有相同的阻抗,反射就不会发生了。  源端与负载端阻抗不匹配会引起线上反射,负载将一部分电压反射回源端。如果负载阻抗小于源阻抗,反射电压为负,反之,如果负载阻抗大于源阻抗,反射电压为正。布线的几何形状、不正确的线端接、经过连接器的传输及电源平面的不连续等因素的变化均会导致此类反射。   什么是串扰(crosstalk)?   串扰是两条信号线之间的耦合,信号线之间的互感和互容引起线上的噪声。容性耦合引发耦合电流,而感性耦合引发耦合电压。PCB板层的参数、信号线间距、驱动端和接收端的电气特性及线端接方式对串扰都有一定的影响。   什么是过冲(overshoot)和下冲(undershoot)?   过冲就是第一个峰值或谷值超过设定电压——对于上升沿是指最高电压而对于下降沿是指最低电压。下冲是指下一个谷值或峰值。过分的过冲能够引起保护二极管工作,导致过早地失效。过分的下冲能够引起假的时钟或数据错误(误操作)。   什么是振荡(ringing)和 环绕振荡(rounding)?   振荡的现象是反复出现过冲和下冲。信号的振荡和环绕振荡由线上过度的电感和电容引起,振荡属于欠阻尼状态而环绕振荡属于过阻尼状态。信号完整性问题通常发生在周期信号中,如时钟等,振荡和环绕振荡同反射一样也是由多种因素引起的,振荡可以通过适当的端接予以减小,但是不可能完全消除。   什么是地电平面反弹噪声和回流噪声?   在电路中有大的电流涌动时会引起地平面反弹噪声(简称为地弹),如大量芯片的输出同时开启时,将有一个较大的瞬态电流在芯片与板的电源平面流过,芯片封装与电源平面的电感和电阻会引发电源噪声,这样会在真正的地平面(0V)上产生电压的波动和变化,这个噪声会影响其他元器件的动作。负载电容的增大、负载电阻的减小、地电感的增大、同时开关器件数目的增加均会导致地弹的增大。   由于地电平面(包括电源和地)分割,例如地层被分割为数字地、模拟地、屏蔽地等,当数字信号走到模拟地线区域时,就会产生地平面回流噪声。同样电源层也可能会被分割为2.5V,3.3V,5V等。所以在多电压PCB设计中,地电平面的反弹噪声和回流噪声需要特别关心。   在时域(time domain)和频域(frequency domain)之间有什么不同?   时域(time domain)是以时间为基准的电压或电流的变化的过程,可以用示波器观察到。它通常用于找出管脚到管脚的延时(delays)、偏移(skew)、过冲(overshoot)、下冲(undershoot)以及建立时间(settling times)。   频域(frequency domain)是以频率为基准的电压或电流的变化的过程,可以用频谱分析仪观察到。它通常用于波形与FCC和其他EMI控制限制之间的比较。   什么是阻抗(impedance)?   阻抗是传输线上输入电压对输入电流的比值(Z0=V/I)。当一个源送出一个信号到线上,它将阻碍它驱动,直到2*TD时,源并没有看到它的改变,在这里TD是线的延时(delay)。   什么是建立时间(settling time)?   建立时间就是对于一个振荡的信号稳定到指定的最终值所需要的时间。   什么是管脚到管脚(pin-to-pin)的延时(delay)?   管脚到管脚延时是指在驱动器端状态的改变到接收器端状态的改变之间的时间。这些改变通常发生在给定电压的50%,最小延时发生在当输出第一个越过给定的阈值(threshold),最大延时发生在当输出最后一个越过电压阈值(threshold) ,测量所有这些情况。   什么是偏移(skew)?   信号的偏移是对于同一个网络到达不同的接收器端之间的时间偏差。偏移还被用于在逻辑门上时钟和数据达到的时间偏差。   什么是斜率(slew rate)?   Slew rate就是边沿斜率(一个信号的电压有关的时间改变的比率)。I/O 的 (如PCI)状态在两个电压之间,这就是斜率(slew rate),它是可以测量的。   什么是静态线(quiescent line)?   在当前的时钟周期内它不出现切换。另外也被称为 "stuck-at" 线或static线。串扰(Crosstalk)能够引起一个静态线在时钟周期内出现切换。   什么是假时钟(false clocking)?   假时钟是指时钟越过阈值(threshold)无意识地改变了状态(有时在VIL 或VIH之间)。通常由于过分的下冲(undershoot)或串扰(crosstalk)引起。   什么是IBIS模型?   IBIS(Input/Output Buffer Information Specification)模型是一种基于V/I曲线的对I/O BUFFER快速准确建模的方法,是反映芯片驱动和接收电气特性的一种国际标准,它提供一种标准的文件格式来记录如驱动源输出阻抗、上升/下降时间及输入负载等参数,非常适合做振荡和串扰等高频效应的计算与仿真。   IBIS本身只是一种文件格式,它说明在一标准的IBIS文件中如何记录一个芯片的驱动器和接收器的不同参数,但并不说明这些被记录的参数如何使用,这些参数需要由使用IBIS模型的仿真工具来读取。欲使用IBIS进行实际的仿真,需要先完成以下四件工作。   (1)获取有关芯片驱动器和接收器的原始信息源;   (2)获取一种将原始数据转换为IBIS格式的方法;   (3)提供用于仿真的可被计算机识别的布局布线信息;   (4)提供一种能够读取IBIS和布局布线格式并能够进行分析计算的软件工具。   IBIS是一种简单直观的文件格式,很适合用于类似于Spice(但不是Spice,因为IBIS文件格式不能直接被Spice工具读取)的电路仿真工具。它提供驱动器和接收器的行为描述,但不泄漏电路内部构造的知识产权细节。换句话说,销售商可以用 IBIS模型来说明它们最新的门级设计工作,而不会给其竞争对手透露过多的产品信息。并且,因为IBIS是一个简单的模型,当做简单的带负载仿真时,比相应的全Spice三极管级模型仿真要节省10~15倍的计算量。   IBIS提供两条完整的V-I曲线分别代表驱动器为高电平和低电平状态,以及在确定的转换速度下状态转换的曲线。V-I曲线的作用在于为IBIS提供保护二极管、TTL图腾柱驱动源和射极跟随输出等非线性效应的建模能力。   什么是SPICE模型?   SPICE是Simulation Program with Integrated Circuit Emphasis的缩写。   表3给出了 IBIS模型与SPICE模型的比较。 四、硬件调试技巧   硬件调试时应该注意的一些问题。如在硬件调试前,应先对电路板进行细致的检查,观察有无短路或断路情况(由于DSP的PCB板布线一般较密、较细,这种情况发生的概率还是比较高的)。加电后,应用手感觉是否有些芯片特别热。如果发现有些芯片烫得厉害,需立即掉电重新检查电路。排除故障后,接着就应检查晶体是否振荡,复位是否正确可靠。然后用示波器检查DSP的CLK -OUT1和CLK-OUT2引脚的信号是否正常,若正常则表明DSP本身工作基本正常。   (1)保证电源的稳定可靠   在DSP硬件系统调试前,应确保给实验板供电的电源有良好的恒压恒流特性。尤其要注意的是,DSP的入口电压应保持在5.0V±0.05V。电压过低,则通过JTAG接口向Flash写入程序时,会出现错误提示;电压过高,则会损坏DSP芯片。   (2)利用仿真软件排除硬件故障   在完成对电路板的检查后,就可通过仿真软件来调试程序。由于仿真时,程序代码下载到目标系统中的片外程序存储器,因而通过仿真软件可以比较容易地检查出一些硬件故障。   在上电后,若仿真软件调试窗口始终无法调入程序,则有两种可能:① DSP芯片引脚存在断路或短路现象;② DSP 芯片损坏。倘若是第一次利用仿真软件调试程序,此时应对实验板断电,仔细检查DSP芯片各引脚的焊接情况。如果软件调试窗口曾正确调入程序,则可能是 DSP芯片损坏。此时,可通过检测实验板的整板阻抗进一步判断DSP芯片是否受损。若整板阻抗急剧下降,可将给DSP芯片供电的电源线割断,检测DSP芯片的电阻。   如果软件调试窗口可调入程序,但调入的程序局部出错,如对片外程序存储器或数据存储器操作的代码变成.word xxxx,此时可能是片外程序存储器或数据存储器出现故障。应仔细检查存储器是否存在短路或虚焊,若不存在则应进一步判断存储器是否受损。   DSP硬件设计是系统设计的“基石”,是系统稳定性的关键。本文介绍的DSP系统硬件开发中应注意的几个问题,可以大大缩短开发时间,希望能给读者提供参考的价值。 转载 做DSP最应该懂得问题 二- [DSP] 四十三.程序经常跑飞的原因 1)程序没有结尾或不是循环的程序。 2)nmi管脚没有上拉。 3)在看门狗动作的时候程序会经常跑飞。 4)程序编制不当也会引起程序跑飞。 5)硬件系统有问题。 四十四.并行FLASH引导的一点经验 最近BBS上关于FLASH和BOOT的讨论很活跃,我也多次来此请教。前几天自制的DSP板引导成功,早就打算写写这方面的东西。我用的DSP是5416 ,以其为核心,做了一个相对独立的子系统(硬件、软件、算法),目前都已基本做好。下面把在FLASH引导方面做的工作向大家汇报一下, 希望能对大家有所帮助。本人经验和文笔都有限,写的不好请大家谅解。 硬件环境: DSP:TMS320VC5416PGE160 FLASH:SST39VF400A-70-4C-EK 都是贴片的,FLASH映射在DSP数据空间的0x8000-0xFFFF 软件环境: CCS v2.12.01 主程序(要烧入FLASH的程序): DEBUG版,程序占用空间0x28000-0x2FFFF(片内SARAM),中断向量表在0x0080-0x00FF(片内DARAM),数据 空间使用0x0100-0x7FFF(片内DARAM)。因为FLASH是贴片的,所以需要自己编一个数据搬移程序,把要主程序搬移到FLASH中。在写入FLASH 数据时,还应写入引导表的格式数据。最后在数据空间的0xFFFF处写入引导表的起始地址(这里为0x8000)。 搬移程序: DEBUG版,程序空间0x38000-0x3FFFF(片内SARAM),中断向量表在0x7800-0x78FF(片内DARAM),数据空间使用0x5000-0x77FF( 片内DARAM)。搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间,以免覆盖。烧写时,同时打开主程序和搬移程序的 PROJECT,先LOAD主程序,再LOAD搬移程序,然后执行搬移程序,烧写OK! 附:搬移程序(仅供参考) volatile unsigned int *pTemp=(unsigned int *)0x7e00; unsigned int iFlashAddr; int iLoop; /* 在引导表头存放并行引导关键字 */ iFlashAddr=0x8000; WriteFlash(iFlashAddr,0x10aa); iFlashAddr++; /* 初始化SWWSR值 */ WriteFlash(iFlashAddr,0x7e00); iFlashAddr++; /* 初始化BSCR值 */ WriteFlash(iFlashAddr,0x8006); iFlashAddr++; /* 程序执行的入口地址 */ WriteFlash(iFlashAddr,0x0002); iFlashAddr++; WriteFlash(iFlashAddr,0x8085); iFlashAddr++; /* 程序长度 */ WriteFlash(iFlashAddr,0x7f00); iFlashAddr++; /* 程序要装载到的地址 */ WriteFlash(iFlashAddr,0x0002); iFlashAddr++; WriteFlash(iFlashAddr,0x8000); iFlashAddr++; for (iLoop=0;iLoop<0x7f00;iLoop++) { /* 从程序空间读数据,放到暂存单元 */ asm(" pshm al"); asm(" pshm ah"); asm(" rsbx cpl"); asm(" ld #00fch,dp"); asm(" stm #0000h, ah"); asm(" MVDM _iLoop, al"); asm(" add #2800h,4,a"); asm(" reada 0h"); asm(" popm ah"); asm(" popm al"); asm(" ssbx cpl"); /* 把暂存单元内容写入FLASH */ WriteFlash(iFlashAddr,*pTemp); iFlashAddr++; } /* 中断向量表长度 */ WriteFlash(iFlashAddr,0x0080); iFlashAddr++; /* 中断向量表装载地址 */ WriteFlash(iFlashAddr,0x0000); iFlashAddr++; WriteFlash(iFlashAddr,0x0080); iFlashAddr++; for (iLoop=0;iLoop<0x0080;iLoop++) { /* 从程序空间读数据,放到暂存单元 */ asm(" pshm al"); asm(" pshm ah"); asm(" rsbx cpl"); asm(" ld #00fch,dp"); asm(" stm #0000h, ah"); asm(" MVDM _iLoop, al"); asm(" add #0080h,0,a"); asm(" reada 0h"); asm(" popm ah"); asm(" popm al"); asm(" ssbx cpl"); /* 把暂存单元内容写入FLASH */ WriteFlash(iFlashAddr,*pTemp); iFlashAddr++; } /* 写入引导表结束标志 */ WriteFlash(iFlashAddr,0x0000); iFlashAddr++; WriteFlash(iFlashAddr,0x0000); /* 在数据空间的0xFFFF写入引导表起始地址 */ iFlashAddr=0xffff; WriteFlash(iFlashAddr,0x8000); 四十五.关于LF2407A的FLASH烧写问题的几点说明 TI现在关于LF24x写入FLASH的工具最新为c2000flashprogsw_v112。可以支持LF2407、LF2407a、LF2401及相关的LF240x系列。建议使用此版本 。在http://focus.ti.com/docs/tool/toolf...灿写松招闯绦颉?/a> 在使用这个工具时注意: 一,先解压,再执行setup.exe。 二、进入cc中,在tools图标下有烧写工具; 1、关于FLASH时钟的选择,此烧写工具默认最高频率进行FLASH的操作。根据目标系统的工作主频重新要进行PLL设置。方法:先在advance options下面的View Config file中修改倍频。存盘后,在相应的目录下(tic2xx\\algos\\相应目录)运行buildall.bat就可以完成修改了。 再进行相应的操作即可。 2、若是你所选的频率不是最高频率,还需要设定你自已的timings.xx来代替系统默认的最高频率的timings.xx。例如LF2407a的默认文件是 timings.40。Timings.xx可以利用include\\timings.xls的excel工作表来生成。然后在advance options下面的View Config file中修改相应 的位置。存盘后,在相应的目录下运行buildall.bat就可以完成修改了。 3、对于TMS320LF240XA系列,还要注意:由于这些DSP的FLASH具有加密功能,加密地址为程序空间的0x40-0X43H,程序禁止写入此空间,如果 写了,此空间的数据被认为是加密位,断电后进入保护FLASH状态,使FLASH不可重新操作,从而使DSP报废,烧写完毕后一定要进行Program passwords的操作,如果不做加密操作就默认最后一次写入加密位的数据作为密码。 4、2407A不能用DOS下的烧写软件烧写,必须用c2000flashprogsw_v112软件烧写; 5、建议如下: 1)、一般调试时,在RAM中进行; 2)、程序烧写时,避开程序空间0x40-0x43H加密区,程序最好小于32k; 3)、每次程序烧写完后,将word0,word1,word2,word3分别输入自己的密码,再点击 Program password,如果加密成功,提示Program is arrayed,如果0x40-0x43h中写入的是ffff,认为处于调试状态,flash不会加密; 4)、断电后,下次重新烧写时需要往word0~word3输入已设的密码,再unlock,成功后可以重新烧写了; 6、VCPP管脚接在+5V上,是应直接接的,中间不要加电阻。 7、具体事宜请阅读相应目录下的readme1,readme2帮助文件。 8.注意*.cmd文件的编写时应该避开40-43H单元,好多客户由于没有注意到这里而把FALSH加密。 四十六.如何设置硬件断点? 在profiler ->profile point -> break point 四十七.c54x的外部中断是电平响应还是沿响应? 是沿响应,准确的说,它要检测到100(一个clk的高和两个clk的低)的变化才可以。 四十八。参考程序,里面好象都要 disable wachdog,不知道为什么? watchdog是一个计数器,溢出时会复位你的DSP,不disable的话,你的系统会动不动就reset。 四十九。DSP系统设计100问 一、时钟和电源 问: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)设计应特别注意哪些问题? 答:正确处理电源、地平面,高速的、关键的信号在源端串接端接电阻,避免信号反射。 问:用电感来隔离模拟电源和数字电源,其电感量如何决定?是由供电电流或噪音要求来 决定吗?有没有计算公式? 答:电感或磁珠相当于一个低通滤波器,直流电源可以通过,而高频噪声被滤除。所以电 感的选择主要决定于电源中高频噪声的成分。 问:讲座上的材料多是电源干扰问题,能否介绍板上高频信号布局(Layout)时要注意的 问题以及数字信号对模拟信号的影响问题? 答:数字信号对模拟信号的干扰主要是串扰,在布局时模拟器件应尽量远离高速数字器件,高速数字信号尽量远离模拟部分,并且应保证它们 不穿越模拟地平面。 问:能否介绍PCB布线对模拟信号失真和串音的影响,如何降低和克服? 答:有2个方面,1. 模拟信号与模拟信号之间的干扰:布线时模拟信号尽量走粗一些,如果有条件,2个模拟信号之间用地线间隔。2. 数字信 号对模拟信号的干扰:数字信号尽量远离模拟信号,数字信号不能穿越模拟地。 三.DSP性能 问:1.我要设计生物图像处理系统,选用那种型号较好(高性能和低价格)?2.如果选定 TI DSP,需要什么开发工具? 答:1.你可采用C54x 或 C55x平台,如果你需要更高性能的,可采用C6x系列。2.需要EVM s和XDS510仿真器。 问:请介绍一种专门用于快速富利叶变换(FFT),数字滤波,卷积,相关等算法的DSP, 最好集成12bit以上的ADC功能。 答:如果你的系统是马达/能量控制的,我建议你用TMS320LF240x。详情请参阅DSP选择指南:http://www.dspvillage.ti.com/dspguide。 问:有些资料说DSP比单片机好,但单片机用的比DSP广。请问这两个在使用上有何区别? 答:单片机一般用于要求低的场合,如4/8位的单片机。DSP适合于要求较高的场合。 问:我想了解在信号处理方面DSP比FPGA的优点。 答:DSP是通用的信号处理器,用软件实现数据处理;FPGA用硬件实现数据处理。DSP的成本便宜,算法灵活,功能强;FPGA的实时性好,成本 较高。 问:请问减小电路功耗的主要途径有哪些? 答:1.选择低功耗的芯片;2.减少芯片的数量;3.尽量使用IDLE。 问:用C55设计一个低功耗图像压缩/解压和无线传输的产品,同时双向传输遥控指令和其 他信息,要求图像30帧/秒,TFT显示320*240,不知道能否实现?若能,怎样确定性能?选择周边元器件?确定最小的传输速率?能否提供开发 的解决方案?软件核? 答:1.有可能,要看你的算法。2.建议先在模拟器上模拟。 问:用DSP开发MP3,比较专用MP3解码芯片如何,比如成本、难度、周期?谢谢。 答:1.DSP的功能强,可以实现附加的功能,如ebook等;2.DSP的性能价格比高;3.难度较大,需要算法,因此周期较长,但TI有现成的方案。 问:用DSP开发的系统跟用普通单片机开发的系统相比,有何优势?DSP一般适用于开发什么样的系统?其开发周期、资金投入、开发成本如何 ?与DSP的接口电路是否还得用专门的芯片? 答:1.性能高;2.适合于速度要求高的场合;3.开发周期一般6个月,投入一般要一万元左 右;4.不一定,但需要速度较高的芯片。 问:DSP会对原来的模拟电路产生什么样的影响? 答:一方面DSP用数字处理的方法可以代替原来用模拟电路实现的一些功能;另一方面,DSP的高速性对模拟电路产生较大的干扰,设计时应尽 量使DSP远离模拟电路部分。 问:请问支持MPEG-4芯片型号是什么? 答:C55x或 C6000 或DSC2x 问:DSP内的计算速度是快的,但是它的I/O口的交换速度有多快呢? 答:主频的1/4左右。 四.技术性问题 问:我有二个关于C2000的问题:1、C240或C2407的RS复位引脚既可输入,也可输出,直接用CMOS门电路(如74ACT04)驱动是否合适,还是应 该用OC门(集电极开路)驱动?2、大程序有时运行异常,但加一两条空指令就正常,是何原因? 答:1、OC门(集电极开路)驱动。2、是流水线的问题。 问:1.DSP芯片内是否有单个的随机函数指令?2.DSP内的计算速度是快的,但是它的I/O 口的交换速度有多快呢?SP如何配合EPLD或FPGA工作呢? 答:1.没有。2.取决于你所用的I/O。对于HPI,传输速率(字节)大约为CPU的1/4,对McBSP,位速率(kbps)大约为CPU的1/2。3.你可以级联 仿真接口和一个EPLD/FPGA在一起。请参考下面的应用手册: http://www.ti.com/sc/docs/psheets/abstract/apps/spra439a.htm 问:设计DSP系统时,我用C6000系列。DSP引脚的要上拉,或者下拉的原则是怎样的?我经常在设计时为某一管脚是否要设置上/下拉电阻而犹 豫不定。 答:C6000系列的输入引脚内部一般都有弱的上拉或者下拉电阻,一般不需要考虑外部加上 拉或者下拉电阻,特殊情况根据需要配置。 问:我正在使用TMS320VC5402,通过HPI下载代码,但C5402的内部只提供16K字的存储区,请问我能通过HPI把代码下载到它的外部扩展存储区 运行吗? 答:不行,只能下载到片内。 问:电路中用到DSP,有时当复位信号为低时,电压也属于正常范围,但DSP加载程序不成功。电流也偏大,有时时钟也有输出。不知为什么? 答:复位时无法加载程序。 问:DSP和单片机相连组成主从系统时,需要注意哪些问题? 答:建议使用HPI接口,或者通过DPRAM连接。 问:原来的DSP的程序需放在EPROM中,但EPROM的速度难以和DSP匹配。现在是如何解决此问题的? 答:用BootLoad方法解决。? 问:我在使用5402DSK时,一上电,不接MIC,只接耳机,不运行任何程序,耳机中有比较明显的一定频率的噪声出现。有时上电后没有出现, 但接MIC,运行范例中的CODEC程序时,又会出现这种噪声。上述情况通常都在DSK工作一段时间后自动消失。我在DSP论坛上发现别人用DSK时也 碰到过这种情况,我自己参照5402DSK做了一块板,所用器件基本一样,也是这现象,请问怎么回事?如何解决? 答:开始时没有有效的程序代码,所以上电后是随机状态,出现这种情况是正常的。 问:我使用的是TMS320LF2407,但是仿真时不能保证每次都能GO MAIN。我想详细咨询一下,CMD文件的设置用法,还有VECTOR的定义。 答:可能看门狗有问题,关掉看门狗。有关CMD文件配置请参考《汇编语言工具》第二章。 问:我设计的TMS320VC5402板子在调试软件时会经常出现存储器错误报告,排除是映射的问题,是不是板子不稳定的因素?还是DSP工作不正常 的问题?如何判别? 答:你可以利用Memoryfill功能,填入一些数值,然后刷新一下,看是不是在变,如果是 在变化,则Memory 是有问题。 问:如何解决Flash编程的问题:可不可以先用仿真器下载到外程序存储RAM中,然后程序代码将程序代码自己从外程序存储RAM写到F240的内部 Flash ROM中,如何写? 答:如果你用F240,你可以用下载TI做的工具。其它的可以这样做。 问:C5510芯片如何接入E1信号?在接入时有什么需要注意的地方? 答:通过McBSP同步串口接入。注意信号电平必须满足要求。 问:请问如何通过仿真器把.HEX程序直接烧到FLASH中去?所用DSP为5402是否需要自己另外编写一个烧写程序,如何实现?谢谢!! 答:直接写.OUT。是DSP中写一段程序,把主程序写到FLASH中。 问:DSP的硬件设计和其他的电路板有什么不同的地方? 答:1.要考虑时序要求;2.要考虑EMI的要求;3.要考虑高速的要求;4.要考虑电源的要求。 问:ADS7811,ADS7815,ADS8320,ADS8325,ADS8341,ADS8343,ADS8344,ADS8345中,哪个可以较方便地与VC33连接,完成10个模拟信号的 AD转换(要求16bit,1毫秒内完成10个信号的采样,当然也要考虑价格)? 答:作选择有下列几点需要考虑1. 总的采样率:1ms、10个通道,总采样率为100K ,所有A/D均能满足要求。2. A/D与VC33的接口类型:并行 、串行。前2种A/D为并行接口,后几种均为串行接口。3. 接口电平的匹配。前2种A/D为5V电平,与VC33不能接口;后几种均可为3.3V电平,可 与VC33直接接口。 问:DSP的电路板有时调试成功率低于50%,连接和底板均无问题,如何解决?有时DSP同CPLD产生不明原因的冲突,如何避免? 答:看来你的硬件设计可能有问题,不应该这么小的成功率。我们的板的成功率为95%以上。 问:我们的工程有两人参与开发,由于事先没有考虑周全,一人使用的是助记符方式编写 汇编代码,另一人使用的是代数符号方式编写汇编代码,请问CCS5000中这二种编写方式如何嵌在一起调试? 答:我没有这样用过,我想可以用下面的办法解决:将一种方式的程序先单独编译为.obj 文件,在创建工程时,将这些.obj文件和另一种方式的程序一起加进工程中,二者即可一 起编译调试了。 问:DSP数据缓冲,能否用SDRAM代替FIFO? 答:不行 问:ADC或DAC和DSP相连接时,要注意什么问题?比如匹配问题,以保证A/D采样稳定或D/A码不丢失。 答:1. 接口方式:并行/串行;2. 接口电平,必须保证二者一致。 问:用F240经常发生外部中断丢失现象,甚至在实际环境中只有在程序刚开始时能产生中 断,几分钟后就不能产生中断。有时只能采取查询的方式,请问有何有效的解决方法?改 为F2407是不是要好些? 答:应该同DSP无关。建议你将中断服务程序简化看一下。 四十九.时钟电路选择原则 1,系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片; 2,单一时钟信号时,选择晶体时钟电路; 3,多个同频时钟信号时,选择晶振; 4,尽量使用DSP片内的PLL,降低片外时钟频率,提高系统的稳定性; 5,C6000、C5510、C5409A、C5416、C5420、C5421和C5441等DSP片内无振荡电路,不能用晶体时钟电路; 6,VC5401、VC5402、VC5409和F281x等DSP时钟信号的电平为1.8V,建议采用晶体时钟电路 五十.C程序的代码和数据如何定位 1,系统定义: .cinit 存放C程序中的变量初值和常量; .const 存放C程序中的字符常量、浮点常量和用const声明的常量; tch 存放C程序tch语句的跳针表; .text 存放C程序的代码; .bss 为C程序中的全局和静态变量保留存储空间; .far 为C程序中用far声明的全局和静态变量保留空间; .stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果; .sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空间 2,用户定义: #pragma CODE_SECTION (symbol, "section name"); #pragma DATA_SECTION (symbol, "section name") 五十一.cmd文件 由3部分组成: 1)输入/输出定义:.obj文件:链接器要链接的目标文件;.lib文件:链接器要链接的库文件;.map文件:链接器生成的交叉索引文件;.out文件 :链接器生成的可执行代码;链接器选项 2)MEMORY命令:描述系统实际的硬件资源 3)SECTIONS命令:描述"段"如何定位 五十二.为什么要设计CSL? 1,DSP片上外设种类及其应用日趋复杂 2,提供一组标准的方法用于访问和控制片上外设 3,免除用户编写配置和控制片上外设所必需的定义和代码 五十三.什么是CSL? 1,用于配置、控制和管理DSP片上外设 2,已为C6000和C5000系列DSP设计了各自的CSL库 3,CSL库函数大多数是用C语言编写的,并已对代码的大小和速度进行了优化 4,CSL库是可裁剪的:即只有被使用的CSL模块才会包含进应用程序中 5,CSL库是可扩展的:每个片上外设的API相互独立,增加新的API,对其他片上外设没有影响 五十四.CSL的特点 1,片上外设编程的标准协议:定义一组标准的APIs:函数、数据类型、宏; 2,对硬件进行抽象,提取符号化的片上外设描述:定义一组宏,用于访问和建立寄存器及其域值 3,基本的资源管理:对多资源的片上外设进行管理; 4,已集成到DSP/BIOS中:通过图形用户接口GUI对CSL进行配置; 5,使片上外设容易使用:缩短开发时间,增加可移植. 五十五.为什么需要电平变换? 1)DSP系统中难免存在5V/3.3V混合供电现象; 2)I/O为3.3V供电的DSP,其输入信号电平不允许超过电源电压3.3V; 3)5V器件输出信号高电平可达4.4V; 4)长时间超常工作会损坏DSP器件; 5)输出信号电平一般无需变换 五十六.电平变换的方法 1,总线收发器(Bus Transceiver): 常用器件: SN74LVTH245A(8位)、SN74LVTH16245A(16位) 特点:3.3V供电,需进行方向控制, 延迟:3.5ns,驱动:-32/64mA, 输入容限:5V 应用:数据、地址和控制总线的驱动 2,总线开关(Bustch) 常用器件:SN74CBTD3384(10位)、SN74CBTD16210(20位) 特点:5V供电,无需方向控制 延迟:0.25ns,驱动能力不增加 应用:适用于信号方向灵活、且负载单一的应用,如McBSP等外设信号的电平变换 3,2选1切换器(1 of 2 Multiplexer) 常用器件:SN74CBT3257(4位)、SN74CBT16292(12位) 特点:实现2选1,5V供电,无需方向控制 延迟:0.25ns,驱动能力不增加 应用:适用于多路切换信号、且要进行电平变换的应用,如双路复用的McBSP 4,CPLD 3.3V供电,但输入容限为5V,并且延迟较大:>7ns,适用于少量的对延迟要求不高的输入信号 5,电阻分压 10KΩ和20KΩ串联分压,5V×20÷(10+20)≈3.3V 五十七.未用的输入/输出引脚的处理 1,未用的输入引脚不能悬空不接,而应将它们上拉活下拉为固定的电平 1)关键的控制输入引脚,如Ready、Hold等,应固定接为适当的状态,Ready引脚应固定接为有效状态,Hold引脚应固定接为无效状态 2)无连接(NC)和保留(RSV)引脚,NC 引脚:除非特殊说明,这些引脚悬空不接,RSV引脚:应根据数据手册具体决定接还是不接 3)非关键的输入引脚,将它们上拉或下拉为固定的电平,以降低功耗 2,未用的输出引脚可以悬空不接 3,未用的I/O引脚:如果确省状态为输入引脚,则作为非关键的输入引脚处理,上拉或下拉为固定的电平;如果确省状态为输出引脚,则可以悬空 不接 做DSP最应该懂得问题 一- [DSP] 四.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的电源电压,DSP的外部信号没有保护电路,需要加缓冲,如74LVC245等,将5V信号变换成3.3V的信号。 3)仿真器的JTAG口的信号也必须为3.3V,否则有可能损坏DSP。 五.为什么要片内RAM大的DSP效率高? 目前DSP发展的片内存储器RAM越来越大,要设计高效的DSP系统,就应该选择片内RAM较大的DSP。片内RAM同片外存储器相比,有以下优点: 1)片内RAM的速度较快,可以保证DSP无等待运行。 2)对于C2000/C3x/C5000系列,部分片内存储器可以在一个指令周期内访问两次,使得指令可以更加高效。 3)片内RAM运行稳定,不受外部的干扰影响,也不会干扰外部。 4)DSP片内多总线,在访问片内RAM时,不会影响其它总线的访问,效率较高。 六.为什么DSP从5V发展成3.3V? 超大规模集成电路的发展从1um,发展到目前的0.1um,芯片的电源电压也随之降低,功耗也随之降低。DSP也同样从5V发展到目前的3.3V,核心电压发展到1V。目前主流的DSP的外围均已发展为3.3V,5V的DSP的价格和功耗都价格,以逐渐被3.3V的DSP取代。 七如何选择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的指令周期较快,访问慢速存储器或外设时需加入等待。等待分硬件等待和软件等待,每一个系列的等待不完全相同。 1)对于C2000系列: 硬件等待信号为READY,高电平时不等待。软件等待由WSGR寄存器决定,可以加入最多7个等待。其中程序存储器和数据存储器及I/O可以分别设置。 2)对于C3x系列: 硬件等待信号为/RDY,低电平是不等待。软件等待由总线控制寄存器中的SWW和WTCNY决定,可以加入最多7个等待,但等待是不分段的,除了片内之外全空间有效。 3)对于C5000系列: 硬件等待信号为READY,高电平时不等待。软件等待由SWWCR和SWWSR寄存器决定,可以加入最多14个等待。其中程序存储器、控制程序存储器和数据存储器及I/O可以分别设置。 4)对于C6000系列(只限于非同步存储器或外设):硬件等待信号为ARDY,高电平时不等待。软件等待由外部存储器接口控制寄存器决定,总线访问外部存储器或设备的时序可以设置,可以方便的同异步的存储器或外设接口。 九.中断向量为什么要重定位? 为了方便DSP存储器的配置,一般DSP的中断向量可以重新定位,即可以通过设置寄存器放在存储器空间的任何地方。注意:C2000的中断向量不能重定位。 十.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可以降频使用吗? 可以,DSP的主频均有一定的工作范围,因此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,因此
/
本文档为【DSP系统硬件设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索