我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。本公众号作者ALIFPGA,多年FPGA开发经验,所有文章皆为多年学习和工作经验之总结。
PIC:Peripheral Interface Controller。
FPGA:Field Programmable Gate Array。
关于二者:
区别:
FPGA是逻辑门器件,可以配置成为并行逻辑模块。FPGA最大优点是并行处理。例如构建一百个与非门,FPGA可以在一个周期同时完成信号输出。PIC是controller类型,执行process,例如C语言程序。之所以称之为process,是因为这个程序是一条接着一条执行的,无法同时执行。所以即使可以给100个信号求与非,它们的输出也是一个一个输出的,不会像fpga一样同时输出。
优缺点:
fpga的优点是并行结构处理小逻辑非常迅速,而且可以构建非常多的并行模块。曾经做过一个项目就是需要20路并行SPI通信接口的,只能用fpga。因为pic系列一般只有2-3个SPI模块。
另外,fpga的引脚十分灵活,真正做到了设计电路时不需要考虑接线。因为fpga引脚功能都可以编程完成。pic虽然也提供了各种IO口的分配方式,但不是完全随意,仍然有一些限制。
fpga缺点是价格较高,处理process的能力不如pic强。另外,pic的外设非常丰富,这也是fpga不足的地方。一般的单片机都有adc(甚至dac),内部flash,超级多的timer,pwm生成器,比较器等等。可以说,随便买一块pic,这些外设都是有的。但是fpga的话外设很少(也可以买带有外设的,不过贵),一般flash、adc都必须用户买芯片自己配置。
移植性:
pic的程序基本上可以完全用fpga来做。但是fpga能做的pic不一定能做。fpga目前有软核可以使用,使得c语言编程成为可能。软核就是利用hdl语言在fpga内部用逻辑电路搭出一个控制器,用于实现process。并且这个控制器的IO口可以根据用户自己定义。不过软核也有缺点,就是速度还不够快,优化做的不如pic好。而且fpga软核的使用价格也很高。
个人经验:
pic系列的做控制系统,功能已经完全足够了。一般情况下不需要用到fpga。当信号非常多,非常复杂的时候,一般采取fpga+controller的方式。fpga作为状态机、片选、外设接口来用,controller执行程序。
在执行process效率不需要太高、并行接口较多、或者需要电路非常灵活的情况下,选择fpga作为开发还是不错的。只是考虑到软核价格的问题,一般只能做开发。
-
FPGA
+关注
关注
1625文章
21620浏览量
601186 -
PIC
+关注
关注
8文章
507浏览量
87422
原文标题:关于PIC和FPGA
文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论