嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。
MCU经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。而
arm本是一家专门设计MCU的公司,由于技术先进加上策略得当,这两年独霸
单片机市场。ARM的单片机有很多种类,从低端M0(小家电)到高端A8、A9(手机、平板电脑)都很吃香,所以也不是ARM的单片机一定要上系统,关键看应用场合。
DSP叫做数字信号处理器,它的结构与MCU不同,加快了运算速度,突出了运算能力。可以把它看成一个超级快的MCU。低端的DSP,如C2000系列,主要是用在电机控制上,不过TI公司好像称其为DSC(数字信号控制器)一个介于MCU和DSP之间的东西。高端的DSP,如C5000/C6000系列,一般都是做视频图像处理和
通信设备这些需要大量运算的地方。
FPGA叫做现场可编程逻辑阵列,本身没有什么功能,就像一张白纸,想要它有什么功能完全靠编程人员设计。如果你够NB,你可以把它变成MCU,也可以变成DSP。由于MCU和DSP的内部结构都是设计好的,所以只能通过软件编程来进行顺序处理,而FPGA则可以并行处理和顺序处理,所以比较而言速度最快。
那么为什么MCU、DSP和FPGA会同时存在呢?那是因为MCU、DSP的内部结构都是由IC设计人员精心设计的,在完成相同功能时功耗和价钱都比FPGA要低的多。而且FPGA的开发本身就比较复杂,完成相同功能耗费的人力财力也要多。所以三者之间各有各的长处,各有各的用武之地。但是目前三者之间已经有融合的态势,ARM的M4系列里多加了一个精简的DSP核,TI的达芬奇系列本身就是ARM+DSP结构,ALTERA和XINLIX新推出的FPGA都包含了ARM的核在里面。所以三者之间的关系是越来越像三基色的三个圆了。
嵌入式设备一般要满足实时性的要求,而实时性是要求数据输入和输出的延时满足一定的要求。当然嵌入式一般都便携性都比PC要好,功能没有PC多,PC是通用,他是专用,一般只专注某些功能的实现,比如DSP专注数字信号处理。个人觉得单片机和DSP差别不太大,DSP的结构更加适合做算术运算。FPGA基本就是个门结构了,面向硬件直接编程,弹性很大,如果单片机和DSP置位硬件的方式是通过打时序或者修改寄存器宏单元,那FPGA就是直接用一个个逻辑与或门去打接硬件电路, 编程是并行的,不带MCU但是你可以找IP核去加载上。ARM是个架构吧,跑ARM好像必须上操作系统,单片机和DSP都有自己的精简指令集,不加操作系统也可以跑
单片机:通常无操作系统,用于简单的控制,如电梯,空调等。
dsp:用于复杂的计算,像离散余弦变换、快速傅里叶变换,常用于图像处理,在数码相机等设备中使用。
arm:一个英国的芯片设计公司,但是不生产芯片。只卖知识产权。
fpga:现场可编程门阵列,以硬件描述语言(
verilog 或 V
hdl)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。
嵌入式:是相对于台式电脑而言,系统可裁剪,形态各异,可能体积、功耗、成本受限、实时性要求高,如示波器,手机,平板电脑,全自动洗衣机,路由器、数码相机,这些设备中,虽然看不到台式机的存在,但是都有一个或多个嵌入式系统在工作