在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡評FPGA——Arduino MKR Vidor 4000

西西 ? 來源:劉林華 ? 作者:電子發燒友 ? 2018-12-19 14:31 ? 次閱讀

Arduino MKR Vidor 4000的出現確實讓我挺意外的,為何?因為它是一款FPGA開發板。眾所周知,Arduino最深入人心的東西就是其簡單的入門,快速的開發,這種特性很好的體現在它的硬件以及開發工具上,因此,Arduino一度成為剛接觸嵌入式編程的學生或者工程師群體,甚至是電子業余愛好者的首選。

但是,MKR Vidor 4000的推出打破了這種簡單,FPGA相比MCU入門更難,開發工具也龐大復雜,學習成本大,甚至說你沒有一定的專業知識連入門都不易,那這種有違Arduino特色的板子意義何在?我理解為兩點:1.目前人工智能火爆,而FPGA則是人工智能中可謂全能的角色,高端可用于推理加速乃至訓練,入門級的則作為嵌入式邊緣計算的輔助被很好的應用在低功耗領域,如物聯網、移動電子設備等,所以FPGA作為一個“有潛力的風口”切入不錯;2. 目前Arduino所有的產品核心器件較為單一,都是簡單的通用MCU,甚至連個“全家桶”MCU都沒有,這種單一適合初學者,但是無法滿足更高需求的用戶,因此推更加靈活和強大的FPGA作為產品線的補充,用于覆蓋更多用戶群體。當然,這只是我個人的推測,事實究竟是怎樣?相信看完本文你也會有自己的理解。

MKR Vidor 4000

MKR Vidor 4000作為一款拇指型的開發板,小巧精致是它固有的特性,這是優點,同時也是缺點。優點在于沒有復雜的硬件,上手理解應該會比較簡單;而缺點則是因為太過簡單,所以注定不可能搭載很多功能,而且更多的功能實現都需要靠外接其它功能外設支持,成本花銷會很大。不過對于MKR Vidor 4000來說,這種缺點不明顯,為何?因為它不像其它的Arduino開發板一樣搭載純粹的MCU,MKR Vidor 4000搭載英特爾FPGA與Microchip MCU相結合,其特有的屬性讓它變得非常靈活又難能可貴,比如它可以做以往Arduino系列板卡做不到的事情,處理高速的音頻視頻信號

從我見到MKR Vidor 4000的第一眼開始就知道這個板子非常適合作為原型開發,當你了解清楚這板子的功能后完全可以基于此做應用級的開發,板子搭載的眾多豐富接口都有配套的外設模塊,有錢就買買買,當然沒錢的話玩玩單板其實也是可以的,畢竟FPGA的無限可編程性還是能給大家留下一個預期。Vidor 4000的外設接口分布如下圖所示:

Vidor 4000板子的背面很簡潔,主要是板卡的電源管理部分。而對應的另一側則是miniPCIe接口,這在Arduino的開發板上還屬于十分罕見,也是因為這個接口的原因,很多應用可以直接基于Vidor 4000做原型開發。板子PCB上也貼心的開了兩個U型凹槽用于螺絲固定,真正方面那些需求融合進自己產品設計的用戶。

在靠近MicroUSB接口處有兩顆電源芯片,一顆為TI的bq24195L,集成了開關模式電池管理和系統電源路徑管理,可以應用于各類移動電源、平板電腦和其他便攜式設備的單節鋰離子和鋰聚合物電池,在這塊板子上,當同時存在電池與USB供電的時候,通過內部開關會自動切換為USB供電;另一顆為英特爾的EZ6301QI,這是一款可擴展的多輸出 PowerSoC,集成了 3 個獨立電源:一個 1.5A DC-DC 降壓轉換器(包含集成式電感器)和兩個300mA的線性穩壓器,如下圖所示,僅需少量的外圍器件就可以組成Vidor 4000所需要的電源系統。

板子正面的5V MicroUSB供電接口,外接I2C模塊接口以及鋰電池供電接口。

另一側則是幾個比較“高端”的接口,miniPCEIe、MiPi CSI、MicroHDMI

這種接口一般在Arduino的MCU開發板上基本不會存在,但在Vidor 4000上齊全了,這主要依托于板載的這顆Intel Cyclone 10 FPGA,因此板子上的miniPCIe接口所涉及到的引腳都是FPGA的可編程IO口,用戶可以自己定義需要的接口信號,非常靈活,也易于嵌入式到現有的產品中去。

英特爾的Cyclone FPGA具體型號為10CL016YU256CBG,包含16K邏輯單元,504 KB嵌入式RAM和56個18x18 bit HW乘法器,用于高速DSP。每個pin腳都可以在150 MHz以上速度進行切換,并可配置為UART,(Q)SPI,高分辨率/高頻率 PWM,正交編碼器,I2C,I2S,Sigma Delta DAC等功能。

FPGA部分關聯的功能以及外設接口,參照下表:

MCU部分關聯的功能以及外設接口,參照下表:

上電使用

如果您本身熟悉FPGA開發,那么毫無疑問你對Verilog,VHDL和RTL都不陌生。雖然Vidor的工具鏈提供了對這些語言的支持,但這肯定不是它原本的目的,要不然用戶為何要選擇這個Arduino的FPGA開發板(市面上更多功能,更強性能的FPGA開發板多的是),而且,這樣的話將Arduino的生態置于何處?

Vidor 4000的目的顯然是讓任何人都可以更輕松配置FPGA,玩轉FPGA,所以傳統的FPGA開發方式肯定不是Vidor 4000想傳達給用戶的,這點很重要,也就是說,你可以將Vidor看作是一個使用FPGA的平臺,而不是一個學習FPGA的平臺。真要學習FPGA的朋友,推薦使用愛板網評測過的另一款小腳丫FPGA比較合適。

官方為MKR Vidor 4000開發板提供了不少庫以及IP,如MIPI相機輸入、DVI輸出、120MHz DAC、QR碼跟蹤器、PWM、四編碼器、I2C,I2S,SPI和UART、FFT、FIR濾波器,所以,我們可以直接拿來使用。

必要的開發環境安裝有:(Vidor 4000三件套)

Arduino IDE工具

MKR Vidor開發板支持包

庫管理包

東西準備就緒,那就可以使用上面的“三件套”實現基本的功能演示,我們借助了樹莓派上的攝像頭,通過MiPi攝像頭接口輸入,MicroHDMI輸出,輸出連接到顯示器上。

程序是一個二維碼檢測器。

源碼如下

#include “VidorGraphics.h”

#include “VidorCamera.h”

VidorCamera vcam;

#define MAXDIM 10

static uint16_t x[QR_PT_DET_NUM], y[QR_PT_DET_NUM];

struct qrPtn {

uint16_t x[QR_PT_DET_NUM];

uint16_t y[QR_PT_DET_NUM];

};

static qrPtn qrBufferPtn[MAXDIM];

uint16_t count = 0, last;

void setup() {

Serial.begin(9600);

// wait for the serial monitor to open,

// if you are powering the board from a USB charger remove the next line

while (!Serial);

if (!FPGA.begin()) {

Serial.println(“Initialization failed!”);

while (1) {}

}

/**

begin() enable the I2C communication and initialize the display for the camera

*/

if (!vcam.begin()) {

Serial.println(“Camera begin failed”);

while (1) {}

}

/**

qrrec.begin(); enable the QR code recognition

*/

vcam.qrrec.begin();

delay(4000);

Serial.println(“Power ON”);

}

void loop() {

/**

qrrec.readQRCode(); get, if available, the coordinates of the QR code in the screen

*/

vcam.qrrec.readQRCode();

for (int i = 0; i 《 QR_PT_DET_NUM; i++) {

if (vcam.qrrec.qr.pt[i].valid) {

x[i] = (vcam.qrrec.qr.pt[i].xs + vcam.qrrec.qr.pt[i].xe) / 2;

y[i] = (vcam.qrrec.qr.pt[i].ys + vcam.qrrec.qr.pt[i].ye) / 2;

vcam.vgfx.Cross(x[i], y[i], 65535);

}

}

last = count % MAXDIM;

for (int i = 0; i 《 QR_PT_DET_NUM; i++) {

vcam.vgfx.Cross(qrBufferPtn[last].x[i], qrBufferPtn[last].y[i], 0, 0);

qrBufferPtn[last].x[i] = x[i];

qrBufferPtn[last].y[i] = y[i];

}

count++;

}編譯下載,實際的運行結果如下,可以在顯示器上看到經過攝像頭采集,FPGA處理后輸出的圖像效果,顯然圖像處理方面應該沒有任何調教過,優化,所以看起來會比較渣,但是二維碼的檢測定位的功能是沒問題的。

除了此demo外還有不少關于攝像頭輸入和HDMI輸出的demo,相較之下還比這個二維碼檢測的demo少了些許功能,而在圖像輸出上也沒什么提升,所以不再演示了。從Vidor 4000提供的一些demo不難發現基本上都是關于一些IP的使用,明白我意思不,這個所謂的“使用”,不是教你如何去學習開發FPGA,而是教你如何像先前使用Arduino IDE開發MCU那樣去玩FPGA,官方將復雜的功能實現都模塊化成庫或者IP,用戶只需通過原本的Arduino IDE工具像簡單的MCU開發一樣去使用FPGA。

小結

相比傳統的Arduino開發板,Vidor 4000的優勢在于集成了靈活多變的FPGA,體現在板卡上的話就是具備了MiPi CSI(沒有MIPI DSI接口是個遺憾)、MicroHDMI、miniPCIe等與傳統的Arduino MCU開發板不同的“先進”接口,配合Arduino官方提供的庫以及相關的IP,用戶可以在原本簡單的Arduino開發板是實現更加靈活、更多功能的擴展,實現更復雜的應用。在不少用戶眼里,認為Arduino的簡單是理所當然的,但是我要說的是我們現在所能得到Arduino的一切理所當然的簡單是靠許許多多工程師傾注心血用復雜去構建,Arduino之所以能在全球范圍內流行,并不是因為它本身簡單,而是它將復雜簡單化,就比如說文章中的MKR Vidor 4000,這或許是你這輩子最有底氣去接觸FPGA的一個產品了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603419
  • FPGA開發板
    +關注

    關注

    10

    文章

    122

    瀏覽量

    31506
收藏 人收藏

    評論

    相關推薦

    如何使用FPGA開發板編程出更高級的應用

    最新的努力,推出一款名為 Arduino MKR Vidor 4000 的新型低成本開發板,其代表了一種在嵌入式系統設計中使用 FPGA
    的頭像 發表于 03-20 08:05 ?3884次閱讀
    如何使用<b class='flag-5'>FPGA</b>開發板編程出更高級的應用

    Arduino MKR WIFI 1010上使用LoRa庫遇到問題

    Arduino MKR WIFI 1010上使用LoRa不能初始化SX1276. 不知道是SPI在庫里不能使用還是其他的問題,請大師指點!謝謝!
    發表于 04-21 14:18

    MKR Vidor 4000一款拇指型的FPGA開發板

    MKR Vidor 4000作為一款拇指型的開發板,小巧精致是它固有的特性,這是優點,同時也是缺點。優點在于沒有復雜的硬件,上手理解應該會比較簡單;而缺點則是因為太過簡單,所以注定不可能搭載很多功能,而且更多的功能實現都需要靠外
    發表于 08-05 17:56 ?1235次閱讀
    <b class='flag-5'>MKR</b> <b class='flag-5'>Vidor</b> <b class='flag-5'>4000</b>一款拇指型的<b class='flag-5'>FPGA</b>開發板

    使用Grove Sensor的Arduino MKR1010和阿里云IoT

    電子發燒友網站提供《使用Grove Sensor的Arduino MKR1010和阿里云IoT.zip》資料免費下載
    發表于 10-27 14:17 ?0次下載
    使用Grove Sensor的<b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>1010和阿里云IoT

    Arduino MKR GSM 1400和DTMF開源

    電子發燒友網站提供《Arduino MKR GSM 1400和DTMF開源.zip》資料免費下載
    發表于 11-02 09:52 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b> GSM 1400和DTMF開源

    使用MKR IoT載體的Arduino燈控制器

    電子發燒友網站提供《使用MKR IoT載體的Arduino燈控制器.zip》資料免費下載
    發表于 11-17 14:34 ?0次下載
    使用<b class='flag-5'>MKR</b> IoT載體的<b class='flag-5'>Arduino</b>燈控制器

    帶有Arduino MKR1010和MKR RGB Shield的Otto Biped

    電子發燒友網站提供《帶有Arduino MKR1010和MKR RGB Shield的Otto Biped.zip》資料免費下載
    發表于 11-21 10:27 ?0次下載
    帶有<b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>1010和<b class='flag-5'>MKR</b> RGB Shield的Otto Biped

    使用 Arduino MKR Vidor 4000 快速輕松地應用 FPGA

    發表于 11-25 19:00 ?0次下載
    使用 <b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b> <b class='flag-5'>Vidor</b> <b class='flag-5'>4000</b> 快速輕松地應用 <b class='flag-5'>FPGA</b>

    Arduino MKR1000通用Remonster

    電子發燒友網站提供《Arduino MKR1000通用Remonster.zip》資料免費下載
    發表于 12-09 16:51 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>1000通用Remonster

    基于Arduino Zero/MKR的示波器

    電子發燒友網站提供《基于Arduino Zero/MKR的示波器.zip》資料免費下載
    發表于 12-15 10:08 ?0次下載
    基于<b class='flag-5'>Arduino</b> Zero/<b class='flag-5'>MKR</b>的示波器

    帶有MKR Vidor 4000的LED排序器

    電子發燒友網站提供《帶有MKR Vidor 4000的LED排序器.zip》資料免費下載
    發表于 12-19 09:27 ?0次下載
    帶有<b class='flag-5'>MKR</b> <b class='flag-5'>Vidor</b> <b class='flag-5'>4000</b>的LED排序器

    Arduino MKR1000的大負載

    電子發燒友網站提供《Arduino MKR1000的大負載.zip》資料免費下載
    發表于 01-04 09:50 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>1000的大負載

    如何將Arduino MKR和Portenta安裝到機柜中

    電子發燒友網站提供《如何將Arduino MKR和Portenta安裝到機柜中.zip》資料免費下載
    發表于 02-03 11:39 ?0次下載
    如何將<b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>和Portenta安裝到機柜中

    如何使用Arduino MKR GSM 1400的蜂窩定位

    電子發燒友網站提供《如何使用Arduino MKR GSM 1400的蜂窩定位.zip》資料免費下載
    發表于 06-15 15:06 ?0次下載
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b> GSM 1400的蜂窩定位

    使用Arduino MKR1000通過WiFi進行HID攻擊

    電子發燒友網站提供《使用Arduino MKR1000通過WiFi進行HID攻擊.zip》資料免費下載
    發表于 06-25 11:10 ?0次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>MKR</b>1000通過WiFi進行HID攻擊
    主站蜘蛛池模板: 男人天堂伊人网| 色天使色婷婷丁香久久综合| 老师下面好紧| 真人一级一级特黄高清毛片| 性xxxxbbbb免费播放视频| 色91在线| 黄视频在线观看免费| 翘臀白浆| 好爽的视频黄| 四虎影院成人| 7777在线| 成人黄色免费网站| 亚洲男人天堂岛| 人人射人人澡| 日韩一级特黄| 欧美精品黑人性xxxx| 四虎永久在线日韩精品观看| 久久色婷婷| 天天澡天天摸天天爽免费| 亚洲码欧美码一区二区三区| 日本在线一级| 欧美又粗又长又湿又黄的视频| 国产黄网站| 欧美一区二区三区四区视频 | 91精品福利久久久| 久久精品国产99国产精品澳门| 女人张开腿男人桶| 黄色免费看网站| 美女露出扒开尿口让男人桶| 日日噜噜噜噜人人爽亚洲精品 | 黄色国产在线视频| 日本三级视频| 老湿司午夜爽爽影院榴莲视频| 亚洲日本在线观看视频| 嫩草影院国产| avt天堂网| 欧美一级欧美三级在线| 午夜精品久久久久久影视riav| 欧美黄色大全| 欧美性另类69xxx| 干一干操一操|