原创 [转]学DSP、FPGA、ARM,哪个更有前途?

2014-2-19 15:03 1025 10 13 分类: 采购与分销

  1、这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。

  2、DSP就是一个指令比较独特的处理器。它虽然是通用处理器,但是实际上不怎么“通用”。技术很牛的人可以用DSP做一台电脑出来跑windows,而实际上真正这么干的肯定是蠢材。用DSP做信号处理,比其他种类的处理器要厉害;用DSP做信号处理之外的事情,却并不见长。而且信号处理的代码一般需要对算法很精通的人才能真正写好。数据结构里面的时间复杂度和空间复杂度在这里是一把很严酷的尺子。

  3、FPGA只不过披着软件的外衣,实际上是硬件。FPGA内部有两层相对独立的电路。使用者“编码->编译”后生成一个映像,这个映像作用于第一层电路。这层电路之际上就是一个0,1的开关矩阵,这个开关矩阵用来控制第二层工作电路,将第二层工作电路配置成一个相应的处理器。理论上FPGA可以配置成任何需要的处理器,而实际上为了尽量少出bug,FPGA开发都使用已经开发好的“库文件”,也就是把人家能稳定工作的电路图拿过来。因此,对大多数FPGA开发者来说,FPGA内部有几个核基本上只能从库文件里面选——除非你有能力自己设计核心内部的电路和核间总线——ram和rom也是用宏来配置,自己只需要改改外部的专用电路和接线方式等等。甚至外部的专用电路都有库文件,搭个积木就完事了。玩FPGA真正挣钱的人是做积木的人,你原创几个积木并且能申请专利,迫使人家给你交专利费,那你这辈子可以衣食无忧了。

  4、FPGA区别于ASIC设计属于硬件设计的范畴,ASIC是硬件全定制,FPGA是硬件半定制。具体来说:ASIC整个电路都由设计师设计的,用多少资源设计多少资源,一般多用于产品设计。而FPGA资源事先由厂商给定,例如Altera、Xilinx等都提供不同系列的FPGA芯片,设计师可以在给定资源下做硬件设计开发。

  5、DSP主要用于处理信号、事先算法,特点是多级流水,可以加快数据处理的速度,开发环境主要是C语言。可以说DSP应用的范围更专。DSP的设计,可以理解为软件设计,设计师不需要太了解DSP的结构。

  6、DSP原意就是指数字信号处理,只不过DSP芯片由于主要功能是实现数字信号处理,实现各种算法,所以简称为DSP(数字信号处理器);FPGA一样可以做DSP(数字信号处理),就意味着可以用FPGA做硬件设计来实现DSP芯片的功能,当然,相比较专业的DSP芯片、成本太高。

  7、现在除了FPGA和DSP之外还有一个近几年热门的产品:ARM。ARM主要应用与手持设备和嵌入式产品,几乎笼罩了90%的市场份额。可以说ARM开发也偏向于软件开发,设计者主要是讲Wince系统或者Linux系统移植到ARM开发平台上,然后做各种软件应用开发。

  所以,这三个方向都有其不同的应用场合,很难讲谁更有前途。不过,作为我个人而言,更喜欢做硬件设计,所以我选择FPGA作为自己的方向。FPGA主要是给设计者提供了一个硬件平台,开发的核心还是需要独立的应用设计和高效的算法设计。所以设计者应该处理好工具的掌握和具体设计的区别。

  各自特点:

  FPGA:并行处理,内部资源多。

  DSP:成本低、低功耗、高性能的处理能力。具有强大的外部通信接口(SCI,SPI,CAN)便于构成大的控制系统。

  特点:

        (1)在一个指令周期内可完成一次乘法和一次加法;
  (2)程序和数据空间分开,可以同时访问指令和数据;
  (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
  (4)具有低开销或无开销循环及跳转的硬件支持;
  (5)快速的中断处理和硬件I/O支持;
  (6)具有在单周期内操作的多个硬件地址产生器;
  (7)可以并行执行多个操作;
  (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

  本人认为FPGA更有前途!DSP其实只是个特殊的处理器,有专用的硬件乘法器,有桶形移位器可以把数据从存储器移到ALU,还有流水线等技术。但FPGA同样可以完成这些功能,并且FPGA是并行工作的,现在很多FPGA内部可以使用软DSP或者硬核的DSP,当你的项目需要时序很严格的情况非FPGA莫属。比如说用DSP和USB芯片CY68013进行FIFO(同步传送)数据时,IFCLK可以是外部或内部,USB芯片在(IFCONFIG的IFCLKSRC里配置)。如果IFCLK使用内部的情况下,DSP根本无法知道我把数据送到FIFO数据端口后USB芯片内部时钟过了多少周期,但FPGA就可以,因为FPGA的时钟取自于USB芯片的48M输出,在FPGA内部做一个状态机,当数据送到USB芯片的FIFO数据端口时,下一状态把SLWR拉低,再下一状态拉高,就等于USB内部过了一周期,数据就写进USB芯片内部的FIFO了,我只是举个简单的例子,很多关于时序的案例非FPGA莫属,DSP做算法快速,成熟,FPGA更有挑战,据我的经验,FPGA现在内部起码有很多核是可以用的,这像一个可配置的单片机,不用的我就不放进项目。以ACTEL的FPGA来说,用的比较多的软核是:Core8051S、CoreABC、微处理器软核,特别说明CoreABC占用的空间非常少,可以裁减指令,可以配置数据宽度8,16,32,有1组通用输入端口和输出端口,可配置堆栈。有CoreDES,CoreAES128,CoreFROM,CoreI2C,CoreGPIO,CoreInterrupt,CoreLPC,CoreSDR,CoreUART,还有很多很多,看这些名字,很多人都知道干什么用的。eepw.com.cn/article/221687.htm

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户928481 2014-2-25 14:26

市场上貌似ARM用的更多些、更广些,楼主ARM谈的甚少。

用户3809340 2014-2-21 10:09

很好,补充一些:

如果从硬件或底层工作和开发方式,一路排到软件或上层开发和运行方式,那显然是FPGA、DSP、ARM。LZ主要经验是在FPGA,而我主要有DSP的经验。至于ARM,我想多数人事通过操作系统在其上做APP,所以和该芯片并非有任何联系,工程师也几乎不用了解它的指令集、中断、内存管理方式等。只有少数项目是比较用底层方式来开发的,如工业控制数据直接采集等,这时候最深入的也就算那些写驱动的工程师了,他们是必须了解这款具体的ARM芯片那些具体的硬件端口的物理特性。当然,这些更多应该是Cotext-X系列(仍然算作单片机)而非用于智能手机平板的-A系列(做成应用处理器)。

关于DSP的补充:但指令内不仅可以完成一个加和一个乘,还可以取2个数存2个数,以及这些读写数的间接寻址用的硬件指针的自动更新,而更新的步长也支持很多种如循环跳转和位倒序等。此外,在做这类运算的同时,DSP芯片多设计有DMA等背景传递功能,可以基本不耗费指令时间地传递大块数据。在系统中DSP芯片基本设计为协处理器在底层做重复计算,所以如果还需要做其它工作,最好还有单片机或者强劲的ARM去做管理、界面、运行操作系统等。最后DSP算法的真正优化开发,代码需要是汇编+C的组合才能达到。编程人员最好同时了解一款具体的DSP芯片的若干内部结构特点,以及所做算法的计算任务和数据结构、算法结构,所以要做到真正的优化,对工程师要求很高,同时也很有趣。

FPGA近来发展快过DSP,其中包括已经出现其中带“软DSP”等的模块,这样可以为用户做出包含一些DSP功能的ASIC,进入芯片设计的步骤;也可以直接在成品FPGA芯片上运行这些DSP来做信号处理,当然这样成本是高一些,这里主要就不是技术的考虑了。

对于一位3个领域都没有开始进入的准工程师朋友,选择方向的话,应该说ARM领域需要的工作职位最多,DSP最少,FMGA居中。但是具体还是看个人兴趣,喜欢底层还是喜欢上层直接接触用户体验的那些APP开发,这个区别,不是用软件硬件的概念来区分的,而是用你所做是操作哪些层面的动作去区分的。

gang.liu_546577497 2014-2-21 08:24

ARM谈得好少啊,其实ARM也蛮有前途的啊。。。
相关推荐阅读
用户1700919 2015-01-27 02:10
特斯拉哭了:业绩下滑都怪充电桩
据WSJ消息,钢铁侠 Elon Musk 本周二表示,在过去的一个季度中,Tesla 在中国市场的销量大幅度下滑,主要原因是中国消费者对 Tesla 的充电要求有误解。受此言论影响,Tesla 的...
用户1700919 2015-01-17 00:08
3D打印进军半导体,电子电路不在话下
  3D打印机已经可以用金属或者高分子材料制作样品和备件了。普林斯顿大学的研究者现在将该项技术的潜能又提升了一大步,他们开发了一种用半导体和其他材料打印出可发挥正常功能的电子电路的方法。此外,他们...
用户1700919 2014-02-27 13:29
智慧家居的未来,Zigbee?Z-wave?
       很长时间内,人们一直在争论一个问题,究竟ZigBee和Z-wave哪个才是智慧家居最好的解决方案。很显然两者之中有一个更好的,但现在我们可以看到结论吗?         根据Zig...
用户1700919 2014-01-14 15:31
[转]智能手表的五个设计原则
  前文我们讨论过《为什么智能手表都这么丑?》,以手表制造商 Meta Watch 的 Bill Geiser 观点为例,智能手表的起源,设计理念,功能要求以及电池等元件障碍决定了目前的智能手表外...
EE直播间
更多
我要评论
3
10
关闭 站长推荐上一条 /3 下一条