Design and Development of Embedded Multimedia Terminal

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 4428



Design and Development of Embedded Multimedia
Terminal
G.Siddaiah
1
, B.Chakradhar
2
1
M.Tech, Dept of ECE, CMR College of Engineering&Technology, Hyderabad, AP-India,
2
Asst Prof, Dept of ECE, CMR College of Engineering&Technology, Hyderabad, AP-India.
______________________________________________________________________________
Abstract:
The embedded multi-media terminal was designed and developed, which using SAMSUNG
Corporation's S3C2440 chip as core processor. Multi-media terminal is capable of storing and
playing digital media such as audio, images, video, documents, etc. the data is typically stored on
a hard drive, micro drive, or flash memory. Our Embedded project is to design and develop a low
cost feature which is based on embedded platform for audio and video player, clock and other
GUI interface. The product is be used as a remote multi-media communications platform for
multiple applications areas. Our Embedded system uses ARM9 micro controller which is 32 bit
controller. The audio and video files are given to the controller through Pen drive or SD Card.
The controller process the information and given to Audio and video display unit. The main aim
of our project is to design a Low Cost Multi media player to play the Video and Audio files
from pen drive through USB device or from the SD card. The related output goes to Audio and
Video display unit through Display drivers. Here we are going to use S3C2440 based micro
controller to implement this project.

Keywords- S3C2440 processor, NAND FLASH, USB DEVICE, AUDIO& VIDEO TFT DISPLAY UNIT
______________________________________________________________________________
I.INTRODUCTION:

The rapid development of embedded chip
technology, embedded system is becoming
high-powered, multifunctional and all-
purpose, which has had a significant impact
on changing people's lifestyle and improving
quality of life [1]. In the field of embedded
system applications, Consumer electronics
products are more potential, especially
portable consumer electronics products.
Based on researching embedded systems
development technology, and on this basis, a
set of low-cost Embedded Multimedia
Terminal's solution has been proposed,
which uses the most widespread and high
capability/price ratio ARM9 chip as
processor, and the solution can browse the
popular format pictures, play popular format
audio and video files. Through analyzing the
functional requirements of system, we
choose UP-NETARM2410-S embedded
development platform based on ARM9
processor as hardware development
platform, ARM-Linux and Qt4 as software
development tools.
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 4429


II. RELATED WORK:

Embedded systems is the dedicated
computer system, which concentrates on
application and bases on computer
technology, hardware and software can be
cut as needed, applies to applications which
have strict requirements about functionality,
reliability, cost, size, power consumption.
The development of embedded technology
has experienced four stages roughly. The
first stage is programmable controller
system with the core of single-chip; the
second stage is embedded system with the
basis of embedded CPU and the core of
simple operating system; the third stage is
embedded system marked by embedded
operating system; the fourth stage is
embedded system marked by Internet.

There are a little of differences on function
and technology between embedded multi-
media terminal and PC, but embedded
multi-media terminal is embedded and in
special environment, it has some of its own
unique characters.

a) From the whole, embedded multi-media
terminal have diversification.
The diversity of embedded devices
determines the diversity of the system,
which is equivalent to determine the
diversity of embedded multimedia terminal.
Thus, according to the needs of specific
application, customizing embedded
multimedia terminal is necessary.

b) From the system, embedded multi-media
terminal always runs in special
circumstance.
In order to save hardware costs, embedded
systems usually use a lower frequency of the
CPU. Therefore, Multimedia terminal
applications must have a good efficiency, in
order to achieve faster response speed and
better playback. The development language
of embedded multi-media terminal is
Qt[3,4]. Qt is one of the most used
programming languages that is used to
develop GUI applications in embedded
development platform. Qt is a symbol
product of Trolltech, the latest version is
Qt4.5, which makes a lot of improvement on
high-efficiently and easy-to-use template
container, advanced model/view function,
fast and flexible framework for two-
dimensional drawing and editing classes,
and has rich features. In addition to the
desktop version of Qt, Trolltech has also
offered embedded version, that is
Qt/Embedded, which is a customized C++
tools development kit for a graphical
interface and application development
offered from embedded devices, and which
provides a component programming
mechanism of signal and slot, and many
classes about a wide variety of graphic
design, event handling, process control, and
when the runtime requires very little system
resources for running. Qt/Embedded
applications can also be written directly to
the kernel frame buffer [5]. Qt is particularly
suitable for a graphics application system
development platform under ARM-Linux by
cutting to greatly reduce memory
consumption.









International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 4430

III. FUNCTION DESIGN:




ARM-Linux multimedia terminal hardware
design is shown in Figure.

A. System Hardware Design:

ARM-Linux multimedia terminal hardware
design CPU is Samsung S3C2440 adopts
ARM920T-fabric chip, and up to 203MHZ
frequency; LCD is Sharp's 8-inch 16bit true
color TFT with the resolution of 640*480;
Audio controller adopts IIS bus, and decoder
chip is UDA1341; FLASH is SAMSUNG
K9F1208 and reaches the capacity of 64M.

B. System Software Design:
This section of system software mainly
consists of two parts that are ARM-Linux
system construct and drivers programming.
The former includes building an embedded
cross-environment; design and
implementation of bootloader, transplanting
embedded Linux kernel, and implementation
of the root file system, etc. The design of
drivers programming includes keyboard
driver, touch screen driver, LCD driver,
audio driver, USB driver and other drivers.
1) Transplanting ARM-Linux Operating
System
The system adopts Bochuang's UP-
NETARM2410-S as target machine, and
establishes cross-compiling environment by
connecting target machine with host
machine. Embedded cross-compiling
environment usually was built on personal
computer based on X86 Linux/X86
Windows. In comparison with Windows CE,
Linux has many advantages as follows:
support multi-tasking system of various
processors, opens source, a small core easy
to cut, strong transplanting. According to the
above characteristics, we use ARM-Linux as
a system software development platform.
After building cross-compiling environment,
it is necessary to transplant booting program
boot-loader. Bootloader is closely related to
hardware architecture, also is a short
program which runs before loading
operating kernel and application running,
and completes the system's start-up and
load. Boot-loader has two different
operational modes: the first is boot-loader
mode that is autonomous mode; the second
is downloading mode. Under the second
mode, the boot-loader on target machine
downloads files from host machine through
serial interface, network or other
communication means. The files
downloaded from host, at first, usually are
saved to target machine RAM by boot
loader, and then write to target machine's
flash class solid-state storage device by
boot-loader [7]. Here, the first model is
mainly used to initialize the hardware
devices and establish the memory space of
the mapping table, further establish the
appropriate hardware and software
environment to prepare for calling to
operating system kernel.

The next step is to transplant Linux kernel.
The kernel downloaded from the official
website can not run directly in hardware
platform. In order to transplant Linux, you
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 4431

need to re-cut and compile kernel and
program corresponding hardware-related
code. The root file system is an important
component of the Linux system, providing
necessary library files, device files, system
configuration files, etc. for Linux kernel's
running. The system uses YAFFS2 file
system according to the characteristics of
embedded Linux system and hardware
platform selected by the system.
2) Driver
System call is the interface between
operating system kernel and applications
and device driver is the interface between
operating system kernel and machine
hardware. Device driver is a part of the
kernel. Linux source is open and rich in the
Linux world, so Linux kernel source tree has
already provided support for this type of
device driver. Therefore, we can do some
necessary porting task on the basis of source
[8].
C. Application Design
Multi-terminal's graphical interface is
designed in Qt Designer window
environment, using Qt/Embedded 4.4.0 as
underlying graphics library for generating
the user interface, TSLlib 1.4 as touch-
screen library. Qt is a cross-platform C++
graphical user interface library.
Qt/Embedded is a version oriented to the
embedded system version, and its most
important feature is to make the signals and
slots for communication between objects.
Qt's widgets have many predefined signals
and slots are a signal that can be invoked to
handle specific functions. Qt's widgets have
many predefined slot. A signal is fired when
a particular event occurs, then the
corresponding interested slot will call the
corresponding response function. Multi-
media terminal mainly consists of four parts
that are photo browse module, video
playback module, the calendar module and
audio playback module. Multi-media play is
the focus of this system, so player is very
important. This paper will focuses on picture
browsing module design, video playing
module design and audio playback module
design.

1) Pictures Browse Module
Photo browse module development involves
the 2D drawing system in Qt4, which is
mainly supported by three classes: QPainter,
QPaintDevice and QPainterEngine. QPainter
is used to implement specific graphics-
related operations. QPaintDevice is a
drawing graphics device for drawing.
QPainterEngine provides interfaces for
different types of devices, and it is not
opaque for programmer, so it choices the
function between QPainter and
QPaintDevice. Qt provides four classes
dealing with images: Image, QPixmap,
QBitmap and Q Picture. They have their
own characteristics. Q Image optimized I/O
operations, and can directly access and
operate vertical pixel data; QPixmap is
mainly used to display images on the screen;
QBitmap inherited from the QPixmap can
only express two kinds of colors; Q Picture
can draw pictures through recording and
playing QPixmap drawing devices.
QPixmap mainly completes the screen back
buffing drawing [9]. This program of image
drawing is mainly achieved through function
of Image Widget: painter Event
(QpaintEvent *event). Slot functions prev()
and next() achieve separately the picture
forward loop function and backward loop
function, with connect function associating.
By getting information on picture path, the
former picture or the next one can be
achieved to read and shown. Slot functions
zoom In() and zoom Out() achieve
separately reducing and enlarging images
function, with connect function associating.
First, slot functions zoom In() and zoom
Ort() are used to set up the picture scaling,
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 4432

and then picture zoom is realized by scale()
in Q painter which is Image Widget: painter
Event (QpaintEvent *event) class.

2) Video Player Module
The system achieves playback of the video
through transplanting MPlayer. MPlayer is
one of the best players on Linux, which can
use many codes and support many kinds of
output devices. MPlayer can play almost
audio and video formats on the markets.
This system chooses it as player and
optimizes and transplants it. The
optimizations is as follows: correct
MPlayer's run-time aberration; achieve the
normalization of keyboard events when
running; adopt FFMPEG decoder developed
under Linux system instead of MPlayer's
MP3Lib floating-point audio decoding
library because MP3Lib decoding is so
inefficient and unsmooth when playing
audio; pass control messages from GUI to
back-end process through FIFO by using
MPlayer's input option. After optimization,
cross-compile and transplant MPlayer, then
you can smoothly playback MPEG-1,
MPEG-
2, AVI and other video format files.

3) Audio Player Module
The system's Audio Player Module is
designed by using open source FFMPEG
[10] and Qt4. Q file Dialog class in Qt4
provides dialog box to allow user to select
file or directory. Through inheriting this
class and calling its get Open Filename
function, the dialog box for opening the
audio files and selecting files is established:
Q string filename = Q file Dialog::
getOpenFileName (".", fileFiters, this); In
this function file filters means file filters, the
files can
be read out only when they meet the setup in
file filters. This function will return the
selected audio file name and path to
filename. The selected audio file selected is
decoded and played by calling the open
source FFMPEG decoder.


IV.RESULTS:

The system's testing environment is as
follows: CPU: Intel Pentium 4 2.60G;
Memory: 512M DDR ; network card:
10/100M self-adaptive Ethernet; serial port:
RS232; host operating system: Red Flag's
Asianux workstation 3. When video player
plays test files, first define a desktop
file(Text V. desktop) which includes the
description of the procedure for the
application, procedure icon and the name of
the different languages. Save the executable
sequencing as $QPEDIR/bin, and put the
icon into $QPEDIR/apps/Applications/
directory. Then restart the Linux operating
system in the target board, and start the
player, the test video player running result is
shown in Figure2, the test video player
interface is shown in Figure3, Figure2
shows that the video files can decoding and
playing successful. The video player's
operation method is the same with the
normal player, with the menu bar, display,
control buttons, as well as play, pause, stop
and other functions.


International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 10 - Oct 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 4433












V. CONCLUSIONS

Using the economical ARM9 series
S3C2410 processing chip, Asianux
workstation 3 operating system and
Qt/Embedded multimedia terminal
embedded GUI has achieved an overall
system design of multimedia terminal;
display many pictures in the form of slide;
Using FFMPEG library to decode and play
audio and video files, supporting pictures in
the form of such PNG, BMP, JPG format
images, etc, audios in the form of such
WAVMP3, etc., videos in the form of such
MPEG-1, MPEG-2, AVI, and can
automatically identify SD card or USB and
other mobile equipment, and realize
automatically playing back.


REFERENCES

[1] Wang Zheng, Lin Xiaochuan, Zhou Yun-
Lian, Ouyang Tianli. Design and
Implementation of Multi-media Player
System Based on QT4 & Linux [J]. Journal
of Guizhou University (Natural Science
Edition), 2009,(1):60-64.
[2] Xie Huacheng. Research and
Implementation of Embedded Remote
Monitoring System [D]. Chengdu:
Southwest Jiaotong University, 2006.
[3] Trolltech. Qt Reference Documentation
[EB/OL].
http://doc.trolltech.com/2.3/index.html.2004.
[4] Trolltech.Qt/Embedded
whitepaper[EB/OL].
http://www.trolltech.com/index.html.2006.
[5] Blanchette J ,Summerfield M. C++GUI
Programming with Qt4, Second Edition[M].
USA: Prentice Hall, 2006.
[6] Zhi-Ming Cai, Lu Chuan-fu, Li-Xia and
so on. Versed in QT4 programming [M].
Beijing: Electronic Industry Press, 2008.

You might also like