【資訊】天啦魯,這十餘款創客設計竟然由FPGA搞定 [轉]

 

按理說‘高大上’的FPGA,多出如今航天航空(如火星探測器)、通訊(如基站、數據中心)、測試測量等高端應用場景。但麥迪卻也發現,近期,在不少創客的做品內部都有FPGA的影子。這或許也從側面看出,打從總理先生的「雙創」態度以來,開發者們踊躍的態度,創客們的智能硬件做品已經再也不是小打小鬧,更多的向尖端技術靠攏,也更貼近產業化應用。前端

 

但畢竟,FPGA在開發者心目中有着‘開發入門難’、‘貴’等等初印象,對於FPGA在創客做品中的開發與應用,麥迪想從兩個角度和你們探討:「什麼時候考慮在本身的設計中應用FPGA?」、「如何能用好FPGA?」算法

 

別看這兩個問題簡單,要想在天馬行空的創客做品中造成具體的答案卻也是極爲不易的。因此麥迪也特別邀請到了賽靈思(賽靈思公司是FPGA的發明者,)全球高級副總裁湯立人先生陪着咱們一塊兒尋找答案。這位華裔高級副總裁是技術出身,在賽靈思工做了20餘年,身懷好幾個相關領域專利,因此他的看法絕對有權威性。固然這位高級副總裁也沒空手來,還帶來了十幾款在創客活動上被圍觀的FPGA基因的做品,但願藉由實例多給你們些許啓發。編程

 

關注1:什麼時候考慮在本身的設計中應用FPGA?後端

對於第一個問題,湯立人先生認爲:首先FPGA在算法處理、計算性能和功耗方面有軟件和其它硬件不具有的能力。目前看來FPGA或者說賽靈思當前所側重的全可編程(All Programmable)器件,在最前沿技術領域的應用集中在如下幾類:數據融合和圖像處理;控制和分析一體化人機界面;加密/安全/實時控制;從傳感器/機器到互聯網的無縫鏈接等方面。通俗來講能夠應用在可視化、智能分析、感知和反應等過程當中。安全

 

應用場景則主要集中在:視頻/視覺(8K顯示;無人機;沉浸式顯示);ADAS(環視系統;自主泊車;半自動化駕駛);5G無線(海量MIMO;雲RAN);工業物聯網(智能電網;電機控制;M2M)等方面。服務器

 

「就ADAS爲例,」湯立人先生解釋道:「目前全球範圍內參與ADAS或無人駕駛的項目中,大多都採用了全可編程FPGA進行攝像頭前端的視頻實時數據處理和控制。目前看來,ADAS攝像頭對高速環境、高像素、行人偵測追蹤、等方面有較高要求,若是有傳輸延遲可能形成重大交通事故。因此將FPGA放在攝像頭端能夠快速實時進行視頻處理直接對車輛或者駕駛員發佈控制信號,無需對獲取的信息進行二次分析和處理,因此大大減小了傳輸延遲問題,同時減輕了後端處理資源消耗。」網絡

 

對於創客們參與的開發,也有相似的應用場景。目前看來主要集中在機器視覺、智能機器人、虛擬現實、機器控制、運動控制等方面。其中尤以視頻和視覺(Video/Vision)處理居多。架構

 

 

圖:賽靈思全球高級副總裁湯立人先生在創客活動現場。
圖:賽靈思全球高級副總裁湯立人先生在創客活動現場。
ide

6款FPGA典型創客實例模塊化

 

話很少說,先看兩款機器視覺的應用案例:

1.智能交互機器人

 

 

圖2

 

小巧可愛、能與人互動的「Nao」機器人具有有必定水平的人工智能,可以與人親切的互動。其使用基於Zynq Z7010的NI myRIO,實時控制Nao的走動,同時藉助基於Spartan-6 FPGA的處理能力,幫助機器人實現智能立體視覺。使用NAO SDK for NI LabVIEW便可快速地編寫機器人應用程序,將它打形成一個物聯網的人機交互入口。

 

2.智能人臉識別攝像頭

 

 

圖3

 

人臉檢測、識別以及跟蹤能夠說是應用最普遍的一種視頻分析應用。傳統的解決方案一般是將視頻回傳到後臺或上傳到雲端,利用後臺服務器的強大性能對視頻進行分析和處理。而基於Zynq的智能攝像頭方案,能夠提供最小體積功耗的人臉識別解決方案,直接嵌入攝像頭內部完成相應處理,大大節約了處理時間,節省了服務器的處理資源。這是一個來自瑞爲技術的智能攝像頭解決方案。ZynqSoC在這個應用中完成了視頻圖像的預處理以及基於DNN(深度神經網絡)算法的智能人臉檢測識別,ZynqSoC的架構輔以高度優化的人工智能算法使得這個解決方案的性價比很高。這樣一個高度集成的智能攝像頭能夠實時處理720p高清,30幀/秒的視頻,同時能夠最多識別32張人臉。

 

 

麥迪觀察:不少時候機器視覺是和機器控制配合使用,開發者能夠選擇獨立的FPGA芯片,但創客們更適合採用帶有FPGA的第三方開發板,或是直接使用帶有FPGA內核的單芯片(SoC)進行開發。採用諸如ZynqSoC(ARM+FPGA異構單芯片)進行開發,能有較好的體積和功耗優點。

 

 

下面是兩款視頻方面的典型案例:

3. 3D頭戴顯示設備(來自某知名品牌)

 

圖4

 

這是一款爲3D而生的頭戴式觀影設備。內置5.5寸2K屏幕,虛擬屏幕能夠達到15米遠,1000英寸大小的效果。支持800度近視調節,單眼清晰度高達280x1440。在這一案例中,賽靈思的ZYNQ器件主要用來實現高清圖像的視頻旋轉、縮放、畸變矯正、色差補償等功能。

 

4. CarmVision-智能電子顯微鏡

該智能電子顯微鏡經過圖像採集,處理,可完成高分辨率的圖像顯示,測量和細節檢查。其中,ZynqSoC因爲其內部擁有雙核的Cortex A9處理器,在完成複雜的圖像處理之餘,還能完成操做界面(UI),菜單等操做系統的工做。

 

 

圖5

 

 

麥迪觀察:因爲FPGA應用於視頻領域已比較成熟,不少視頻應用案例都是來自於已商用的展現。不一樣於原型開發,這類商用產品中多選擇像ZynqSoC(ARM+FPGA的SoC),受訪人表示,這對於提升產品集成度,實現快速上市會有很大助益。

 

再來看兩款年輕創客的FPGA做品,主要用在運動控制

5. 爬牆機器人

 

 

圖6

 

東南大學學生這次展現的爬牆機器人是在開源硬件大賽中產生的優秀獲獎做品,這一項目爲下降高空做業的潛在危險提供了方案。這次展現的爬牆機器人可以在牆壁上吸附和移動,而且可以改變方向,實現牆面二維運動。該設計採用Artix-35T FPGA具有豐富的I/O接口及硬件邏輯資源,能夠完成十個以上的步進電機控制,實現了本設計的完整解決方案。

 

6. Ancient Wall – E

 

機器人瓦力現身,這個機器人演示是東南大學學生利用Basys3開發板的做品。機械手經過讀取人手佩戴的傳感器信息,實時操控機械手臂,完成模仿人手的某些動做。它實現了遠程對機器人機械臂的體感控制,也可用於按固定程序抓取、搬運物件或操做工具。在工業生產中可用於在危險環境下工做,提升人的安全性。其基於賽靈思Artix-7 FPGA完成,Artix-7在IO數量、外設接口方面的優點使得單芯片能夠同時支持16路電機的控制,快速精準地完成對機械手臂的控制。

 

圖7

 

麥迪觀察:據上述兩個方案的設計者表述,採用FPGA進行機器控制的主要優點在於其擁有豐富I/O口,能夠實現多路並行控制,通常串口難以實現。這也極大豐富了他們設計的可拓展性。例如在爬牆機器人設計中,機器人能夠控制‘腳’位移,同時控制機械臂執行諸如擦玻璃的操做。雖然這些學生做品看上去還有些簡單甚至是簡陋,但也欣喜的看到FPGA的開發應用已經真實走進了校園,將來的創客們已經藉助於FPGA的平臺將他們的想法展示在了衆人面前。

關注2:如何能用好FPGA?

這個問題和FPGA開發難度相關。

 

通常咱們會認爲創客可能缺少軟硬件基礎,作相關開發會有難度。但沒想到,對這個顧慮,湯立人先生反倒給出出人意料的答案,「我我的更看好創客的技術實力。不少創客來自初創型公司或徹底是一我的,在這些公司中,我的的開發能力和項目控制能力每每更強,通常軟件或硬件都會懂一些,會很適合FPGA的編程。固然更重要的是,對於賽靈思而言,目前全面推出的全可編程(All Programmable)器件,就更進一步下降了硬件編程的難度。由於其全部編程環境(例如全新的SDSoC開發環境)都是基於C語言的環境,能完成‘軟件定義硬件’‘軟件定義系統’的開發。這樣作的好處是打破了原先只有少數硬件工程師才能使用FPGA的門檻。不少創客工程師是軟件工程師,懂C語言,就能進行編程開發。這點從好多大學生利用咱們的器件進行開發就能夠看到,他們不少並無FPGA的相關開發經驗。」

 

湯立人進一步表示,「從大環境來看,軟件定義會是趨勢,幾乎如今每一個系統都在呼喚可編程,從可編程的數據中心,到可編程的智能汽車開發。因此爲了方便來自各領域的開發者使用,賽靈思在工具和開發環境方面花了很大的精力完善,把編程開發門檻降到最低。固然硬件方面,爲了方便開發者使用,咱們也和許多具體的參考板設計公司合做,開發適合各領域應用的具體板子給到你們,咱們有一面開發板牆(下圖),上面有不少合做方的開發板,入門的開發者能夠經過這些板子或合做方獲得技術支持。」

 

 

圖:來自Xilinx和其合做夥伴的開發板牆。
圖:來自Xilinx和其合做夥伴的開發板牆。

 

 

最後,湯總也開玩笑地對麥迪說:「你在大學裏學過C語言,也能來試試。」(對此,麥迪表示壓力仍大。)

附:全部其餘9個基於FPGA的創客實例展現

因爲當天帶的實例太多,麥迪就很少一一解釋了,毫無保留的列在下面,想看實例的小夥伴們請隨意吧。

 

7.極米(Gimi)微型投影儀

看電視不須要屏幕了!這款極米微型投影儀做爲便攜式投影系統,不但具有傳統投影儀的投影功能,其自己仍是一部輕便的家庭影院系統,有上萬種片源可供選擇觀看。

 

賽靈思Spartan-6系列FPGA在整個系統中主要完成接口擴展,系統外設整合及視頻校訂的功能。藉助可編程邏輯的特性,完美地支持了產品的高集成度及快速上市週期。

 

 

 

 

 

圖9

 

 

 

 

 

 

 

 

 

8.智能象棋對弈機器人

本演示利用Basler相機進行圖像採集,並基於Compact RIO、NI SoftMotion、NI Vision等平臺進行圖像分析處理,能夠完成象棋識別、抓取和移動,並結合智能象棋算法實現自動佈局、人機對戰等功能。

 

基於Xilinx Kintex-7 FPGA 的NI Compact RIO平臺實現機器視覺和運動控制,完成對棋子的抓取和移動功能。

 

應用領域:機器視覺和運動控制能夠應用於工程領域的各行各業,好比機械製造、醫藥醫療、電子電氣、自動測量等等。

 

 

 

 

圖10

 

 

 

9.高清無線圖形傳輸模塊

實現高清圖像的遠距離(1~50千米)雙向傳輸,同時能夠提供數據傳輸通道,可普遍應用於無人機圖傳、寬帶無線電臺、廣電視頻中繼等領域。

 

Zynq芯片中邏輯部分完成無線通訊的物理層調製解調信號處理功能,處理器部分實行MAC層協議和網絡層協議。單芯片完成整個通訊系統功能。

利用Zynq單芯片代替傳統通訊ASIC,實現動態調整通訊體制、頻段、帶寬的具有認知功能的智能無線通訊系統。

 

 

圖11

 

 

10.智能PAD 示波器

將電路信號的波形呈如今手機或者平板電腦上,用於智能硬件產品的調試,也能夠應用於K12青少年課外科技活動的輔助工具。

 

Zynq芯片完成對高速數模轉換器(ADC)的數據採集,分析和處理,而後利用其中的ARM處理器支持無線WiFi網絡,與手機或平板電腦通訊。

 

利用Zynq單芯片代替傳統的FPGA+ARM或DSP+ARM模式,產品體積減少爲原來的50%,性能提高20%

 

 

 

 

圖12

 

 

 

11.魔方機器人

東南大學學生的優秀做品。系統經過徹底閉環的運動控制,識別魔方各個面的顏色實現魔方還原步驟的解算,並控制舵機精確還原魔方。

 

Artix-35T器件實現了圖像採集、顏色識別及計算處理功能,同時提供多路PWM信號完成對舵機的驅動控制

 

 

圖13

 

12.智能工業相機

高度集成化的微小型機器視覺系統,將圖像的採集、處理與通訊功能集成於單一相機內,從而提供了具備多功能、模塊化、高可靠性、易於實現的機器視覺解決方案。

基於Zynq單芯片的工業相機方案,不只能夠完成複雜的圖像處理功能,還能同步實現運動控制、軌跡跟蹤、總線通訊等功能,實現一體化機器視覺解決方案

應用領域:工業機器視覺產品普遍應用於運動控制、機器人控制、印刷設備、包裝機械、自動分檢、自動識別等多個領域。該公司產品不只包括工業相機,還提供視頻分析以及相關的運動控制等一體化解決方案。

 

 

 

圖14

 

 

13.SDN軟件定義網絡陣列

藉助Zynq芯片單板的堆疊陣列實現四個千兆端口的軟件定義網絡設備,可用於軟件定義網絡系統開發,以及定製化小型網絡產品開發,可組合成專用可編程計算加速陣列。

 

Zynq芯片中邏輯部分實現軟件定義網絡系統的OpenFlow數據面,ARM處理器部分實現軟件定義網絡系統的控制面。單芯片實現一個完整的軟件定義網絡設備。利用Zynq將計算和網絡融合在一塊兒,用戶能夠用軟件編程的方式快速實現特定的網絡設備,好比路由器和防 火 牆等

 

 

 

圖15

 

 

 

14.智能老鼠迷宮

 

 

圖16

 

這是華中科技大學的做品。智能電腦鼠可自行尋找最佳路徑,快速完成路徑規劃。操控者也可選擇爲電腦鼠採用紅外傳感器或視覺傳感器。該設計基於Zynq芯片上的可編程邏輯部分可快速完成100幀/秒以上的高速圖像處理、低延時的紅外傳感器數據獲取、以及快速的電機控制確保電腦鼠的運動速度。同時Zynq的Cortex-A9雙核可完成判斷等算法和對外通信,以及後續智能應用。

 

15.智能書法器

機器人也能寫書法?沒錯,東南大學學生利用FPGA驅動控制毛筆寫字,將書法這一中國特點傳統文化同現代科技巧妙結合在了一塊兒。

 

Artix-35T器件內存儲了相應的字庫信息,在書寫時讀取字庫,並計算出毛筆的位移、輕重等信息,產生PWM信號控制步進電機,進而控制毛筆移動完成智能書寫器。

 

 

圖17

————轉自EDNchina

相關文章
相關標籤/搜索