基于嵌入式LINUX车载多媒体控制终端设研究

时间:2022-08-11 06:14:31

基于嵌入式LINUX车载多媒体控制终端设研究

摘要:论述了车载多媒体控制终端系统架构、基于SAA7113视频采集电路和驱动程序的设计;然后在简要介绍嵌入式系统的基础上,结合LINUX自身特点,搭建了基于嵌入式LINUX和 S3C2440开发板的嵌入式开发环境;最后以车载多媒体控制终端的功能需求为出发点,结合嵌入式GUI的结构和实现原理,以Qt/Embedded为开发工具,开发出车载多媒体控制终端。

关键词: S3C2440芯片;嵌入式Linux;嵌入式QT;SAA7113芯片

中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)21-30535-02

Design of Vehicle-Carried Multimedia Control Terminal Based on Embedded Linux

LU Qi-shuai, XING Yan-fang

(Department of Information Technology CUCN, Nanjing 211172, China)

Abstract:This paper introduces the system frame of the Vehicle-Carried Multimedia Control Terminal, video capture circuit and driver design of SAA7113. Then, based on embedded system and combined with characteristics of Linux, the scheme is proposed and development environment based on S3C2440 board is formed. At last, integrated with embedded GUI’s architecture and principle adopting QT/Embedded as the development tool, the design of the Vehicle-Carried Multimedia Control Terminal is finished sucessfully.

Key words: S3C2440; Embedded Linux; QT/Embedded; SAA7113

1 引言

车载多媒体控制器是机车上完成人机对话、实时监控、多媒体控制和系统信息显示的重要设备,为乘务人员的操作及机车安全运行提供信息保证。特别是在人防、消防、气象等恶劣环境中,车载多媒体控制器可以方便工作人员在车内安全环境下实现视频实时监控和需要执行的操作。因此从理论方法到技术实现开展车载多媒体控制器的研究工作具有重要的理论意义和现实意义。

2 车载多媒体控制器系统架构

该系统采用了高速嵌入式处理器ARM设计技术,视频采集技术,嵌入式Linux操作系统技术,嵌入式QT技术。主要涉及视频的采集、播放、操纵杆控制和通过触摸屏实现对车载各种器件控制的软件研发。技术关键是采用S3C2440作为系统的处理器。视频采集部分采用SAA7113芯片。

通过分析已有车载多媒体控制器产品的功能,结合未来发展趋势,充分考虑其潜在功能,根据系统具有高速的处理图象功能而且具有以太网功能。把总体框图分成MCU, FLASH, SDRAM, SAA7113,JOY等模块。可以归纳为如图1所示。

3 SAA7113电路和驱动程序设计

SAA7113是NXP(原飞利浦半导体部门)视频解码系列芯片的一种一款高集成度视频A/D芯片,非常具有代表性,在很多视频产品如电视卡、MPEG2、MPEG4中都有应用,熟悉了SAA7113的原理后,对该系列其他相关芯片SAA7114、7115、7118就会很容易理解。SAA7113的主要作用是把输入的模拟视频信号解码成标准的“VPO”数字信号,相当于一种“A/D”器件。对SAA7113的控制要包括:对输入模拟信号的预处理,色度和亮度的控制,输出数据格式及输出图像同步信号的选择控制等。本设计将数据输出格式设置为YUV 4:2:2格式。SAA7113的模拟与数字部分均采用+3.3V供电,数字I/O接口可兼容+5V,正常工作时功耗0.4W,空闲时为0.07W。SAA7113需外接24.576MHz晶体,内部具有锁相环,可输出27MHz的系统时钟。芯片具有上电自动复位功能,另有外部复位管脚(CE),低电平复位,复位以后输出总线变为三态,待复位信号变高后自动恢复,时钟丢失、电源电压降低都会引起芯片的自动复位。SAA7113为QFP44封装。

对SAA7113初始化需要通过I2C总线进行,其接口电路如图2所示。

SAA7113兼容全球各种视频标准,在我国应用时必须根据我国的视频标准来配置内部的寄存器,即初始化,否则SAA7113就不能按要求输出,可以说对SAA7113进行研发的主要工作就是如何初始化。

SAA7113是一种视频解码芯片,它可以输入4路模拟视频信号,通过内部寄存器的不同配置。 可以对4路输入进行转换,输入。 可以为4路CVBS或2路S视频C Y/C)信号,输出8位“VPO”总线,为标准的ITU 656 YUV 4: 2: 2格式。

SAA7113兼容PAL, NTSC, SECAM多种制式,可以自动检测场频适用的50或60Hz,可以在PAL, NTSC之间自动切换。SAA7113内部具有一系列寄存器,可以配置为不同的参数,对色度、亮度等的控制都是通过对相应寄存器改写不同的值,寄存器的读写需要通过I2C总线进行。

SAA7113驱动程序的核心就是对SAA7113的寄存器进行初始化, SAA7113_t SAA7113_reg是对SAA7113寄存器进行初始化得数值。

SAA7113_t SAA7113_reg[SAA7113_INIT_REGS]={0x00,0x00;0x01,0x08;0x02,0xc0;0x03,0x20;0x04,0x00;0x05,0x7a;0x06,0xeb;0x07,0xE0;0x08,0xb8;0x09,0x01; 0x0A,0x88; 0x0B,0x47; 0x0C,0x40;0x0D,0x00;0x0E,0x01;0x0F,0x24;0x10,0x08;0x11,0x0C;0x12,0x8b;0x13,0x09;};

4 嵌入式linux环境的搭建

嵌入式操作系统(Embedded-OS)是支持嵌入式系统应用的系统软件。为嵌入式系统的应用程序提供平台,是嵌入式系统的重要组成部分。

结合典型嵌入式系统的开发流程,选定系统硬件之后,或者说在选择硬件的同时就要综合评估操作系统的选择,这正是嵌入式系统开发的特征。本文所研究的车载多媒体控制终端选定的是Linux操作系统。

嵌入式Linux(Embeded Linux)是指对Linux经过小型化裁剪后,固化到容量较小的存储器芯片或单片机系统中,应用于嵌入式系统的嵌入式Linux操作系统。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。

嵌入式系统是一个资源受限的系统,一般说来处理器的速度和存储器的容量都有限,因而直接在嵌入式系统硬件上建立开发环境,进行软件开发还不现实。目前,嵌入式系统的开发通常采用宿主机加目标机开发方式,需要在宿主机(运行编译器的系统)上建立交叉编译环境,进行特定配置后与目标机系统(产生的程序将在其上运行的系统)通过网络或串口(UART)等方式建立通信连接、相互协作共同完成整个嵌入式系统的开发。

5 应用程序开发

根据产品的要求,需要设计图形触摸屏界面,目前在嵌入式Linux环境下,做图形界面最好的开发工具是Qt/Embedded。

Qt/Embedded是Trolltech公司开发的嵌入式图形用户界面系统。Trolltech最初创建Qt作为跨平台的开发工具用于Linux台式机。Qt/Embedded是一个针对嵌入式设备开发GUI和应用程序的C++工具包。它主要是结合Linux,运行在多种处理器上,具有很好的移植性。它能运行在任何支持带有Frame buffer和C++编译器的Linux硬件平台上。开发者可以使用任何自己熟悉的开发环境编写代码。Qt/Embedded以原始Qt为基础,做了许多出色的调整以适用于嵌入式环境

在Qt中,包含三个主要的基类:QObject,QApplication和QWidget。QObject类是处理信号/槽事件的Qt对象的基类;QApplication类负责GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束和会话管理,还包括系统和应用程序方面的设置。对于一个应用程序来说,建立此类的对象必不可少;QWidget类是所有用户接口对象的基类,它继承QObject类的属性。

Qt下对象间的通讯用信号和槽用的机制来实现, 基于Qt/Embedded的应用程序设计主要是掌握信号与槽的关键技术,在此基础上,应用C++技术,很方便的编写出产品所需要的图形界面。

6 总结

所设计的车载多媒体控制终端,目标是开发一款功能更齐全、稳定性更好、扩展性更强的典型嵌入式车载触摸屏控制终端设备。目前该产品已成功应用与气象系统的车上。

参考文献:

[1] 陈莉君.深入分析Linux 内核源代码[M].人民邮电出版社,2002.

[2] 倪继利.Linux内核分析及编程四[[M].北京:电子工业出版社,2005.

[3] Daniel Solin.24小时学通Qt编程[M].北京:人民邮电出版社,2000.

[4] 马忠梅,马广云,徐英慧,等.ARM嵌入式处理器结构与应用基础[M].北京航天航空大学出版社,2005.

[5] 邹思轶.嵌入式Linux 设计与应用[M].北京: 清华大学出版社,2002.

上一篇:教育中虚拟现实技术的应用研究 下一篇:基于减法聚类模糊推理系统的短期负荷预测