很多时候单片机也能做,为什么用FPGA,哪些场合什么项目选型的时候考虑用FPGA? 速度优势,价格优势,还是可靠性或开发速度?
举个例子,比如要做个智能小车,这个单片机控制电机加无线,是很常规的做法,用FPGA也能实现,FPGA方案和单片机相比有什么优势吗?

1,FPGA运行速度快
FPGA内部集成锁相环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多.在高速场合,单片机无法代替FPGA
2,FPGA管脚多,容易实现大规模系统
单片机IO口有限,而FPGA动辄数百IO,可以方便连接外设.比如一个系统有多路AD,DA,单片机要进行仔细的资源分配,总线隔离,而FPGA由于丰富的IO资源,可以很容易用不同IO连接各外设
3,FPGA内部程序并行运行,有处理更复杂功能的能力
单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率
4,FPGA有大量软核,可以方便进行二次开发
FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以,FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现
目前FPGA主要用于通信和视频处理方面比较多,随着价格的降低,消费电子也用的不少!
FPGA内部集成锁相环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多.在高速场合,单片机无法代替FPGA
2,FPGA管脚多,容易实现大规模系统
单片机IO口有限,而FPGA动辄数百IO,可以方便连接外设.比如一个系统有多路AD,DA,单片机要进行仔细的资源分配,总线隔离,而FPGA由于丰富的IO资源,可以很容易用不同IO连接各外设
3,FPGA内部程序并行运行,有处理更复杂功能的能力
单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率
4,FPGA有大量软核,可以方便进行二次开发
FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以,FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现
目前FPGA主要用于通信和视频处理方面比较多,随着价格的降低,消费电子也用的不少!

回复
打赏帖 | |
---|---|
宏定义和const关键字定义被打赏5分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 | |
【Freertos】任务管理被打赏10分 | |
分享博世的两种不同的喷射系统模式被打赏5分 | |
汽车+开路实验与短路实验被打赏10分 | |
多点式电子控制汽油喷射系统知识分享被打赏10分 | |
分享机械控制式汽油喷射系统被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】解决基于CH341制作无线模块时芯片发热问题被打赏31分 | |
【分享开发笔记,赚取电动螺丝刀】使用STM32F103ZE主控调试RS485通讯的避坑经验被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】移植xprintf模块被打赏27分 |