我知道,我對與電子有關的所有事情都很著迷,但不論從哪個角度看,今天的現場可編程門陣列(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
+關注
關注
1626文章
21671瀏覽量
601897 -
PIC
+關注
關注
8文章
507瀏覽量
87479
原文標題:關于PIC和FPGA
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論