分享

与非智友会| 我们和DSP的那些事儿

 爱拼才会赢800 2015-03-26
原创系列

最近和一些DSP圈的朋友聊了一些DSP相关的话题。身处这个产业链不同环节的人也从自己的经历中总结出了对各自领域的看法和观点,有小到学习使用DSP算法的每个细节,也有大到整个产业的发展趋势和方向。下面我就和大家分享一下一些DSP人的经验之谈和行业观点。


不同的经历 一样的感悟

我和很多人一样,当初进入DSP领域,是一个师兄的带领下进入的,当时师兄把这个技术说的天花乱坠,再加上刚上大学不久,知道的东西不多,就是感觉很神奇的一个东西。后来就稀里糊涂的往下学,到毕业也没有什么特别的长进。开始工作了,因此我的DSP学习也暂时结束了。因为刚开始的时候,不得要领,总感觉好难。


后来工作不太顺心,就想回去继续读研究生。在选专业方向的时候毫不犹豫的选择了与DSP有关的专业(因为大学接触了三年,还真是有特别的感情,于是就再续前缘了),在研究生阶段我主要做算法的研究(接触DSP的工程应用很少),并有论文和专利的发表,毕业的时候进了一家外企。刚开始的时候,编写算法,后来领导发现我还有在DSP的经历,就让我开始DSP的研发(这才真正的和DSP并肩作战)。


这段时间是痛苦并快乐着的。问题解决不了的煎熬,柳暗花明后的喜悦充实了那两年的时间。当我换老板的时候,我突然发现,我在DSP领域的学习已经成熟多了,可以说初窥门径,但两年时间走了很多弯路,效率很低。


不知道是该骄傲还是难过,学习DSP的方法和需求,大部分都是我自己摸索出来的,因为在每一次的挫折或者困难面前,我都会总结(没有学会有效地利用资源)。就拿使用最多的是TI公司的DSP芯片来说吧,我从来不知道TI的官网可以问问题,遇到问题后都是自己苦苦挣扎。后来,在挣扎了数年之后终于学会了怎样高效率的解决问题。现在可以说对TI等DSP厂商的官网了如指掌了。回想起来,这10几年的坚持对自己来说很宝贵,也是一段与DSP的不解之缘。



我的经验教训:

(1)当开始DSP学习的时候,需要一个好的师傅(不是乱说一通后,就消失的师兄!而是真正懂行的人),这样可以少走弯路,事半功倍。除此以外,还需要一个好的平台,比如简易的学习板,有了平台,通过实践可以很容易理解很多概念,不再像没有板子的时候,空想那些时序、接口等,而且也不理解记不牢。


(2)学习DSP,需要自己的坚持。我现在玩过TI的TMS320F28027/TMS320F28035/TMS320F2812/TMS320C613/TMS320F28334/TMS320F28335等,当自己玩过以后,其他的平台完全相通的。比如后来我玩过MSP430、NXP、ST、ATMEL、Nuvoton、STC等等,当你坚持过之后,你的成果将是全面开花。


信大牛 可超神



(1)弄清DSP相关资源,学会开发工具的使用

资源一般主要来源于DSP芯片厂商的官方网站,虽然现在的DSP芯片厂商都提供了中文的官方网站浏览,但我建议还是上英文的网站。主要资源有:

  • Datasheet(主要大体介绍一下DSP芯片的功能,内部结构及外设,软件及硬件一些简单介绍,可以很快速的了解这款DSP)。

  • Software Tool Manuals(就是讲寄存器的配置,完全可以称之为DSP使用手册)。

  • Hardware Tool Manuals(讲原理图PCB的绘制)。

  • Program Manuals(编译器及内置C库的使用,汇编指令的使用及汇编语法的介绍,仿真软件的使用)。

  • Engineer to Engineer Note(是DSP芯片自己的工程师在开发这款DSP时所写的笔记,如果你有某个地方未明白,看相应的工程师笔记是最合适的)。

  • Program Examples(是针对DSP不同的外设,官方提供的程序例子,包含C及汇编)

 
使用仿真软件的方法其实很简单,一般这种软件都设计成类似VC这种,你逐个去试每个菜单下的选项,此时你如配合Examples去使用,更能加深理解。做DSP软件开发,先简单看一下Datasheet、Software Tool Manuals和Program Manuals这三个文档再开始熟悉仿真软件的使用,在你熟悉时,肯定需要去不停的再去看这些文档的。


(2)DSP最小系统配置和外设的使用

最小系统主要指DSP的时钟及存储器系统,这时你需要对照着Software Tool Manualsh去仔细看里面的介绍及相关寄存器的配置,结合Examples及Engineer to Engineer Note,如果程序写完后,测试时钟其实很简单,用示波器直接去测量,看测量出来的时钟是否是你配置的那个数。时钟测好了接着测存储器:写一段小程序,测试数据总线是否能正常工作。外设的使用和配置最小系统一样,只不过某些外设上可能连接了其它的芯片,不同的功能连接的芯片不一样,此时你需要去看这些芯片的资料,然后开始编写代码,然后再测试,测试方法根据不同的功能也会不同,不过DSP开发最常用的就是使用示波器,如有音视频方面的,可借助摄像头,显示屏等等之类的;如中间开发遇到问题,方法还是一样,结合Examples及Engineer to Engineer Note仔细看手册,看例程,有一点要注意,千万不能怀疑不能实现,要对自己有信心。


(3)DSP优化

到这一步,你需要加深熟悉DSP的整个内部结构,主要包含有几个多少位的MAC,有几个多少位的ALU,有几个多少位的数据寄存器等等,还有外部数据总线上连接了哪些外设,内部数据总线是怎么连接的,并且这些数据总线是多少位,这些在Datasheet会有一张很清楚的DSP结构图,还有DSP的整个Memory Map是怎样的,片上有多少Data Memory,有多少Program Memory等等,了解这些其实就是让你知道DSP的运算性能到底可以达到多少,哪些外设会通过外部数据总线传输数据,DSP内部的寄存器是怎么传输数据的。只有对DSP本身资源有足够的了解,才能优化DSP的使用。

融合大势所趋,DSP何去何从?

TI首席科学家兼DSP业务开发经理方进曾这样说过:“DSP产业在约40年的历程中经历了三个阶段:第一阶段,DSP意味着数字信号处理,并作为一个新的理论体系广为流行;随着这个时代的成熟,DSP进入了发展的第二阶段,在这个阶段,DSP代表数字信号处理器,这些DSP器件使我们生活的许多方面都发生了巨大的变化;接下来又催生了第三阶段,这是一个赋能的时期,我们将看到DSP理论和DSP架构都被嵌入到SoC类产品中。”


目前正处于第三个阶段的初期,我们可以看到SoC集成系统在系统处理器(如ARM)的控制下,同时使用可编程DSP和可配置DSP加速器,这些新的SoC将成为许多创新性产品的开发平台。 可编程SoC是未来DSP的生存之道。将带来无限的创新机会,例如娱乐、安全和医疗等将是DSP未来三个应用领域。



下面是DSP融合的四大方向:

(1)DSP和微处理器的融合,把DSP和微处理器结合起来,用单一芯片的处理器实现这两种功能,将加速个人通信机、智能电话、无线网络产品的开发,同时简化设计,减小PCB体积,降低功耗和整个系统的成本。


(2)DSP和高档CPU的融合,大多数高档GPP如Pentium和PowerPC都是SIMD指令组的超标量结构,速度很快。LSI Logic公司的LSI401Z采用高档CPU的分支预示和动态缓冲技术,结构规范,利于编程,不用担心指令排队,使得性能大幅度提高。Intel公司涉足数字信号处理器领域将会加速这种融合。


(3)DSP和SOC的融合,SOC是指把一个系统集成在一块芯片上。这个系统包括DSP和系统接口软件等。SOC将快速度增长。毋庸置疑,SOC将成为市场中越来越耀眼的明星。


(4)DSP和FPGA的融合,FPGA是现场编程门阵列器件。它和DSP集成在一块芯片上,可实现宽带信号处理,大大提高信号处理速度。


在上述的融合中,可以看出DSP在被各种应用强烈的需求。在数据就是一切的今天,数据处理技术将显得越来越重要。所以DSP在走向融合的过程中并不是消失,而是新生!



小编语本文来自与非网原创系列《与非智友会》,不定期推出,如果你对技术或者产品或者半导体产业有什么想要谈的来找与非君吧,直接回复微信或者发邮件说说你的想法。联系邮箱:lidong@eefocus.com


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多