百工联工业互联网技术服务平台
基于Xilinx ZYNQ的全套应用解决方案_MrPanda

基于Xilinx ZYNQ的全套应用解决方案

xilinx zynq
产品详情
小店提供基于Xilinx ZYNQ处理平台的一站式全套解决方案。 一、ZYNQ系列可编程SoC简介 Xilinx ZYNQ SoC主要针对中高端应用场景,与其同等的有Altera Cyclone V和Arria 10系列SoC。该系列器件由2012年正式商用,2016年,在原来双核A9的基础上又增加了单核版本以面向不同场景的应用,器件主要包括:①基于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外,其他型号均不含高速收发器;②基于Kintex-7 FPGA的Z-7030(125K)、Z-7035(275K)、Z-7045(350K)和Z-7100(444K),均带6.6~12.5Gbps高速收发器。 从逻辑规模和I/O资源、收发器来看,基于Artix-7的系列器件主要面向控制、接口和简单计算处理等应用领域,如:高铁和地铁信号控制、机器人控制、工业或3D打印机、无人机无人车控制、车载雷达前端、图像接口与ISP处理、轻量级软件无线电和GNSS系统等,性价比较高。基于Kintex-7的器件主要面向通信和高速网络互联、高性能存储、大规模并发计算等应用领域:如:高性能软件无线电系统、4G/5G通信、高性能光交换中心、大规模存储控制器、云级大规模并发计算、机器学习和AI应用、高性能雷达系统、ADAS系统等,起点较高。 ZYNQ系列器件推出7年以来,已经形成了良好的生态系统,在各行各业得到广泛的应用。 二、实用案例 楼主挑选了四个案例对ZYNQ系列FPGA应用做简要说明。 案例一:全景相机 在图像和接口应用中挑全景相机做简单说明。全景相机一般包括3~5个Sensor接入,做ISP处理、拼接然后输出。这里主要难点是存在较大的带宽压力,一般会采用Z-7020及以上性能的处理器,考虑到成本压力,还会外挂一个海思或其他的处理器来进行图像压缩,实际上,ZYNQ-7000器件上不带视频Codec也是其一个短板,限制了不少应用。全景相机的实现框图见下图1所示。 图1 全景相机实现框图 如图1所示,分成几个模块: (1)Cam_IF:图像接口,一般采用Sony、OV或安森美的CMOS Sensor,有可能是多通道LVDS、HiSpi或MIPI DPHY/CPHY接口,采用FPGA逻辑+少量外围电路(或ASSP)实现。 (2)ISP处理:这里是图像处理的核心部分,直接影响图像质量,包括必须的Demosaic、3A、降噪、增强等必要处理。 (3)拼接模块:这里是全景相机应用的核心部分,直接影响感官效果,这块儿根据业务的不同基本上就是见仁见智,全靠算法和标定了。 (4)显示模块:主要是用于本地投屏显示,一般会根据需要选择HDMI或SDI接口。 (5)Dual Cortex-A9:ARM处理器(PS)主要是做一些协同处理和控制工作,比如说自动曝光和白平衡的协处理、系统控制和管理等。 (4)一般的,因ZYNQ-7000系列器件不带视频CODEC,使用逻辑实现H.264/264压缩代价较大,从成本、开发难度等方面考虑,还会增加一个处理器专门来做压缩,一般会选择华为海思或全智之类的器件。 在图像领域,ZYNQ-7000系列器件还广泛用于有特殊功能需求的IP Camera、制冷和非制冷型红外热成像仪、工业相机、焊接和筛选机器人、物流机器人、CCD前端采集系统等各方面。 案例二:无人机飞控系统 ZYNQ在无人机上用得相对也比较多,比如早期的DJI,在他的精灵上就用了Z-7020这颗片子;比如Aerotenna,用ZYNQ飞控实现了360°微波防撞和雷达高度计。许多做行业无人机的,飞控也用到ZYNQ-7000系列器件。 无人机飞控是一个相对比较复杂的系统,包括伺服控制系统、感知系统、数据链、GNSS和其他特定的载荷接入等。涉及的门类也很多,按形态分有多旋翼(含系留多旋翼)、复合翼、倾转旋翼等,按动力分有锂电型、油动型、氢燃料电池型等等。说到载荷更是五花八门,有光电吊舱、云台相机、倾斜摄影相机、通信中继站、MiniSAR、高光谱相机、抛投装置、喊话装置甚至于武器弹部等等,还有一些出于自身保护的避障、降落伞、气垫等等设备。基于这种特点,ZYNQ-7000系留器件以其高度的灵活性,在这里很有用武之地。下图2是最简飞控系统框架图。 图2 无人机飞控系统框图 如图2所示,ZYNQ-7000 SoC是核心,负责运行操作系统(如Nuttx、rt-Linux)和飞控软件(如APM),驱动和采集各个外设数据,调度任务等。 (1)RTK(GNSS),差分GPS,可能支持GPS、BD和GLONASS等多模,一般采用模块,对外接口为串口; (2)无线数、图传:也可能是一体化设备,数传主要是与地面控制站交互控制和状态数据,比如说开源的mavLink协议,图传主要是将图像数据下载到地面,这二者也可能一体,采用宽带数据传输设备;单数传可能是串口,宽带一体化设备可能是网口或者USB等;单图传可能是HDMI或SDI等接口; (3)SD Card:主要记录飞控运行数据,当然也可能保存本地载荷数据如图片、气体传感器值等; (4)UAV CAN:一种多节点总线,可用作与电调、IMU和其他挂载通信,主要是高可靠性控制用; (5)PWM IOs:可扩展的多通道PWM和可编程I/O,用作控制电调、舵机、云台、起落架等设备; (6)MIPI CSI-2:图像传感器接口,可能是外部相机载荷接入,也可能是本低的避障相机或前视相机接入; (7)IMU:是无人机姿态稳定控制的核心部件,以便包括角速度计、加速度计或磁罗盘等,飞控就是根据采集到的这些传感器数据进行滤波和解算处理,通过PID执行机构给电机,维持飞行姿态的动态稳定; (8)高度计:高度计可能采用气压传感器、超声波传感器、微波雷达等,主要是和GPS高度融合维持较高精度的定高飞行或悬停,在系留无人机、植保机等特殊应用机型中尤其用得多; (9)避障传感器:有超声波、视觉、微波雷达、激光雷达等,在低速、低空旋翼机上应用较多。 ZYNQ-7000系列器件以其可配置性强的灵活性,可以实现大多数的应用场景功能适配,其PL强大的并行处理能力,也可以实现较复杂的应用算法处理,比如FoC电调控制、图像处理等,很多都集成到了PL实现。 案例三、红外热成像系统 早些年间,红外热成像仪及其派生设备绝对是一个高大上的存在,一般场合用不起,但随着核心焦平面芯片的国产化,现在已经脱下高贵的外衣拥抱平民市场。特别是基于非制冷探测器的红外测量系统可在各领域广泛应用。如海关、机场等公共场所民众体温监测,芯片、焊点、激光光纤等微米级目标检查,高压输电塔巡线,隧道、大坝、桥梁渗水检测,反应塔、高炉等大型工业设备维护,建筑缺陷检测、地质勘探、火山研究,生命科学和化学研究等等。制冷型红外热成像系统仍然还是主要集中在军事、搜救、科研、高端检测等领域。 本案例以检测型的非制冷红外、可见双光热成像仪来说明。下图3是系统的软硬件总体方案框图。 图3 红外热成像系统软硬件框图 从图3来看,影响设计的关键因素是: ①高分辨率红外、可见光图像处理和融合; ②图像压缩、传输; ③精准测温、精准自动对焦; ④重量、体积和电池续航时间; 在传统的设计里,红外图像和可见光图像通常经过不同的模组进行预处理,然后再进行融合。这种传统方式的显著缺点是电路复杂,电路板(模组)多,功耗大。既导致了电池续航能力短,又增加了整机的重量和体积,同时可靠性也大打折扣。 那么,有没有一种解决方案可以在单片内有能力完成所有的处理(大量数据处理和高带宽要求),可以显著降低面积和功耗呢?不用怀疑,当前两大FPGA厂商Altera和Xilinx提供的的Cyclone V和ZYNQ-7000系列SoC都可以做到。 两大巨头的SoC都集成了双核Cortex-A9 ARM处理器、可编程逻辑和丰富的外设。软硬件协同处理、完美结合,正符合多光融合的非制冷红外测量系统的应用特点。 从软件架构上看,可编程逻辑资源的主要耗用如下: ① 红外图像处理:包括非均匀性校正、盲元校正、测温模块、降噪与增强、直方图均衡、(IDE)、微扫描图像合成、(宽动态强化高温区和低温区细节)、伪彩色映射、Zoom等; ② 可见光图像处理:ISP、降噪与增强、(宽动态技术)等; ③ 图像融合:红外图像和可见光图像融合; ④ 图像压缩:红外灰度图像特点,一般采用MJPEG压缩保留较多细节和较低延时。 ⑤ 显示和接口:OSD图层、Scaler、HDMI接口、LVDS或MIPI CMOS输入接口、ONFI NAND接口、DDR Mig、和PS及DDR交互的AXI DMA等; ⑥自动对焦:梯度或锐度、模糊度计算。 按照一般的思路,没有过于复杂的如神经网络之类的算法,在架构清晰、代码风格比较好的情况下,XC7Z020(85K逻辑)可满足设计要求。如果需要添加更加复杂的检测、识别、跟踪类算法,可考虑选用XC7Z030(125K逻辑),当然器件成本会成倍上升。 另外,一幅红外图像的像素个数是1024×768,一幅可见光图像的像素个数为3840×2160。根据不同情况,一个像素可能占一个或两个字节,标准帧率为30fps,在精确位移打开或宽动态打开的情况下最终输出的帧率会降低,带宽不会成四倍增加。 缓存主要产生于数据处理过程中的DDR缓存,红外、可见光、压缩处理一帧和DDR的数据交互约在30次以上,因此,为了解决带宽紧张的问题,在PL端扩展了DDR。 PS端的双核ARM其中一个核运行操作系统(OS),另外一个核运行裸机程序(Bare)。运行操作系统的核主要负责外设驱动管理、系统控制、应用管理、GUI等功能。运行裸机代码的核和NEON一起主要偏重算法辅助处理。 案例四、雷达系统 在ZYNQ-7000这个级别上,还难以做到单独处理海量的雷达流水数据,一般会使用高性能DSP来做浮点运算。一般情况下是采用“一颗或多颗FPGA+一颗或多颗DSP”的架构实现。当前,通常应用场景下FPGA一般会选择7系列FPGA或ZYNQ-7000 SoC,DSP主要还是TI的8核TMS320C6678,FPGA做雷达前端接口和与FPGA通信的SRIO接口,在RAW数据上做一些滤波或变换处理后将数据通过SRIO接口送给DSP,DSP做FFT、IFFT、进行滤波、互联、平滑、目标跟踪和预测处理后,将稳定的目标航迹输出。这里的核心算法还是在DSP运行,不在赘述。 三、技术服务 服务内容: 小店可提供系统级的完整解决方案,包括方案设计、硬件设计和调试、FPGA逻辑设计、嵌入式软件设计和生产代工等一站式服务。并且,有若干个成熟的解决方案可供选择,时效性高、质量可靠。

Mr*******

有类似项目?立即免费发布需求