这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 初学DSP,你得知道的那些事儿

共2条 1/1 1 跳转至

初学DSP,你得知道的那些事儿

专家
2013-08-14 17:30:08     打赏

  DSP是嵌入式开发处理器的三大巨头之一,很多刚刚接触DSP的朋友大都会有这些疑问,为什么要用DSP?DSP是什么、能干嘛?有没有前途,或者有没有“钱途”?好不好学?该怎么学?今天就和大家聊下学习DSP得知道的那些事儿。

      本文引用地址:http://www.eepw.com.cn/article/158934.htm

  一、为什么要用DSP?

  3G通信技术的发展,要求处理器的速度越来越高,体积越来越小,MCU的速度较慢;CPU体积大、功耗高;嵌入CPU的成本较高。DSP的发展正好能满足这一发展的要求,使其在许多速度要求较高、算法较复杂的场合取代MCU或其它处理器,而且综合成本有可能更低。

  二、DSP是什么、能干嘛?

  想了解这些,就得一个概念讲起,DSP首先是Digital Signal Processing(数字信号处理),然后才是Digital Singnal Processor(数字信号处理器)。具体关于DSP的介绍,请参考小弟的《三国杀之FPGA与ASIC、DSP全面大比拼!》,你能找到你想要的知识,也能找到学习DSP的动力。

  三、DSP有没有前途(“钱途”)?

  很多人都觉得做技术就是苦逼,哪来的什么前途,一定要转做技术管理或销售。以前我也这般认为,但现在越来越多的事实证明,这就是一个谬论,DSP相当有钱途!举两个例子:其一,某位DSP的资深AE,可以算是中国区该领域的专家,年薪不菲(60万以上),走遍世界,工作也很轻松;其二,某知名电信公司晋升年限一样的技术专家比同级的经理薪酬要高,如Expert(专家级)与管理大概50个人的经理相比,前者的薪酬要更高。

  肯定有人说哪这么多高端人士,大家都是正常人类。好吧,那来个正常的数据,京沪深的DSP工程师起薪基本上是10K/月,就是1万现大洋,满意了吧。

  四、DSP好不好学?

  不管你喜不喜欢,学习DSP就必须得面对她:算法。算法是DSP的精华,可以说摆平了算法就搞定了80%,如果你又懂单片机编程,那么恭喜你有成为DSP专家的潜力。肯定有童鞋问算法到底好不好学呢?算法,听上去是很高深的东西,但其原理也不过就是一些加减乘而已,连除都很少。肯定有童鞋又问,加减乘不就是小学生的算术嘛?是的, DSP 的算法也许就比小学生的算术难一滴滴。听完这些,你肯定乐呵呵:DSP挺好学的嘛。

  五、DSP该怎么学?

  这是个大问题,这里涉及到选开发板、看书、做实验,下面咱们详细讲这几个问题:

  1、如何DSP开发板?

  咱们在讨论选开发板之前,得先解决要学哪种DSP。科普一下,DSP分为通用型DSP芯片和专用型DSP芯片,通用型DSP芯片适合普通的DSP应用,如TI,ADI等公司的DSP芯片属于通用型DSP芯片;专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如如Motorola公司的DSP56200。学习DSP是当然为了找工作挣钱的,那自然是要学TI的通用型DSP,为什么呢,因为TI 占有最大的市场份额(世界市场45%的份额),咱总不能学一个没有市场的DSP吧。

  DSP是一门实践性很强的专业,要想快速精通,就必须有自己的操作平台。这样既可以增强动手能力,也可以节约很多时间。所以,对于初学者来说,选择一款性价比较高的开发板很重要。下面咱们就选开发板了,TI 公司现在主推四大系列DSP: 1)C2000 系列(定点、控制器):C20X,F20X,F24X,F24XX ,C28x,用于数字化控制领域;2)C5000 系列(定点、低功耗):C54X,C54XX,C55X,用于通信、便携式应用领域;3)C6000 系列:C62XX,C67XX,C64X,用于宽带网络和数字影像领域;4)OMAP 系列:TI专门为支持2.5G和3G手机应用需求而设计的处理器体系结构(DSP+MCU+MTC内存和流量控制器)。虽然有这么多型号的DSP,但作为初学者,我们当然要选择C2000 系列,而且要选择F2810/F2812,这是业界最强大的控制专用DSP,还有一个升级版:28335。开发板的主控芯片选取了,至于具体选哪个品牌的开发板,价格从几百到几千不等,具体看个人预算。

  开发板选择有这么两个原则:1)适当的外设。最小系统板虽然便宜但不利于咱们学习(最小系统是给高手DIY的),没外设搞起来没有成就感,没几天就烦了,所以得有适当的外设;功能堆叠型开发板虽然功能丰富,但是贵,也不适合咱们初学。初学嘛,没创造什么效益,自然是以节约为主。有基本的外设就行了,最重要的是学习接口,比如SPI、SCI、CAN,不管你以后做什么项目都通过这些接口连接外围电路。2)例程。光有代码的例程不是好例程。例程一定要详细、模块化。总之,宁可选差开发板也不要选差例程(当然最好开发板也要好,不然用着也难受),例程才是灵魂。至于具体品牌就不推荐了,以免有做广告之嫌。




关键词: DSP     嵌入式     处理器     CPU     单片机    

专家
2013-08-14 17:31:16     打赏
2楼

  2、如何选择教程?

      本文引用地址:http://www.eepw.com.cn/article/158934.htm

  这是个人认为比较好的书目:江思敏主编的《TMS320LF240xDSP硬件开发教程》、彭启琮等主编的《DSP的发展与应用》、朱铭锆等主编的《DSP应用系统设计》、邬可军、朱铭锆等主编的《DSP实时多任务操作系统设计与实现》、刘和平等主编的《TMS320LF240xDSPC语言开发应用》、何苏勤主编的《TMS320C2000系列DSP原理与应用技术》等。

  之所以介绍教程,主要是想和大家讲怎么看,这才是重点。1)第一遍不用太详细,把大体的知识了解一下;2)重点了解2812的片内资源的分配情况,尤其是存储器的映射。掌握bootload的工作原理,知道程序是在哪里、怎么启动的。这一部分比较枯燥,所以我建议大家直接跳到第3步,然后再回来看2,这样更容易理解;3)看例程。要有针对性的看,比如你做SPI,你就直接看SPI那章,看例程里的各种寄存器是怎么配置的,然后记住这些重要的寄存器,方便以后自己写代码。

  3、如何做实验?

  说白了,DSP就是能处理大量数据的单片机,所以DSP的学习方法也与普通单片机并无二致,你怎么学单片机就怎么学DSP,但DSP不像单片机那么容易上手(大家不要忘记算法),所以得多花点功夫,毕竟他的价值不一样,可以理解。

  强调一点学习是为了应用,所以一定要带着项目来学习,比如在大概了解了DSP后,就要针对性的学习,你的项目用到SPI接口,你就直接看SPI,其他的就可以暂时不看,这不是取巧,而是实用。

  六、DSP工程师能力分几个层次?

  这算是DSP工程师的职业演进方向,所以大家可以据此定位DSP的学习目标及工作方向。

  1、模块级DSP工程师

  能力特点:初步接触DSP,可以对DSP上的某些外设进行编程,一心只关注程序能不能Run起来,能不能跑出看似正确的结果。与图片中展示的情形一样,此阶段的DSP工程师尚处于迷茫期。

  知识结构:C(C++)语言、数字与模拟电路基础、软硬件调试基础、硬件设计基础。

  2、芯片级DSP工程师

  能力特点:能够与其它设计人员协同,按要求完成整个芯片的开发任务。这一阶段的DSP工程师认为已经能掌握一切,就象图片中一样故作老成。

  知识结构:汇编语言、编译器与链接器行为、嵌入式操作系统(DSPBIOS、OSEck等)、DSP外围电路设计、软件工程、测试方法、DSP优化方法。

  3、系统级DSP工程师

  能力特点:能从产品功能特点出发,进行合理的芯片选型,能够系统的协调软硬件功能,保证DSP相关任务的质量与进度,也能够对DSP相关工作流程提出改进建议。能够走到这一步的工程师,可以说已经几经磨炼,变得稳重而谨慎,浑身上下充满着专业的态度与职业素质。

  知识结构:代码质量控制、多核处理器架构(含同构与异构)、CPLD/FPGA设计基础、某一种GCP(ARM/PowerPC/MIPS等)知识、软件版本控制(CVS)、DSP内核行为、深入的DSP优化方法。

  4、 架构级DSP工程师

  能力特点:了解所从事的行业形势,清楚公司产品在市场中发展情况以及优劣势。能够从公司战略出发,对整个产品的开发过程进行协调、量化与控制,对产品设计进行修正。这个时期的工程师,除了拥有让人敬佩的专业技术外,更加拥有了运筹帷幄的能力,以及更加成熟的人生态度。

  知识结构:行业背景、产品设计、管理工程、DSP前沿技术跟踪、系统建模方法、系统测试与评估方法、工程质量管理。

  啰嗦一大堆,希望能帮到大家,如有问题欢迎大家到EEPW的DSP版块提问,我们有最优秀的版主第一时间解答您的问题。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]