页面加载中,请稍候
来源:现代电子技术发布时间:2012-03-13523浏览
询问 AI摘要:为实现立体显示,设计并实现了基于单片机的LED背光控制系统。该系统采用单片机ATmega128为控制处理器,加以外围电路,利用RS 232接口实现与PC机人眼跟踪模块的实时通信。同时,充分利用下位机资源,在单片机上实现Kalman滤波,提高人眼定位精度,并利用Kalman预测,将跟踪速率提高一倍,有效减轻了显示器的闪烁现象。
关键词:自由立体显示;LED;ATmega128;RS 232;Kalman滤波
0 引言
人眼视觉是立体的,立体的视觉带给人类的不仅仅是可以判断观看对象的空间状态,它和颜色一起,使这个世界更加丰富多彩、变化万千。2010年伊始,随着立体电影《阿凡达》的热映,在世界各地掀起了一股3D的热潮,3D技术成为各界关注的焦点。三菱、索尼、LG、三星等各大显示器厂商相继推出自己的立体电视,并寄希望于立体电视市场的开发。
立体显示技术经历了多年的发展,无论在显示质量,还是实现方法上都有了很大的进步,自由立体显示由于不需要佩戴任何辅助工具,因此正在成为立体显示发展的方向。其中,以LCD为基础,基于视差的立体显示技术由于技术成熟且实现工艺不复杂,成为最有可能实现商业化的热门技术之一。基于AVR单片机的自由立体显示系统正是在这一技术的基础上,利用特殊的光学部件和LED照明阵列实现的。
Kalman滤波是一种线性最小方差估计,算法采用递推形式在时域内滤波,数据存储量小,预测精度高,适用于对多维随机过程进行估计,这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测)。常用于从一组有限的,包含噪声的,对物体位置的观察序列中得到关于物体位置的好的估计。在自由立体显示系统中,单片机在进行电路控制的同时还对人眼位置信息进行Kalman滤波和预测。
1 系统的工作原理及总体方案设计
1.1 立体显示的实现原理
视差立体的实现原理是将一对立体图像分别送入人的左右眼睛,经过大脑融合后就可以产生立体效果。根据这一原理,设计了一款立体显示器,17寸LCD的奇数行和偶数行分别显示左右立体图像,光学部分利用菲涅尔透镜控制光路的走向,垂直分光装置使位于不同垂直位置的两组LED背光源只能分别照亮LCD屏幕的奇数行或偶数行,如图1所示。同时,两组光源的水平位置也有差别,这样就为左右眼分别提供了只能看到奇数行或偶数行的可视区域,如图2所示。当观察者在屏幕前自由移动的时候,通过摄像头探测到人眼的位置信息,用单片机控制LED照明阵列在适当的地方点亮,保证始终提供正确的可视区域,实现自由立体显示。
1.2 基于单片机的Kalman滤波的预测实现
Kalman信号模型包括状态方程和测量方程。状态方程描述了系统当前状态和前一状态的状态转移关系。如下所示:
上位机完成人眼检测算法,并且把人眼位置信息通过RS 232送给单片机。单片机选择AVR系列中功能最强的ATmega128,主要完成对人眼位置数据的处理,然后按照一定的时序发送给驱动芯片。控制电路更新LED照明阵列时,按地址逐个发送数据“1”或“0”,控制每一列LED的点亮与否。
2 硬件设计
2.1 驱动电路
根据背光源亮度恒定的要求,LED阵列的驱动采用聚积科技生成的16位恒流LED驱动芯片MBI5026,其内建的CMOS移位缓存器与栓锁功能,可以将串行输入的数据转换成并行输出的格式,电流的输出值可以通过一个外接电阻进行调整,高达25 MHz的时钟频率可以满足大量数据传输的要求。
2.2 控制电路
ATmega128是ATMEL公司推出的一款8位RISC结构高速低功耗单片机,在16 MHz时钟频率时系统性能可达16 MIPS,内带128 KB的FLASHRO M,4 KB的E2PROM、4 KB系统SRAM;可扩展64 KB外部存储器;两个8位定时器/计数器,两个16位定时器/计数器;两路UART通信口,可工作在异步或同步方式。在与上位机通信的过程中,需要采用MAX232电平转换芯片将PC机串口输出的RS 232电平转换成单片机能接受的TTL电平。
3 软件设计
软件设计的总体思路是PC机检测到人眼的位置信息,给出左眼的位置数据和右眼的位置数据,单片机在得到这两个数据后,启动TC1开始t/2时间的定时,同时开始Kalman滤波,使用由式(8)得到的滤波值刷新LED照明阵列。定时器中断服务处理程序主要包括清零TCCR1B以停止定时器,按照t/2时刻人眼位置的预测值刷新LED照明阵列。这样,在人眼检测速率为每秒25帧的情况下,可以将LED的刷新速率提升到每秒50次,有效减轻了可视区域随观察者位置变化而带来的跳跃感。
程序实现对系统的初始化,包括I/O端口的初始化、TC1的初始化、中断设置、串行口工作方式选择、各种变量的初值装入。波特率设置为115 200 b/s,数据格式采用8位数据位,1位起始位,1位停止位。初始化完成后,程序进入等待状态,若上位机发送数据,则进入相应的串行口中断服务处理程序,如图4所示。
4 实验
在实验中采用NASA的航拍视差图像对,观看距离490~550 mm,观看视角±30°以内。实际得到的图像如图5所示,其中图5(a)是观察者左眼看到的图像。图5(b)是观察者右眼看到的图像,由于这两幅图像存在视差,最终就会在大脑中融合成一幅具有立体感的图像。
Kalman预测使得LED背光的刷新频率由25 Hz提高到50 Hz,跳动感有所减弱。此外,为了验证Kalman滤波算法的效果,手工标记了1 500帧图片中左右两眼的精确位置,单片机通过串口将滤波值以及1/2帧处的预测值回发给上位机。定义:
5 结语
本文介绍的自由立体显示系统只需要一对立体图片,就可以获得很好的立体效果。采用价格合理、性能优越的单片机控制系统,保证了性能与成本的兼顾。基于匀速运动模型的Kalman滤波器成功改善了系统的性能。
新闻来源:现代电子技术,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-12

2026-06-29