当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于三星S3C2440A的Micro2440视觉处理平台的构建

嵌入式机器人系统通常需要高速、功能接口丰富的处理器系统,而最新的Micro2440开发板采用了三星S3C2440A处理器,该处理器基于ARM920T内核,工作频率400 MHz,0.13 μm的工艺制造,具有高性价比、低功耗、高性能的特点[1],同时内部集成了LCD、CMOS摄像头等接口模块,能够高速快捷地完成视频信号处理,而且丰富的外围接口提供了系统良好的扩展特性。另外Micro2440核心板可以与底板分离单独运行,为进一步缩小体积预留了空间。无论是基于图像的处理还是视频流的处理,首先都需要完成视觉平台的构建,本文在Micro2440开发板的基础上实现了视觉处理平台,完成了图像、视频的处理和显示功能,并提出了基于颜色通道的背景差分法,完成目标物体中心的实时检测。
1 系统整体流程
    该平台设计首先完成了基本的硬件初始化,而CMOS摄像头驱动以及相应的图像处理作为一个单独的模块进行加载运行。该嵌入式系统的加载启动任务是由BootLoader(BootLoader是嵌入式系统加电后运行的第一段程序)来完成的。BootLoader分为两个阶段:第一阶段通常由汇编语言实现完成部分硬件的初始化,创建C语言运行环境;第二阶段继续进行初始化完成MMU、LCD显示等设置。在系统完成基本硬件的初始化工作后,便可以启动摄像头进行图像、视频的采集处理,系统结构如图1所示。
 


    BootLoader的第一阶段启动的流程依次为:ARM启动或重启→设置中断向量→禁止看门狗、中断→设置时钟→Sdram初始化→复制RO/RW段到Sdram→ZI段清零→堆栈初始化→跳转到main函数。第二阶段则完成了以下操作:main函数→端口初始化→设置中断请求→设置主频→串口初始化→设置MMU→打开Cache→LCD初始化。ARM系统MMU的设计为了便于实现,采用了2段式的虚拟地址分配方式,每个页(Section)的大小设置为1MB;同时为了减少对S3C2440地址的修改,采用了虚拟地址与物理地址相同的地址分配方式。
2 LCD设计
    Micro2440开发板配有240×320/NEC3.5英寸T- FT真彩液晶屏,正确设置后能够显示清晰的图像、视频。S3C2440A的LCD控制器支持的屏幕大小包括480×640、240×320以及160×160等尺寸,能够产生VFRAME、VLINE、VCLK、VM等控制信号。这些控制信号的使用需要配置S3C2440A的C端口为LCD控制。同时LCD的数据线VD[0]~ VD[7]也由C端口控制,VD[8]~VD[23]则由D端口控制,需要设置做为LCD数据线。由于使用的是TFT真彩液晶屏,需要把LCD控制寄存器设置为TFT模式,这里设置为TFT的16BPP(Bits Per Pixel)模式;同时还需要对LCDCON5进一步设置为5:6:5或5:5:5:1格式,这里设置RGB格式为5:6:5格式,此信号在OV9650传输如图2所示[2]。以便和摄像头的视频输出格式相一致,否则需要进行格式的转化。在设置完帧缓存地址后,写入数据,便可以实现图像的显示,格式转换过程如图3所示。

3 摄像头驱动设计
    Micro2440开发板的配套摄像头型号为OV9650,该摄像头具有130万像素,输出视频格式为YCbCr格式,同时S3C2440A的CAMIF(Camera Interface) 提供了ITU-R BT.601/656 8位标准输入的支持[3],最大可采样4 096×4 096像素的图像[4],在Preview模式下支持输出RGB 16/24 bit格式,这对于数字图像的处理带来了便利条件。S3C2440A的CAMIF与OV9650的连接如图4所示。


    OV9650驱动流程如下:设置Camera全局控制寄存器,并复位→配置S3C2440A的J端口→使能OV9650的Normal模式→设置接口时钟→通过I2CSCL,I2C-SDA与SID_C, SID_D信号建立S3C2440A与OV9650的通信→设置OV9650的寄存器组→初始化3C2440A摄像头接口,包括捕获图像的宽、高、偏移、输入格式、输出格式、缓冲区地址等→将OV9650将LCD缓冲区地址更改到Camera的缓冲区地址,以显示Camera图像→清除中断→设置中断处理函数→开始捕获图像。
    其中,OV9650与S3C2440A的通信采用了两线制的SCCB (Serial Camera Control Bus) [5],通过该接口可实现各种图像增强和控制功能,如自动曝光、自动增益、自动白平衡控制等,以及控制图像色彩、饱和度、锐化、镜头校准等[6]。S3C2440A控制端口产生SCCB的启动、停止等控制信号,SCCB 协议中开始条件定义为:在SID_C 为高电平时, SID_D出现一个下降沿,则SCCB开始传输;停止条件定义为:在SID_C为高电平时, SID_D出现一个上升沿,则SCCB停止传输;在数据传输时,SID_C为高电平时,需要SID_D上的数据的稳定,以便传输,如图5所示。


    以写一位数据传输为例,基本流程为:将数据放在SID_D上→启动SID_C进行传输→延时传输后停止SID_C;同理,传输8位数据则需循环8次。类似地,读取时基本流程为:启动SID_C→读取SID_D→停止SID_C。一个完整的数据传输的写周期顺序为:写从设备的ID→写设备寄存器的地址→将此寄存器中写入数据。[!--empirenews.page--]
4 图像处理设计
    在获得摄像头采集的图像后,常常需要对捕获的图像进行处理,并把处理的结果实时地显示出来。本文通过设计在帧中断处理函数中进行图像处理,可以很好地进行处理后图像的动态显示。此时需要将OV9650获得的图像的buffer地址设置到一临时空间中,完成处理后再送入LCD的buffer地址中进行显示;否则,Camera和图像处理函数同时写LCD的buffer地址,将出现LCD显示不正确的情况。图像处理流程如图6所示。


5 图像获取结果
    图7分别是在室内环境下,桌面上一个普通乒乓球在摄像头视频显示的结果(左)和在动态处理后摄像头视频显示(右)的截图,其中视频的下方同时显示了一横条图片。图像处理函数完成了视频在绿色通道中的同步显示。经验证,图像处理的结果良好,色彩正常,并且无明显滞后等异常现象。

6 运动目标检测
    获取OV9650图像后,在此系统平台上完成了对运动物体的目标检测,取得了良好效果。常用的运动目标检测方法有:光流法、帧差分法以及背景差分法[7]。光流法大多计算复杂,占用CPU时间较多;帧差分法常常检测目标不够完整;因而针对嵌入式平台采用了运算速度较快的背景差分法。实验首先采用了基于灰度图像的背景差分法,但效果不够理想:设f(i,j)为一帧视频图像序列;Rf、Gf、Bf为其中的任一像素的红绿蓝分量,i,j为像素的横坐标和纵坐标。B(i,j)为背景图像序列,同样地,RB、GB、BB为其中的红绿蓝分量,依据以下公式计算灰度值(类似黑白摄像头获得的灰度值):
   
背景差为: fB(i,j)=f(i,j)-B(i,j)。此系统中RGB格式为5:6:5格式,红绿蓝分量均取5位,绿色分量舍弃了最低位。获得的差分图像分别以红色显示和二值化获得的结果如图8所示。


    如图8(右)所示,由于灰度图像的背景差分法获得的像素值普遍较低,因而屏幕亮度较暗,在室内光线中LCD屏幕显示很不清晰;图8(左)为进行二值化后背景差分法的图像,也仅能够得到小球的部分区域,效果不够理想。于是本文针对于彩色图像提出了基于颜色通道的背景差分法,可以获得理想的效果。设P为颜色通道(这里红色通道取值为0xF800),则基于颜色通道的背景差分法用如下公式计算:


   
   

背景差为: fB(i,j)=f(i,j)-B(i,j)。若取阀值T则:fB(i,j)=fB(i,j)-T。获得的差分图像分别在红色通道中显示和二值化所得的结果如图9所示。可见图9左图二值化后可获得乒乓球的圆形轮廓,十分清晰;而且在红色通道中的图像显示轮廓明亮,说明数值强度大抗干扰能力强。在获得图像后并自动计算出形心位置,在横轴和纵轴以白色直线显示中心位置,在以240×320分辨率输出时,平均速率达30帧/s,实现了对运动目标中心的实时检测,如图9右图所示。实验结果表明, 此基于Micro2440的视觉处理平台上能够很好地进行图像及视频的显示及处理。

    本文基于Micro2440的视觉处理平台具有以下特点: (1)Micro2440平台提供了丰富的外围接口,方便功能扩展,S3C2440A自带有CAMIF(Camera Inter-face) 模块,无需接口转化电路,核心板与底板分离可以进一步缩小体积;(2)CPU工作频率 400 MHz,处理速度较快,OV9650高达130万像素,分辨率高。
    在每完成一帧的视频采集后,能够及时地进行图像处理,并且图像处理的结果能够在LCD上同步显示;同时轻松转换便可以方便地得到标准24位BMP图像,为进一步数字图像处理提供了良好的平台。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LCD 液晶屏是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产...

关键字: 三星 Galaxy A14 LCD屏

10月3日,三星电子在美国加州硅谷举办“三星晶圆代工论坛&SAFE论坛”。论坛上三星芯片代工部门表示,将于2025年开始生产2nm制程工艺芯片,然后在2027年开始生产1.4nm工艺芯片。据了解,此前台积电也曾规划在20...

关键字: 三星 1.4nm 芯片

提到台积电,相信大家都不陌生,作为全球顶尖的晶圆代工机构。仅台积电、三星两家晶圆代工厂的市场份额,就占据了全球半导体市场的70%左右。

关键字: 3nm 芯片 三星

iQOO Neo7 新品发布会将于 10 月 20 日 19:00 召开,官方已经放出了新机的正面渲染图,并给出了新机的更多配置信息。

关键字: iQOO Neo7 三星 E5柔性直屏

在接下来的5G时代当中,华为也将会凭借着自身的优势,从而处于遥遥领先的地位,但其实厉害的又不仅仅是华为企业,如今,作为国际巨头的三星开始了在6G当中的研发,6G接下来的网速,将会是5G的50倍,对于三星的这一个大动作,华...

关键字: 5G 6G 三星

(全球TMT2022年10月18日讯)10月18日,三星宣布,其最新的LPDDR5X内存已通过验证,可在骁龙(Snapdragon®)移动平台上使用,该内存速度可达到当前业界最快的8.5 千兆比特每秒(Gbps)。通过...

关键字: DRAM GBPS 三星 LPDDR5

根据5G设备市场的调研数据当中来看,三星所拿下的5G设备市场份额就达到了10.4%,也就是说,排在了第四名的位置。

关键字: 6G 三星 华为

据业内消息,目前三星正在研发一种智能戒指,佩戴后可以监测使用者的活动健康数据,因为轻便续航高且可长时间佩戴等优点,不少业内人士认为其会取代智能手环和手表。

关键字: 智能手环 智能手表 三星 智能戒指

三星宣布,其最新的LPDDR5X内存已通过验证,可在骁龙(Snapdragon)移动平台上使用,该内存速度可达到当前业界最快的8.5 千兆比特每秒(Gbps)。通过优化应用处理器和存储器之间的高速信号环境,三星超过了自身...

关键字: GBPS 三星 内存 LPDDR5

- 在骁龙(Snapdragon)移动平台上,三星以8.5Gbps的运行速度完成了LPDDR5X DRAM的验证,为LPDDR(移动端)内存打开了新市场。 深圳2022年10月18日 /美通社/ -- 10月18日,三...

关键字: DRAM GBPS 三星 LPDDR5

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭