1、做 DSP 最应该懂得 157 个问题(回答)一.DSP 系统设计 100 问一、时钟和电源问:DSP 的电源设计和时钟设计应该特别注意哪些方面?外接晶振选用有源的好还是无源的好?答:时钟一般使用晶体,电源可用 TI 的配套电源。外接晶振用无源的好。问:TMS320LF2407 的 A/D 转换精度保证措施。答:参考电源和模拟电源要求干净。问:系统调试时发现纹波太大,主要是哪方面的问题?答:如果是电源纹波大,加大电容滤波。问:请问我用 5V 供电的有源晶振为 DSP 提供时钟,是否可以将其用两个电阻进行分压后再接到 DSP 的时钟输入端,这样做的话,时钟工作是否稳定?答:这样做不好,建议使用晶
2、体。问:一个多 DSP 电路板的时钟,如何选择比较好?DSP 电路板的硬件设计和系统调试时的时序问题?答:建议使用时钟芯片,以保证同步。硬件设计要根据 DSP 芯片的时序,选择外围芯片,根据时序设定等待和硬件逻辑。二干扰与板的布局问:器件布局应重点考虑哪些因素?例如在集中抄表系统中?答:可用 TMS320VC5402,成本不是很高。器件布局重点应是存贮器与 DSP 的接口。问:在设计 DSP 的 PCB 板时应注意哪些问题?答:1.电源的布置;2. 时钟的布置;3.电容的布置;4. 终端电路;5.数字同模拟的布置。问:请问 DSP 在与前向通道(比如说 AD)接口的时候,布线过程中要注意哪些问
3、题,以保证 AD 采样的稳定性?答:模拟地和数字地分开,但在一点接地。问:DSP 主板设计的一般步骤是什么?需要特别注意的问题有哪些?答:1.选择芯片;2. 设计时序;3. 设计 PCB。最重要的是时序和布线。问:在硬件设计阶段如何消除信号干扰(包括模拟信号及高频信号)?应该从那些方面着手?答:1.模拟和数字分开;2. 多层板;3.电容滤波。问:在电路板的设计上,如何很好的解决静电干扰问题。答:一般情况下,机壳接大地,即能满足要求。特殊情况下,电源输入、数字量输入串接专用的防静电器件。问:DSP 板的电磁兼容(EMC)设计应特别注意哪些问题?答:正确处理电源、地平面,高速的、关键的信号在源端串
4、接端接电阻,避免信号反射。问:用电感来隔离模拟电源和数字电源,其电感量如何决定?是由供电电流或噪音要求来决定吗?有没有计算公式?答:电感或磁珠相当于一个低通滤波器,直流电源可以通过,而高频噪声被滤除。所以电感的选择主要决定于电源中高频噪声的成分。问:讲座上的材料多是电源干扰问题,能否介绍板上高频信号布局(Layout)时要注意的问题以及数字信号对模拟信号的影响问题?答:数字信号对模拟信号的干扰主要是串扰,在布局时模拟器件应尽量远离高速数字器件,高速数字信号尽量远离模拟部分,并且应保证它们不穿越模拟地平面。问:能否介绍 PCB 布线对模拟信号失真和串音的影响,如何降低和克服?答:有 2 个方面,
5、1. 模拟信号与模拟信号之间的干扰:布线时模拟信号尽量走粗一些,如果有条件, 2个模拟信号之间用地线间隔。2. 数字信号对模拟信号的干扰:数字信号尽量远离模拟信号,数字信号不能穿越模拟地。三DSP 性能问:1.我要设计生物图像处理系统,选用那种型号较好(高性能和低价格)?2.如果选定TI DSP,需要什么开发工具?答:1.你可采用 C54x 或 C55x 平台,如果你需要更高性能的,可采用 C6x 系列。2.需要 EVMs 和 XDS510 仿真器。问:请介绍一种专门用于快速富利叶变换(FFT), 数字滤波,卷积,相关等算法的 DSP,最好集成 12bit 以上的 ADC 功能。答:如果你的系
6、统是马达/能量控制的,我建议你用 TMS320LF240x。详情请参阅 DSP 选择指南:http:/ DSP 比单片机好,但单片机用的比 DSP 广。请问这两个在使用上有何区别?答:单片机一般用于要求低的场合,如 4/8 位的单片机。DSP 适合于要求较高的场合。问:我想了解在信号处理方面 DSP 比 FPGA 的优点。答:DSP 是通用的信号处理器,用软件实现数据处理;FPGA 用硬件实现数据处理。 DSP 的成本便宜,算法灵活,功能强;FPGA 的实时性好,成本较高。问:请问减小电路功耗的主要途径有哪些?答:1.选择低功耗的芯片;2. 减少芯片的数量;3.尽量使用 IDLE。问:用 C5
7、5 设计一个低功耗图像压缩/解压和无线传输的产品,同时双向传输遥控指令和其他信息,要求图像 30 帧/秒,TFT 显示 320*240,不知道能否实现?若能,怎样确定性能?选择周边元器件?确定最小的传输速率?能否提供开发的解决方案?软件核?答:1.有可能,要看你的算法。2.建议先在模拟器上模拟。问:用 DSP 开发 MP3,比较专用 MP3 解码芯片如何,比如成本、难度、周期?谢谢。答:1.DSP 的功能强,可以实现附加的功能,如 ebook 等;2.DSP 的性能价格比高;3.难度较大,需要算法,因此周期较长,但 TI 有现成的方案。问:用 DSP 开发的系统跟用普通单片机开发的系统相比,有
8、何优势?DSP 一般适用于开发什么样的系统?其开发周期、资金投入、开发成本如何?与 DSP 的接口电路是否还得用专门的芯片?答:1.性能高; 2.适合于速度要求高的场合;3.开发周期一般 6 个月,投入一般要一万元左右;4.不一定,但需要速度较高的芯片。问:DSP 会对原来的模拟电路产生什么样的影响?答:一方面 DSP 用数字处理的方法可以代替原来用模拟电路实现的一些功能;另一方面,DSP 的高速性对模拟电路产生较大的干扰,设计时应尽量使 DSP 远离模拟电路部分。问:请问支持 MPEG-4 芯片型号是什么?答:C55x 或 C6000 或 DSC2x问:DSP 内的计算速度是快的,但是它的
9、I/O 口的交换速度有多快呢?答:主频的 1/4 左右。四技术性问题问:我有二个关于 C2000 的问题: 1、C240 或 C2407 的 RS 复位引脚既可输入,也可输出,直接用 CMOS 门电路(如 74ACT04)驱动是否合适,还是应该用 OC 门(集电极开路)驱动? 2、大程序有时运行异常,但加一两条空指令就正常,是何原因?答:1、OC 门(集电极开路)驱动。2、是流水线的问题。问:1.DSP 芯片内是否有单个的随机函数指令?2DSP 内的计算速度是快的,但是它的 I/O口的交换速度有多快呢?SP 如何配合 EPLD 或 FPGA 工作呢?答:1.没有。 2.取决于你所用的 I/O。
10、对于 HPI,传输速率(字节)大约为 CPU 的 1/4,对 McBSP,位速率(kbps)大约为 CPU 的 1/2。3. 你可以级联仿真接口和一个 EPLD/FPGA 在一起。请参考下面的应用手册: http:/ DSP 系统时,我用 C6000 系列。DSP 引脚的要上拉,或者下拉的原则是怎样的?我经常在设计时为某一管脚是否要设置上/下拉电阻而犹豫不定。答:C6000 系列的输入引脚内部一般都有弱的上拉或者下拉电阻,一般不需要考虑外部加上拉或者下拉电阻,特殊情况根据需要配置。问:我正在使用 TMS320VC5402,通过 HPI 下载代码,但 C5402 的内部只提供 16K 字的存储区
11、,请问我能通过 HPI 把代码下载到它的外部扩展存储区运行吗?答:不行,只能下载到片内。问:电路中用到 DSP,有时当复位信号为低时,电压也属于正常范围,但 DSP 加载程序不成功。电流也偏大,有时时钟也有输出。不知为什么?答:复位时无法加载程序。问:DSP 和单片机相连组成主从系统时,需要注意哪些问题?答:建议使用 HPI 接口,或者通过 DPRAM 连接。问:原来的 DSP 的程序需放在 EPROM 中,但 EPROM 的速度难以和 DSP 匹配。现在是如何解决此问题的?答:用 BootLoad 方法解决。问:我在使用 5402DSK 时,一上电,不接 MIC,只接耳机,不运行任何程序,耳
12、机中有比较明显的一定频率的噪声出现。有时上电后没有出现,但接 MIC,运行范例中的 CODEC 程序时,又会出现这种噪声。上述情况通常都在 DSK 工作一段时间后自动消失。我在 DSP 论坛上发现别人用 DSK 时也碰到过这种情况,我自己参照 5402DSK 做了一块板,所用器件基本一样,也是这现象,请问怎么回事?如何解决?答:开始时没有有效的程序代码,所以上电后是随机状态,出现这种情况是正常的。问:我使用的是 TMS320LF2407,但是仿真时不能保证每次都能 GO MAIN。我想详细咨询一下,CMD 文件的设置用法,还有 VECTOR 的定义。答:可能看门狗有问题,关掉看门狗。有关 CM
13、D 文件配置请参考 汇编语言工具第二章。问:我设计的 TMS320VC5402 板子在调试软件时会经常出现存储器错误报告,排除是映射的问题,是不是板子不稳定的因素?还是 DSP 工作不正常的问题?如何判别?答:你可以利用 Memoryfill 功能,填入一些数值,然后刷新一下,看是不是在变,如果是在变化,则 Memory 是有问题。问:如何解决 Flash 编程的问题:可不可以先用仿真器下载到外程序存储 RAM 中,然后程序代码将程序代码自己从外程序存储 RAM 写到 F240 的内部 Flash ROM 中,如何写 ?答:如果你用 F240,你可以用下载 TI 做的工具。其它的可以这样做。问
14、:C5510 芯片如何接入 E1 信号?在接入时有什么需要注意的地方?答:通过 McBSP 同步串口接入。注意信号电平必须满足要求。问:请问如何通过仿真器把.HEX 程序直接烧到 FLASH 中去?所用 DSP 为 5402 是否需要自己另外编写一个烧写程序, 如何实现?谢谢!答:直接写.OUT。是 DSP 中写一段程序,把主程序写到 FLASH 中。问:DSP 的硬件设计和其他的电路板有什么不同的地方?答:1.要考虑时序要求;2. 要考虑 EMI 的要求;3.要考虑高速的要求;4.要考虑电源的要求。问:ADS7811,ADS7815,ADS8320 ,ADS8325,ADS8341,ADS8
15、343,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 的电路板有时调试成功率低于 5
16、0%,连接和底板均无问题,如何解决?有时 DSP 同 CPLD 产生不明原因的冲突,如何避免?答:看来你的硬件设计可能有问题,不应该这么小的成功率。我们的板的成功率为 95%以上。问:我们的工程有两人参与开发,由于事先没有考虑周全,一人使用的是助记符方式编写汇编代码,另一人使用的是代数符号方式编写汇编代码,请问 CCS5000 中这二种编写方式如何嵌在一起调试?答:我没有这样用过,我想可以用下面的办法解决:将一种方式的程序先单独编译为.obj文件,在创建工程时,将这些.obj 文件和另一种方式的程序一起加进工程中,二者即可一起编译调试了。问:DSP 数据缓冲,能否用 SDRAM 代替 FIFO
17、?答:不行问:ADC 或 DAC 和 DSP 相连接时,要注意什么问题?比如匹配问题,以保证 A/D 采样稳定或 D/A 码不丢失。答:1. 接口方式:并行串行;2. 接口电平,必须保证二者一致。问:用 F240 经常发生外部中断丢失现象,甚至在实际环境中只有在程序刚开始时能产生中断,几分钟后就不能产生中断。有时只能采取查询的方式,请问有何有效的解决方法?改为 F2407 是不是要好些?答:应该同 DSP 无关。建议你将中断服务程序简化看一下。 二.DSP 的 C 语言同主机 C 语言的主要区别?1)DSP 的 C 语言是标准的 ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。但在
18、CCS 中,为了方便调试,可以将数据通过 prinf 命令虚拟输出到主机的屏幕上。 2)DSP 的 C 语言的编译过程为,C 编译为 ASM,再由 ASM 编译为 OBJ。因此 C 和 ASM 的对应关系非常明确,非常便于人工优化。 3)DSP 的代码需要绝对定位;主机的 C 的代码有操作系统定位。 4)DSP 的 C 的效率较高,非常适合于嵌入系统。 三.DSP 发展动态1.TMS320C2000 TMS320C2000 系列包括 C24x 和 C28x 系列。 C24x 系列建议使用 LF24xx 系列替代 C24x 系列,LF24xx 系列的价格比 C24x 便宜,性能高于 C24x,而
19、且 LF24xxA 具有加密功能。 C28x 系列主要用于大存储设备管理,高性能的控制场合。 2.TMS320C3x TMS320C3x 系列包括 C3x 和 VC33,主要推荐使用 VC33。C3x 系列是 TI 浮点 DSP的基础,不可能停产,但价格不会进一步下调。 3.TMS320C5x TMS320C5x 系列已不推荐使用,建议使用 C24x 或 C5000 系列替代。 4.TMS320C5000 TMS320C5000 系列包括 C54x 和 C55x 系列。 其中 VC54xx 还不断有新的器件出现,如:TMS320VC5471(DSPARM7)。 C55x 系列是 TI 的第三代
20、 DSP,功耗为 VC54xx 的 1/6,性能为 VC54xx 的 5 倍,是一个正在发展的系列。 C5000 系列是目前 TI DSP 的主流 DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列。 5.TMS320C6000 TMS320C6000 系列包括 C62xx、C67xx 和 C64xx。此系列是 TI 的高档 DSP 系列。 其中 C62xx 系列是定点的 DSP,系列芯片种类较丰富,是主要的应用系列。 C67xx 系列是浮点的DSP,用于需要高速浮点处理的领域。 C64xx 系列是新发展,性能是 C62xx 的 10 倍。 6.OMAP 系列 是 TI 专门用于
21、多媒体领域的芯片,它是 C55ARM9,性能卓越,非常适合于手持设备、Internet 终端等多媒体应用。 四.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 等,将
22、 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 片内多总线,在访
23、问片内 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.
24、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,高电平时不等待。
25、 软件等待由 WSGR 寄存器决定,可以加入最多 7 个等待。其中程序存储器和数据存储器及 I/O 可以分别设置。 2)对于 C3x 系列: 硬件等待信号为/RDY ,低电平是不等待。 软件等待由总线控制寄存器中的 SWW和 WTCNY 决定,可以加入最多 7 个等待,但等待是不分段的,除了片内之外全空间有效。 3)对于 C5000 系列: 硬件等待信号为 READY,高电平时不等待。 软件等待由 SWWCR 和 SWWSR寄存器决定,可以加入最多 14 个等待。其中程序存储器、控制程序存储器和数据存储器及 I/O 可以分别设置。 4)对于 C6000 系列(只限于非同步存储器或外设): 硬件
26、等待信号为 ARDY,高电平时不等待。 软件等待由外部存储器接口控制寄存器决定,总线访问外部存储器或设备的时序可以设置,可以方便的同异步的存储器或外设接口。 九.中断向量为什么要重定位?为了方便 DSP 存储器的配置,一般 DSP 的中断向量可以重新定位,即可以通过设置寄存器放在存储器空间的任何地方。 注意:C2000 的中断向量不能重定位。 十.DSP 的最高主频能从芯片型号中获得吗?TI 的 DSP 最高主频可以从芯片的型号中获得,但每一个系列不一定相同。 1)TMS320C2000 系列: TMS320F206最高主频 20MHz。 TMS320C203/C206最高主频 40MHz。
27、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
28、 系列: TMS320C62xx:最高主频 300MHz。 TMS320C67xx:最高主频 230MHz。 TMS320C64xx:最高主频 720MHz。 十一.DSP 可以降频使用吗?可以,DSP 的主频均有一定的工作范围,因此 DSP 均可以降频使用。 十二.如何选择外部时钟?DSP 的内部指令周期较高,外部晶振的主频不够,因此 DSP 大多数片内均有 PLL。但每个系列不尽相同。 1)TMS320C2000 系列: TMS320C20x:PLL 可以2 ,1,2 和4 ,因此外部时钟可以为 5MHz40MHz。 TMS320F240: PLL 可以2,1,1.5 ,2 ,2.5,3
29、,4 ,4.5 ,5 和9,因此外部时钟可以为 2.22MHz40MHz 。 TMS320F241/C242/F243:PLL 可以4,因此外部时钟为 5MHz。 TMS320LF24xx:PLL 可以由 RC 调节,因此外部时钟为 4MHz20MHz。 TMS320LF24xxA:PLL 可以由 RC 调节,因此外部时钟为 4MHz20MHz。 2)TMS320C3x 系列: TMS320C3x:没有 PLL,因此外部主频为工作频率的 2 倍。 TMS320VC33:PLL 可以2,1,5 ,因此外部主频可以为 12MHz100MHz。 3)TMS320C5000 系列: TMS320VC5
30、4xx:PLL 可以4,2 ,1-32,因此外部主频可以为 0.625MHz50MHz 。 TMS320VC55xx:PLL 可以4,2 ,1-32,因此外部主频可以为 6.25MHz300MHz。 4)TMS320C6000 系列: TMS320C62xx:PLL 可以1,4,6 ,7,8,9 ,10 和11 ,因此外部主频可以为 11.8MHz300MHz。 TMS320C67xx:PLL 可以1 和4,因此外部主频可以为 12.5MHz230MHz。 TMS320C64xx:PLL 可以1,6 和12 ,因此外部主频可以为 30MHz720MHz十三.如何选择 DSP 的外部存储器?DSP 的速度较快,为了保证 DSP 的运行速度,外部存储器需要具有一定的速度,否则 DSP 访问外部存储器时需要加入等待周期。