the video clip player: philips nexperia™ pnx0106 and linux … · 2016-07-06 · 6 video clip...

52
Armin Gerritsen & Marcin Klecha Advanced Systems Laboratory 08-04-2006 The Video Clip Player: Philips Nexperia™ PNX0106 and Linux based platform

Upload: others

Post on 19-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

Armin Gerritsen & Marcin KlechaAdvanced Systems Laboratory

08-04-2006

The Video Clip Player:Philips Nexperia™ PNX0106and Linux based platform

Page 2: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

2Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Advanced Systems Laboratory

• Vision– A world where everyone can always connect to information, entertainment

and services.• Mission

– To prototype advanced applications, one or two “Moore’s Law” generations ahead, using Nexperia™ platforms.

– To gain insight on future requirements, identifying disruptive market and technology trends.

• Strategy– Show PS’ strengths in “Connected Consumer” through prototype

demonstrators built on Nexperia™.– Develop market understanding through strategic customer engagement

together with Business Clusters and Marketing and Sales.– Link program to business direction through Business Relevance and

Technology Program Boards.

Page 3: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

ASL: Where?Where?

3Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 4: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

ASL: Where?Where?

3Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 5: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

4

Outline

•• Video Clip PlayerVideo Clip Player– Introduction– System Overview and Use Cases

•• Linux & Software architectureLinux & Software architecture– Video: Framebuffer Implementation– Audio: EPICS DSP– UPnP and DTCP-IP protection– Linphone: VoIP application

•• Linux and prototypingLinux and prototyping– History– Measurements: powermanagement–– Next stepsNext steps

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 6: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

5

Video Clip Player: IntroductionIntroduction

The Video Clip Player (VCP) shows Linux-based applications and is based around the Nexperia™ PNX0106 System-on-Chip solution.

The VCP is hard-drive based reference design featuring a colour QCIF+ LCD and provides features such as FM radio, audio playback, photo viewing and video playback on LCD or TV.

The VCP has multiple connectivity options like USB 2.0, USB OTG,UART, SPI, BlueTooth, NFC and Ethernet.

The VCP is using the latest technologies like UPnP, VoIP and DTCP-IP.

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 7: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

6

Video Clip Player: IntroductionIntroductionAnd what about Linux?

Linux played an essential role in the development and usage of the VCP in three ways

• The VCP runs Linux. Linux enabled Philips Semiconductors to quickly have a demonstrator platform to promote its Nexperia™ PNX0106 IC.

• The VCP can be easily used as a test-platform for Philips departments, to test the latest ideas and technologies.

• The VCP was prototyped using Linux, allowing IP to be validated, actual use-cases to be tested and performance measurements to be done, all before the IC itself was available.

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 8: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

7

Video Clip Player: Nexperia™ PNX0106PNX0106

IEEE1394

MemoryController

USB2.0 HSOTG

ATA/IDE

Audio DSP

(EPICS7b) UART(2x)

I2S In/Outx2

Audio DACHeadphone SPDIF Audio

ADCI2Cx2

SPI x2

YUV OUT

ARM926 EJ-S

I-cache D-cache

SDR

AM

FLA

SH

SRA

M

EEPR

OM

LCD(6800/8080)

ADC10bits

MCI

GPIO

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 9: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

8

Ethernet

BlueTooth

802.11

TV OUTSAA7121

USB 2.0Device

USB OTG

NFC

Obex

PAN

FM RadioTEA5761

Video Clip Player: System overviewSystem overview

MIC

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 10: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

9

Video Clip Player: Use CasesUse Cases

• Audio/Video Player (showing MP3 and MPEG4)• Audio Recording• FM Radio• Pictures Slideshow (LCD and TV)• USB OTG (Pictures Download from a camera)• USB 2.0 Device – PC Connection• VoIP (Voice-over-IP)• Send/Receive pictures via BlueTooth• iRadio – audio streaming over TCP/IP• Games• UPnP Server with DTCP-IP link protection• NFC mifare card reader

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 11: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

10

Video Clip Player: Audio/Video/PicturesAudio/Video/Pictures

JPEG slideshow to a TV or LCD

Main window of the GUI

Video PlayerAudio PlayerAudio ApplicationsPicturesGamesSettings

Audio Recording and playback of the recordingFrom a MIC on the board

FM Tuner - Radio

Audio/Video playback to LCD/TV -*.3gp, *.mp4-MPEG-4 SP + AMR Audio

Audio MP3 playback from a CF/HDD via a headphone or speakers

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 12: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 13: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

SEND or RECEIVE a picturefrom VCP-1 to a mobile phone via BlueTooth

Page 14: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

SEND or RECEIVE a picturefrom VCP-1 to a mobile phone via BlueTooth

Ethernet, BlueTooth

or WiFi

Page 15: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

SEND or RECEIVE a picturefrom VCP-1 to a mobile phone via BlueTooth

Ethernet, BlueTooth

or WiFi

Image printingfrom VCP-1

Audio/Video/Picture streamingfrom VCP-1

DTCP- IP protected

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

RECEIVE a picture1 to a mobile phone oth

Page 16: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

SEND or RECEIVE a picturefrom VCP-1 to a mobile phone via BlueTooth

Ethernet, BlueTooth

or WiFi

Image printingfrom VCP-1

Audio/Video/Picture streamingfrom VCP-1

DTCP- IP protected

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

RECEIVE a picture1 to a mobile phone oth

iRadio - Audio streaming from Internet to VCP-1

InternetInternet

Imagfrom

Page 17: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

11

Video Clip Player: Connectivity and NetworkingConnectivity and Networking

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

SEND or RECEIVE a picturefrom VCP-1 to a mobile phone via BlueTooth

Ethernet, BlueTooth

or WiFi

Image printingfrom VCP-1

Audio/Video/Picture streamingfrom VCP-1

DTCP- IP protected

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

RECEIVE a picture1 to a mobile phone oth

iRadio - Audio streaming from Internet to VCP-1

InternetInternet

Imagfrom

NFC card readere.g. easy WiFi set-up

DTCP- IP protected

Page 18: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

12

Video Clip Player: VoIPVoIP (SIP) telephony(SIP) telephony

Internet

SIP Proxy:Siproxd

Linux PC

Linphone

Home network

Linphone

Home networkor

Hotspot Linphone

VCP-1

VCP-1

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 19: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

13

Outline

•• Video Clip PlayerVideo Clip Player– Introduction– System Overview and Use Cases

•• Linux & Software architectureLinux & Software architecture– Video: Framebuffer Implementation– Audio: EPICS DSP– UPnP and DTCP-IP protection– Linphone: VoIP application

•• Linux and prototypingLinux and prototyping– History– Measurements: powermanagement–– Next stepsNext steps

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 20: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

14

Linux & Software architecture: FramebufferFramebuffer

• VCP is using the Linux framebuffer architecture– Enables the usage of many of the Linux applications and graphic libraries

(e.g. Qt(e)/Qtopia and DirectFB)

• ‘Out of the box’ the Linux framebuffer architecture doesn’t support typical LCD’s for CE devices

– The absents of address lines prevents applications from directly accessing the memory of the LCD.

– Therefore a virtual memory buffer is required, which needs to be synchronised with the real LCD memory.

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 21: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

15

Linux & Software architecture: FramebufferFramebuffer

Video-RAM

Application

driver1

mmap

2- Find address- Program MMU- Convert to virtual

3Write via virtual address directly into video-RAM

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 22: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

15

Linux & Software architecture: FramebufferFramebuffer

Video-RAM

Application

driver1

mmap

2- Find address- Program MMU- Convert to virtual

3Write via virtual address directly into video-RAM

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 23: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

• How to use the framebuffer architecture, if you cannot mmap its memory?

16

Linux & Software architecture: FramebufferFramebuffer

LCD

buffer(SDRAM)

flush

Application

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 24: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

• How to use the framebuffer architecture, if you cannot mmap its memory?

16

Linux & Software architecture: FramebufferFramebuffer

LCD

buffer(SDRAM)

flush

Application

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Solution: Use an intermediate buffer=> Very small application modification required

Page 25: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

17

Linux & Software architecture: FramebufferFramebuffer

• The VCP implementation provides the following solutions– Manual or a timer based synchronisation– Using DMA to do synchronisation in the background

• Making a virtue of necessity: During synchronisation use hardware features in the LCD and/or PNX0106 to do accelerated video post processing.E.g.

– flipping the screen– endianess conversion– colour space conversion– windowing– … and more …

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 26: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

17

Linux & Software architecture: FramebufferFramebuffer

• The VCP implementation provides the following solutions– Manual or a timer based synchronisation– Using DMA to do synchronisation in the background

• Making a virtue of necessity: During synchronisation use hardware features in the LCD and/or PNX0106 to do accelerated video post processing.E.g.

– flipping the screen– endianess conversion– colour space conversion– windowing– … and more …

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Extensions to the architecture, which don’t break compatibility!

Page 27: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

18

Linux & Software architecture: AudioAudioEPICS DSP

• The PNX0106 has a build in EPICS DSP– Firmware loadable via hotplug or udev– Statistics and control via sysfs and ioctl– /dev/epics/[wma/mp3/…]

EPICSmodule

circular(input)

FIFO(output)

control / mmapwrite / memcpy read / memcpy

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 28: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

19

Linux & Software architecture: AudioAudioEPICS DSP

• Example of loading using udev

mkdir /dev/epicsmknod /dev/epics/mp3 c 254 0mknod /dev/epics/wma c 254 1insmod e7b.ko &sleep 1echo 1 > /sys/class/firmware/epics0/loadingcat /usr/lib/firmware/epics_firmware > /sys/class/firmware/epics0/dataecho 0 > /sys/class/firmware/epics0/loading

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 29: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

20

Outline

•• Video Clip PlayerVideo Clip Player– Introduction– System Overview and Use Cases

•• Linux & Software architectureLinux & Software architecture– Video: Framebuffer Implementation– Audio: EPICS DSP– UPnP and DTCP-IP protection– Linphone: VoIP application

•• Linux and prototypingLinux and prototyping– History– Measurements: powermanagement–– Next stepsNext steps

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 30: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

Linux & Software architecture: UPnPUPnP

21

• Universal Plug and Play (UPnP) is an architecture for peer-to-peer network connectivity of intelligent devices or appliances, particularly within the home.

– UPnP uses internet standards and technologies, such as TCP/IP, HTTP, and XML– Allows devices to automatically connect and work together.

• UPnP facilitates enabling simple and reliable connectivity between stand-alone devices, and easy configuration into a home network.

– Without any need for user intervention, a new UPnP-enabled device is automatically registered and configured into the network.

– This is including an announcement of the services and content the device has available.

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 31: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 32: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Browse and play with mobile phone the content of VCP-using BlueTooth or WiFi.

Page 33: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Browse and play with mobile phone the content of VCP-using BlueTooth or WiFi.

Ethernet, BlueTooth

or WiFi

Page 34: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Browse and play with mobile phone the content of VCP-using BlueTooth or WiFi.

Ethernet, BlueTooth

or WiFi

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

Page 35: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Browse and play with mobile phone the content of VCP-using BlueTooth or WiFi.

Ethernet, BlueTooth

or WiFi

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

Audio/Video/Picture streamingfrom VCP-1

BroUsin

Page 36: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

22

Linux & Software architecture: UPnPUPnP

DTCP- IP protected

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Browse and play with mobile phone the content of VCP-using BlueTooth or WiFi.

Ethernet, BlueTooth

or WiFi

Browse the VCP’s content Using UPnP technology,

Control AV streaming and image printing

Audio/Video/Picture streamingfrom VCP-1

BroUsin

Image printingfrom VCP-1

Page 37: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

Linux & Software architecture: DTCPDTCP--IPIP

23

DTCP-IP : Digital Transmission Content Protection over Internet ProtocolCGI : Common Gateway InterfaceAKE : Authentication and Key Exchange

• The DTCP-IP protection is optional by DLNADigital Living Network Alliance (DLNA) aligns industry leaders in the CE, mobile, and PC industries. It provides a shared vision of a wired and wireless interoperable network devices in the home enabling a seamless environment for sharing and growing new digital media and content services.

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 38: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

24

VCP load by DTCP-IP encryption

0

10

20

30

40

50

60

70

80

90

100

0 20 40 60 80 100 120 140 160 180time (s)

load

(%)

Total systemDTCP-IP encryption

Authentication Encryption Download

Linux & Software architecture: DTCPDTCP--IPIP

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 39: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

• GUI integration in Qtopia

• At default the VoIP-application waits for calls when started• ‘Waiting’ is stopped when application exits

Linux & Software architecture: LinphoneLinphone ((VoIPVoIP))

25Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 40: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

26

TCP/UDP/IPTCP/UDP/IP

oSIPoSIP

oRTPoRTP

Linphone applicationLinphone application

EPICSEPICSEPICS

802.3 MAC802.11 MAC802.3 MAC

802.11 MAC

Media streamer(& voice codecs)Media streamer(& voice codecs)

AudioAD/DAAudioAD/DA

• Application Processor - Qtopia• Linphone application – command line user interface• oSIP – open SIP library• oRTP – open Real Time Protocol library• Voice codecs – run on application processor (Media Streamer)

/dev/dsp

/dev/eth0

API

OSS/ALSA compliant audio interface

Application Processor

Audio in/out

Optional DSP (for voice codecs)

Linphone

Linux & Software architecture: LinphoneLinphone ((VoIPVoIP))

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 41: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

27

Linux & Software architecture: LinphoneLinphone ((VoIPVoIP))Implementation details

• Protocols– TCP/UDP/IP– SIP, RTP protocols provided with the application (oSIP, oRTP)

• Codecs running on the application processor or EPICS DSP– A/µ-law PCM– GSM and Speex

• Interfaces– Ethernet and/or WiFi (/dev/ethX)– OSS compliant audio interface

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 42: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

28

Outline

•• Video Clip PlayerVideo Clip Player– Introduction– System Overview and Use Cases

•• Linux & Software architectureLinux & Software architecture– Video: Framebuffer Implementation– Audio: EPICS DSP– UPnP and DTCP-IP protection– Linphone: VoIP application

•• Linux and prototypingLinux and prototyping– History– Measurements: powermanagement–– Next stepsNext steps

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 43: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

29

PrototypingPrototyping Evaluation BoardEvaluation Board VCPVCP--11PNX0106 PNX0106

VCPVCP--2 2 PNX0106PNX0106

Linux enabled a smooth transition from a prototyping system to a very advanced and compact design with extended networking and connectivity capabilities.

Proof of conceptProof of concept

ValidationValidationDemo & Demo &

DevelopmentDevelopmentReferenceReference

designdesign

Linux and prototyping: HistoryHistory

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 44: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

30

Linux and prototyping: HistoryHistory

•• Why Prototyping?Why Prototyping?

– Proof of concept – verification of new features and architecture validation– IP (subsystems) verification in the whole system– A prior verification of a reference design (components connectivity)– Development of prototyping SW for demo purposes and re-use for reference design

evaluation– Reduce time and risk for a reference design delivery

•• Why use Linux?Why use Linux?

– Prototype platforms often have it provided– CE-OS’es often require expensive licences– Linux clean separation between drivers, generic kernel and user-space allows easy

transfers from prototype to validation to demonstration– Therefore quickquick results!

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 45: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

• The Clock Generation Unit (CGU) of the PNX0106 allows many different clocksettings:

– base clocks– dividers – independent spread stages

All of them are controllable All of them are controllable during runtime!during runtime!

31

Linux and prototyping: Dynamic Power Dynamic Power CGU driver MeasurementsMeasurements

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 46: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

32

Linux and prototyping: Dynamic Power Dynamic Power MeasurementsMeasurements

A board under test

LabView

e.g. MP3 playback, effects on powerusage in various scenario’s

Actual real-world use-cases could be measured!

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 47: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

0

1

2

3

4

5

0 25 50 75 100 125 150 175 200 225Time [s]

Pow

er [W

]

• Active Block I/O Scheduling System (ABISS)– The algorithm was developed by Philips Research.– It is a scheduling framework in kernel space.– Targeted at low latency and low power streaming.– Allows multiple streams; both reading and writing.– Simple and non-intrusive API– Obsoletes buffering in streaming applications and adds low power

properties.

Result:~200mW HDD down from ~1.7Wfor a 2Mbit/s stream

Linux and prototyping: ABISSABISSLow Power HDD SchedulerLow Power HDD Scheduler

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006 33

Page 48: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

User space

POSIX API (VFS)

ABISS scheduler

Page cache

File system ABISS elevator

Power daemonApplicationResource daemon

Kernel space

HDD

Linux and prototyping: ABISSABISSVCP architectureVCP architecture

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006 34

Page 49: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

35

• Extending the Audio/Video capabilities of the PNX0106 with an external video co-processor

– e.g. PNX0106 + PNX4103– Based on ARM926 and Philips TriMedia™ architecture

• Linux plays again an important role!

• More details see CELF 2007CELF 2007 …

Linux and prototyping: Next stepsNext steps

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006

Page 50: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

PNX0106(ARM926)HOST I/F

INTERCONNECT

HOST I/F IP(FPGA)

PNX0106 Evaluation BoardARM926

TM3260LCP1500(PCI)

PNX4103EmulationPlatform

ARMVersatilePlatform

TV-OUT

Linux and prototyping: Next stepsNext stepsPNX0106 + PNX4103

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006 36

Page 51: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development

PNX0106(ARM926)HOST I/F

INTERCONNECT

HOST I/F IP(FPGA)

PNX0106 Evaluation BoardARM926

TM3260LCP1500(PCI)

PNX4103EmulationPlatform

ARMVersatilePlatform

TV-OUT

Linux and prototyping: Next stepsNext stepsPNX0106 + PNX4103

Advanced Systems Laboratory Philips Semiconductors - Armin Gerritsen/Marcin Klecha - 08-04-2006 36

LinuxLinux

Page 52: The Video Clip Player: Philips Nexperia™ PNX0106 and Linux … · 2016-07-06 · 6 Video Clip Player: Introduction And what about Linux? Linux played an essential role in the development