新闻  |   论坛  |   博客  |   在线研讨会
基于TMS320DM270平台的数码摄像机的设计与实现
yanqin | 2009-06-24 11:58:23    阅读:1117   发布文章

 

  21世纪是数码时代,数字类消费产品的需求量正在进行着惊人的增长。在这些产品中,视频类产品的比重相当的大,在人们的日常生活中越来越普及。在这些产品中,无论是数码摄像机,还是具有摄像功能的手机,其最核心的部分便是音视频处理器,选择什么样的处理器,决定着此类产品的成本,性能,市场前景。

  在本设计中,笔者选取了ti公司的tms320dm270(dm270)作为核心的处理芯片。

  可行性分析

  为了使消费者获得质量更高的数字视频和影像内容,面向像素数为300万至500万像素的数码相机、数码摄像机及便携式多媒体产品。德州仪器(ti)推出了基于dsp的数字媒体处理器dm270,它是基于多处理器架构之上,集成dsp c5409和32位risc处理器arm7tdmi的双核结构,其中arm7tdmi来处理非成像功能,用作整个系统的主控制器,dsp处理音视频编码,同时还集成了专门用于执行dct、反向dct以及众多其它处理运算中的运动估计与补偿的图像处理引擎(imx),以及可变长编解码器(vlcd)。

  而且ti还提供了一系列音视频芯片,可与dm270进行无缝连接。tvp5040,tvp5145可以用作视频a/d转换器,aic23可用作音频a/d。

  dm270还有专门的mmc/sd控制器,进行外部mmc/sd卡的扩展功能,为大容量数据的存储提供了方便,以及osd(on screen display)模块,可以直接外接显示设备(lcd、tv)。

  基于dm270的数码摄像机基本系统框架如图1所示。

  

  

                        图1 本方案系统框架图

  方案设计

  从图1可以看出,整个系统前端主要是由视频输入模块,音频输入模块,以及处理器dm270组成。后端则可以接入存储设备及显示设备(lcd,tv)。

  视频模块

  视频输入模块结构如图3所示,由前端的ccd模块进行数据的采集,进入cpu后通过预处理,再进行视频数据的压缩保存。

  

  

                           图3视频回放数据流

  

  

                       图4 mcbsp与aic23的接口

  视频采集和输入

  在dm270中有一个ccd可编程控制接口,可以方便的把标准的ccd(cmos)数据接入到系统内部,而且为ccd图像传感器提供了必要的时序逻辑,对逐行和隔行扫描ccd或cmos图像传感器给予很好的支持,能支持高达4096*4096像素。在笔者开发的系统中采用ov7620的cmos摄像头,输出yuv数据直接进入系统。芯片内部还有硬件的3a模块来自动调节镜头的聚焦。另外,dm270中有预览引擎(preview engine),可对ccd数据的图像进行增强,自动白平衡和各种尺寸的缩放。这样大大减少了cpu对数据的初级处理压力。

  视频压缩

  dm270支持vga分辨率下的mpeg4 30fps实时编解码,而且支持多种视频压缩标准,如jpeg,motion-jpeg,h.263等。可以为数码摄像机提供多种拍摄模式。

  如前所述,dm270内部还具有图像协处理器imx,可以高速进行dct、运动估计 (补偿)、插值运算。vlcd模块完成码流编码。在笔者开发的平台里可以做到vga的mpeg4每秒24帧、h.263每秒30帧的实时压缩编码及解码后通过lcd显示。

  此外,除了视频图像外,还可以实现数码拍照的功能,进行jpeg图片的拍摄。在笔者开发的平台中可以实现2048*1536的jpeg图片。

  视频输出显示

  数码摄像机必须具备回现功能,而dm270带有osd控制器,其后端有venc(video encode)和d/a转换模块,产生ntsc或pal格式的视频信号输出给外部显示设备。dm270将压缩的mpge4数据或jpeg图片,解码后的yuv数据通过osd实现回现功能。其数据流如图3所示。

  osd模块具有4个图像层(两个yuv的video层和两个位图层),可以方便的实现图层的层叠混合。可以利用osd的位图层0显示各种操作菜单,作为图形界面让用户调节系统参数。

  音频模块

  从图1可以看出,音频数据直接输入到dm270中的dsp进行处理。

  音频采集与输入

  dm270内部的dsp是5409,有两个多通道缓冲串行口(mcbsp)模块,用于音频的采集接口。在笔者开发的平台中,音频采样和转换采用的是aic23芯片。tlv320aic23是ti推出的一款高性能的立体声音频codec,内置二级输出放大器,支持mic和line in两种输入方式(2选1),并且可以对输入输出进行可编程的增益调节。aic2模数及数模转换都高度集成在芯片内部,而且采用先进的sigma-delta过采样技术,可在8~96khz频率范围内提供16bit,20bit,24bit和32bit的采样。输入输出信噪比可以分别达到90db和100db。为数码摄像机的声音录放音质,提供了保证。而且aic23与dsp内部的mcbsp可以进行无缝连接。其接口如图2。

  

  

                        图2视频输入模块结构图

  音频压缩,解码

  在dm270中dsp的运算能力强大,可以实现多种语音压缩编码、解码。下面的表格是几种语音编码方式的比较。

  由表格可以看出,在保证高音质的情况下,g.711和g.726的算法复杂度相对简单,这样可以减少dsp的数据处理压力,使dsp有更多的资源进行视频数据的处理。而且g.711数据可以被quicktime格式的影音文件支持,这样可以增加数码摄像机文件支持格式。g.726为可变码率编码,数码摄像机用户可以根据存储空间来选择。

  在笔者开发的平台上,分别实现了g.711与g.726算法及quicktime文件的录放功能。

  系统软件设计

  在笔者开发的系统中,因为dm270的arm核为arm7tdmi,没有内存管理单元(mmu),所以采用uclinux作为嵌入式操作系统同标准的linux相比,uclinux最大的特点在于不具有mmu,因此很适合那些没有mmu的处理器。由于uclinux的内核是由linux根据所要运行的cpu裁减、修改而来。它保持了原有linux系统的主要优点,如稳定性好,出色的文件系统支持,完善的应用程序开发,升级方便。

  该方案的软件平台架构如图5。

  

  

                          图5 软件架构图

  在用户应用程序中主要完成三种功能:录像功能,拍照功能,以及录像及照片的回放功能。

  并且可以实现三种功能的实时的相互切换。如图6所示。

  

  

                        图6 系统用户程序功能切换

  在该方案软件系统中还移植了u-boot进行系统引导与加载,提高了整个系统的运行效率。

  为产品系统的升级服务提供了良好的支持。

  结语

  本系统已经在中国农业大学信息与电气工程学院得到实现,可以进行mpeg4、motion-jpeg录像,jpeg拍照,以及quicktime格式的录制;并实现了上述录像,拍照在lcd及电视机上的回放功能。实践证明,这种高性能,基于dsp及arm双核技术的解决方案,使得产品开发应用变得更加容易,而且使用的系统软件可以随时升级,可以按照用户的要求进行定制,甚至做到diy,为产品的尽快进入市场奠定了基础。

  


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客