personal jukebox (pjb) - birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  ·...

25
Personal Jukebox (PJB) Systems Research Center and PAAD Last updated October 13, 2000

Upload: others

Post on 13-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

Personal Jukebox (PJB)

Systems Research Center and PAAD

Last updated October 13, 2000

Page 2: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

2

What Is This?What Is This?

♣Cool consumer device, exploring convergence of:– cheap, low power, fast, imbedded computers

– powerful, common, home PC’s with Internet access

♣Portable audio system: 100 CD’s in your pocket– Take all your music everywhere

♣Research project that became a product

Page 3: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

3

The TechnologyThe Technology

♣CD-quality audio compression: 11-to-1 (1 MB/min)

♣2.5” disk is 6.5 GBytes, 4 ounces, 3/8” thick– 110 hours of CD-quality music (340 hrs on 20 GB)

♣Lithium-Ion cell: 5 Watt-hour, 2 ounces– We achieve 11-hour playing time between charges

♣PC for acquisition, management, content labeling

Page 4: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

4

Using the PJBUsing the PJB

♣Everywhere:– On that 11-hour flight

– In your car

– In your office

– At home

♣Choose your music after you leave home

Page 5: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

5

OnlineMusic

Resellers

CDDB

JukeboxManager

onHome PC

CD-ROMdrive

PJBInternet

AudioCD

MP3 on PC

PJB WorkflowPJB Workflow

Page 6: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

6

DSP (Motorola 56309-80)Running at 35 MHz; about 72 KB on-chip RAM

USB(12 Mb/s)

Flash ROM(1 MB)

DRAM(12 MB)

LCD(128x64x1)

DAC(44.1x2x16)

Audiooutput

Serial

Memory bus

Serial

2.5” disk(many GB)

AmpButtons &Power Mgmt

GPIO

Hardware OverviewHardware Overview

Page 7: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

7

Hardware RealityHardware Reality

Page 8: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

8

Hardware Close-up (Prototype)Hardware Close-up (Prototype)

Page 9: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

9

Ethernet(product uses USB) DRAM

Power

Audio

CPU

Flash

LCD ONCE™

Buttons

IDE

Battery

Hardware Anatomy (Prototype)Hardware Anatomy (Prototype)

Page 10: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

10

Physical RobustnessPhysical Robustness

♣Disk withstands 150G for 2ms while operating– roughly a drop from a desk onto carpet

♣Reality: some temporary non-recoverable errors– (while running)

♣Firmware can continue with small audio loss

♣LCD is most liable to permanent damage

Page 11: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

11

Player Unit UI OverviewPlayer Unit UI Overview

♣Human-sensible names (from CDDB initially)

♣3-level hierarchy: “set”, “disk” (playlists), “track”– multiple copies of a track or disk are (almost) free

♣6 buttons: start/stop, up/down, left/right (+volume)

♣Bitmapped display allows redesigns (& games!)

Page 12: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

12

UI Physical layout (prototype)UI Physical layout (prototype)

Page 13: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

13

Volume Level

Ethernet/USBLink Status

Time IndicatorTrack, Track LeftDisc, Disc Left

Normal,Extra Bass,Super Bass

This TrackThis DiskThis Set

SequentialShuffleRepeat

Current Set, Disk, Track

User Interface DetailsUser Interface Details

Page 14: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

14

Firmware OverviewFirmware Overview

♣No operating system! (manual event loop)

♣Compression format neutral (select per-track)– MP3, AAC, MSAudio, SDMI, ...

♣About 40,000 lines of C (“char” is 24-bits!)– but … assembler is factor of 10 faster

♣Decoder, CRC, and disk read loop in assembler

Page 15: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

15

User Interface

Player Process

USB

Disk

Firmware - main loopFirmware - main loop

♣Poll the devices– simpler than interrupts

♣Main loop calls eachcomponent in turn togive it processor time.

♣Need to call player processfrequently enough!

Page 16: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

16

File System

IDE Driver

Decoder

10MB Buffer

DAC

amp

Player Process

Disk Drive

RPC

Ethernet orUSB driver

UserInterface

Buttons

LCD

Firmware - logical flowFirmware - logical flow

Page 17: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

17

File System OverviewFile System Overview

♣Single meta-data object “Table of Contents” (TOC)

♣Managed by PC software

♣Single stream of plain text:– Identifies PJB, set, disk, track (each by text name)

– “track” has location (first allocation block number)

– Includes map of blocks-in-use

– Includes CDDB keys

Page 18: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

18

File System On-disk StructureFile System On-disk Structure

TOC (static 4 MB area)

A B C D

current previous

Music (128 KB blocks)

Page 19: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

19

Content blocks in detailContent blocks in detail

FWD/BACKPTR

♣ Doubly linked lists (w/ redundant forward links)♣ Header identifies content and origin (for scavenging)♣ Supports continuously encoded music (extents)

FWD PTR

2ndtrackstart

1sttrackstart

3rdtrackstart

CRC

Page 20: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

20

Disk Error HandlingDisk Error Handling

♣Bad TOC - use replica

♣Bad TOC replica - use old version

♣Bad forward pointer in block - use replica

♣Bad replica forward pointer - abandon track

♣Bad payload in block - skip and resync music

Page 21: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

21

File System MaintenanceFile System Maintenance

♣No fragmentation worries– worst case is seek every 128KB (8 seconds)

♣No fsck or scandisk (no inconsistent states)

♣Relies on:– large files

– no file modification

– single writer

Page 22: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

22

Power ManagementPower Management

♣2.5” disk in sleep mode consumes about 100 mW

♣Disk spin-up takes 5W-secs (2x AA’s don’t work)

♣Power-up disk, read 10 MB into DRAM, power off

♣Use on-chip memory for inner loop, not DRAM

♣Total average PJB power consumption 450 mW

Page 23: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

23

Market AreaMarket Area

♣PJB was the first product in its category– Less than $10/hour of music (Rio is $200/hour)

– Only prerequisite is owning a PC

♣Lots of other possibilities in this area, e.g.:– Internet music purchase: store in PJB, cache on PC

– Caching CD player in your car

– Home network with custom audio in each room

Page 24: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded

24

StatusStatus

♣Research project ended up with 100 prototypes

♣Licensed to third party (HanGo)

♣Now shipping (http://www.pjbox.com)

♣Project details:– http://research.compaq.com/SRC/pjb/

Page 25: Personal Jukebox (PJB) - Birrellbirrell.org/andrew/talks/pjb-overview.pdf · 10/13/2000  · ♣Cool consumer device, exploring convergence of: –cheap, low power, fast, imbedded