基于Blackfin的智能IP Camera系统设计
1.背景及概述
近年来,随着嵌入式应用越来越复杂,应用场合越来越多,特别是多媒体功能在各个领域飞速发展,高性能计算变得无处不在,从消费电子,网络通讯到工业控制和监控,大多数应用都需要更高的数字信号处理能力。出于成本和设计难度的考虑,人们倾向于使用单颗芯片完成所有的工作,传统的DSP处理器和MCU处理器开始以多种形式进行融合:
1.传统的MCU+DSP合作方案被集成到一颗芯片封装内;或者进一步实现为真正的异构多核,可以共享部分甚至全部外部设备。
2.以SoC的形式为MCU加上基于固定硬件IP模块的数据处理能力,如一些编解码器。针对一些固定标准的应用。
3.随着高端嵌入式处理器频率突破500MHz并正在挺进1GHz,MCU和DSP平台开始真正的融合, DSP处理器的外设接口数量和控制能力逐步提高,而MCU的带宽和计算能力特别是软件多媒体处理能力也越来越强,两者之间不再有质的区别。
以上三种融合的形式,实际上互相之间都有借鉴和交叉,从这里开始的未来发展,DSP和MCU之间,多核处理器的核与核之间,都不再有真正的界限。对于任何应用,对应的处理器都是灵活的软件计算能力、高效的硬件IP模块和相应外设的结合体,即所谓的"Convergent Platform"(会聚平台)。
这样的处理器平台,对于嵌入式软件开发者提出了更新更高的要求,高级语言编译器要能够最大程度的利用硬件细节来优化编译性能,减少手工优化的工作量,保持软件的通用性;DSP算法开发人员不仅仅要了解硬件平台,也要考虑到软件平台的架构对算法实现和优化的影响,例如分离硬件相关部分和无关部分以适应操作系统的结构;而软件平台开发人员也要考虑处理器的细节以便进行系统优化,例如为多核或DMA通道的并行处理抽象出系统接口。硬件设计者,算法设计者,系统软件设计者之间的界限也在消失,复合型的嵌入式系统开发者和团队才能最适应底层硬件平台的变化。
在这个DSP/MCU/硬件IP模块三者融合的大趋势中,ADI公司的Blackfin系列处理器就是一个代表产品。从最早的BF53x系列,到目前的增加了图像处理单元的BF54x系列和低功耗BF52x系列,以及双核的BF561,都是以同样的内核配置多样化的带宽和外设,针对不同的应用和市场。在这样的处理器上选择和设计软件,需要考虑的因素有很多:
1.如何保持对处理器DSP特性硬件细节的最大效率使用,以达到最优算法性能和并行性。
2.如何最大程度地保持软件通用性,避免过多的硬件相关代码和汇编代码。
3.如何降低软件平台开发成本,是否适合采用开源操作系统或模块。
4.系统是否需要实时性能,采用的软件平台是否提供这样的实时性保证。
这些因素有时候是互相矛盾的,需要考虑具体应用的特点和自身的资源,来做一个折衷的最优化设计。
ADI公司为Blackfin的软件平台做了很多的努力,提供多样化的软件生态环境。Blackfin支持uClinux,VDK,uC/OSII,Nucleus等等多种OS/RTOS,基于VDSP开发工具提供多种免费的音视频codec,硬件抽象函数库及驱动。在这个基于BF53x的智能监控系统中,我们希望最大程度地发挥芯片处理能力,达到最好的编码和智能算法能力,所以选择了一种RTOS – uC/OSII及其网络协议栈作为操作系统平台。在小型的RTOS中,一般不区分用户态和内核态,访问系统硬件资源的开销小,中断和任务切换时间有实时保证,对内存的使用和分配也比较自由,这些特点决定了在RTOS下更容易发挥Blackfin作为DSP处理器的性能,并能直接使用ADI提供的高性能H264编码库;但缺点是对比Linux这样开源资源比较丰富的操作系统,RTOS缺少某些现成的应用程序比如HTTP Server,需要更多的开发投入或第三方资源。
2.Blackfin IP Camera系统架构
整个IP Camera系统主要包括音视频采集,智能视频分析或智能音频分析,音/视频编码,流媒体打包传输,系统控制等模块(如图1所示)。
基本系统为Blackfin的视频接口PPI同数字视频流输入相连来接收视频信号,而串行的SPORT接口可以连接音频输入,音视频数据以专用DMA通道传送到SDRAM;如果需要智能监控,可以根据需要插入不同的分析模块;然后软件编码器负责对实时采集进来的音视频进行压缩,并打成TS(Transport Stream)流来传输。整个系统是数据流驱动的,下图中不同的输入,分析和编码模块可以根据需要来选择,每个模块的输入和输出的是符合标准的数据流,可以灵活地插入系统数据流的不同位置进行处理。一般的Blackfin单核芯片只能同时使用其中的一部分模块,但双核芯片如BF561或双片方案中,可以同
- 浅谈ADI智能电网的全程解决方案(03-09)
- iPad2加速医疗设备诊断级产品便携化(06-24)
- ADI可穿戴无线ECG动态心电监护仪参考设计(08-25)
- 基于IEC61850的智能电子设备解决方案(04-20)
- ADI锂电池测试设备方案浅谈(04-22)
- 32位MCU将成主流SoC应用平台,您准备好了吗?(07-02)