DSPGateway Architecture in Detail

Slides:



Advertisements
Similar presentations
FatMax Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 LicenseCreative Commons Attribution-NonCommercial-ShareAlike 2.5.
Advertisements

Lecture 101 Lecture 10: Kernel Modules and Device Drivers ECE 412: Microcomputer Laboratory.
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Operating System.
Embedded Streaming Media with GStreamer and BeagleBoard ESC-228 Presented by Santiago Nunez santiago.nunez (at) ridgerun.com.
Mobile Computing Advantages and limitations of mobile computing
MM Player Supervised by: Dr. Luai Malhis. Prepared by: Mustafa Assaf & Mahmoud Musa.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
▶ Powerful CPU : 1.3GHz CPU with 3G graphic engine Mali400 ▶ 8inch high bright LCD for big vehicles under sunlight ▶ System connector supporting multi.
SpinetiX Hyper Media Player: HMP100
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
USB Digital Audio Player Using ST92163 By Microcontroller DivisionVersion 1.2 / November 2000.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
1 © NOKIA MIT Media Lab Europe PPT / / RTT S ensing M y D evice and C ontextual A wareness: M y N ew D imensions of C ommunication Roope.
Professor Michael J. Losacco CIS 1110 – Using Computers Operating Systems & Utility Programs Chapter 7.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Working with OSK5912 By T Siva Viswanathan Naresh Krishnaswamy Harshvardhan V.
Introducing MagicInfo Videowall 2
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
SP2 Mikael Nystrom. Agenda Översikt Installation.
Final presentation- Part A Avi Urman, Kobi Maltinsky Supervisor: Inna Rivkin Linux on SOPC – Embedded System Implementation.
Boxee Box by D-Link. Agenda What’s Boxee Box Appearance Applications Positioning Brief Introduction Supported Media Formats Selling Points Comparison.
Samsung Poland R&D Center © Samsung Electronics Co., LTD S/W Platform Team | Ver.DateDescriptionAuthorReviewer /09/18Initial VersionMarek.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Operating System Program 5 I/O System DMA Device Driver.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Image Processing for Remote Sensing Matthew E. Nelson Joseph Coleman.
1 CP586 © Peter Lo 2003 Multimedia Communication Standards and Delivery Methods.
Narrator : Mrs Shamim Peyvandi. World leader Today, Nokia is still the world’s number one manufacturer of mobile phones, and one of the leading.
Training SM350 Modules and Code Swapping By: Robert Abutan.
Discovering Computers 2010 Chapter 2 The Internet and World Wide Web.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Project Goals 1.Get to know Quartus SoPC builder environment 2.Stream 2.Stream Video 3.Build 3.Build foundation for part B - Tracking system.
Embedded Streaming Media with GStreamer and BeagleBoard
Schutzvermerk nach DIN 34 beachten XC200 Hardware Overview.
Translate the following message:
Final Year Project Home Automation with an Internet Tablet and Linux MCE Damien Lee 4 ECE Supervisor : Dr. John Breslin.
SPCA554A Mobile Camera Multimedia Processor By Harrison Tsou.
Chapter 13-Tools for the World Wide Web. Overview Web servers. Web browsers. Web page makers and site builders. Plug-ins and delivery vehicles. Beyond.
ScreenPlay TV Link Training By Erik Collett
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
PlayStation Portable Made by Santeri Lehtonen. History 12th December 2004 in Japan 24th March 2005 in North-America 1st September 2005 in Europe.
The Amiga Operating System: Past and Present Aaron Hensley Kayla Zinn Brad Campbell Gregory Mathurin Josh Benson.
2003 Dominic Swayne1 Microsoft Disk Operating System and PC DOS CS-550-1: Operating Systems Fall 2003 Dominic Swayne.
Senior Design Project “ MP3 Player ” Brian P. Allen Zeeshan A. Khan Jerry T. Koshy.
2006/JAN/20JapanTechnicalJamboree61 Improvement of bootup time using Power Management - Project Update - Hiroki Kaminaga Sony Corporation
Multimedia in Web Introduction. Multimedia Elements in Web Page Images Voice Music Animation Video Text & Numbers.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Business-logic Layer Presentation Layer Network Layer Digital Signal Processing Layer SmartHome API SmartHome Software Architecture SH mobile application.
EUROTECHNIKI PRODUCTION OF MULTIMEDIA MATERIALS FOR EDUCATION MODULE 5: PRODUCTION OF MULTIMEDIA MATERIALS FOR EDUCATION ANTWERP MEETING JANUARY.
LonWorks Introduction Hwayoung Chae.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
Streaming MPEG-4 with Linux Lee Keun O RT-LAB. Content ■ Reference ■ Darwin streaming server ■ MPEG4IP (mp4live) ■ Problems.
DaVinci Overview (features and programming) Kim dong hyouk.
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Last Update: 2-Jan-2005 Version: 1.0 Global Prepared By: John Lysfjord
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Pilot Watcher Product Overview V5.3
Datawind Calling Tablet Communication Redefined!
Power Management Discussion
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Improvement of startup time using Software Suspend - Project Update -
CS703 - Advanced Operating Systems
Stay connected with friends & family - always
Presentation transcript:

DSPGateway Architecture in Detail Yoshiya Hirase Nokia Research Center Nokia Japan Co. Ltd. 1 © 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials

Agenda DSP Gateway Features Demonstration Using Nokia 770 2 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

DSP Gateway Features Open Source Software Simple interface for DSP Integrated in Nokia 770 Internet Tablet Simple interface for DSP Efficient inter-processor communication (ARM <-> DSP) Block data transfer via shared memory DSP Task management Dynamic Loader Fault-tolerant mechanism Power management Simple interface for DSP conventional Linux device files Efficient inter-processor communication (ARM <-> DSP) Minimum copy count for maximum throughput Memory management IPBUF: Inter-processor buffer mechanism (“Global”, “Private”, “System”) mmap function Multi-task environment for DSP applications Fault-tolerant mechanism Power management 3 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

History 2003/6: Released the DSP Gateway version 1.0 for OMAP1510 at SourceForge 2004/8: Supported OMAP1610/5912 2004/9: Merged into the Linux OMAP tree 2005/2H: Nokia 770 released with DSP Gateway The latest DSP Gateway ver 3.3 supports OMAP 15XX (including 5910) and 16XX (including 1710 and 5912). 4 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

DSP Interface: Device Files DSP task devices interface to DSP task DSP control device miscellaneous DSP control (e.g. DSP configuration) DSP memory device DSP memory access DSP task watch device for dynamic loader DSP error detection device error info delivery 5 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Inter-Processor Communication Communications via OMAP mailbox mechanism OMAP ARM DSP Mailbox registers (16bit + 16bit) interrupt (16bit + 16bit) interrupt internal memory IPBUF IPBUF: Inter-communication buffer mechanism memory IPBUF 6 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Inter-Processor Communication: IPBUF Global IPBUF: Used to transfer block data to/from DSP task Prepared by the system and managed with alloc & free functions Fixed block size, restricted block count Private IPBUF: A task can define an exclusive buffer, with arbitrary size System IPBUF: Used to transfer extra data between systems of ARM and DSP ARM DSP 1 task A task A (alloc) (free) 1 2 3 4 Global IPBUF Global IPBUF ARM DSP task B Private IPBUF task B task B Private IPBUF ARM DSP System IPBUF system system System IPBUF 7 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Inter-Processor Communication: Mailbox commands 8 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Memory Mapping DSP internal memory External memory DARAM, SARAM SDRAM Visible for ARM and DSP 9 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Task Management: Dynamic Loader 10 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Task Management: DSP Application Life Cycle DSP Gateway ARM DSP process 1 Linux application Device driver DSP kernel DSP application DSP task dynamically created open() open() activate DSP task complete open() return write() write() input data / control command task running write() return output data read() read() read() return DSP task dynamically deleted Example -dynamic task- close() close() deactivate DSP task complete close() return 11 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

MP3 Pseudo program (ARM side) int fd_mp3file, fd_dsp; DATA buf[BUFSZ]; int Decode_MP3(void) { // Open MP3 decoder device fd_dsp = open(“/dev/dsptask/mp3dec”, O_RDWR); // Initialize MP3 decoder ioctl(fd, MP3_DECODE_INIT); // Decode MP3 audio file while (ReadMp3File(fd_mp3file, buf, BUFSZ) != EOF) { // Send encoded data to MP3 decoder in DSP write(fd_dsp, buf, BUFSZ); } // Close MP3 decoder device close(fd_dsp); Issue TCTL command to DSP Issue BKSND command to DSP 12 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

MP3 Pseudo program (DSP side) Uns rcv_tctl(struct dsptask *task, Uns ctlcmd, Uns *ret, Uns arg) { switch (ctlcmd) { case MP3_DECODE_INIT: InitIMDCT(); InitFilters(); break; ... } Uns rcv_bksnd(struct dsptask *task, Uns bid, Uns cnt) /* Decode received MP3 data */ Dequantize(); ReduceAlias(); IMDCT(); /* Send decoded PCM data to the Audio Device Driver */ Handle MP3_DECODE_INIT of TCTL command Handle BKSND command 13 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Nokia 770 Internet Tablet Features Display High-resolution (800x480) touch screen with up to 65,536 colors Memory Engine: DDR RAM 64MB Memory: Flash 128MB (>64MB for user) Memory card: 64MB RS-MMC (Reduced Size - MultiMediaCard) Supported file formats Audio: MP3, Real Audio, AAC, WAV, AMR Image: JPEG, GIF, BMP, TIFF, PNG, Animated GIF format, SVG-tiny, ICO Video: MPEG1, MPEG4, Real Video, H.263, 3GP (RED items are decoded on DSP, BLUE items are routed through DSP) Connectivity WLAN: 802.11b/g Bluetooth specification: 1.2 USB device mode for PC connectivity RS-MMC 3.5 mm stereo audio out 14 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Multimedia Software Architecture in Nokia 770 Linux DSP/BIOS Multimedia Player GStreamer Plugin #1 (Codec) Plugin #2 Plugin #3 Codec #2 Codec #3 DSP Gateway ARM DSP 15 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Future Work OMAP2420 support (including IVA support) Driver Abstraction, and expansion for generic AMC (Asymmetric Multi-Core) processors 16 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Demo: Play Media Files using DSP Gateway System log message Device status Play sound or movie 17 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

References: Project page: Articles: http://sourceforge.net/projects/dspgateway Articles: 森 英悟, 小林 俊裕, 高橋 清隆. “オープン・ソース・ソフトウェアDSPGatewayを用いたLinuxで使うOMAP DSP部のソフトウェア開発環境.” Interface: CQ Publishing, May 2004, 156-164 http://www.cqpub.co.jp/interface/contents/2004/200405.htm 18 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Thank you 19 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: File manager Image 20 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: Audio Player Image 21 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: BKSND command in log 22 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: TDEL command in log 23 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: Task Status Transition 24 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: Log message while playing MP3 25 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo

Appendix: Performance Evaluation Example Memory mapping improves data transfer well Data send latency (to DSP) by 44%-68% Data receive latency (from DSP) by 27-55% MPU bksnd := MPU sends a data blocks to DSP MPUbkreq_DSPbksnd := MPU sends a block request to DSP -> DSP receives it & then sends the block back -> MPU receives the data block from DSP Memory write/read := MPU writes/reads data on the mapped memory 26 © 2005 Nokia CELF_Nokia_Japan_v01.ppt / 2006-01-20 / NRC-Tokyo