44958|82

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【聊聊DSP】聊聊DSP工程师的前途与钱途 [复制链接]

 
关于作者
  作者就职于某知名电信公司,担任系统工程师。2007年开始接触DSP的开发,使用的第一款DSP芯片为TIC6482(代号Himalaya);2008年开始使用TIC6487/8(代号为Farady),2010年底预研了TIC6497(代号为Nyquist)。在此期间,也在Freescale的MSC8144、8156、8157等DSP上从事过开发工作。开发中使用的几乎都是TI或Freescale最高端的多核DSP,主要针对电信级应用。
  作者主要完成过以下DSP相关的开发工作:
  • 多个大型驱动的开发与维护;
  • DSP上操作系统(公司自主开发)的移植(C64C64+,SC3400到SC3850);
  • DSP平台软件架构设计;
  • 编译器的优化及异常行为研究;
  • Cache的利用情况剖析及优化;
  • DSP的远程调试、Trace、Dump及日志;
  • DSP的自动编译与测试。
作者声明
本人郑重声明:
(1)     文章所有内容(文字、图片)均系原创,如有特别引用会标明出处;
(2)     对本文的所有转载或引用均需标明出处,但任何单位或个人不得以赢利为目的转载或引用本文中的任何内容。

摘要】本文将分成三个部分:第一部分主要从作者的角度讲述电信行业中DSP处理器开发情况,以及未来此类DSP的发展趋势;第二部分讲述DSP工程师应当从哪些方面来进行自我提升;第三部分讲述DSP工程师的职业演进路程。
关键词】高端DSP、TI、职业演进、芯片级、系统级、架构级

  在公司内部,我曾经做过很多与DSP相关的培训与经验交流。由于公司是大客户,我也有幸能与TI和Freescale的DSP工程师进行无数次的交流,参加他们数不清场次的培训,更是与来自TI、Freescale的优秀AE(Application Engineer,支持工程师)一起为我们的项目加班加点。但我深知真正的达人都是深居简出,上网笑而不语。这不是一篇说教的文章,因为任何观点都不能放之四海而皆准,所以我更建议读者用它来自省,结合自身的实际情况来做出决定。

  1   我眼中的电信行业DSP开发

  DSP在电信领域主要用于高吞吐量的基带数据处理,都要求DSP有强大的处理能力、高速接口(如现在的RapidIO 2.x可达到20Gbps以上),多种硬件加速器,高速缓存等等必须的功能。

让我们一起看一下我曾经使用的TIFarady(C6487)主要特性:

  • 3个1 GHz的C64+内核;
  • 多种硬件加速器(VCP、TCP等)
  • AIF(Antenna Interface,TI自定的基于CPRI的高速串行数据传输方式)
  • 两个RapidIO接口;
  • DDR2控制器;
  • 1000 Mbps EMAC;
  • 32 KB的L1P,32 KB的L1D,3 MB的L2,等等。
图1给了电信应用中DSP的分层架构,事实上它也适用于其它嵌入式系统。


图1 电信应用中DSP的分层架构

  • 应用软件:没有应用软件的嵌入式系统,也就失去了真正存在的意义。在电信业,DSP上的应用软件主要按上层调度完成用户数据处理、按某种通信协议(如CDMA、LTE、GSM等)的软件算法以及功控、赋形等功能。
  • 平台软件:为了提高系统的可移植性及可重用性,以及调测及辅助功能,通常会在驱动程序之上加入平台软件层。
  • 驱动程序:这是为了使芯片及其外设正常运行必须做的工作。驱动程序是否高效、健壮、易于分析定位,通常也是DSP在电信级应用中成功的关键因素。
  • 操作系统:优秀的操作系统是电信项目成功的关键因素之一,它能够增强系统的健壮性、实时性、可诊断性及可维护性。
  • 硬件系统:它给软件提供了可行的运行平台。
  由于电信业所使用的DSP本身的复杂度,以及应用对于DSP几近苛刻的要求,通常都需要多个团队协同开发,最后按阶段进行迭代式的集成测试。在初始阶段,也使用仿真器接入板卡调试,但一旦项目开始集成,甚至设备安装到了室外,则必须更多的依赖于Dump内存、系统日志、告警信息、远程调试手段等来分析问题。
总的来说,电信行业DSP开发具有较高的复杂度,对工程师的知识面、思考与开发能力,甚至是沟通组织能力等都有较高的要求。
当前热门的各种智能网络、物联网、M2M、LTE的各种应用等等,都是基于电信业提供的宽带无线网络,这是社会发展的必然趋势。我认为,这种宽带无线网络势必再次改变这个世界。
  由于高速网络、高质量音视频等应用的增长需求,必将带来DSP的持续发展,高端DSP会有如下的发展趋势:
  • 越来越多的集成各类硬件加速器;
  • 以多核、高速内核、高速外设、低功耗为特征;
  • 异构多核与同构多核的发展中,前者将占优;
  • 编译器将支持并行编程语言(如OpenMP),甚至根据系统建模直接生成代码;
  • 将更多的挖掘并行指令(或总线)与Cache的能力。

  2   做正确的DSP工程师,再把事情做正确

  我相信今天看到这篇文章的很多读者,都肯定在网上看过类似于工程师如何规划人生,DSP学习方法之类的文章。甚至也许我们都看过同样的一篇(即使没看过,你身边一定有人向你表达类似观点):做技术是没前途的,一定要转做技术管理或销售。三年以前,我也这般认为,但今天越来越多的事实证明,它就是一个谬论!
如果你对自己的职业规划就是做管理或销售,那么我支持;但如果是因为觉得做技术没前途,那我并不赞同。举两个例子:其一,我认识某位DSP的资深AE,可以算是中国区该领域的专家,年薪不菲(60万以上),走遍世界,工作也很轻松;其二,我们公司晋升年限一样的技术专家,比同级的经理薪酬要高,如,Expert(专家级)与管理大概50个人的经理相比,前者的薪酬要更高。
  中国的某些传统观念以及当下的社会风气,正在侵蚀着我们的工程师群体,使他们变得浮躁,不能潜心研究技术。我想告诉大家的是,无论在什么环境中,你都要有自己的秉持与原则,请记住:真正有前途的人,做什么都会有前途!千万不要还没有窥清DSP的技术门道,就想着转做那种小作坊管理,而将技术束之高阁。几年之后你就会发现,管理方面你很山寨,而技术早就一清二白了,悔之晚矣!
  我只讲五点自己觉得最为重要的,事实上我认为如果能做到这五点,那你根本不用为自己的“前途”与“钱途”发愁。

(1)      找到你自己的行业定位

  “男怕入错行”,这句话真的是非常贴切。我把它放在最重要的第一条,正是想说明行业的选择对于工程师的重要性。
请记住:你首先需要做正确的事,然后才是把事情做正确!
当你选择一个行业之后,请多学习了解这个行业相关的知识,只有这样,你才能成长为更高级别的工程师。
再请记住这样一个例子:一块开发板只能卖100块钱,但如果把它用在某个具体的行业应用上,价格可以翻数十倍甚至更多。

(2)      适应用英语工作

  如果你当前还不能适应阅读英语资料、检索文献以及听取国外的相关技术讲座,请务必抽出时间去再学习,因为最好的资料都是英语原著的,那些Reference Manual、Datasheet、Application Guide才是最好的参考与帮助,从这些途径去学习与解决问题,比你用Baidu或者上论坛求助,要高效与正确很多倍。
能够熟练使用英语进行听、说、读的工程师,比技术能力相同但不能熟练使用英语的工程师,薪酬至少高出一半以上。

(3)      在某个方面成为技术专家,也要保持综合能力的全面发展

  DSP工程师也必须先要有自己特别专长的技术方向。同时,也要对自己的沟通能力、个人修养、组织能力、性格特点、管理能力等等进行全面的提升,只有这样才能成长为系统级、架构级的工程师。

(4)      明确你的学习目的,带着问题去学习

  其实有些工程师一直都在很努力的工作与学习,但又困惑于工作上没什么成绩,学了什么之后好象还是不懂。图2也许能解释这种困惑:

                                                                                      
                                                                                                         图2 效率与效果平衡图

  学习与工作所追求的最好境界,当然是效率与效果的得兼,次之是无效率但有效果。至于没有效果的事情,我建议还不如去打场球,让自己放松一下。那种学完之后还是觉得什么也不懂的情况,就是因为做了没有效果的事情。
  因此,为了有效果的学习,请一定先要清楚你自己要学习什么,给自己一个明确的可量化目标。带着问题去学习新的东西,完善自己的学习方法,知道面对新知识自己应该从哪些方面着手,这样才能真正的事半功倍。

(5)      打好基础,不要好高骛远

  电子行业的发展可谓日新月异,DSP这一行业也不例外。但只要你打好了基础,懂得那些最基本的原理,加之正确的学习方法,你就不会被那些所谓的新技术牵着走了,再新的技术在你眼中也将万变不离其中。
切记,万丈高楼从地起!

  3   DSP工程师的职业演进方向[1]  让我们来看图3所示的DSP工程师职业演进示意[2]

                                                                                                                                      

                                                                 图3 DSP工程师职业演进图


  模块级DSP工程师
  能力特点:初步接触DSP,可以对DSP上的某些外设进行编程,一心只关注程序能不能Run起来,能不能跑出看似正确的结果。与图片中展示的情形一样,此阶段的DSP工程师尚处于迷茫期。
  知识结构:C(C++)语言、数字与模拟电路基础、软硬件调试基础、硬件设计基础。

  芯片级DSP工程师
  能力特点:能够与其它设计人员协同,按要求完成整个芯片的开发任务。这一阶段的DSP工程师认为已经能掌握一切,就象图片中一样故作老成。
  知识结构:汇编语言、编译器与链接器行为、嵌入式操作系统(DSPBIOS、OSEck等)、DSP外围电路设计、软件工程、测试方法、DSP优化方法。


  系统级DSP工程师
  能力特点:能从产品功能特点出发,进行合理的芯片选型,能够系统的协调软硬件功能,保证DSP相关任务的质量与进度,也能够对DSP相关工作流程提出改进建议。能够走到这一步的工程师,可以说已经几经磨炼,变得稳重而谨慎,浑身上下充满着专业的态度与职业素质。
  知识结构:代码质量控制、多核处理器架构(含同构与异构)、CPLD/FPGA设计基础、某一种GCP(ARM/PowerPC/MIPS等)知识、软件版本控制(CVS)、DSP内核行为、深入的DSP优化方法。

   架构级DSP工程师
  能力特点:了解所从事的行业形势,清楚公司产品在市场中发展情况以及优劣势。能够从公司战略出发,对整个产品的开发过程进行协调、量化与控制,对产品设计进行修正。这个时期的工程师,除了拥有让人敬佩的专业技术外,更加拥有了运筹帷幄的能力,以及更加成熟的人生态度。
  知识结构:行业背景、产品设计、管理工程、DSP前沿技术跟踪、系统建模方法、系统测试与评估方法、工程质量管理。
  综合上面的DSP工程师发展历程,可以看出,DSP工程师必须在工作与不断的学习中,加强技术的全面性,同时保持对DSP的深入研究,结合公司的实际产品与行业情况,最终能够举重若轻(这也是作者正在努力的方向)。



[1] 此处主要针对嵌入式DSP工程师,而对DSP算法类工程师而言,更侧重于行业应用,不在此过多讨论。但我认为DSP算法类工程师除了关注算法本身,也必须对DSP的芯片特性与功能、编译特性、运行时优化等有充分认识,才能写出更优秀的算法。

[2] 此处的四幅图片均来自Baidu的结果,如涉及版权,请联系作者修改。

最新回复

受教,讲的很好  详情 回复 发表于 2018-6-9 17:50
点赞 关注(9)
 

回复
举报

12

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
注意到格式与word里差别很大,因此贴上原件,供下载参考~~ talking_dsp.doc (3.37 MB, 下载次数: 1054) talking_dsp.doc (3.37 MB, 下载次数: 1054)
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
受益匪浅 谢谢楼主分享
 
 
 

回复

35

帖子

0

TA的资源

一粒金砂(中级)

4
 
说得很好!
 
 
 

回复

35

帖子

0

TA的资源

一粒金砂(中级)

5
 
不仅仅适用于DSP工程师啊!
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

6
 
讲的不错
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

7
 
这一切都需要时间
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

8
 
讲的太棒了,受教了!
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

9
 
顶一个!
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(初级)

10
 
受教了,哈哈
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

11
 
不顶不行啊
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

12
 

技术的发展,需要人的坚持

感谢楼主的分享,我还是入门阶段,请大家多帮助。
 
 
 

回复

41

帖子

0

TA的资源

一粒金砂(初级)

13
 
受益匪浅 谢谢楼主分享
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

14
 
很励志,顶楼主!:rose:
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

15
 
受教了!
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

16
 
讲的太棒了,虚心学习!
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

17
 
讲的太棒了,受教了!
个人签名学无止境
 
 
 

回复

2万

帖子

71

TA的资源

管理员

18
 
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

19
 
很好,电信v5
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(初级)

20
 
讲得不错啊,受教了,谢谢楼主分享~~~
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表