支持新一代工业检查系统的多核 DSP
传感器/扫描与计算技术的发展正在推进食品加工、制药与半导体制造等各种行业的新一代高性能工业检查系统的发展,如后期制造质量保证、计量、机器人视觉以及定位等。随着新一代数字信号处理器 (DSP) 的推出,特别是多核 DSP 的推出,开发人员将拥有高性能、低成本的低功耗备选方案,实现检查应用的实时影像处理实施。
今天,在各种因素推动下,工业检查系统需要越来越高的处理性能。提高处理性能的主要原因在于,现代检查系统不但要运行更加庞大的影像数据集,而且还要实时执行更为复杂的算法。往往需要多个高分辨率(百万像素)和高帧速率 (FPS) 摄像机提供大量数据流,也就是说更高端的检查系统可使用多个摄像机来采集完整的 3-D 数据,使用深度摄像机来捕获深度外形信息,或通过立体摄像机生成表面轮廓信息。
检查系统供应商通常根据软件中,特别是专有算法中实施的特性实现产品差异化,供应商往往不能或不希望在多家不同半导体制造商针对机器视觉应用开发的片上系统 (SoC) 中使用硬件加速器,因为这样做不能帮助他们在竞争中实现性能或质量的差异化。
下文将重点介绍用于检查系统的典型影像处理算法以及提供所需处理效率的多核 DSP 的特性。
影像处理:
检查系统的核心是多种不同的影像处理算法。这些算法可分为几大类,如影像形成算法、影像增强算法、形态运算、特性提取算法以及特性检测算法等。
影像增强:是指采用中值滤波器、双边滤波器以及柱状图等非线性滤波器去除噪声,增强边缘与对比度。边缘通过非强化掩码或 Sobel 滤波等算法加强,Canny 边缘检测器可用来获得影像中重要特性的边缘。
形态运算:是指使用“结构元素”探询影像并提供元素结构在影像中实用度结果的各种非线性运算。这种运算可用于加厚或削薄边缘,除去大对象中的小对象,连接断裂的边缘,消除小洞,并填补小空隙。
大多数特性提取及检测程序包括边缘检测、线路跟踪、对象形状分析、分类算法以及模板匹配等。有时影像可在提取特性之前转为化成不同的域,如傅立叶(Fourier)与 小波分析(Wavelet) 等。
DSP 是强大的处理单元:
影像处理与数据采集子系统都可通过使用 DSP 获得极大优势。同质多核 DSP 提供可充分满足这些计算密集型算法需求的处理性能。
大多数工业影像处理子系统都需要内核速度 (GHz)、每秒百万指令 (MIPS) 、 每秒百万次乘累加 (MMAC) 以及每秒十亿浮点运算 (GFLOP) 的高性能。德州仪器 (TI) TMS320C6678 等多核处理器支持 360GMAC 与 160GFLOPS,可为要求高动态范围的系统带来使用定浮点指令的高灵活性。为了进一步提高系统性能,多核处理器的架构还可通过基于硬件的处理器间通信消除片上数据传输瓶颈与时延问题。
多层存储器高速缓存与可用片上随机存取存储器 (RAM) 容量可大幅提高系统性能。影像尺寸通常远远超过可用的片上 RAM,因此这些系统不可避免地需要大型外部 RAM,这就意味着 DSP 需要提供 DDR3 等高带宽外部存储器接口。共享存储器架构使多核 DSP 中的多个内核既能在相同影像的不同部分并行运行,也可在影像数据相同部分连续执行不同的处理功能。上述功能配合在所有内核中共享的智能直接存储器存取控制器,可在外部存储器、存储器映射外设以及片上存储器之间进行数据传输,通过双缓冲进行计算,提高性能。
有许多选项可用于连接影像子系统与影像处理子系统。系统可能需要一个或多个 如CameraLink 等模拟或数字接口。DSP 支持不同高速串行器/解串器接口选择,可为硬件设计人员提供连接及 FPGA 选项,从而可连接影像采集子系统。例如,TI C6678 多核 DSP 就具有多个这样的高速接口,如 PCIe Gen II、串行 RapidIO 2.1 (SRIO)、GigE 以及 TI 名为 Hyperlink 的 50Gbps 专利接口等。有时影像通过背板通信结构发送,这时会使用 PCIe 和 SRIO。
由于工业检查系统往往需要高度的可靠性才能在恶劣条件下以最低功耗进行工作,因此多核 DSP 应支持更高的工业工作温度等级,才能帮助系统设计人员设计这类系统。
下图 1 是多核 DSP 影像处理子系统的示意图。
图 1:工业检查系统方框图
10 多年来,多核 DSP 在各行业众多不同应用中充分展示了其价值。多核同质 DSP 一直都是要求计算密集型信号处理的有限功耗预算及狭小物理空间应用中的理想选择。最新一代多核 DSP 支持优异的计算性能、更高的 I/O、更大的存储器容量以及主要硬件集成,可充分满足高性能工业检查领域的需求。在 DSP 上使用 C 语言等高级语言开发软件定义影像系统的便捷性可加速最新创新算法的
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)