dsp fpga arm该学那个呢
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开发平台上,然后做各种软件应用开发。
都很有用,如果时间有限、非要挑一个的话,就学学ARM吧。
作为学校选课来讲。。我真的建议都学
这几样都是十分有用的。。
但是
1 如果你想先学习一样的话
我建议FPGA 只需要数字电路基础
对其他的要求不高 FPGA不是单纯的写程序
其使用的硬件描述语言 并非指令 而是并行语句
需要考虑到硬件结构 语言常用的有VHDL 和 Verilog
2 在学习FPGA之后 有基础了 可以进行DSP的学习
建议熟练使用FPGA开发软件 Matlab 和 DSP Builder联合开发
对工作 科研都是很有用的
3 对于ARM 嵌入式系统
如果你有操作系统基础的话 可以进行学习
但是一般的电子类学生 操作系统的基础都不是很强
所以建议你最后学习
希望对你有所帮助!!
dsp属于信号处理领域,需要一些很专业的知识,比如傅里叶变换,卷积等知识或概念,建议做dsp,一定要具备这些基础的知识。而arm应用较广,也不需要多少太高深的知识,而且目前也用得极广,资源异常丰富,容易上手。综合建议,先学arm较好。
我觉得你对谁感兴趣就去学精通哪个。其他的只会使用就可以了,我好像认为他们的套路是一样的,会一个很容易就会其他的了。所以现在都在听课了
如果你学操作系统学得很好,就学ARM吧。
如果你数字电路学得很好,就在EDA和FPGA。
如果你自动控制和数字信号处理、图像处理学得好就去学DSP。
如果你的基础都不好,就根据自己的兴趣和爱好,结合基础,选一个学吧。
ARM好像应用得多一些。
这三个东东都是写程序的 ,如果你有单片机基础当然拓展到arm嵌入式方面比较容易上手,FPGA集成了嵌入式&DSP 要说应用当然是它的运用范围最广 只是目前价格很高普及不是很广 会C可以过度到FPGA的硬件描述语言Verilog语言 本人觉得还是FPGA最牛