找回密码
 注册
搜索
查看: 1540|回复: 17

[综合资料] 几个DSP高手的经验介绍(zz)

[复制链接]
发表于 2007-3-10 11:19:01 | 显示全部楼层 |阅读模式
一. 我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这
几年对DSP的开发写一写自己的感受,一家之言,欢迎指教。我上研究生的第一天起根据
老板的安排就开始接触DSP,那时DSP开发在国内高校刚刚开始,一台DSP开发器接近一万
还是ISA总线的,我从206开始240、2407A都作过产品,对5402、2812、5471在产品方案
规划制定和论证时也研究过。由于方向所限对6X、8X系列没有接触。  

我发现在国内无论在公司或高校许多地方为了加快开发周期往往把一个产品开发分为硬
件和软件两个相对独立部分,由不同的人完成。这在具有一定技术和管理基础的公司,
由总设计师统一规划协调,分任务并行完成的情况下是可行的,也是符合现代产品开发
规律的。但是在高校人员的流动很大,研究生的有效科研时间很短、基础差(许多研究
生起步时对电熔、电阻、三极管的分类和选型都很困难,我也是这样过来的)更不用说
系统规划设计了,况且许多老板自己也不太懂,师兄有自己的任务,他们搞明白时也毕
业了。在许多高校做DSP就是找一个算法加到自己的主程序里,在板子上跑一下,基本达
到效果就可以了,至于可靠性是次要的,产业化无从谈起,这已经算不错的了。

其实我觉得一个系统的完成,系统的规划是最重要的,在规划时对硬件设计的知识和认
识是决定性的,它可以让你知道什么是可行的,什么是不可行的,当你同时具有软件设
计能力时,就可以合理的分配系统功能,完成使用VHDL进行系统行为描述-—系统功能
划分—— 系统子结构设计这样的自顶向下的设计规划流程,成为系统设计专家、项目经
理,否则只是硬件工程师、软件工程师。无论作51、196、还是DSP都是这样。

下面分别谈谈我对硬件和软件设计的感受

硬件设计是系统设计的关键,国内和国外产品的差距往往是硬件设计水平高低决定的,
任何软件设计思想没有可靠的物理载体都是空中楼阁,纸上谈兵。学校的研究生很多都
想避开硬件设计,对于一个全新的设计与其说不屑不如说不敢。试想一下烧几个片子的
压力要比跑飞几段程序的压力大的多,尤其是功率器件,一旦烧掉,弄不好火光冲天,
人的自信都没了。况且改一次板周期长,经费高,还不知行不行。其实在国外实力一般
的公司也是尽量避免硬件的更新设计,产品一旦定型往往通过软件升级,这是公司的发
展策略,对个人而言物以希为贵,培养一个硬件设计师往往要比软件设计师时间长花费
多。在设计dsp硬件时,开始设计最小系统板,系统按功能分板设计调试,注意分板电路
的稳定性可能不如整板电路,要多加入抗干扰环节,分板间的引线包括电源线地线要短
,尽量在10公分以内,实在不行加入光耦隔离、采用隔离电源。切记电源线、地线的干
扰远比信号干扰对系统的危害大得多,又常常被人忽视。电路板工作正常的先决条件就
是电源正常!当分板电路正常后再更居情况设计整板电路。在调试时发现的问题一定要
找到原因解决,即使是飞线,割线,不要寄希望于下一板改了再看,除非原理性错误。
每一个功能环节多准备几套方案。DSP的选型要根据系统功能而定,2000是一个功能比较
全的控制器,但运算性能相对低,但目前大部分控制类、家电类包括中低层次的工业总
线通信产品足够了,281X不错但太贵,而且开发技术不成熟。54XX更像一个协处理器,
其实高端产品5471就很好,功能完*,但BGA封装对产品的开发有一定难度。如果没有从
事过嵌入式系统开发的朋友其实可以从51看起,许多思想是共通的,51很经典没有哪一
款微处理器像51那样使用持久和普遍。在硬件设计时更多的精力放在外围电路设计上,
外围电路设计的灵活性要比DSP本身高得多,难度大得多。建议多考虑CPLD。

软件设计上,着眼点不要仅局限于某种算法和控制策略,而是软件系统框架的制定,即
操作系统的选择和实现,算法和控制策略只是其中技巧性很强的子程序和子程序间参数
相互关系,建议设计软件时能具有操作系统、数据结构和编译原理方面的知识,特别是
使用C。对DSP的内部硬件结构一定要掌握,特别是中断结构和流程、流水线操作,不然
飞都不知道怎么飞的。在语言选择上我当时是这么给自己规定的先编20个左右的汇编程
序,每个代码量超过4K,使用语句范围覆盖全部语句的60%-70%,在此基础上使用C。
现在发现用C构建程序的主体框架(操作系统)比较快而其不容易出错,(我现在正在用
ASM根据UCOSII的思想重写自己的操作系统)但对系统实时性影响比较大的运算算法一般
采用MATLAB——C——ASM的办法仿真调试优化,这里的优化不单单是利用优化器优化,
而是根据数据的特点改变运算方法,以除法为例C里的/号其实掩盖了许多技巧,当除数
为常数时就可以放大倒数移位相乘移位的办法进行,精度高速度快。这些办法只有掌握
了ASM语言并用ASM语言思考才会熟练应用。另外我想告诉一些作算法特别是控制算法的
朋友,千万不要随意评判一个算法的优劣,在程序中程序和代码优化的程度往往影响了
控制效果好坏,而不是算法本身的思想。其实在实际中往往PID甚至PI、PD就够了,神经
元、模糊、小波适用于研究和写论文,模糊在实际中用的多一点,主要是小日本用的比
较成熟,我再恨日本人,这点也服气,小日本就是滑,许多物理现象搞不透,就用这法
,还管用,题外话。

最后我想说的是,当我们面对市场要求时,产品往往考虑的是可靠性、性能、价格而不
是你用的什么芯片,在满足性能的基础上结构越简单就越可靠,芯片越通用价格就越低
,能用51就不用196,能用2407就不用2812,除非把芯片本身作买点利用高成本赢取高利
润。无论2000还是5000、6000系列都有市场前景,关键是要做深做透

获取知识的方法、处理项目的能力是相通的,具体的说就是不要把目光盯在做硬件还是
做软件上,用ASM还是C,要勤动手打好基础,提高自己对系统总体设计的能力,从系统
的眼光看问题。为什么都是做DSP的有的毕业拿3000,有的5000、8000,除了运气和关系
外,重要的是你对事物的认识深度和高度。我一直都记住这句话:有前途的人做什么都
有前途,没前途的人做什么都没前途。  


二. 与其说是钻在里面,毕业设计是搞240,在老师的压力做出了一点东西,这期间主要
是对DSP的各种基础知识的熟悉与理解,对DSP的真正深入是在公司工作以后。当初进公
司,因为正有一个项目需要用5410要我接手。说实话,在学校期间我5000的书都没有看
发表于 2007-3-16 01:35:18 | 显示全部楼层
DSP最核心的就是 DSP的IP 和 核心算法

IP已经被垄断  俺们只有在算法上倒腾一下了   

如果单纯只知道编程  也只能算一个DSPCoder
点评回复

使用道具 举报

发表于 2007-3-20 13:01:54 | 显示全部楼层
看看先
点评回复

使用道具 举报

发表于 2007-5-21 12:49:21 | 显示全部楼层
[em14][em06][em08]
点评回复

使用道具 举报

发表于 2007-7-10 22:27:01 | 显示全部楼层
写得还不错,我现在北京实习,也是做DSP的。
点评回复

使用道具 举报

发表于 2007-9-13 11:31:04 | 显示全部楼层
[em01][em02][em08]
点评回复

使用道具 举报

发表于 2007-10-12 17:45:59 | 显示全部楼层
我在学校 正在学   
不是太懂
谢谢了
点评回复

使用道具 举报

发表于 2007-10-15 12:00:49 | 显示全部楼层
[em01]好文
点评回复

使用道具 举报

发表于 2007-10-16 15:11:35 | 显示全部楼层
ddd
点评回复

使用道具 举报

发表于 2007-10-18 16:55:08 | 显示全部楼层
狂顶[em08][em08][em08][em08][em08][em08][em08]
点评回复

使用道具 举报

发表于 2007-10-19 15:59:47 | 显示全部楼层
文章结束了吗?  真的不错,不过经验只看是不行的也要靠自己总结.
点评回复

使用道具 举报

发表于 2007-11-17 17:38:32 | 显示全部楼层
[em01]
点评回复

使用道具 举报

发表于 2007-11-19 15:05:24 | 显示全部楼层
非常感谢
点评回复

使用道具 举报

发表于 2007-11-19 15:12:49 | 显示全部楼层
非常感谢
点评回复

使用道具 举报

发表于 2007-11-24 10:41:41 | 显示全部楼层
支持, 顶, 现在做硬件压力胜于软件,硬件设计,只要有一点瑕疵,领导来话了,狂风暴雨~~~
点评回复

使用道具 举报

发表于 2007-11-25 21:42:26 | 显示全部楼层
兄弟,你是不是没说完啦,有什么成功的经验给我们分享下啊[em04]
点评回复

使用道具 举报

发表于 2007-12-7 11:11:18 | 显示全部楼层
[em08]
点评回复

使用道具 举报

发表于 2008-1-9 15:34:38 | 显示全部楼层
谢谢真是肺腑之言!
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-7 15:23 , Processed in 0.062336 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表