写给DSP初学者

2019-07-29 15:58发布

本帖最后由 zhangmangui 于 2014-1-22 22:59 编辑

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)例程。光有代码的例程不是好例程。例程一定要详细、模块化。总之,宁可选差开发板也不要选差例程(当然最好开发板也要好,不然用着也难受),例程才是灵魂。至于具体品牌就不推荐了,以免有做广告之嫌。

2、如何选择教程?
这是个人认为比较好的书目:江思敏主编的《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前沿技术跟踪、系统建模方法、系统测试与评估方法、工程质量管理。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。