[经验] 【聊聊DSP】我与DSP的那些事儿

chenzhufly   2012-8-20 01:20 楼主
       我接触的第一个微控制器就是DSP了,掐指一算,这也是8年前的事情了。用有缘无份来形容一点都不为过,后来一头扎进ARM阵营,把DSP更是束之高阁,不曾珍惜也不曾拥有。但DSP的身影却伴随我的学习和工作,偶尔的调戏一下她,或被她调戏,回味起来还饶有兴致,接下来和大家分享一下这些年来我和DSP的那些事儿。

1.      那年我大四
       2004年,大四。不知道什么是单片机,不知道什么是ARM,更不知道什么是DSP,至于FPGA是何物就更不知道了。不仅不知道,连想知道的想法都没有!那时候我就是个雏儿,很嫩很嫩的雏儿。
       大四了,要毕业了嘛,总是要写毕业论文的,论文题目知道是什么不?------《基于TMS320F2812的电机保护系统》。题目听起来还是不错的,当年能够接触到这么高级的东西,应该感到很幸运才是,因为大部分的人估计还在玩2407吧。但是我那个时候没有体会到其中的价值,当然也没有好好的珍惜!悔啊!回想起来真的好傻好天真。
        这个系统分两部分硬件和软件,当年觉得软件太困难了,就嚷嚷着去搞硬件。硬件嘛,到处抄抄,拼凑拼凑就完事了。和我一起做这个题目的MM选择做了软件,也不知道她现在过的咋样,哈哈!硬件我其实也没有认真的做,抄抄师兄们画的图,混着混着就毕业了!这算是我和DSP打的第一次交道吧,看上去很美,但没有把握,没有珍惜,当然也就不会有什么结果。一声叹息!

2.      又是一年毕业季
       2007年下,那年研三,又是一年毕业时。几年的研究生生涯,也没有做过和dsp相关的工作,只不过偶尔从图书馆借两本相关的书籍,消遣消遣而已。扩充点知识范围,增加点涉猎的范围。这几年基本上就是玩玩单片机,搞搞ARM。当时对ARM+linux还是比较痴迷的。从说S3C44B0+uClinux到AT91RM9200+linux。时间过的飞快,快毕业了,要找工作了。。。
       生活总会在恰当的时间恰当的地点和你开开不大不小的玩笑,这个时候华为来了。作为国内知名企业是很多同学神往的去处,但对于自持是一流学府出来的精英,他永远也只是个备胎!
       投了两个岗位预研和DSP,很悲剧那年不招做硬件的,选来选去感觉也只有这两个比较沾点边,事实上这两个和我想象的差了十万八千里,简直牛头不对马嘴。
       我以为预研就是做些前期做验证的,为后期的开发储备一些相关技术和经验。想的虽然没错,但是对他招聘的这个岗位的需求理解的不够透彻。华为要的是无线算法相关预研,博士以上学历。XXX,我的简历被N个面试官翻了又翻,都是摇头或偷笑。还好最后有个仁慈的哥哥对我说,你和我们的岗位需求相差甚远,去看看其他岗位吧。

       天空一声巨响,DSP闪亮登场。开始面DSP了。
       “你知道什么是DSP吗?”, “……”,沉默一会,
       “能画个DSP的框图吗?”, “……”,又沉默,
       “你知道哪些DSP算法?”, “……”,还是沉默
       “你用过哪些DSP算法?”, “累加和求平均……”,继续沉默,他彻底的被我打趴下啦,哈哈哈
       当时我很还是很有自知之明的,小声的对面试官说“能不能把简历还给我,我不想面了”,他连忙说“可以,可以”,看的出他好开心,如释重负!
        我又一次,又一次的被DSP给欺负了!此DSP非彼DSP,理解的好肤浅,羞愧难当!当然后来我还是恶补了一下DSP算法,哈哈

3.      哥,工作啦!
        面包会有的,牛奶会有的,工作当然也会有的!时光进入了2008,哥工作啦!进入公司做起了一名本份的硬件工程师。画原理图,制作PCB……,可惜好景不长啊,被分配去做FPGA了,这是个巨大的挑战!还好我挺过来了。看下图:
hdsp - 副本.jpg

       系统挺复杂的MCP8260 + 3片statix1s80 + 4片ADI的TS201 + 3片TI的6416,我负责其中的一块FPGA,想起当年开发的日子,简直就是苦不堪言啊,基本上是边看语法边写代码,写的很糟糕哦。而且大家从图上也可以看到,我那个FPGA就是个中枢,和谁都打交道,唯独和TI的dsp接口最简单,貌似只有一组总线和几个中断。但是当年由于时钟域的问题还是调了很久,呵呵
     
     随着项目的开展,感觉这个平台越来越力不从心了,准备上
ATCA的架构,看下图:
amc1 - 副本.jpg
     这只是一个单板,主要有一片AT91RM9200 + 1TI6455 + 1cyclone III + 1Arria GX。曾经有段时间一个人调试这个板子,同样是苦不堪言啊。比较困难的地方是ARMDSP之间的HPI接口,已经DSPFPGA之间的EMIF接口。况且当时6455相对来说还是比较新的片子,资料比较少,难度很大。

4.   多核来啦!

     时光进入了2012,迎来了蓬勃发展的多核,啥都玩多核,大的PC机,小的有手机等等。公司为了提高产品的品质,也希望能够加入多核的阵营,不能让产品输在起跑线上,采购了TI6678的开发板,看看下图:
med_tmdsevm6678_tmdxevm6678_tmdxevm66x.jpg
     
      功能那是很强大的,来看看TI的简介吧:
      日前,德州仪器 (TI) 宣布推出一款基于其 TMS320C6678 数字信号处理器 (DSP) 之上的业界最高性能多媒体解决方案,充分满足移动网络领域对通道密度及高质量媒体服务日益增长的需求。C6678 可帮助 OEM 厂商实现系统级的低成本、低功耗和高密度媒体解决方案,从而使其适用于多媒体网关、IMS 媒体服务器、视频会议服务器以及视频广播设备等应用领域。TI C6678 基于其最新 DSP 系列器件TMS320C66x 之上,采用 8 个 1.25GHz DSP 内核构建而成,并在单个器件上完美集成了 320 GMAC 与 160 GFLOP 定点及浮点性能,从而使用户不仅能整合多个 DSP 以缩小板级空间并降低成本,同时还能减少整体的功耗要求
        问题来了,和前面说到的一样,片子太新,资料太少,自主开发,那就是一件啃爹的事情!以后大家千万要注意这一点,不要追新!!分享一件趣事:
        某天经销商的技术支持给我打电话,大意是让我帮他支持一个客户,这个客户也在用6678,遇到些问题玩不转,他也无能为力,希望我能给点指导。被我当场拒绝,我说你们的板子还在睡觉呢,我们还在眼巴巴的等着你们来给我们培训呢,哪有啥实力来给你支持客户,哈哈

5.   后记
        与DSP的故事还远不止这些,这些年还把玩过DM642和DM643,研究过DM368。问其研究的深度,只能说是浅尝辄止,哈哈。与DSP那么的那些事儿还会继续,扯不断,剪还乱!期待着更加精彩的表现吧!



[ 本帖最后由 chenzhufly 于 2012-8-20 21:00 编辑 ]
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复评论 (7)

一直都很关注楼主。 楼主很厉害。PCB画的真牛
点赞  2012-8-20 08:56
感谢支持!更新完毕,呵呵!

[ 本帖最后由 chenzhufly 于 2012-8-20 21:01 编辑 ]
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2012-8-20 20:34
好丰富的经历!!顶!!
点赞  2012-8-20 23:36
浅尝辄止 没做太多实际的事情
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2012-8-21 14:17

dsp

一直玩DSP,关注给个完全手册
点赞  2012-9-6 21:51
新平台能出多快非常能体现工程师的技术能力,从别人那参考点资料和自己主动解决问题完全是不同能力的事情。C6678的应用系统架构我已经搞定了,主要有两种:OpenMP和单独用IPC,问题很多,但都是可以解决的,包括TI软件包的bug我都解决了。算法的方面正在优化BLAS库,优化后几乎可以将运算速度提高一个数量级,这也是dsp的核心技术之一,哪位应用有什么问题可以找我。说开发新平台Kengdie,完全是不负责任的说法,国内的技术还得靠我们这一代人搞定呢,不能被米国拉得太远,有抱负才能有成就
点赞  2013-3-30 17:31
太牛了 我现在也被零时拉去搞DSP 我都快疯掉了
点赞  2013-4-8 11:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复