發布成功
小店提供基於(yu) Xilinx ZYNQ處理平台的一站式全套解決(jue) 方案。
一、ZYNQ係列可編程SoC簡介
Xilinx ZYNQ SoC主要針對中高端應用場景,與(yu) 其同等的有Altera Cyclone V和Arria 10係列SoC。該係列器件由2012年正式商用,2016年,在原來雙核A9的基礎上又增加了單核版本以麵向不同場景的應用,器件主要包括:①基於(yu) Artix-7 FPGA的Z-7007S(23K)、Z-7012S(55K)、Z-7014S(65K)、Z-7010(28K)、Z-7015(74K)和Z-7020(85K)(其中帶S的是單核型號),除Z-7012S和Z-7015帶4通道6.6Gbps GTP外,其他型號均不含高速收發器;②基於(yu) Kintex-7 FPGA的Z-7030(125K)、Z-7035(275K)、Z-7045(350K)和Z-7100(444K),均帶6.6~12.5Gbps高速收發器。
從(cong) 邏輯規模和I/O資源、收發器來看,基於(yu) Artix-7的係列器件主要麵向控製、接口和簡單計算處理等應用領域,如:高鐵和地鐵信號控製、機器人控製、工業(ye) 或3D打印機、無人機無人車控製、車載雷達前端、圖像接口與(yu) ISP處理、輕量級軟件無線電和GNSS係統等,性價(jia) 比較高。基於(yu) Kintex-7的器件主要麵向通信和高速網絡互聯、高性能存儲(chu) 、大規模並發計算等應用領域:如:高性能軟件無線電係統、4G/5G通信、高性能光交換中心、大規模存儲(chu) 控製器、雲(yun) 級大規模並發計算、機器學習(xi) 和AI應用、高性能雷達係統、ADAS係統等,起點較高。
ZYNQ係列器件推出7年以來,已經形成了良好的生態係統,在各行各業(ye) 得到廣泛的應用。
二、實用案例
樓主挑選了四個(ge) 案例對ZYNQ係列FPGA應用做簡要說明。
案例一:全景相機
在圖像和接口應用中挑全景相機做簡單說明。全景相機一般包括3~5個(ge) Sensor接入,做ISP處理、拚接然後輸出。這裏主要難點是存在較大的帶寬壓力,一般會(hui) 采用Z-7020及以上性能的處理器,考慮到成本壓力,還會(hui) 外掛一個(ge) 海思或其他的處理器來進行圖像壓縮,實際上,ZYNQ-7000器件上不帶視頻Codec也是其一個(ge) 短板,限製了不少應用。全景相機的實現框圖見下圖1所示。
圖1 全景相機實現框圖
如圖1所示,分成幾個(ge) 模塊:
(1)Cam_IF:圖像接口,一般采用Sony、OV或安森美的CMOS Sensor,有可能是多通道LVDS、HiSpi或MIPI DPHY/CPHY接口,采用FPGA邏輯+少量外圍電路(或ASSP)實現。
(2)ISP處理:這裏是圖像處理的核心部分,直接影響圖像質量,包括必須的Demosaic、3A、降噪、增強等必要處理。
(3)拚接模塊:這裏是全景相機應用的核心部分,直接影響感官效果,這塊兒(er) 根據業(ye) 務的不同基本上就是見仁見智,全靠算法和標定了。
(4)顯示模塊:主要是用於(yu) 本地投屏顯示,一般會(hui) 根據需要選擇HDMI或SDI接口。
(5)Dual Cortex-A9:ARM處理器(PS)主要是做一些協同處理和控製工作,比如說自動曝光和白平衡的協處理、係統控製和管理等。
(4)一般的,因ZYNQ-7000係列器件不帶視頻CODEC,使用邏輯實現H.264/264壓縮代價(jia) 較大,從(cong) 成本、開發難度等方麵考慮,還會(hui) 增加一個(ge) 處理器專(zhuan) 門來做壓縮,一般會(hui) 選擇華為(wei) 海思或全智之類的器件。
在圖像領域,ZYNQ-7000係列器件還廣泛用於(yu) 有特殊功能需求的IP Camera、製冷和非製冷型紅外熱成像儀(yi) 、工業(ye) 相機、焊接和篩選機器人、物流機器人、CCD前端采集係統等各方麵。
案例二:無人機飛控係統
ZYNQ在無人機上用得相對也比較多,比如早期的DJI,在他的精靈上就用了Z-7020這顆片子;比如Aerotenna,用ZYNQ飛控實現了360°微波防撞和雷達高度計。許多做行業(ye) 無人機的,飛控也用到ZYNQ-7000係列器件。
無人機飛控是一個(ge) 相對比較複雜的係統,包括伺服控製係統、感知係統、數據鏈、GNSS和其他特定的載荷接入等。涉及的門類也很多,按形態分有多旋翼(含係留多旋翼)、複合翼、傾(qing) 轉旋翼等,按動力分有鋰電型、油動型、氫燃料電池型等等。說到載荷更是五花八門,有光電吊艙、雲(yun) 台相機、傾(qing) 斜攝影相機、通信中繼站、MiniSAR、高光譜相機、拋投裝置、喊話裝置甚至於(yu) 武器彈部等等,還有一些出於(yu) 自身保護的避障、降落傘(san) 、氣墊等等設備。基於(yu) 這種特點,ZYNQ-7000係留器件以其高度的靈活性,在這裏很有用武之地。下圖2是最簡飛控係統框架圖。
圖2 無人機飛控係統框圖
如圖2所示,ZYNQ-7000 SoC是核心,負責運行操作係統(如Nuttx、rt-Linux)和飛控軟件(如APM),驅動和采集各個(ge) 外設數據,調度任務等。
(1)RTK(GNSS),差分GPS,可能支持GPS、BD和GLONASS等多模,一般采用模塊,對外接口為(wei) 串口;
(2)無線數、圖傳(chuan) :也可能是一體(ti) 化設備,數傳(chuan) 主要是與(yu) 地麵控製站交互控製和狀態數據,比如說開源的mavLink協議,圖傳(chuan) 主要是將圖像數據下載到地麵,這二者也可能一體(ti) ,采用寬帶數據傳(chuan) 輸設備;單數傳(chuan) 可能是串口,寬帶一體(ti) 化設備可能是網口或者USB等;單圖傳(chuan) 可能是HDMI或SDI等接口;
(3)SD Card:主要記錄飛控運行數據,當然也可能保存本地載荷數據如圖片、氣體(ti) 傳(chuan) 感器值等;
(4)UAV CAN:一種多節點總線,可用作與(yu) 電調、IMU和其他掛載通信,主要是高可靠性控製用;
(5)PWM & ioses:可擴展的多通道PWM和可編程I/O,用作控製電調、舵機、雲(yun) 台、起落架等設備;
(6)MIPI CSI-2:圖像傳(chuan) 感器接口,可能是外部相機載荷接入,也可能是本低的避障相機或前視相機接入;
(7)IMU:是無人機姿態穩定控製的核心部件,以便包括角速度計、加速度計或磁羅盤等,飛控就是根據采集到的這些傳(chuan) 感器數據進行濾波和解算處理,通過PID執行機構給電機,維持飛行姿態的動態穩定;
(8)高度計:高度計可能采用氣壓傳(chuan) 感器、超聲波傳(chuan) 感器、微波雷達等,主要是和GPS高度融合維持較高精度的定高飛行或懸停,在係留無人機、植保機等特殊應用機型中尤其用得多;
(9)避障傳(chuan) 感器:有超聲波、視覺、微波雷達、激光雷達等,在低速、低空旋翼機上應用較多。
ZYNQ-7000係列器件以其可配置性強的靈活性,可以實現大多數的應用場景功能適配,其PL強大的並行處理能力,也可以實現較複雜的應用算法處理,比如FoC電調控製、圖像處理等,很多都集成到了PL實現。
案例三、紅外熱成像係統
早些年間,紅外熱成像儀(yi) 及其派生設備絕對是一個(ge) 高大上的存在,一般場合用不起,但隨著核心焦平麵芯片的國產(chan) 化,現在已經脫下高貴的外衣擁抱平民市場。特別是基於(yu) 非製冷探測器的紅外測量係統可在各領域廣泛應用。如海關(guan) 、機場等公共場所民眾(zhong) 體(ti) 溫監測,芯片、焊點、激光光纖等微米級目標檢查,高壓輸電塔巡線,隧道、大壩、橋梁滲水檢測,反應塔、高爐等大型工業(ye) 設備維護,建築缺陷檢測、地質勘探、火山研究,生命科學和化學研究等等。製冷型紅外熱成像係統仍然還是主要集中在軍(jun) 事、搜救、科研、高端檢測等領域。
本案例以檢測型的非製冷紅外、可見雙光熱成像儀(yi) 來說明。下圖3是係統的軟硬件總體(ti) 方案框圖。
圖3 紅外熱成像係統軟硬件框圖
從(cong) 圖3來看,影響設計的關(guan) 鍵因素是:
①高分辨率紅外、可見光圖像處理和融合;
②圖像壓縮、傳(chuan) 輸;
③精準測溫、精準自動對焦;
④重量、體(ti) 積和電池續航時間;
在傳(chuan) 統的設計裏,紅外圖像和可見光圖像通常經過不同的模組進行預處理,然後再進行融合。這種傳(chuan) 統方式的顯著缺點是電路複雜,電路板(模組)多,功耗大。既導致了電池續航能力短,又增加了整機的重量和體(ti) 積,同時可靠性也大打折扣。
那麽(me) ,有沒有一種解決(jue) 方案可以在單片內(nei) 有能力完成所有的處理(大量數據處理和高帶寬要求),可以顯著降低麵積和功耗呢?不用懷疑,當前兩(liang) 大FPGA廠商Altera和Xilinx提供的的Cyclone V和ZYNQ-7000係列SoC都可以做到。
兩(liang) 大巨頭的SoC都集成了雙核Cortex-A9 ARM處理器、可編程邏輯和豐(feng) 富的外設。軟硬件協同處理、完美結合,正符合多光融合的非製冷紅外測量係統的應用特點。
從(cong) 軟件架構上看,可編程邏輯資源的主要耗用如下:
① 紅外圖像處理:包括非均勻性校正、盲元校正、測溫模塊、降噪與(yu) 增強、直方圖均衡、(IDE)、微掃描圖像合成、(寬動態強化高溫區和低溫區細節)、偽(wei) 彩色映射、Zoom等;
② 可見光圖像處理:ISP、降噪與(yu) 增強、(寬動態技術)等;
③ 圖像融合:紅外圖像和可見光圖像融合;
④ 圖像壓縮:紅外灰度圖像特點,一般采用MJPEG壓縮保留較多細節和較低延時。
⑤ 顯示和接口:OSD圖層、Scaler、HDMI接口、LVDS或MIPI CMOS輸入接口、ONFI NAND接口、DDR Mig、和PS及DDR交互的AXI DMA等;
⑥自動對焦:梯度或銳度、模糊度計算。
按照一般的思路,沒有過於(yu) 複雜的如神經網絡之類的算法,在架構清晰、代碼風格比較好的情況下,XC7Z020(85K邏輯)可滿足設計要求。如果需要添加更加複雜的檢測、識別、跟蹤類算法,可考慮選用XC7Z030(125K邏輯),當然器件成本會(hui) 成倍上升。
另外,一幅紅外圖像的像素個(ge) 數是1024×768,一幅可見光圖像的像素個(ge) 數為(wei) 3840×2160。根據不同情況,一個(ge) 像素可能占一個(ge) 或兩(liang) 個(ge) 字節,標準幀率為(wei) 30fps,在精確位移打開或寬動態打開的情況下最終輸出的幀率會(hui) 降低,帶寬不會(hui) 成四倍增加。
緩存主要產(chan) 生於(yu) 數據處理過程中的DDR緩存,紅外、可見光、壓縮處理一幀和DDR的數據交互約在30次以上,因此,為(wei) 了解決(jue) 帶寬緊張的問題,在PL端擴展了DDR。
PS端的雙核ARM其中一個(ge) 核運行操作係統(OS),另外一個(ge) 核運行裸機程序(Bare)。運行操作係統的核主要負責外設驅動管理、係統控製、應用管理、GUI等功能。運行裸機代碼的核和NEON一起主要偏重算法輔助處理。
案例四、雷達係統
在ZYNQ-7000這個(ge) 級別上,還難以做到單獨處理海量的雷達流水數據,一般會(hui) 使用高性能DSP來做浮點運算。一般情況下是采用“一顆或多顆FPGA+一顆或多顆DSP”的架構實現。當前,通常應用場景下FPGA一般會(hui) 選擇7係列FPGA或ZYNQ-7000 SoC,DSP主要還是TI的8核TMS320C6678,FPGA做雷達前端接口和與(yu) FPGA通信的SRIO接口,在RAW數據上做一些濾波或變換處理後將數據通過SRIO接口送給DSP,DSP做FFT、IFFT、進行濾波、互聯、平滑、目標跟蹤和預測處理後,將穩定的目標航跡輸出。這裏的核心算法還是在DSP運行,不在贅述。
三、技術服務
服務內(nei) 容:
小店可提供係統級的完整解決(jue) 方案,包括方案設計、硬件設計和調試、FPGA邏輯設計、嵌入式軟件設計和生產(chan) 代工等一站式服務。並且,有若幹個(ge) 成熟的解決(jue) 方案可供選擇,時效性高、質量可靠。
行業(ye) 分類 : 工業(ye) 電子
開發平台 : Linux
交付形式 : PCBA,整機,軟件
性能參數 : 工業(ye) 級(-40°C~+60°C);支持定製開發
應用場景 : 1. 行業(ye) 相機; 2. 機器視覺; 3. 汽車ADAS係統; 4. 3G/6G廣播電視係統和視頻矩陣; 5. PCIe數據采集卡; 6.高性能運動和測量係統; 7.軟件無線電; 8.SATA接口存儲(chu) 設備; 9.無人機和機器人係統。