FPGA和单片机、DSP的差异
FPGA和单片机在概念上的区别
单片机是什么?单片机可以简单理解为集成在单一芯片上的微型计算机,也有运算器、控制器、存储器、总线及输入输出设备,采用也是存储程序执行的方式,对单片机的编程就是对其中的ROM写入程序,在加电后ROM中的程序会像计算机内存中的程序一样得到逐条的执行。
单片机有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。
FPGA是什么?FPGA则是操控层次更低,所以自由度更大的芯片,对FPGA的编程在编译后是转化为FPGA内的连线表,相当于FPGA内提供了大量的与非门、或非门、触发器(可以用与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚至CPU。
FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的优势有三个方面:
1)通信高速接口设计。FPGA可以用来做高速信号处理,一般如果AD采样率高,数据速率高,这时就需要FPGA对数据进行处理,
比如对数据进行抽取滤波,降低数据速率,使信号容易处理,传输,存储。
2)数字信号处理。包括图像处理,雷达信号处理,医学信号处理等。优势是实时性好,用面积换速度,比CPU快的多。
3)更大的并行度。这个主要是通过并发和流水两种技术实现。并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。
FPGA的并发可以在不同逻辑功能之间进行,而不局限于同时执行相同的功能。流水是通过将任务分段,段与段之间同时执行。其实这一点和CPU相似,只是CPU是指令间的流水而FPGA是任务间流水或者我们可以说是线程间流水。
利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务,超越了数字信号处理器(DSP)的运算能力。
FPGA和单片机、DSP的差异
总的来说,FPGA与DSP的区别主要是对处理数据速率的区别:
DSP适用于系统较低取样速率、低数据率、多条件操作、处理复杂的多算法任务、使用C语言编程、系统使用浮点。适合于较低采样速率下多条件进程、特别是复杂的多算法任务。
FPAG适用于系统高速取样速率、高数据率、框图方式编程、处理任务固定或重复、使用定点。) 、适合于高速采样频率下,特别是任务比较固定或重复的情况以及试制样机、系统开发的场合。
现在常用的软件无线电平台就是利用FPGA+DSP+ARM的结构,FPGA主要对高速数据进行预处理,降低数据的速率,然后将数据送给DSP,去实现复杂的算法,ARM主要用来做显示控制。
|