单片机可以理解为集成在单一芯片上的微型计算机系统,麻雀虽小可是五脏俱全,也有运算器、控制器、存储器、总线及输入输出设备,采用也是存储程序执行的方式,对单片机的编程就是对其中的rom写入程序,在加电后rom中的程序会像计算机内存中的程序一样得到逐条的执行。当今的单片机还集成了a/d、d/a转换,并串口等多种与外界进行数据交换的手段。单片机计算速度和性能有限,但在一些基本控制上搓绰绰有余。
fpga则是操控层次更低,所以自由度更大的芯片,对fpga的编程在编译后是转化为fpga内的连线表,相当于fpga内提供了大量的与非门、或非门、触发器(可以用与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要fpga规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚至cpu。fpga在抗干扰,速度上有很大优势。
单片机和fpga的区别,本质是软件和硬件的区别。
单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;
fpga设计属硬件范畴,它的硬件(fpga)是可编程的,是一个通过硬件描述语言在fpga芯片上自定义集成电路的过程;
主要是结构上的区别
单片机是一种微处理器,类似于电脑cpu的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上,还有日常你看得到的东西上!
fpga它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合,目前在国内fpga还算是一个新兴的行业,当然它的价格也要比单片机贵得多!
二者最大的区别:单片机(无论哈佛总线结构或者冯诺依曼结构)均为取出指令->执行,指令是顺序执行的(即使是中断,其发生后的中断服务程序也是顺序执行的);而fpga(包括cpld)是基于逻辑门和触发器的,它是并行执行方式,即当clock上升沿到来时,所有的触发器都会动作,它没有取出指令->执行这种操作,数字电路中所有逻辑门和触发器(d,sr等)均可以实现,它适合真正意义上的并行任务处理。
STM32L552开发板——开发环境
VIAVI展示应用于5G的测试解决方案,支撑三大运营商的承载网建设
清新绿OPPO R9s最小清新的时尚手机
铜表面粗糙度的变化会引起PCB材料的色散变化吗?
FLIR A310红外热像仪实现全天候24/7自动化远程监控
单片机和FPGA的区别
力科推出100/10BASE-T以太网解码软件
温度测量的两种方式对比 热电偶温度测量与热电阻温度测量
基于SPIHT算法的医学图像无失真压缩
综合分析接地电阻柜的电阻值如何选取!
如何解决新能源汽车过冬难题?
家庭种植箱如何进行智能调控和温度感应
赋能全球客户,中国智能驾驶能否远渡重洋?
如何为您的应用选择合适的SSD驱动器?
在赛灵思FPGA SoC平台上使用VITIS AI加速人工智能应用
Qorvo推出业界最高效率功率放大器以提高小型蜂窝性能
PAM4码型发生器选择攻略
PLC设计电气接线图的要求说明
测压传感器的标定方法和结构原理解析
美浦森推出直流无刷电机方案