对于嵌入式系统设计工程师来说,多内核绝不是一种时髦或产品营销时的噱头,而是基于产品性能需求、功耗、集成度、成本等多方面的取舍结果。特别是消费电子产品应用中,单内核处理器依然是绝对的主流。但在部分需要更高处理、控制能力的应用中,双内核处理器早已不是阳春白雪,而这类应用中多媒体类产品占很大的比重,例如视频监控(特别是具有智能分析功能的监控设备)、视频会议系统、数字摄像系统、汽车可视化系统等等。
以视频监控应用系统为例,随着视频监控应用的规模化和网络化,智能化将是视频监控系统发展的另外一个必然趋势。具有智能分析功能的新一代监控系统大大地扩展了视频监控的应用领域,除了传统的安防应用外,人体行为识别和智能交通也将开辟大量的新兴应用市场。
智能视频分析算法的实现形式绝大部分是软件实现,对于嵌入式软件实现来说,最终产品表现的性能优劣与硬件平台的关系很大。毕竟嵌入式平台的资源是有限的,相对普通的计算机平台而言,嵌入式平台计算能力相对低很多,核心芯片缓存相对小,内存容量相对小等等。这些都会给智能视频分析算法嵌入式实现带来困难,所以智能视频分析算法在嵌入式实现时都会进行一定的优化。硬件平台不同会导致优化的策略和程度上有所差异,如果选择的处理器越高,在底层操作上开放的指令和操作越多,优化工具越齐全,则系统整体优化的性能会越好。
智能视频监控设备大部分都是嵌入式设备。智能视频监控属于传统视频监控的扩展与延伸,所以传统的视频监控对硬件平台的要求,智能视频监控也都必须具备。但智能视频监控与传统的视频监控相比,用户的需求更加多样化,例如:作为地铁系统用户,他们需要的功能是检测是否跨越候车的黄线,人群密度是否过大,是否有可疑的遗留物体等;对于银行系统用户来说,他们所需要的是ATM机的智能监控分析包括是否有安装假键盘、安装吞卡器,在ATM机是否有暴力行为,是否出现犯罪分子的人脸等。因此,一方面,用户需求的多样化可以使算法随着用户的需求调整。另一方面,智能视频处理要求芯片具有强大的处理能力,有许多算法实现时必须采用并行处理。因此,传统的基于单内核微控制器的解决方案面临很大挑战,融合MCU及DSP的异构双处理器或多处理器解决方案,以及具有强大运算能力的多内核处理器是智能视频监控嵌入式平台的可选方案。
双内核汇聚式处理器
双内核汇聚式处理器ADSP BF561是ADI公司Blackfin产品家族中的一个具有高性能成员,它包括两个独立的ADI处理器核,每个处理器核包含一个双乘法累加器信号处理机,一个类RISC指令集,每个内核均采用完全的SIMD架构,包含用于视频加速处理和图像处理的指令。汇聚式处理器的特点是减少或避免了采用单独的数字信号和控制处理器的需求,从而减少了物料成本,同时极大地简化了软硬件开发任务。Blackfin处理器同时提供了全面的电源管理方案,独特的低功耗和低电压设计(Blackfin可以由低于2V的外部电压供电),减少了整体的功耗,这对于全天候运行的视频监控来说具有非常重要的意义。
双内核BF561具有两倍于BF533处理器的处理性能,两倍的片上存储器,大大增强了数据带宽,并保持与BF533处理器完全的代码兼容。BF561处理器自带328KB片上存储器提供两个并行数据端口,可以直接连接并行AD和DA转换器或其他通用外设。BF561处理器还内置了多个独立DMA控制器,支持数据自动传输,从而使处理器内核的负担最小化。此外,BF561延续了Blackfin处理器具有丰富接口的特点,为设计带来极大的便利,例如两个双通道全双工同步串行口、两个支持ITU-R 656视频数据格式的并行外设接口、SPI端口等。
一直以来,大部分多内核处理器是集成多个DSP和CPU内核的异构多核处理器,分别将DSP和CPU针对信号处理任务和控制任务,适合于任务划分简单的手机等通信应用。而BF561的双内核DSP是一个例外,每个内核都可以同时单独处理信号处理和控制处理任务,因此无须将这两类任务分别在多个内核之间的分配,设计工程师可以随意地进行任务分配以平衡内核之间的任务处理量。BF561的双核处理器相互独立,工程师可以根据应用分配两个处理器内核的任务,两个内核在执行指令上是相同的。两个处理器内核可以分别用于运行嵌入式操作系统(OS)和信号处理;对于信号处理任务量大的嵌入式系统可以将两个内核同时用于信号处理,单独采用具有相同内核的BF533(或BF536处理器)运行嵌入式操作系统。
图1:汇聚式处理器与异构协处理器的优势特性对比。
图2:基于BF561的视频监控系统功能框图。
应用案例:智能视频分析
图3是一款基于BF561平台开发的智能视频监控设备,由博睿视公司独立自主研发,融合了视频图像处理技术、模式识别技术、嵌入式开发与设计等多种国际先进的技术。硬件设备外形小巧、性能卓越、功耗低。目前,博睿视科技已将多种智能视频分析算法成功移植到该硬件平台上,这些算法包括区域入侵检测、拌线检测、物品遗留检测、物品移动或被盗检测、有方向性的区域入侵检测、有方向拌线检测、车流密度检测、人数统计等等。产品性能稳定,算法执行效率高。
图3:博睿视ADI DSP智能视频分析设备。
该视频分析仪广泛适用于军事、公安、金融、交通、教育、公共设施、社区和个人,以及工业和商业领域。在该公司进行方案选型中,博睿视公司在以下几个方面看中了BF561处理器的独特优势:Blackfin DSP在算法并行处理上做的很好,特别是BF561采用双DSP核,能够实现很复杂的智能视频处理算法;Blackfin DSP采用低功耗设计,稳定性在同价位DSP中十分出众;另外,在Blackfin DSP平台上,ADI提供了许多开发源码的程序,可以针对特定应用进行修改,非常灵活;BF561接口方便、功能强大,具有易于控制两个视频输入/输出口(支持ITU-R 656),方便使用的DMA控制器、UART接口,数量众多的GPIO等优秀性能。
应用案例:最优质画面的安保摄像头
德国Aglaia GmbH公司推出的汽车驾驶员辅助视觉传感器系统具有防止交通事故发生和改善交通流量的功能。该公司的实时电子眼方案由硬件和软件组成,它模仿了人类从眼球(图像捕捉)到大脑(图像分析和阐释)的视觉系统,能够通知驾驶员前方的交通标志,对潜在的交通冲突发出警告、自动限速,当驾驶员驶出车道线时发出警告,甚至可以提供“疲劳分析”帮助驾驶员避免碰撞。Aglaia的完整解决方案包括摄像头、图像传感器和图像处理算法,交通分析应用程序包括可软件配置的功能模块,例如车道线识别、物体识别、交通标志识别、头灯及尾灯识别。
图4:德国Aglaia GmbH公司开发的汽车驾驶员辅助视觉传感器系统。
经过对现有解决方案的全面市场调研,因为Blackfin具有高性能、低成本、低功耗和丰富I/O接口的优势,Aglaia最终选择了BF561处理器。Aglaia系统的核心部分是四个BF561处理器,需要在大约3A电流左右消耗少于20W的能量,包括嵌入式微控制器和信号处理器的能耗。双核的BF561器件的1.2V设计只消耗不到1A的电流,很容易满足Aglaia的20W限制的要求。
四个BF561处理器可以在低阶算法上协同运算,比如可以很容易地实现边缘检测,因为这些处理器内核属性相同。这些处理器同样可以在高阶算法上协同运算。同时还有实时算法,如需要根据摄像头提取的道路和斑马线特征计算出车辆的前方和侧面相对位置,曲线检测算法可以自动处理由车辆、信号标志、光斑、阴影,或者低图像对比度造成的盲区,这么复杂的高强度数学运算,只有像BF561这样的高性能信号处理器才可以完成任务。同样的,对根据来自两个摄像头的数据三角相关来检测道路上的物体和/或在三维空间上相对于车辆的位置的情况,这同样需要一个高性能的信号处理器。BF561提供了可伸缩的处理性能用于图像处理和其他任务,比如在摄像头传感器网络之间通过CAN总线和LIN总线通信。Aglaia选择Blackfin的另外一个重要原因在于它的I/O、存储器、并行数据端口(PPI)和直接内存存取(DMA)特点。Blackfin处理器拥有大容量片上存储器和I/O接口,能够满足高速帧抓取和数据传输需要,同时它能够在恶劣的汽车环境条件下工作。BF561是Aglaia在这个价位上发现的适于汽车应用的第一款处理器。
结束语
在硬件平台的选型上如果从成本考虑,在能满足用户需求前提下,应该选择成本最低的(这里的成本还包括开发成本)。另一方面,对于诸如智能视频监控这类复杂应用来说,不同的用户可能会提新的不同需求,所以在选型时还得考虑平台的可扩展性,以满足“将来”的需求。另外,产品开发时应尽量在已有的资源上进行,比如开放的例程,ADI在此提供了非常丰富的例程和资料。由于BF561处理器在代码上完全与获得业界广泛使用的BF533处理器兼容,因此有非常大的设计资源优势。
对于多内核处理器的复杂产品设计而言,产品本身的功能和特性只是一个方面,良好的开发工具和可用的设计资源同样非常重要。ADI公司提供的容易安装、使用方便的集成软件开发和调试环境(IDDE)Visual DSP++帮助工程师从头至尾高效管理项目的开发。ADI提供了一个包含编译器、连接器和调试器的超高性能的工具链。这些开发环境是包括Aglaia这样的客户选择BF561的重要原因。此外,ADI本地第三方设计合作公司还提供了针对特定目标应用而优化的参考设计、仿真工具以及大量的成熟软件模块或库资源,能有效帮助终端产品开发企业快速推出成熟的产品。 |