[转帖]FPGA和DSP处理器的对比(个人看法)----FPGA在控制领域内的应用
- UID
- 75554
- 性别
- 男
|
[转帖]FPGA和DSP处理器的对比(个人看法)----FPGA在控制领域内的应用
在一个网友的blog上看到的!觉得不错,大家看看,会有什么感想以下是引用[I]he_dan23[/I]在2005-8-31 14:44:21的发言:
控制领域设计的范围太广了,传感器,电机控制,汽车电子,人工智能等等。对于需要实时处理大量的采样数据并且进行数学模型运算的应用,fpga本身也难有应用之处,一般都是dsp或dsp阵列设计。至于真正的中国军工,我知道他们使用嵌入式的linux,且所有的代码是开发工程师重写的。vxworks太贵了。 难用的主要原因是基于VHDL代码编写比较复杂,在用dsp处理器设计控制系统的时候,只需要用c语言等高级语言来编写相应的算法即可,不需要考虑这些算法在处理器中是如何具体执行的,用vhdl则不一样,每一步都需要有精确的考虑。我们前不久在fpga上移植了pc机上一段不超过100行的fortran程序,最终vhdl代码超过了10万行,这是fpga无法得到大量应用的根本原因。
至于nios,如果采用它来做系统的话,定制好cpu以后,和传统的dsp处理器或者mcu并没有太大的分别,无非就是多了一些自定义的指令(这个有点类似于dsp处理器中的专用指令的概念),我认为在控制领域,nios虽然大大简化了系统设计的难度(用c代替了vhdl),但就目前来讲,相比较于传统的mcu和dsp处理器,后者更加成熟了。
要想把fpga用到控制领域,我个人最看重的实际上还是前面提到的的硬实时部分,因为硬件才是fpga的根本,这方面,altera和xilinx实际上应该也有所考虑,dspbuilder和system generator的推出就是为了解决代码实现难度较大的问题,当然现在还都不是很完善,但这种基于G语言的代码自动生成的工具应该是硬实时模块实现的一个方向。具体可以看那篇sopc理解的帖子。
如果仅从性能上来考虑,fpga的实时性和处理能力与相应的dsp处理器不在一个档次上,前者是硬件的解决方案,前面说的那个fortran的例子,我们用fpga实现以后,相对于原有的主流pc平台,计算性能提高了2个数量级以上。
至于dsp阵列,那是没有办法的办法,实在是为了增加处理性能,不得已而为之,从系统设计的角度来说,肯定是不可取的,采用dsp阵列,会带来很多其他问题,比如通讯,比如协同工作,再比如硬件设计的复杂性。
最后说一点,据我所知,军工上好像大量采用的还是vxworks这样的商业系统,embedded linux目前应该还停留在实验阶段了,rtlinux可能会有一些应用 |
|
|
|
|
|