Omap5910-based mobile Media Player Design
[Date:] |
Source: Electronic Technology Application Author: Zhang Shi, Chang Hao, Li Huang, Wang Yanhua |
[Font:Large Medium Small] |
With the rapid development of multimedia and communication technologies, the demand for multimedia and video applications is growing. Among them, MP3 audio and MPEG4 video standards have been widely used. The Research and Development of an embedded multimedia player has important practical significance and practical value.
OMAP is an open multimedia application platform proposed by Ti in recent years for wireless and mobile media. It has a unique dual-core design. It combines an arm command processor with Ti c55x high-performance, ultra-low-power DSPs to provide powerful power for mobile media processing. Currently, OMAP processors are widely used in handheld devices, smart phones, and PDAs. Given its strong support for mobile media, OMAP will gain a larger market share in 3G applications. Therefore, the development of media players on the OMAP platform supports mainstream MP3 and MPEG4 media decoding and will serve as a reference for the future development of media software and hardware applications based on the OMAP platform in the wireless communication field.
1 System Design
Currently, mainstream media file formats include Avi, mov, RM, and WMV, among which AVI files are most widely used. AVI (audio video interleaved) is a type of riff (resource Interchange File Format) file format. Generally, an AVI file can contain multiple different types of media streams. In typical cases, MPEG4 video streams and MP3 audio streams are added. This article describes a Media Player Designed for Ti's OMAP 5910 platform to play MP3 audio files and AVI media files.
1.1 system hardware design
WITH Ti OMAP 5910 as the core, this multimedia player uses the bus interface integrated with OMAP 5910 and the I/O port controller to expand memory, audio, video, communication, and SD card interfaces; the Ethernet and CF card interfaces are extended through FPGA. The CPLD is used to manage the chip at the board level, so that it has the complete function of multimedia player. Figure 1 shows the hardware and software structure of the multimedia player.
1.1.1 Memory Design
Memory interface communication controller (TC) manages two types of memory: On-chip and On-chip. TC has two independent memory interfaces for accessing the off-chip:
(1) quick off-chip memory interface (EMIFF): the quick synchronization interface connected to the off-chip SDRAM. On the EMIFF interface, Mount SDRAM to run the LINUX operating system.
(2) Slow off-chip memory interface (EMIFS): asynchronous interface connected to off-chip FLASH, SRAM and other memory. On the EMIFS interface, the SRAM and FLASH are mounted respectively.
1.1.2 Design of CPLD and FPGA on the board
(1) CPLD. This system selects XILINX's 95144XL-TQ144 as the configuration of the entire system. After the system is powered on, it resets OMAP5910, configures the entire board-level device, and performs address decoding to allocate storage space to the memory.
(2) FPGA. This system extends FPGA mainly to extend the CF card and Ethernet.
The CF card has multiple connection modes. In this design, the true ide mode is used to reflect the internal registers of the CF card in FPGA. In this way, the corresponding time sequence is generated by controlling the internal registers of the FPGA, and the Internal Controller of the CF card is written to complete the corresponding operations.
The AX88796L chip is used for Ethernet. It has a standard ISA interface and a 10 Mbit/s/Mbit/s speed. It is controlled by FPGA and can fully meet actual needs.
1.1.3 audio/video and Human-Machine Interface Design
(1) LCD display. The OMAP 5910 incorporates a tft LCD controller with standard LCD control signals. LCD power control, backlight switch control, brightness control, touch screen signal, etc. will be supplied to the CPLD in this system. The Integrated board of this design selects the nec LCD: NL2432DR22-12B.
(2) keyboard. The system has a 3x4 keyboard for human-computer interaction.
(3) audio interface. The system uses the OMAP and TLV320AIC23 external audio decoder to design the audio system. The two I/O Lines of OMAP are used to simulate I2C timing to configure the audio chip, while the McBSP1 interface is used as the OMAP interface to transmit data to the audio chip.
1.1.4 Extended Interface Design
(1) memory card interface design. Multimedia players require storage devices with a large amount of data. SD cards are used for this design. OMAP 5910 integrates the SD card controller. By programming the OMAP 5910 SD card controller, you can control the SD card.
(2) USB interface design. OMAP 5910 integrates the controllers and interfaces of USB Host and USB Function to facilitate the expansion of USB interfaces. The external PDIUSBP11APW USB transceiver converts the signal of the OMAP 5910 USB controller to the signal of the USB bus.
1.2 System Software Design
The software system mainly includes MP3 and MPEG4 decoding algorithms and a media player program framework using two decoding algorithm modules.
1.2.1 MP3 audio decoding algorithm
The MP3 algorithm is based on the human psychological acoustic model, uses the masking effect of human ears to remove the signals below the absolute threshold and masking domain in the audio signal, and dynamically quantifies the remaining signals based on the masking domain, the combination of sub-band encoding, transform encoding, and Harman encoding technology can greatly reduce the size of audio files and ensure sound quality.
The MP3 audio decoding algorithm is based on the ISO/IEC 11172-3 standard and partially optimized for TI DSP55x.
1.2.2 MPEG4 video decoding algorithm
The MPEG4 algorithm is based on object encoding and focuses more on the interaction and flexibility of multimedia systems. Object encoding makes it possible to manipulate video objects. MPEG4 adopts a new and efficient compression algorithm to increase the compression ratio. It can achieve high-quality image effects when the speed is relatively small. Linear MPEG4 videos have no object interaction content and only contain video streams to be decoded.
MPEG4 decoding algorithm is compiled according to ISO/IEC 14496-2. The computation process focuses on IDCT, motion compensation, and VOP reconstruction. The optimization focuses on these three processes. According to the characteristics of TIDSP55x, the specific optimization scheme is as follows:
(1) Use IMGLIB, an image and video processing library provided by TI, to improve algorithm performance: the highest performance achieved by IDCT, motion compensation, and other algorithms is achieved.
(2) reduce the read/write speed of the off-chip memory: Because the DSP's read/write speed on the off-chip memory is relatively slow, a DMA channel must be established between the internal and external memory to store decoded frame data, the Macro Block to be decoded is then transmitted to the internal memory through the DMA channel for high-speed processing.
(3) Optimize Code Organization: When writing code, pay attention to optimization technologies such as loop expansion, cyclic distribution, and cyclic switching, and select the optimal data type for the corresponding processor, the code efficiency is the highest.
1.2.3 Media Player software design
Media Player software design because OMAP's unique dual-core structure is divided into MPU and DSP. The player program is an application running in the LINUX operating system with a graphical interface. By calling the driver of the DSP device, the application enables both the MPU and the DSP to work together to complete the playing function. Figure 2 shows the overall frame of the Media Player.
(1) MPU Software Design
As the mpu arm core, the task is to establish the underlying operating system and the GUI for upper-layer interaction with users, complete AVI file data reading and parsing, and control DSP core audio and video decoding. Therefore, MPU software work can be divided into the following parts.
① Transplantation of LINUX Embedded operating systems, compilation and Transplantation of device drivers;
② Design Based on the FLTK application graphic user interface. FLTK is a small, multi-platform GUI rapid development kit. It is very easy to transplant on LINUX. The player graphic user interface developed using FLTK is shown in figure 3.
③ Read and parse AVI files. After you select an AVI file, open the file, read the file's attribute information, index information, audio and video code to be decoded data, and close the file after playing.
④ Control of DSP audio/video decoding. The application is driven by a DSP device and starts the DSP core, opens up a data buffer for interaction with the DSP, and establishes a communication mechanism using MAILBOX. The DSP decoding process is controlled.
(2) DSP Software Design
On the DSP end of the processor, the main task is to decode the audio and video data and finally complete playback. This part of the main work is to use DSP/BIOS and Reference Frameworks 5 to effectively organize and complete the audio/video decoding and playback process synchronization mechanism. The main modules include video decoding process, audio decoding process, video playback process, audio playback process, and audio/video synchronization control.
1.3 system key design summary
(1) the hardware platform of TI OMAP5910 mobile media player adopts a 6-layer PCB design with complete modules and high scalability.
(2) The MP3 and MPEG4 decoding ALGORITHMS are designed with reference to TI TMS320 dsp algorithms standard (XDAIS.
(3) transplanted the embedded Linux operating system and related drivers for TI's OMAP5910 processor.
(4) A media player software system based on the dual-core OMAP5910 platform is designed. The control tasks in the system are completed by MPU, and the operation tasks are processed by DSP, thus maximizing the processor performance. In addition, the system effectively organizes resources such as memory and DMA channels, and also organizes DSP/BIOS and RF5 for program code applications to ensure real-time and reliable system performance.
2 tests and conclusions
The overall performance of the player is tested using four representative AVI media files. The test results are shown in table 1.
The test results show that for the test file 1 (176 × 144 128 kbps), audio and video can be played smoothly to meet the appreciation requirements. When the video size increases, the video smoothness (Frame Rate) decreases as the computing workload increases, and the real-time playback of MP3 is also affected. For files of the same video size, the MP3 decoding speed decreases when the MP3 speed is increased, which also affects the video smoothness. In addition, audio and video synchronization is ineffective.
In general, the media player works normally and the CPU usage is slightly higher. Video Decoder performance is not very good, it is difficult to achieve real-time playback for files with large screen sizes. Therefore, it is necessary to further optimize the decoding module.
References
[1] Chen Yu, Zhang Fuhong. Research on Open Multimedia Application Platform [J]. Journal of Hangzhou Institute of electronic industry, 2002,3: 41-44.
[2] International Standard. Information technology coding of moving pictures and associated audio information: Audio, 1993.ISO/ IEC 11172-3.
[3] International Standard. Information technology coding of audio-visual objects: Visual, 1998.ISO/ IEC 14496-2.
The object-based international standard MPEG-4 for multimedia data compression coding and Its Validation model [M]. Beijing: Science Press, 2000.