背景
微控制器作為目前嵌入式系統(tǒng)設(shè)計(jì)的主力軍在各行各業(yè)得到了廣泛的應(yīng)用,但隨著物聯(lián)網(wǎng)、智能硬件、VR等一系列新興概念產(chǎn)品的問(wèn)世,市場(chǎng)產(chǎn)品有明顯的多樣化趨勢(shì),功能更為豐富,因而這也給工程師在嵌入式產(chǎn)品設(shè)計(jì)的時(shí)候提出了新的挑戰(zhàn)。舉個(gè)例子,雖然如今的微控制器產(chǎn)品系列細(xì)分化更為徹底,對(duì)每個(gè)層次的領(lǐng)域都有相關(guān)的MCU產(chǎn)品支持,但這也意味著器件的選型和資源評(píng)估需要更加謹(jǐn)慎,傳統(tǒng)MCU開(kāi)發(fā)平臺(tái)的選型就是一個(gè)難題,對(duì)于講究適用就夠的原則,選性能功能強(qiáng)大豐富的微控制器浪費(fèi)資源、浪費(fèi)成本,選低端的入門(mén)級(jí)微控制器可能又會(huì)出現(xiàn)功能不支持,IO口不足等問(wèn)題,另外不同平臺(tái)的有不同的開(kāi)發(fā)環(huán)境流程等要熟悉,這也大大延長(zhǎng)了工程師在項(xiàng)目開(kāi)發(fā)中的時(shí)間;而在另一個(gè)對(duì)于以前來(lái)說(shuō)相對(duì)小眾的FPGA領(lǐng)域中,隨著工藝的進(jìn)步和EDA設(shè)計(jì)工具的不斷發(fā)展,F(xiàn)PGA的集成度越來(lái)越高,而對(duì)應(yīng)的功耗和成本卻在不斷降低,F(xiàn)PGA的門(mén)檻(學(xué)習(xí)成本和價(jià)格成本)也相應(yīng)地越來(lái)越低,因而也使得其被廣泛應(yīng)用到各種領(lǐng)域中去,越來(lái)越多的嵌入式系統(tǒng)設(shè)計(jì)直接采FPGA設(shè)計(jì),或者使用FPGA產(chǎn)品作為系統(tǒng)功能的拓展,總之,目前的嵌入式系統(tǒng)設(shè)計(jì)中越來(lái)越多的出現(xiàn)FPGA的身影。
小腳丫STEP-MXO2 二代
作為目前依舊小眾化,但市場(chǎng)前景樂(lè)觀(guān)的FPGA市場(chǎng),眾多知名的廠(chǎng)商都推出了各種看似功能強(qiáng)大、但實(shí)際體驗(yàn)效果并不好的FPGA開(kāi)發(fā)平臺(tái),與此同時(shí),國(guó)內(nèi)有些廠(chǎng)商卻另辟新意,推出了一些精致小巧的FPGA開(kāi)發(fā)板,看似沒(méi)什么功能,可玩性不強(qiáng),但實(shí)質(zhì)卻是接口豐富,靈活易用,既可作為FPGA入門(mén)學(xué)習(xí)、又能用于項(xiàng)目開(kāi)發(fā),比如說(shuō)筆者手上拿到的這款小腳丫STRP-MXO2 二代FPGA開(kāi)發(fā)板。
小腳丫FPGA開(kāi)發(fā)板是基于Lattice公司的MXO2 FPGA系列,說(shuō)起這款開(kāi)發(fā)板,它還有個(gè)“前世今生”的故事。首先要說(shuō)明一下的,目前上面看到圖片是小腳丫二代產(chǎn)品,其實(shí)在此之前,它還有一個(gè)一代的產(chǎn)品,當(dāng)時(shí)還在愛(ài)板網(wǎng)眾籌過(guò),那會(huì)看到不少網(wǎng)友分享了使用的帖子,很多都吐槽一代的小腳丫開(kāi)發(fā)板板載FPGA芯片的邏輯資源有些少,另外在一代上沒(méi)有板載下載器,只是提供了額外的下載器,使用攜帶不夠方便,原本精致小巧、給人印象不錯(cuò)的板子就因?yàn)檫@個(gè)或那個(gè)的原因沒(méi)給人留下多深刻的印象,不過(guò),也正是因?yàn)橐淮媳┞冻龅膯?wèn)題,經(jīng)過(guò)了眾多工程師的試用、市場(chǎng)一番洗禮,小腳丫STEP-MXO2二代有種浴火重生的感覺(jué),在一代上遺留的、被吐槽的問(wèn)題在二代上有了大幅的改進(jìn),更增加了許多的外設(shè)功能,廢話(huà)不多說(shuō),直接上實(shí)物圖。
相較于一代,二代的包裝由塑料盒改成了紙質(zhì)包裝盒,可能每個(gè)人的看法不一樣,以筆者這樣的,認(rèn)為如果用一代上那種看起來(lái)廉價(jià)的塑料盒倒不如用現(xiàn)在這種,不僅環(huán)保,多出的成本還可以花功夫在板卡本身上。不過(guò),包裝盒本身也值得吐槽下,說(shuō)不上什么原因,但是看起來(lái)就不像是一個(gè)開(kāi)發(fā)板的包裝。
包裝盒背面倒是印有小腳丫公司的信息,包括電話(huà)、地址,有需求的可以直接打電話(huà)聯(lián)系,灰常方便,背面的一個(gè)二維碼倒是讓人有些摸不著頭腦,沒(méi)做任何說(shuō)明。
本著我不入地獄誰(shuí)入地獄的救世原則,筆者還是以實(shí)際行動(dòng)直接掃一掃看看結(jié)果,原來(lái)是小腳丫FPGA開(kāi)發(fā)板的公眾賬號(hào),還別說(shuō),想要學(xué)習(xí)這個(gè)開(kāi)發(fā)板,關(guān)注這個(gè)公眾賬號(hào)還真有必要,里面包含了快速上手以及精品例程的教程,讓你在移動(dòng)端也可以抽空學(xué)習(xí),學(xué)霸必備。
展開(kāi)包裝盒可以看到關(guān)于小腳丫FPGA開(kāi)發(fā)板的資料、教程鏈接以及小腳丫板卡擴(kuò)展IO口引腳的信號(hào)定義,這讓工程師可以對(duì)小腳丫開(kāi)發(fā)板有個(gè)初步認(rèn)識(shí),可以做些什么用途有個(gè)大概的了解,非常方便。
事實(shí)上,雖然在上文筆者已經(jīng)透露小腳丫二代增加了板載的下載器以及一些功能外設(shè),但不可否認(rèn)的是,二代在達(dá)成上述條件的同時(shí)保持了一代的身材,板卡尺寸為52mm X 18mm,依然小巧精致。
板載外設(shè)資源:
-
1路Micro USB接口
-
2位7段數(shù)碼管;
-
2個(gè)RGB三色LED;
-
4路撥碼開(kāi)關(guān);
-
4路按鍵;
-
8路用戶(hù)LED;
-
36個(gè)用戶(hù)可擴(kuò)展I/O(其中包括一路SPI硬核接口和一路I2C硬核接口)
-
集成 FT232編程器
從上圖中可以了解到,小腳丫 二代是一款超小巧40pin DIP結(jié)構(gòu)的FPGA開(kāi)發(fā)板,它所采用的核心FPGA芯片為L(zhǎng)attice公司MXO2系列的4000HC產(chǎn)品,相比于小腳丫一代板載的FPGA芯片 MXO2 1200HC系列產(chǎn)品,二代板載的FPGA芯片資源提升了將近4倍,同時(shí)板上集成了FT232編程器和按鍵、撥碼開(kāi)關(guān)、數(shù)碼管、LED等多種外設(shè)資源。
另外,小腳丫二代同樣擴(kuò)展出了36個(gè)FPGA IO接口,通過(guò)2.54mm通孔焊盤(pán)引出,可以和面包板配合使用靈活的嵌入到其它的嵌入式系統(tǒng)設(shè)計(jì)中。當(dāng)然最值得肯定的是,二代板載的FT232芯片可以實(shí)現(xiàn)板載的編程,無(wú)需像一代一樣外接一個(gè)編程器,不僅方便,而且大大提升了靈活性。
二代板載外設(shè)功能的提升一方面得益于設(shè)計(jì)的改進(jìn),另一方面功不可沒(méi)的是板載的這顆Lattice公司的MXO2系列的4000HC FPGA芯片,更多的資源也使板載的功能得到了豐富。
開(kāi)發(fā)環(huán)境
每個(gè)FPGA廠(chǎng)商都有自己的EDA工具,使用可編程器件開(kāi)發(fā)的都知道FPGA的EDA工具的重要性,所以EDA工具的好用與否也有可能影響工程師對(duì)這家公司的FPGA產(chǎn)品態(tài)度。Lattice公司自家的EDA工具為Diamond,支持windows32位、64位以及linux 32位、64位系統(tǒng)版本,有可選性,工程師可以選擇自己擅長(zhǎng)的平臺(tái)開(kāi)發(fā)。
Diamond可以去Lattice官網(wǎng)下載,非常方便,并且Diamond的安裝包相對(duì)于賽靈思或者Altera的安裝包要小的多。
Diamond安裝完成后要將官網(wǎng)免費(fèi)獲取到的License拷貝到Diamond安裝目錄的License文件夾下,設(shè)置環(huán)境變量指向正確地址,完成后就可以打開(kāi)Diamond工具。如果是第一次接觸FPGA,第一次接觸小腳丫的開(kāi)發(fā)環(huán)境,總會(huì)有用戶(hù)會(huì)覺(jué)得EDA工具安裝會(huì)是一件比較麻煩的事,小腳丫的團(tuán)隊(duì)可能早早就考慮到這種情況,所以在包裝盒上直接印上了詳細(xì)的軟件安裝教程,非常的貼心。
上電啟動(dòng)
小腳丫二代開(kāi)發(fā)板是通過(guò)MicroUSB接口上電啟動(dòng)的,開(kāi)發(fā)板在出廠(chǎng)的時(shí)候已經(jīng)預(yù)載了一個(gè)演示Demo,上電后可以直接看到Demo的運(yùn)行狀態(tài)。可以從下圖中看到,在二代上可展示的外設(shè)功能,如數(shù)碼管、RGB LED、LED燈,這些功能在預(yù)置的出廠(chǎng)程序中都有展示到。
實(shí)際來(lái)了解下小腳丫二代的開(kāi)發(fā)流程,新建了File-->New-->Project
添加相關(guān)設(shè)計(jì)文件或約束文件,這里筆者直接新建工程,所以不需添加,直接Next
點(diǎn)擊下一步,選擇綜合工具,Synplify Pro(第三方)和Lattice LSE(原廠(chǎng))都可以,這里就使用原廠(chǎng)Lattice LSE。
下圖則是新建好后Diamond的整個(gè)工程界面。
選擇Verilog Files,Name還是填寫(xiě)之前命名的LED,然后New。
完成代碼的設(shè)計(jì)后選擇左邊的Process欄,雙擊Synthesis Design,對(duì)設(shè)計(jì)進(jìn)行綜合,綜合完成后Synthesis Design顯示綠色對(duì)勾,如圖
這里就必須要改變一下了,不能再直接套用小腳丫1代的配置,因?yàn)槎馁Y源多了,管腳定義相應(yīng)也有所變化,管腳配置的話(huà)可以參考小腳丫二代的包裝盒上,實(shí)際用起來(lái)效果很好,非常方便。因?yàn)樘子玫男∧_丫1代中代碼只涉及到了兩個(gè)LED,所以這邊只有兩個(gè)LED管腳分配,另外設(shè)置IO口類(lèi)型為L(zhǎng)VCMOS33。
到這里完成了第一個(gè)程序流文件的生成,然后可以通過(guò)Programmer下載到FPGA中,當(dāng)然,首先要選擇正確的下載器,這里的使用的FTDI的芯片。
下載成功后會(huì)顯示相應(yīng)的PASS狀態(tài)提示。
當(dāng)然,這只是入門(mén)級(jí)的LED閃爍的程序,這里也只是走了整個(gè)工程開(kāi)發(fā)的過(guò)程,對(duì)于復(fù)雜的工程開(kāi)發(fā)需要預(yù)仿真和后仿真等,保證最終的程序設(shè)計(jì)邏輯和時(shí)序符合我們的設(shè)計(jì)要求。Diamond也自帶了Active-HDL仿真軟件,如果對(duì)這部分內(nèi)容感興趣的網(wǎng)友,可以參考愛(ài)板論壇中關(guān)于小腳丫1代中的工程仿真范例,本文就不再累述了。
小結(jié)
看完小腳丫二代,你會(huì)驚嘆它小巧精致的外觀(guān),開(kāi)箱上電即可使用的便利,當(dāng)然或許你也會(huì)覺(jué)得和市面上動(dòng)輒各種功能的FPGA開(kāi)發(fā)板,小腳丫二代的外設(shè)還是不夠看,但是如果你換一種思維,考慮到開(kāi)發(fā)平臺(tái)的成本,考慮到開(kāi)發(fā)平臺(tái)以后的實(shí)用性,小腳丫FPGA可以滿(mǎn)足你諸多不同層次的需求,比如層疊同樣大小的DIP40標(biāo)準(zhǔn)的模塊;或是作為獨(dú)立功能的模塊使用在主板上,增加各種外設(shè)功能;還可以在實(shí)驗(yàn)中可以直接插在面包板上進(jìn)行各種測(cè)試,方便靈活,避開(kāi)了FPGA使用QFP/BGA封裝的問(wèn)題等,這無(wú)論對(duì)于初入手FPGA的學(xué)生來(lái)說(shuō),還是想做項(xiàng)目開(kāi)發(fā)的工程師來(lái)說(shuō),甚至是精于各種DIY的電子發(fā)燒友來(lái)說(shuō),都是值得期待的。
另外,筆者在之前查看小腳丫二代資料的時(shí)候,同樣發(fā)現(xiàn)了小腳丫團(tuán)隊(duì)另外的幾款開(kāi)發(fā)板STEP-MAX10、STEP-WiFi、STEP-Baseboard等信息,由此看來(lái)小腳丫團(tuán)隊(duì)的野心不小,結(jié)合目前市面上火熱的物聯(lián)網(wǎng)、智能家居概念,想要構(gòu)建一個(gè)屬于FPGA的開(kāi)源生態(tài)系統(tǒng)環(huán)境,當(dāng)然,這一步想要達(dá)成還有待考驗(yàn),可以說(shuō)前途是光明的,道路是曲折的,至于到底會(huì)怎樣,交給時(shí)間來(lái)驗(yàn)證吧。
評(píng)論
查看更多