搜索
bottom↓
回复: 246

杂谈--我眼中的FPGA与DSP【原创】

[复制链接]

出0入0汤圆

发表于 2010-7-1 10:39:40 | 显示全部楼层 |阅读模式
DSP和FPGA是嵌入式开发处理器的三大巨头之二,很多刚刚接触嵌入式的朋友都会心存疑问,到底DSP和FPGA哪个牛一点,学哪种好一点?FPGA与DSP相比较,哪个更有前途?今天,我就以自己的经验,和大家通俗介绍一下吧:

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可 重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件 仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电 路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器, 并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据 分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速 度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体 积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,

上面都是一些基本概念的介绍,下面我就来通俗介绍一下,在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现其功能的最优化,一般TI的DSP涉及最多的是一些基本的BIOS操作系统之间的任务调度,以及算法改进与优化等待, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间,以及能够运行多种算法的灵活性。

而对于FPGA来说,你是一个硬件设计者,FPGA就是一张白纸,上面写什么,画什么都取决于你。同样一片FPGA,菜鸟和高手实现的功能会是天壤之别,FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益。使用FPGA,您大多的时间并非进行算法设计与优化,而是逻辑设计与时序约束等等。

下面再举一个最通俗的例子,同样使用FPGA与DSP,对图像进行处理,这里的算法采用中值滤波,中值滤波是数字图像处理中十分常见也是非常有用的一种图像处理算法,其基本步骤如下:

中值滤波法将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.


实现方法:

1:通过从图像中的某个采样窗口取出奇数个数据进行排序

2:用排序后的中值取代要处理的数据即可

中值的计算在于对滑动窗口内像素的排序操作。要进行排序,就必须对序列中的数据像素做比较和交换,数据元素之间的比较次数是影响排序速度的一个重要因素。传统的排序串行算法是基于冒泡排序法,若窗口内像素为m个,则每个窗口排序需要做m(m-2)/2次像素的比较操作,时间复杂度为O(M平方) 。此外,常规的滤波算法使窗口每移动一次,就要进行一次排序,这种做法实际上包含了大量重复比较的过程。若一幅图像的大小为N*N ,则整个计算需要O(M平方)时间,当窗口较大时计算量很大,较费时。


(原文件名:c0ede33e-2caa-4f78-9ba8-256692c19d8d.jpg)



以下是采用TI C6000系列的DM642上,采用内联函数优化过的中值滤波算法

void IMG_median_Row( const unsigned short *restrict i_data, int n, unsigned  short *restrict o_data)

{

    const    int     *line0,       *line1,       *line2;

    int              *line_y;

    int              i;

    unsigned int     R00,          R10,          R20;

    unsigned int     R01,          R11,          R21;

    unsigned int     x0_01,        x1_01,        x2_01;

    unsigned int     R_max1,       R_min1,       R_min2;

    unsigned int     row0_pk,      row1_pk,      row2_pk;

    unsigned int     min_max,      med_med,      max_min;

    unsigned int     med_max1,     med_min1,     med_min2;

    unsigned int     median2;



    line0  = (int *) i_data;

    line1  = (int *) (i_data + n);

    line2  = (int *) (i_data + n * 2);

    line_y = (int *) o_data;



    R00    = 0x00000000;

    R10    = 0x00000000;

    R20    = 0x00000000;



    _nassert(          n       >= 4);

    _nassert(          n  % 4  == 0);

    _nassert((int) line0  % 8  == 0);

    _nassert((int) line1  % 8  == 0);

    _nassert((int) line2  % 8  == 0);

    _nassert((int) line_y % 8  == 0);



    #pragma MUST_ITERATE(2,,2)

    #pragma UNROLL(2)

    for (i = 0 ; i < n; i += 2)

    {

         

        x0_01    = *line0++;

        x1_01    = *line1++;

        x2_01    = *line2++;





        R_max1   = _max2(x0_01,x1_01);   

        R_min1   = _min2(x0_01,x1_01);

        R_min2   = _min2(R_max1,x2_01);



        R01      = _max2(R_max1,x2_01);

        R11      = _max2(R_min1,R_min2);

        R21      = _min2(R_min1,R_min2);



        row0_pk  = _packlh2(R01,R00);

        row1_pk  = _packlh2(R11,R10);

        row2_pk  = _packlh2(R21,R20);

     

        min_max  = _min2(R00,R01);

        min_max  = _min2(min_max,row0_pk);

   

        med_max1 = _max2(R10,R11);

        med_min1 = _min2(R10,R11);

        med_min2 = _min2(med_max1,row1_pk);

        med_med  = _max2(med_min1,med_min2);



        max_min  = _max2(R20,R21);

        max_min  = _max2(max_min,row2_pk);



        med_max1 = _max2(min_max,med_med);

        med_min1 = _min2(min_max,med_med);

        med_min2 = _min2(med_max1,max_min);

        median2  = _max2(med_min1,med_min2);



        *line_y++ = median2;     



        R00 = R01;

        R10 = R11;

        R20 = R21;

     

    }

}




void MedianFliter(const unsigned short *restrict Image_In, unsigned short *restrict Image_Out,int Row,int Column)

{

    int i;                                    

                                                     for(i = 0; i < Row; i++)

                                                     {

                                                        IMG_median_Row((Image_In+ i * Column), Column, (Image_Out+ i * Column));

                                                     }



}



再看看ALTERA FPGA实现的中值滤波,共用LE 692个,FIFO,D触发器若干,代码约4000行…..


(原文件名:a9f70ff6-5a29-468b-8d41-afe6a4543c4f.jpg)



(原文件名:5aa33e43-f7fc-4406-b091-944ccd40813d.jpg)


对比一下速度,3*3 中值滤波器,图像大小1024*768,灰度图像


执行效果 DSP——帧延时>1帧,计算时间 未优化前C代码   24毫秒  算法流程,循环等优化后 7毫秒   内联函数优化后 1.6毫秒 线性汇编优化后 272微秒

执行效果 FPGA——帧延时=2行像素,计算时间 由输入时钟定,如果像素时钟大于50M 整个图像处理时间不足1微秒,但是像素时钟受整个系统时序的约束,过快会使逻辑工作在不稳定状态。

现在大家估计也知道FPGA与DSP的最大区别了吧,呵呵。DSP——编程速度快,方便,适合做算法验证,如果想用好DSP,那么大部分时间都在做算法与语言优化工作。FPGA——编程速度慢,实现麻烦,不适合做算法验证,但是一旦实现后,可以进行流水线操作,延时非常低。

综上所述,FPGA与DSP优缺点十分明显,所以现在音视频处理,移动通信或者整个通信行业等大量信号处理的工程项目中,流行的解决方案都是FPGA+DSP,FPGA做逻辑控制,DSP做浮点算法,如果算法不是很占资源的,也有直接用FPGA来做的,但两大FPGA厂商都最近都推出了带DSP平台的FPGA产品,以后FPGA与DSP的界限将越来越模糊,会慢慢的合二为一, 总之,目前而言,由DSP和FPGA结合而成的混合式方案常常能够为高性能多处理应用提供最好的方案,让每个器件都发挥其作用。FPGA和DSP是两项互补的技术,而不是互相竞争的对手。对于长远来看,我认为是个殊途同归的过程,最后的产物,到底叫FPSP 还是叫DSGA,那就要看各位IC厂商的造化了,呵呵~~


【欢迎大家加入我们的FPGA小组讨论,最近打算举办助学活动,申请免费的FPGA开发板空板活动,希望大家捧个场】

小组地址 http://group.ednchina.com/2762/  


(原文件名:5804d947-bbdc-45b8-8e85-f92cf9948827.jpg)

出0入0汤圆

发表于 2010-7-1 10:56:27 | 显示全部楼层
沙发..

出0入0汤圆

发表于 2010-7-1 11:38:32 | 显示全部楼层
支持。。。

出0入0汤圆

发表于 2010-7-1 13:02:17 | 显示全部楼层
FPGA的DSP开发。参考altera的DSP builder……

出0入0汤圆

发表于 2010-7-1 13:08:16 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-7-1 14:53:52 | 显示全部楼层
讲的好啊!

出0入0汤圆

发表于 2010-7-1 20:50:08 | 显示全部楼层
找中值不需要先排序的.....

出0入0汤圆

发表于 2010-7-1 22:23:32 | 显示全部楼层
以为fpga或者cpld,或者将来叫什么名字,只能是永远的配角。

曾有段时间想学习学习。可是随便翻一本书,发现他们实现的东东,大多用其他器件早已完成。实在找不出学习他们的理由。于是乎,

放弃了。

出0入0汤圆

发表于 2010-7-2 08:14:22 | 显示全部楼层
受教了 谢谢!!

出0入0汤圆

发表于 2010-7-2 09:59:35 | 显示全部楼层
支持!

出0入0汤圆

发表于 2010-7-2 11:54:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-2 12:11:27 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-7-4 20:35:40 | 显示全部楼层
找中值不需要先排序 这句话没错
但是绝对不是想象的那么容易
可以参考快速中值滤波算法的相关文章 算法复杂度降低很多

出0入0汤圆

发表于 2010-7-4 21:15:15 | 显示全部楼层
顶楼主!来开讲坛吧  大家去听课 哈

出0入0汤圆

发表于 2010-7-5 11:26:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-5 13:19:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-6 11:35:55 | 显示全部楼层
又涨了一智,呵呵!

出0入0汤圆

发表于 2010-7-16 21:27:55 | 显示全部楼层
LZ很厉害!!!

出0入0汤圆

发表于 2010-7-17 13:20:01 | 显示全部楼层
杂谈--我眼中的FPGA与DSP【原创】

出0入0汤圆

发表于 2010-7-17 13:40:29 | 显示全部楼层
回复【7楼】fickle
以为fpga或者cpld,或者将来叫什么名字,只能是永远的配角。
曾有段时间想学习学习。可是随便翻一本书,发现他们实现的东东,大多用其他器件早已完成。实在找不出学习他们的理由。于是乎,
放弃了。
-----------------------------------------------------------------------

15年前,ADI也和你一样看不起可编程逻辑器件,认为它们只能做做接口

专用器件是有它的优势,但劣势也很明显,比如专用器件的灵活性能与FPGA相比吗?
客户需求稍微变一下,使用专用器件的设计可能就得换型号,重新做板了
头像被屏蔽

出0入0汤圆

发表于 2010-7-17 14:16:27 | 显示全部楼层
Cool !

注:COOL帖内允许广告。

出0入0汤圆

发表于 2010-7-17 15:24:32 | 显示全部楼层
学习了~!
站长的注释挺有意思 哈哈。。
头像被屏蔽

出0入0汤圆

发表于 2010-7-17 15:44:26 | 显示全部楼层
回复【21楼】coslight_dt 年少轻狂
学习了~!
站长的注释挺有意思 哈哈。。
-----------------------------------------------------------------------
哈哈,如果不注解,我们下次删除一些纯广告时,会引起争议的。

纯广告我们会删除。如果能获得COOL帖资料,可以允许广告。

出0入0汤圆

发表于 2010-7-17 20:13:59 | 显示全部楼层
迷茫ing

出0入0汤圆

发表于 2010-7-17 20:35:21 | 显示全部楼层
回复【19楼】TeWu T5
回复【7楼】fickle  
以为fpga或者cpld,或者将来叫什么名字,只能是永远的配角。  
曾有段时间想学习学习。可是随便翻一本书,发现他们实现的东东,大多用其他器件早已完成。实在找不出学习他们的理由。于是乎,  
放弃了。
-----------------------------------------------------------------------
15年前,adi也和你一样看不起可编程逻辑器件,认为它们只能做做接口
专用器件是有它的优势,但劣势也很明显,比如专用器件的灵活性能与fpga相比吗?
客户需求稍微变一下,使用专用器件的设计可能就得换型号,重新做板了

-----------------------------------------------------------------------

看来,对于说fpga或者cpld是永远配角有异议。仔细看下楼主文章,了解fpga历史,就会释然了。

pal-》gal-》pld-》cpld(fpga),有几个人还知道pal或者gal是什么?可是,74系列芯片谁会不知?大浪淘沙,配角就是配角。

还有楼主文章举得那个例子,fpga仅仅完成dsp功能而已。

出0入0汤圆

发表于 2010-7-17 21:43:00 | 显示全部楼层
回复【24楼】fickle
回复【19楼】tewu t5
回复【7楼】fickle   

看来,对于说fpga或者cpld是永远配角有异议。仔细看下楼主文章,了解fpga历史,就会释然了。

pal-》gal-》pld-》cpld(fpga),有几个人还知道pal或者gal是什么?可是,74系列芯片谁会不知?大浪淘沙,配角就是配角。

还有楼主文章举得那个例子,fpga仅仅完成dsp功能而已。

-----------------------------------------------------------------------

看来,你是受限于行业或自己的视界,看不出FPGA在信号处理领域的价值以及相对于DSP的优势

像广电行业,很多视频处理板卡,FPGA有非常普遍的应用
这类设备,因为有较高的技术含量,销量也不大,对硬件成本不敏感,还要支持层出不穷的视频格式
如果设备商等着专用芯片,或主要靠DSP提供解决方案,早就死翘翘了——专用芯片和DSP方案和代码的可移植性、可扩展性比起FPGA差远了

此外,在软件无线电领域,基带和中频的数字上变频和下变频,FPGA比DSP的优势也相当明显

出0入0汤圆

发表于 2010-7-17 21:52:12 | 显示全部楼层
现在在高端数字信号处理领域,core i7的应用也越来越多,据说浮点非常强大。

出0入0汤圆

发表于 2010-7-17 22:03:22 | 显示全部楼层
分析得好,谢谢。

出0入0汤圆

发表于 2010-7-17 22:06:06 | 显示全部楼层
回复【25楼】TeWu T5
回复【24楼】fickle  
回复【19楼】tewu t5  
回复【7楼】fickle   
看来,对于说fpga或者cpld是永远配角有异议。仔细看下楼主文章,了解fpga历史,就会释然了。  
pal-》gal-》pld-》cpld(fpga),有几个人还知道pal或者gal是什么?可是,74系列芯片谁会不知?大浪淘沙,配角就是配角。  
还有楼主文章举得那个例子,fpga仅仅完成dsp功能而已。  
-----------------------------------------------------------------------
看来,你是受限于行业或自己的视界,看不出fpga在信号处理领域的价值以及相对于dsp的优势
像广电行业,很多视频处理板卡,fpga有非常普遍的应用
这类设备,因为有较高的技术含量,销量也不大,对硬件成本不敏感,还要支持层出不穷的视频格......
-----------------------------------------------------------------------

也许有点跑题了,我仅仅是对楼主文章说说自己看法而已。

这里有个概念,到底fpga(或者其他名字)是什么?你提到广泛应用的fpga应该叫asic应该更确切。在这层意义下,dsp或者arm之类是

厂家定制的asic,而cpld或者fpga应该是需要用户定制的asic。

毫无疑问,对于这两者asic,使用更广泛只能是dsp或者arm。因此,我提出配角的观点。

呵呵,顺便说一下,当你一个手指指向别人时,3个手指正在指向自己。

出0入0汤圆

发表于 2010-7-18 10:07:02 | 显示全部楼层
回复【28楼】fickle

毫无疑问,对于这两者asic,使用更广泛只能是dsp或者arm。因此,我提出配角的观点。

-----------------------------------------------------------------------

第一次见到把FPGA定义为ASIC的。。。。
照这样的观点,运放也是ASIC,虽然运放应用很广泛,但价格比起DSP或ARM,便宜太多了,因此,运放也是配角,不值得学习

FPGA市场这十年来所得发展态势,自然说明了它适合很多人的需求,就像上面提到的,FPGA在软件无线电领域就有DSP无法替代的应用
楼主文章举得那个例子,fpga仅仅完成dsp功能而已,但在一些领域,FPGA比DSP更有优势,比如高倍率的CIC差值、LPDC编解码、ASIC原型开发
很多单片FPGA提供解决方案的产品,上面没有DSP,也没有ARM,算法全是FPGA完成,控制和调度则由内嵌的软处理器实现。
见过最极端的一个例子,一块大约20x20cm的信号处理板,板子的外围接口相当多,用一片200来块钱的cyclone III芯片实现全部算法,开价12万——销量也不大,据说一年也就5、6块。

当然,如果你是做消费类的产品,对成本非常敏感,FPGA当然不适合了。

出0入0汤圆

发表于 2010-7-18 11:33:13 | 显示全部楼层
回复【29楼】TeWu T5
回复【28楼】fickle  
毫无疑问,对于这两者asic,使用更广泛只能是dsp或者arm。因此,我提出配角的观点。  
-----------------------------------------------------------------------
第一次见到把fpga定义为asic的。。。。
照这样的观点,运放也是asic,虽然运放应用很广泛,但价格比起dsp或arm,便宜太多了,因此,运放也是配角,不值得学习
fpga市场这十年来所得发展态势,自然说明了它适合很多人的需求,就像上面提到的,fpga在软件无线电领域就有dsp无法替代的应用
楼主文章举得那个例子,fpga仅仅完成dsp功能而已,但在一些领域,fpga比dsp更有优势,比如高倍率的cic差值、lpdc编解码、asic原型开发
很多单片fpga提供解决方案的产品,上面没有dsp,也没有arm,算法......
-----------------------------------------------------------------------

呵呵,看来你也承认配角的观点了吧。(即使是配角,也不妨碍你学习和使用它)再举几个例子,

1、你也发帖365了,应该注意到阿莫论坛配置了吧?clpd仅有一个,而arm/dsp几个,谁是配角?(可以笨,但不可以蠢)

2、说起阿莫,你不会不知道他整天叫嚷的雕刻机吧?电路用什么设计的,74芯片。怎么没用cpld呢?什么是主流?用户是主流!

出0入0汤圆

发表于 2010-7-18 12:49:23 | 显示全部楼层
回复【30楼】fickle

1、你也发帖365了,应该注意到阿莫论坛配置了吧?clpd仅有一个,而arm/dsp几个,谁是配角?(可以笨,但不可以蠢)

2、说起阿莫,你不会不知道他整天叫嚷的雕刻机吧?电路用什么设计的,74芯片。怎么没用cpld呢?什么是主流?用户是主流!

-----------------------------------------------------------------------

相对高端的东西,用的人少,会的人更少,这没什么奇怪的
就在这个版块里,还有人质疑1w块钱的FPGA有啥用呢,只能说隔行如隔山,夏虫不可语冰,呵呵
也许在你的专业领域里,FPGA永远只能做配角,但这并不能否定在我的专业领域里FPGA是主角的事实

你逻辑还有个很大的问题,阿莫论坛的版块划分,不可能涵盖电子设计所有的领域,像ASIC设计版块,这里就没有,但谁敢说芯片设计这个行业在国内不存在,也没有前途?

出0入0汤圆

发表于 2010-7-18 13:21:46 | 显示全部楼层
回复【31楼】TeWu T5
-----------------------------------------------------------------------
看来,你需要一些常识。

“但在一些领域,FPGA比DSP更有优势,比如高倍率的CIC差值、LPDC编解码、ASIC原型开发 ”这个叫流片。

“阿莫论坛的版块划分”呵呵,这个不算?那么看看有多少dsp和arm生产厂家,和所谓fpga对比。谁是配角?
-----------------------------------------------------------------------------------------------

其实,重点不在这里。重点是被你认为 唯我独尊 fpga,不是天下第一。你的那个脆弱什么心受不了。

出0入0汤圆

发表于 2010-7-18 14:10:15 | 显示全部楼层
回复【32楼】fickle

其实,重点不在这里。重点是被你认为 唯我独尊 fpga,不是天下第一。你的那个脆弱什么心受不了。


-----------------------------------------------------------------------
DSP也好,ARM也好,FPGA也好,都是工匠手里的工具而已
对任何一个工匠来说,这世上没有最好的工具,只有他最趁手的工具,最适合把活儿做好的工具

不用你教我,我很清楚FPGA能做什么,不适合做什么,我所要做的,就是发挥它的长处
而不是觉得它是配角,没多大学习价值,然后就迷茫了,放弃了

出0入0汤圆

发表于 2010-7-18 14:48:59 | 显示全部楼层
回复【33楼】TeWu T5
-----------------------------------------------------------------------
"而不是觉得它是配角,没多大学习价值,然后就迷茫了,放弃了 "

呵呵,这就对了。

出0入0汤圆

发表于 2010-7-18 15:34:21 | 显示全部楼层
【34楼】 fickle

在LED 行业,FPGA 也是主角。

出0入0汤圆

发表于 2010-7-18 22:40:36 | 显示全部楼层
回复【35楼】ygxycp
【34楼】 fickle  
在led 行业,fpga 也是主角。
-----------------------------------------------------------------------

移动通讯基站设备,FPGA也是主角,干诸如DUC(数字上变频)、DDC(数字下变频)、CFR(峰值因子降低)、DPD(数字预失真)这些活,可以没有DSP,不能没有FPGA

将来可能会广泛应用的MIMO技术,FPGA在并行处理、数据吞吐能力方面的优势,秒杀DSP毫无悬念

出0入0汤圆

发表于 2010-7-18 22:40:58 | 显示全部楼层
回复【35楼】ygxycp
-----------------------------------------------------------------------
求救!!!两个M8 SPI 主从模式通讯,从机进不了中断!!!

呵呵,还fpga呢,spi整明白没?

出0入0汤圆

发表于 2010-7-18 23:03:04 | 显示全部楼层
本来看你的回帖,以为你有一定水平。也许,在争论或者争吵中,擦亮点思想火花。

现在看来,我错了。因为这将沦为一场无知口水战。

你自己慢慢享受吧。good luck!

出0入0汤圆

发表于 2010-7-19 00:34:21 | 显示全部楼层
和你不同的是,我不会对自己熟悉的领域之外的事情妄加评论
楼主用图像处理的例子来说明FPGA和DSP的区别,我则举了数字通讯领域,FPGA比DSP擅长的地方

7楼的评论,有点“我觉得2000块钱的数码相机已经很好用了,实在理解不了那些花上万买单反的人”的味道
用2000块钱的相机,可以拍出很多好照片,但我相信,不会有专业影楼把数码相机当主力器材的

出0入0汤圆

发表于 2010-7-19 05:45:32 | 显示全部楼层
FPGA是大方向,集成DSP,ARM核感觉是让工程师能平顺的过渡,就像很多MCU开始集成CPLD。。。。

出0入0汤圆

发表于 2010-7-19 08:15:24 | 显示全部楼层
回复【41楼】dubu 老 K
fpga是大方向,集成dsp,arm核感觉是让工程师能平顺的过渡,就像很多mcu开始集成cpld。。。。
-----------------------------------------------------------------------

能推荐几款集成cpld的mcu?正头痛着呢

出0入0汤圆

发表于 2010-7-19 08:19:24 | 显示全部楼层
不错,学习了!

出0入0汤圆

发表于 2010-7-19 10:41:13 | 显示全部楼层
不错,我购买了

出0入0汤圆

发表于 2010-7-19 19:51:37 | 显示全部楼层
我认为FPGA会成为主流,我设计的电机控制平台最早使用的就是gal加一些延时芯片,随后改向了cpld(开始是MAX7000系列,然后整套控制系统升级为3.3V,换用MAXII系列),原因就是CPLD既可以实现时序控制也可以实现逻辑控制,DSP作为主控芯片也从51系列至TI 24系列到现在的28系列。
从上周一直在开会,讨论下一代电机控制平台的设计,提的最多还是FPGA平台,如果运算量比较大的话,可以增加DSP作为协处理器。FPGA的可配置性太强了,同一硬件平台,完全可以通过配置,满足高中低端平台的控制需要,节约硬件开发的时间。况且FPGA有很多现成的IP,可以大大加快产品的开发进度。
单纯的电机控制,哪怕是伺服电机,采用28系列的DSP都可以很好的满足设计要求,但是一旦上升到控制平台,FPGA就有无可比拟的优势,况且FPGA还可以内嵌DSP软核。

出0入0汤圆

发表于 2010-7-19 21:01:21 | 显示全部楼层
回复【45楼】simplorer

fpga的可配置性太强了,同一硬件平台,完全可以通过配置,满足高中低端平台的控制需要,节约硬件开发的时间。况且fpga有很多现成的ip,可以大大加快产品的开发进度。

-----------------------------------------------------------------------

严重支持这句话

我们做的东西,也是这种特色,一套硬件平台,不同的需求配置不同的程序,不仅硬件的可重用性很好,软件的可重用性、扩展性和升级能力也都非常突出。

出0入0汤圆

发表于 2010-7-20 09:20:02 | 显示全部楼层
cool

出0入0汤圆

发表于 2010-7-20 10:29:05 | 显示全部楼层
回复【45楼】simplorer
我认为fpga会成为主流,我设计的电机控制平台最早使用的就是gal加一些延时芯片,随后改向了cpld(开始是max7000系列,然后整套控制系统升级为3.3v,换用maxii系列),原因就是cpld既可以实现时序控制也可以实现逻辑控制,dsp作为主控芯片也从51系列至ti 24系列到现在的28系列。
从上周一直在开会,讨论下一代电机控制平台的设计,提的最多还是fpga平台,如果运算量比较大的话,可以增加dsp作为协处理器。fpga的可配置性太强了,同一硬件平台,完全可以通过配置,满足高中低端平台的控制需要,节约硬件开发的时间。况且fpga有很多现成的ip,可以大大加快产品的开发进度。
单纯的电机控制,哪怕是伺服电机,采用28系列的dsp都可以很好的满足设计要求,但是一旦上升到控制平台,fpga就有无可比拟的优势,况且fpga还可以内嵌dsp软核。
-----------------------------------------------------------------------

推断你的职位不会很高。(呵呵,别生气。职位需要实力的)

1、你没有理解为什么要用28xx?“如果运算量比较大的话,可以增加dsp作为协处理器。”不仅仅运算,更重要的是hrpwm。

2、28xx很多芯片。低端 027,高端335。足可以应付所有需要。

3、“从上周一直在开会,提的最多还是fpga平台”人云亦云,永远拿不到高薪。正好是你的机会。

4、“fpga就有无可比拟的优势” 天生的残疾,没有adc。

出0入0汤圆

发表于 2010-7-20 15:46:17 | 显示全部楼层
回复【48楼】fickle  
-----------------------------------------------------------------------

呵呵,我的职位确实不高,单纯的工程师而已,手底下有两人一起搞新项目!
1. 可能是我没有说清楚,我做的电机平台不使用PWM斩波,相反,运算反而是关键,特别是牵涉到无位置传感这一块;
2. 28系列确实很多芯片,我用过2812和28335;
3. 大家一起讨论,无所谓人云亦云,下一代平台打算采用上位机全图形界面控制,利用简单的图表拖动和数据输入,实现控制,现在正在核算成本,如果成本允许的话,基本上就定为FPGA平台,初步的核算,低端平台采用FPGA利润率确实比较低,这是个问题;
4. 2812有ADC,但是精度实在不敢恭维,如果外加校正电路,成本也会增加,对于高精度的采集,一般采用外扩ADC,可能本人水平有限,不加校正,已经很注意布板和隔离了,但是ADC的精度也就是在1%~2%之间。

出0入0汤圆

发表于 2010-7-20 15:50:34 | 显示全部楼层
回复【46楼】TeWu  T5
-----------------------------------------------------------------------

我们之前走过弯路,控制单元版本过多,造成现场维护和生产的不便,这次新平台打算统一到一个硬件平台下,通过配置改变功能,只是低端平台用FPGA价格上不好办,毛利率很低啊,中高端平台式可以的,这是很难解决的问题。

出0入0汤圆

发表于 2010-7-20 16:53:51 | 显示全部楼层
回复【50楼】simplorer
回复【46楼】tewu  t5
-----------------------------------------------------------------------
我们之前走过弯路,控制单元版本过多,造成现场维护和生产的不便,这次新平台打算统一到一个硬件平台下,通过配置改变功能,只是低端平台用fpga价格上不好办,毛利率很低啊,中高端平台式可以的,这是很难解决的问题。
-----------------------------------------------------------------------

我们只做高端的,不跟别人拼硬件成本。

出0入0汤圆

发表于 2010-7-20 17:42:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-20 20:03:43 | 显示全部楼层
fpga做中值滤波代码要4000多行?没那么夸张吧?

出0入0汤圆

发表于 2010-7-20 23:07:15 | 显示全部楼层
回复【48楼】fickle
-----------------------------------------------------------------------

FPGA不能实现adc?天生残疾?
FPGA实现adcourdev_569601.rar(文件大小:25K) (原文件名:adc16.rar)
http://www.21ic.com/app/eda/201005/58979.htm

FPGA只要只电阻网络然后自己作为模拟比较器还是可以实现adc的功能的。

出0入0汤圆

发表于 2010-7-20 23:07:50 | 显示全部楼层
***为21和谐IC

出0入0汤圆

发表于 2010-7-21 00:16:44 | 显示全部楼层
回复【49楼】simplorer
-----------------------------------------------------------------------

1、2812的adc不是你的问题,确实不好。不过 2808 adc还不错。(做过pwm控制,电流达到0.5%,当然是控制精度。)

2、如果不要pwm,不需要那么快的adc,28xx不是一个好的选择。如果和pc通信,也许lpc17xx(100MHz,12bit adc,也有类似28xx的

eQEP功能)是考虑范围。再有stm32,价格确实有优势,但是用在工业上,小心为上。再有freescale 56fxx 系列,芯片相当皮实,可是

它的ide应该说,如果不考虑成本,是我用过最好的。
-----------------------------------------------------------------------------------------------------------------------
呵呵,做研发,真是体力活。看的出来,你很有经验。因为一个成功项目,方案论证是非常非常重要的,你充分意识到这点。

祝你工作愉快。

出0入0汤圆

发表于 2010-7-21 10:31:55 | 显示全部楼层
回复【56楼】fickle  
-----------------------------------------------------------------------

谢谢推荐,freescale的片子从未使用过,有机会尝试一下,顺便问下,这个系列的片子在国内使用量怎么样?如果太少的话,考虑到技术支持和采购,用起来可能有困难。
现在电子元器件都在涨价,成本真不好控制。

出0入0汤圆

发表于 2010-7-21 10:59:12 | 显示全部楼层
好贴!

出0入0汤圆

发表于 2010-7-21 11:15:34 | 显示全部楼层
高人!

出0入0汤圆

发表于 2010-7-21 11:42:08 | 显示全部楼层
回复【57楼】simplorer
-----------------------------------------------------------------------

freescale 是从mot分出来的,技术实力足可和ti一争高下。资料相当丰富,甚至许多原型应用提供原理图,pcb和源代码。不过开发成

本和adi差不多,同时在中国推广不力,使用者很少。(freescale打击ti一点,就说ti的芯片使用双电源。ti赶紧做了一大批电源芯片

比如d301之类。)

据说,呵呵,瞎说的。以前上海有个高人率领5、6个人,号称开发出一款dsp,实际上只达到流片水平。被别人发现仿制就是mot的

560001。而这个dsp 560001 是大概300位以色列和美国工程师花了3年时间研发出来的。560001在当年真火,斯坦福的那个sr830就是它

做的。

呵呵,工作之余,8挂一下。
-----------------------------------------------------------------------------------------------------------------------

哦,推荐一个网站,

http://www.spectrumdigital.com/

ti的2808 和 28335 原型板其实都是这家公司做的。原理图,pcd(gerber)都放了出来。也许你早就知道。(里边也有仿真器图,你手底下有人,也许

整点酒钱。呵呵,开玩笑)

出0入0汤圆

发表于 2010-7-22 12:30:17 | 显示全部楼层
回复【60楼】fickle  
-----------------------------------------------------------------------

谢谢fickle 详细的回复,http://www.spectrumdigital.com/这个网站较熟,想当年第一块F2812的开发板就差点买它的,考虑到成本和支持,才选用了SEED的。2812串口下载的软件就是使用它的,原理图找到过,不过还真是没注意有gerber。
有时候想想还是做芯片这帮人牛啊,人家把芯片做好了,我们这些应用工程师想精通某款芯片都得仔细专研,想想芯片工程师得考虑多少东西啊,佩服!

出0入0汤圆

发表于 2010-7-22 12:49:55 | 显示全部楼层
全国大专辩论会——电子专题又开始了。

出0入0汤圆

发表于 2010-7-23 00:25:27 | 显示全部楼层
这么好的文章必须mark

出0入0汤圆

发表于 2010-7-25 21:09:34 | 显示全部楼层
看过必顶!~~

出0入0汤圆

发表于 2010-7-26 07:15:40 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-7-26 09:05:15 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-7-27 14:45:13 | 显示全部楼层
看过后受益匪浅,上面的都是高手……

出0入0汤圆

发表于 2010-8-6 12:45:47 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-6 13:27:26 | 显示全部楼层
坐在地底下围观。

出0入0汤圆

发表于 2010-8-6 15:19:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-6 17:01:45 | 显示全部楼层
坐在地底下围观一下长点见识。

出0入0汤圆

发表于 2010-8-7 20:21:20 | 显示全部楼层
多谢楼主的指导~!对DSP、FPGA、ARM~!有进一步的认识~!

出0入0汤圆

发表于 2010-8-13 22:58:27 | 显示全部楼层
谢谢啦!!!!!!!!!

出0入0汤圆

发表于 2010-8-26 18:16:57 | 显示全部楼层
不明原因的围观群众

出0入0汤圆

发表于 2010-8-27 15:24:36 | 显示全部楼层
MARK!

出0入0汤圆

发表于 2010-8-27 16:32:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-28 19:20:39 | 显示全部楼层
看过后受益匪浅,上面的都是高手……

出0入0汤圆

发表于 2010-8-30 15:22:28 | 显示全部楼层
长见识了

出0入0汤圆

发表于 2010-8-31 17:22:37 | 显示全部楼层
深有感触,学习了

出0入0汤圆

发表于 2010-9-1 08:51:12 | 显示全部楼层
继续学习

出0入0汤圆

发表于 2010-9-2 23:40:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-3 15:07:35 | 显示全部楼层
希望再次看到类似酷帖~~~~

出0入0汤圆

发表于 2010-9-10 17:46:42 | 显示全部楼层
楼主啊 我买的就是你们的板子 428套餐的那个 明天就能拿到手了 哈哈

出0入0汤圆

发表于 2010-9-11 10:30:57 | 显示全部楼层
不理解FPGA的人会觉得这是个配角,以为只能做些简单的逻辑。知道FPGA优势的会知道这是个好东西。本人刚刚涉足运动控制行业,觉得用FPGA稿运动控制简直是太合适了。

出0入0汤圆

发表于 2010-9-11 12:04:43 | 显示全部楼层
回复【42楼】suipeng70  
-----------------------------------------------------------------------

smartfushion 集成fpga和cotex3

出0入0汤圆

发表于 2010-9-11 12:21:17 | 显示全部楼层
回复【86楼】semonpic
不理解fpga的人会觉得这是个配角,以为只能做些简单的逻辑。知道fpga优势的会知道这是个好东西。本人刚刚涉足运动控制行业,觉得用fpga稿运动控制简直是太合适了。
-----------------------------------------------------------------------

呵呵,考虑ti c2000系列么?

出0入0汤圆

发表于 2010-9-12 11:10:42 | 显示全部楼层
回复【88楼】fickle
-----------------------------------------------------------------------
TI的产品我一直比较信赖,苦于能力有限不敢茫然下手啊,见笑了。

出0入0汤圆

发表于 2010-9-16 10:52:51 | 显示全部楼层
受益啦,谢谢

出0入0汤圆

发表于 2010-9-16 11:07:23 | 显示全部楼层
回复【89楼】semonpic  
回复【88楼】fickle
-----------------------------------------------------------------------
ti的产品我一直比较信赖,苦于能力有限不敢茫然下手啊,见笑了。
-----------------------------------------------------------------------

根据我的经验,如果对ADC要求较高的话,F2812不是一个号选择,好在有F2808,F28335用于替代。

出0入0汤圆

发表于 2010-9-16 11:31:47 | 显示全部楼层
回复【30楼】fickle
回复【29楼】tewu t5
回复【28楼】fickle   
毫无疑问,对于这两者asic,使用更广泛只能是dsp或者arm。因此,我提出配角的观点。   
-----------------------------------------------------------------------  
第一次见到把fpga定义为asic的。。。。  
照这样的观点,运放也是asic,虽然运放应用很广泛,但价格比起dsp或arm,便宜太多了,因此,运放也是配角,不值得学习  
fpga市场这十年来所得发展态势,自然说明了它适合很多人的需求,就像上面提到的,fpga在软件无线电领域就有dsp无法替代的应用  
楼主文章举得那个例子,fpga仅仅完成dsp功能而已,但在一些领域,fpga比dsp更有优势,比如高倍率的cic差值、lpdc编解码、asic原型开发  
很多单片fpga提供解决......
-----------------------------------------------------------------------

按照你的意思,那么vxworks也只能算个配角?ucos才是主流?

出0入0汤圆

发表于 2010-9-16 13:33:30 | 显示全部楼层
回复【7楼】fickle
以为fpga或者cpld,或者将来叫什么名字,只能是永远的配角。
曾有段时间想学习学习。可是随便翻一本书,发现他们实现的东东,大多用其他器件早已完成。实在找不出学习他们的理由。于是乎,
放弃了。
-----------------------------------------------------------------------

工具没有主角配角之分,只有适合自己的最佳选择,这里适合自己不仅仅是最优,很多时候还关系到个人的知识体系,同样的功能有人用FPGA实现,有人用DSP实现。都无可厚非。再说,我们有几个人敢说自己设计的东西就是最优选择呢?

目前FPGA在运用上有很多其他芯片无法替代的地方。只能从量的方面说他是冷门罢了。

出0入0汤圆

发表于 2010-9-16 20:27:10 | 显示全部楼层
有水平呢!

出0入0汤圆

发表于 2010-9-16 23:13:24 | 显示全部楼层
回复【93楼】418425051 宽
-----------------------------------------------------------------------

工具本身确实没有主角配角,只是人的看法而已。

至于fpga其实就是一个可笑商业噱头。看似入门简单的fpga,其实要求使用者具有极其庞杂和高深的基础知识。如果没有几

年或者十几年的功力,想达到使用arm/dsp效果,简直就是痴人说梦。即使完成了,形成产品了,过了几年发现芯片买不到了。

因此,作为电子工程师的设计,确确实实要分清哪些是主流主角,摒弃那些非主流东东。

出0入18汤圆

发表于 2010-9-17 08:59:26 | 显示全部楼层
呵呵 看着学习!!!

出0入0汤圆

发表于 2010-9-17 09:41:08 | 显示全部楼层
硬件是配角,软件(广义的)才是王道

出0入0汤圆

发表于 2010-9-17 09:51:54 | 显示全部楼层
回复【97楼】obit
硬件是配角,软件(广义的)才是王道
-----------------------------------------------------------------------

嗯,房子是配角,装潢才是王道……

出0入0汤圆

发表于 2010-9-17 12:35:45 | 显示全部楼层
不要对自己不了解的东西下结论

出0入0汤圆

发表于 2010-9-17 15:10:54 | 显示全部楼层
回复【100楼】fickle  
-----------------------------------------------------------------------
上次的事情我道歉,如果您气还不顺麻烦只针对我,不要针对我家人,父母养大我不容易。

出0入0汤圆

发表于 2010-9-17 18:45:44 | 显示全部楼层
不错不错 学习了

出0入0汤圆

发表于 2010-9-18 10:49:33 | 显示全部楼层
回复【95楼】fickle
回复【93楼】418425051 宽
-----------------------------------------------------------------------
工具本身确实没有主角配角,只是人的看法而已。
至于fpga其实就是一个可笑商业噱头。看似入门简单的fpga,其实要求使用者具有极其庞杂和高深的基础知识。如果没有几
年或者十几年的功力,想达到使用arm/dsp效果,简直就是痴人说梦。即使完成了,形成产品了,过了几年发现芯片买不到了。
因此,作为电子工程师的设计,确确实实要分清哪些是主流主角,摒弃那些非主流东东。

-----------------------------------------------------------------------

能够用通用芯片实现的功能当然不推荐使用fpga,但是很多运用是DSP/ARM等通用芯片无法实现的(至少目前没有完美的解决方案),我手上就有几个这样的案子。并非非主流就要摒弃,反观大多数复杂运用的原型设计甚至初步量产都需要用到FPGA。大规模运用后才会有厂商推出的ASIC解决方案。说以并不能否认FPGA在工程运用中的地位。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 18:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表