1 布景常识
由于Zynq-7000 PS(Processing System)端嵌入了Cortex-A9 ARM 处理核以及PL(Programmable Logic)端为依据Kintex-7或许ArTIx-7的FPGA架构使得Xilinx Zynq-7000愈加强悍,运用范畴愈加广泛。下面将从以下方面介绍Zynq-7000的运用范畴:轿车、通讯体系、机器人、操控和仪器 、图画和视频处理 、医药、工业操控和许多其他范畴。
2 运用概述
考虑 Zynq、FPGA 和相关芯片的运用广泛,挑选几个重要的范畴给咱们介绍。虽然有许多的或许性运用,但这儿的仅仅挑选一些有代表性的运用。
2.1 轿车
图1 轿车体系(左:辅佐驾驭体系;右:路途标识辨认 )
现在的轿车里都有许多的电子设备,从引擎办理到车窗、倒车辅佐体系、驾驭员辅佐体系、后视镜和灯火等操控功用,以及导航和资讯文娱体系都有。先进驾驭辅佐体系 (Advanced Driver Assistance Systems,ADAS)专门指的便是轿车里为了驾驭员的安全和快捷所供给的体系的总和,包括:违背车道告警体系、路途标识辨认(如进入限速较低的路段时提示驾驭员)、泊车辅佐、昂首显现,以及乃至能监督驾驭员的清醒程度。图1左是辅佐驾驭昂首显现体系,图1右是路途标识辨认体系。
FPGA,以及现在的 Zynq 芯片,能够用来完成这些轿车体系 。Zynq 的处理才干使它特别适合做这样的体系,并且能够下降元件的数量在一个对本钱和功耗灵敏并且还往往对物理空间有要求的商场中是一种优势。
2.2 通讯体系
图2 通讯体系 (左:无线基站;中:卫星地上站;右: 有限网络交流机)
FPGA 是对依据包交流的无线和有线通讯进行核算密集型处理的渠道。这个范畴许多样化,包括地上和卫星传输的收发信机、移动通讯主干网络、有线网络设备、雷达、声纳、全球定位体系 (Global PosiTIoning System, GPS)和许多其他的通讯体系。图2左为无线基站,中为地上卫星雷达,右为网络交流机。
在无线通讯中,无线电频谱日益严重,而与此一起许多无线体系和规范不断在扩张。柔性无线电 (flexible radio)的概念有或许更好地运用无线电频谱,并能把无线电设备安定在一个能动态改动操作的单个设备上。Zynq 便是一个抱负的柔性无线电渠道。在有线通讯中,经过运用 “ 软界说网络(softly defined networks,SDN)” 使其到达相似程度的灵活性,SDN 能在软件的操控下晋级功用。
2.3 机器人、操控和仪器
图3 操控和仪器仪表体系(左:工业操控室;中:风力发电厂;右:高能物理试验)
从制作和加工到高能物理试验的工业和科学处理,都需求精细的操控和仪器。图3别离展现了工厂操控室、风力发电厂和 CERN 的高能物理试验设备 。
FPGA 和 Zynq 芯片是十分适宜的渠道,由于借助于 PL 的才干,它们能快速、实时地一起处理多个传感器的输入并操作多个动作器的输出。Zynq 在体系集成和操作的灵活性上还有更大的潜力。比方,能够监督一个操控环的功用,假如有必要就能够改动它的装备转用软件操控。假如需求,PS 还能够支撑实时操作体系及 (或)GUI (图形用户界面)。
电机操控算法在工业的许多范畴都是极为重要的。比方,对美国制作业工厂的查询发现,工业中耗费的大约 50% 的电力是用于 “ 机器驱动 ”,也便是电机、泵和电扇 。由于在 PS 和 PL 之间的高带宽衔接,能够构成严密的反应回路,并能运用 AMS 包所供给的 DAC 采样才干,使得 Zynq 很适合做电机操控。
2.4 图画和视频处理
图 4 医药运用(左:MRI 扫描;右:机器人辅佐手术)
在医疗确诊中一个重要的问题是要 “ 看见 ” 人体的内部,这就需求像核算机断层拍摄(Computer Tomography,CT)扫描、超声波和核磁共振成像(MagneTIc Resonance Imagers,MRI)这样的医疗印象设备。为了增强和显现经过这样的设备所取得的图画,往往就需求对许多的数据做精细的图画处理算法。和其他图画处理运用相同,Zynq 归纳了 PS 和 PL 的才干,既支撑高速并行核算,也支撑依据软件的算法。医学范畴所涉及到的进一步的运用包括机器人辅佐手术中的仪器操控,以及实时手术图画,比方内窥镜设备、患者监督设备和家庭保健技能 。
2.5 其他及未来的运用
接下去,会给出 FPGA 和 Zynq 的一些要害运用范畴的概述。不过,还有许多正在打开的和潜在的运用没能具体列在这儿,从音频信号处理到依据 Zynq 的无人机都有!
2.5.1智能体系和智能网络
智能这个术语在许多运用范畴都能找到,包括智能电网、智能建筑、智能家居、智能交通、智能城市、智能农业等等。
智能家居用的是和智能建筑相似的原理,让民居也在本钱和环境上获益。除了能办理暖气、灯火和电器的运用,智能家居或许还包括室内保安和文娱方面的功用。图 5是一个智能家居的展现。
图5 智能家居的某些功用
2.5.2 图画和视频处理,及核算机视觉
图画处理的特征是它具有巨大的并行性:每个图画,或等价的视频的每个帧,是由二维的像素点的矩阵组成的,并且在 X 和 Y 轴上或许有超越 1000 个像素点。比方,全高清(HD)视频一般界说为1920 x 1080 个像素点,也便是总共有 2073600 个像素点。还得考虑到每个像素点是由三个通道组成的才干表达颜色!假如用8 位的通道来别离表达赤色、绿色和蓝色的数据,这样每个像素点就需求 24 位,而每幅 HD 图画就需求 49766400 位。数码相机发生的图片或许还会更大。考虑到这么大的尺度,因而任何对单个像素点的核算就需求许多的核算并行打开,这便是很适合在FPGA 或是 Zynq 芯片的 PL 部分上做的工作了。当然,最好能下降要核算的数据的量,并且有些图画处理是能够在更高的笼统层级上做的,在较少的数据上履行更高档的算法,也便是或许由软件来做。关于视频处理,更多的重视在紧缩方面。单幅图片一般在空间域上紧缩来减缩文件巨细,可是在视频运用中,当帧速率到达每秒100 帧(在某些特别运用中更高)的时分,由于涉及到更为许多的数据,对紧缩的需求尤为杰出,还或许需求实时核算的束缚。可是时刻域给紧缩供给了进一步的时机,由于接连的视频帧往往存在高度的重合。能够用算法来发送一小段时刻片段内完好的、最新的帧,然后在这些帧之间,对帧与帧之间的不同进行编码。现已存在很好的视频紧缩规范了,并且还在不断地开展和前进。
图6 图画处理中的笼统
图7 能够用核算机视觉来检测路口车辆
如前所述,核算机视觉需求辨认出特征和方针来,这样就能从图画中析取出意义来。这就牵涉到杂乱的运算和软件算法。比方,为了判别是否有车辆,就或许必须在图画中剖析辨认出来的线条,然后乃至能够把车辆的类型分类为摩托车、小轿车、大巴等。这个阶段表达了向图6 中所示的最高笼统层级的转化,从而能得到图画内容的描绘。比方,在图7中,图画显现的是穿插路口的小车。轿车的数量能够用核算机视觉算法被检测并记录下来,然后乃至还能够依据行进的方向做出分类来。
视频处理运用还或许进一步调用方针追寻,比方假如在 CCTV 画面中辨认出感兴趣的人了,那个人在画面中的进一步的运动就能够被追寻。相似的,假如路口的画面构成了视频,那么车辆就能够被追寻。从图画处理和核算机视觉算法中取得的数据能够用作更高层级运用的数据。比方,在车辆辨认的实例中,核算机视觉体系能够供给关于车辆经过一个路口的统计数据,能够用来做交通办理和城市规划。
除了芯片的架构,咱们还应该考虑在促进为 Zynq 开发图画处理体系的规划中,Xilinx 和第三方开发东西的效果。以下罗列了一些值得一提的相关阐明:
• Xilinx IP 包 — 在 IP Integrator 里有许多 IP 包是用于图画和视频处理运用的,包括视频存储、图画增强和颜色调整功用。
• OpenCV — 敞开核算机视觉(Open Computer Vision)是一个开源项目,完成了一组用于图画和视频处理的 C/C++ 库。OpenCV 的东西能够用来开发运行在 PS 上的软件算法。
• Vivado HLS 视频库 — Vivado HLS 包括一个能归纳到 HDL 里去的函数库,完成了对图画和视频处理的特别支撑。这些函数能够代替部分 OpenCV 函数,因而如有需求,对应的功用就能方便地被划分到硬件中去。
• MATLAB / Simulink — MATLAB 和 Simulink 供给了丰厚的用于图画和视频处理以及核算机视觉的东西。不只供给相关的函数和开发环境,还能够把开发好的算法转换成能完成在 Zynq 上的 C/C++ 代码。