Ger Schoeber (ger.schoeber@task-switch.nl) is eigenaar en senior consultant van Task Switch. Met inmiddels 22 jaar ervaring in de technische automatisering verleent hij diensten op het gebied van training, coaching, workshops, architectuur en management. Ger Schoeber was systeemarchitect voor Philips Home Control voor de nieuwe Pronto-lijn.

12 January 2007

Philips Home Control in Leuven is al sinds jaren zeer succesvol in de nichemarkt van afstandsbedieningen met touchscreens voor high-end thuisbioscopen. Dit succes krijgt een vervolg met de introductie van een geheel nieuwe lijn. Een verhaal over de Pronto, de realisatie, de technologie met keuzes en overwegingen door systeemarchitect Ger Schoeber.

In 1998 startte Philips met de introductie van een reeks universele afstandsbedieningen met ingebouwde touchscreens. Hiermee zette het elektronicaconcern een stap in een nieuwe nichemarkt. Naast de Eindhovenaren beheersen partijen zoals Crestron, RTI, UEI en URC tegenwoordig deze markt. Sinds september dit jaar heeft Philips zijn Pronto-lijn qua design en features weer helemaal bij de tijd gebracht met de introductie van de TSU9600.

Philips mikt hiermee op de zogenaamde custom installer-markt waarbij installateurs de samenstelling, inrichting en installatie verrichten van een complete thuisbioscoop. Zo‘n high-end systeem bestaat uit apparatuur als ingebouwde plasmaschermen, gemotoriseerde projectoren, audio in meerdere kamers en besturing van de verlichting. Met de volledig op maat gemaakte en universele Pronto kan de lading afstandsbedieningen die we daarvoor op tafel hebben liggen, in de prullenbak.

Pronto_TSU9600
De Pronto TSU9600 is Philips‘ nieuwste universele afstandsbediening met ingebouwd touchscreen.

De belangrijkste functie van een universele afstandsbediening is infrarood. Hij moet zoveel mogelijk van de gangbare protocollen ondersteunen. Infrarood vereist echter line-of-sight. We kennen de situatie wel van thuis waar moeder de vrouw liefst de ’lelijke‘ apparatuur uit het zicht en in de kast wil hebben. Ook in high-end configuraties zijn veel apparaten door installateurs netjes weggewerkt. Om ze toch te kunnen benaderen, zijn er extenders op de markt. Deze communiceren met de afstandsbediening via radiofrequentie waarbij ze zorgen voor de vertaling naar infrarood. Het gevolg hiervan is dat de afstandsbediening niet meer op zichzelf staat, maar onderdeel van een systeem wordt. Voor de Pronto zijn twee nieuwe extenders beschikbaar: de draadloze RFX9400 en de seriële RFX9600.

De communicatie tussen de remote en de draadloze extender loopt via IEEE 802.11g. Dit kan rechtstreeks of via een wireless toegangspunt. De draadloze extender maakt het mogelijk om zonder een netwerk toch een thuisbioscoop te besturen. De seriële variant is voornamelijk bedoeld voor high-end set-ups waar de apparatuur in 19 inch rekken is weggewerkt.

De seriële extender bezit naast programmeerbare infrarooduitgangen, ook digitale I/O en seriële poorten. Veel geavanceerde AV-apparaten beschikken over seriële aansluitingen. Hiermee is betrouwbare tweewegcommunicatie mogelijk voor bijvoorbeeld volume. Digitale uitgangen worden typisch gebruikt voor motoraansturing zoals het omhoog laten komen van een plasmascherm uit een kast. Digitale inputs zijn geschikt om de aan/uit-status te beoordelen.

Cafcr

De Pronto-producten onderscheiden zich van andere universele afstandsbedieningen doordat ze zijn ontworpen voor de custom installer-markt. De eindgebruiker betaalt graag voor kwaliteit en voor een volledig op maat geïnstalleerd systeem. Een speciale editor stelt de installateur in staat om de afstandsbediening volledig te configureren. Dit betreft de user-interface zoals achtergronden en buttons, de navigatie en de infrarood- of seriële commando‘s. Met behulp van macro‘s kan hij activiteitgebaseerde controle realiseren: met één druk op de knop heeft hij alle benodigde apparatuur in de juiste volgorde in de juiste stand gebracht.

De editor is een pc-programma waarmee de installateur zijn klantconfiguraties kan beheren en via USB kan downloaden naar de remote. Dit is bewust een fysieke verbinding om de kans op fouten zo klein mogelijk te maken en daarmee de productiviteit te verhogen. Ook heeft de installateur de beschikking over een database van duizenden bestaande IR-codes, wat helpt bij het maken van een configuratie.

Philips zette de haalbaarheidsfase voor de meest recente Pronto-reeks begin 2005 in gang. Hierbij heeft het bedrijf sterk gebruikgemaakt van meningen en wensen van bestaande eindgebruikers en installateurs. De categorieën hebben verschillende eisen. De eindgebruikers hebben gebruiksgemak, betrouwbaarheid en design hoog in het vaandel. Installateurs zoeken het in betrouwbaarheid, installatiegemak en productiviteit.

Voor het opzetten van de systeemarchitectuur heb ik het Cafcr-raamwerk van Gerrit Muller toegepast. Deze aanpak dwingt je om requirements, conceptuele en technische keuzes te relateren aan uiteindelijke klanten- en businessbelangen. Het samenvoegen van een top-down- (vanuit de eisen) en een bottom-upbenadering (vanuit de technologie) in combinatie met een iteratieve en incrementele aanpak is niet eenvoudig, maar wel doeltreffend.

Het Pronto-project bestond uit de nodige disciplines zoals productmarketing, industrieel en UI-design, inkoop, engineering (mechanica, elektronica, embedded en pc-software), release, fabricage en verpakking. De software-engineeringtrajecten hebben we volgens het Evo-model (www.gilb.com) opgezet. In de realisatiefase hebben we gewerkt met tweewekelijkse increments. De afstandsbediening en de extenders zijn in Leuven ontwikkeld en gefabriceerd. De editor komt uit Bangalore. Uiteindelijk konden we de Pronto naar de markt brengen met slechts een week vertraging op een looptijd van anderhalf jaar.

Draadloze_RFX9400
Om de weggewerkt apparatuur toch te kunnen benaderen, zijn er extenders op de markt. Voor de Pronto zijn er twee beschikbaar: de draadloze RFX9400 en de seriële RFX9600.

Infrarood

Een belangrijke driver voor Philips Home Control is hergebruik. De goede marktbekendheid van de ProntoproNG was reden om deze applicatie zoveel mogelijk te recyclen en uit te breiden met nieuwe features als WLan, Lutron-lichtcontrole en Escien-muziekservercontrole. De wens voor hoge resolutie leidde tot een 3,7 inch VGA-scherm met 64 duizend kleuren. Deze uitbreidingen maakten het onmogelijk om vast te houden aan het oude Mitsubishi/Embos-platform. Daarom hebben we gekozen voor hergebruik van het RC9800i-platform, dat gebaseerd is op Freescale-MX1/Linux. Onderzoek leerde ons dat er wel een upgrade nodig was van MX1 naar MX21 (connectiviteit, bus- en processorsnelheid). Dit vereiste een aanpassing van de BSP.

In het voorjaar van 2006 startten we met beide extenders. Het totale concept moest in september klaar zijn. Vanwege deze agressieve time-to-market besloten we de extenders te baseren op min of meer hetzelfde platform als de afstandsbediening.

Het aantal infraroodprotocollen en -codes in de markt is enorm. Veel apparatenbouwers implementeren hun eigen protocol. Frequenties kunnen variëren tussen 25 kHz en 1 MHz. Voor het betrouwbaar uitsturen van hoogfrequente codes hebben we additionele snelle leds in de afstandsbediening voorzien. Behalve dat de editor duizenden codes op basis van merk, device en model aanbiedt, heeft de remote de mogelijkheid om iedere code te leren via een ingebouwde infraroodontvanger.

De complexe algoritmes voor zenden, leren en herkennen hebben we geïmplementeerd op een Xilinx 250E-FPGA. Dit biedt nagenoeg 100 procent garantie op het kunnen verwerken van iedere aanwezige of geleerde code. Het voordeel van een veldprogrammeerbare chip boven een Asic is dat de algoritmes in de toekomst zijn te upgraden. De extenders zijn met exact dezelfde zendalgoritmes uitgerust in een FPGA.

Deterministisch

De verbinding tussen de Pronto en de extenders gaat via WLan. De ontwikkeling en verbreiding van de WLan-infrastructuur in de markt was een belangrijke reden om hiervoor te kiezen in plaats van voor Bluetooth of Zigbee. Tevens is de Escient Fireball met Ethernet-connectie een vrij populaire muziekserver in thuisbioscoopsystemen. Met WLan is het eenvoudig om op de bestaande Ethernet-infrastructuur in te pluggen.

Uiteraard kleven er ook nadelen aan de keuze voor WLan en Ethernet. Zo is draadloos Lan niet al te zuinig met energie, wat een minpunt is voor een draagbaar product. Dit betekende extra aandacht voor het powermanagement. Het ’zomaar‘ afschakelen van WLan in stand-bymode is geen optie. De vertraging bij opstarten en verbinding maken, zeker bij een Wep-versleutelde verbinding, loopt in de seconden. Voor de gebruiker is dat onacceptabel. Dit betekent dat we de draadloze Lan-verbinding op een slimme manier iedere minuut kort moeten activeren om de associatie en het IP-adres in leven te houden. Dit zorgt een acceptabele trade-off tussen energieconsumptie en performance.

Een ander nadeel vormt het niet-deterministische karakter van TCP. Het ligt voor de hand dit protocol te kiezen omwille van betrouwbaarheid. Er is echter geen enkele garantie qua performance. Daarom hebben we als basis UDP ingezet en daarbovenop een bedrijfseigen protocol geïmplementeerd om een absoluut betrouwbaar en deterministisch systeemgedrag te creëren.

Aan de kant van de afstandsbediening hebben we een intelligent algoritme ontwikkeld om sequentiële infraroodcommando‘s bestemd voor dezelfde extender samen in een bericht te stoppen. Deze moet ze zelf in de goede volgorde met juiste tijdsintervallen naar het gekoppelde device sturen. Dit zorgt ervoor dat als de gebruiker kanaal ’123‘ kiest, het signaal niet wordt opgesplitst. Het eigen protocol heeft mechanismen voor retry, acknowledge en reply om voorspelbaar systeemgedrag te garanderen. Dit is ook noodzakelijk bij een use-case als ’continuous volume-up‘. Het zou onacceptabel zijn als door het verliezen van het commando ’stop continuous volume-up‘ de extender het volume zou blijven opvoeren.

Hoofdbrekens

Het Linux-besturingssysteem van de Pronto is gebaseerd op de 2.4.10-kernel van Montavista. In eerste instantie was ik wat huiverig voor de inzet van Linux, met name vanwege de realtime-eisen. Hier hebben we halverwege het project expliciet aandacht aan besteed. Mijn belangrijkste leerpunt was dat je een Linux-gebaseerd project onmogelijk kunt doen zonder echte Linux-kenners in je team. Het is een voorwaarde om goede engineers aan boord te hebben die hun weg weten in de Linux-gemeenschap.

Platform_eb_applicatiehergebruik
Bij de ontwikkeling van de Pronto recyclede Philips grote delen van de eerder gelanceerde ProntoproNG.

Verder hebben we gebruikgemaakt van de open-source bibliotheek SDL. Dit biedt ondersteuning voor output (graphics, fonts, geluid) en input (hard-keys, touchscreen, draairing). Twee belangrijke interfaces (USB en WLan) hebben ons wel de nodige hoofdbrekens gekost. Ondanks dat dergelijke interfaces zijn gestandaardiseerd, is de implementatie ervan verre van standaard. USB is bedoeld voor de verbinding met een pc om de configuratie te downloaden. Het blijkt dat lang niet alle USB-implementaties zich netjes aan het protocol houden. Of zoals Colin Walls van Mentor Grahpics het verwoordt: ’Hoe makkelijker iets aan de buitenkant werkt, hoe vreselijk ingewikkelder het aan de binnenkant is.‘

Dit gold ook voor de WLan-implementatie. Je moet compatibel zijn met een zo breed mogelijk scala aan draadloze toegangspunten die uiteraard ieder weer hun eigen implementatie hebben. Met vallen en opstaan en een enorme inzet hebben de engineers ook deze uitdaging onder de knie gekregen.

Kritieke tijden

Halverwege het implementatietraject hebben we een expliciete review ingelast over de performance van de Pronto. Er zijn namelijk zes tijdkritische onderdelen in het systeem. De eerste is de IR-responstijd van toetsaanslag tot aan de IR-transmissie. Dit is nooit echt een probleem geweest. De implementatie is een FPGA die via SPI communiceert met de MX21. Zelfs codes tot 8 kbyte in lengte worden zonder enig probleem ruimschoots binnen de marge van 150 ms verzonden.

De WLan-prestaties hebben we geoptimaliseerd door finetuning van parameters in ons eigen protocol, zowel op de remote als op de extenders. Wel hebben we de afhandeling van een speciaal lockmechanisme op de extender onder moeten brengen bij een andere thread. Dit mechanisme moet interferentie voorkomen wanneer meerdere afstandsbedieningen op hetzelfde moment commando‘s willen sturen naar dezelfde extender. Oorspronkelijk ging dit door dezelfde thread die ook de IR, I/O en seriële commando‘s verwerkt. In de praktijk bleek dit niet handig. De lockafhandeling en met name de timing moet onafhankelijk van wachtende commando‘s gebeuren.

Qua graphics hebben we een aantal acties ondernomen om op een acceptabele respons van ongeveer een halve seconde voor een fullscreenupdate te komen. Oorspronkelijk zaten we hiervoor boven de seconde. Met name het tekenen van alfablended graphics (VGA, 64 duizend kleuren) verdiende daarbij expliciete aandacht. Hier hebben we behoorlijk wat kunnen winnen door het beeldformaat in lijn te brengen met de mogelijkheden van de videocontroller. De editor op de pc voert eventuele conversies uit, voordat de beelden naar de afstandsbediening worden geüpload.

Mensen horen het al snel als er vertraging zit tussen de druk op de volumeknop en een veranderend geluid. Wanneer deze audiofeedback niet in de orde van 0,1 seconde ligt, is dit al storend. Deze timing is veel belangrijker dan de graphics. Ook hier hebben we op gelet door de toetsaanslag zo vroeg mogelijk te registreren en met de juiste prioriteit af te handelen. Dergelijke events wil je niet in een wachtrij hebben. Dat geeft voor het gehoor een slechte indruk.

Voor de installateur is downloadtijd van een configuratie een belangrijke factor. Hier hebben we MSD- en HID-protocollen van USB toegepast. Niet alleen het protocol over het kabeltje maar ook het opslaan in flash, CRC-checks en het herstarten van de applicatie spelen een rol voor de perceptie van de installateur. Tevens is er in deze downloadketen een performance-eis aan de pc-kant voor het converteren van de XML-gebaseerde configuratie naar een gecomprimeerd binair formaat, met daarin de versleutelde IR-codes.

Het laatste tijdkritische onderdeel is de snelheid waarmee de Pronto de IR-codes terugvindt in de editordatabase. Via hashtabeltechnieken gaat dat zeer snel. De reactie op iedere toetsaanslag die resulteert in verdere filtering is nagenoeg direct. Deze eis is vanaf het begin door het Indiase team in Bangalore goed meegenomen in het ontwerp.

Samenvattend kan ik zeggen dat Philips erin is geslaagd een zeer succesvolle vernieuwing door te voeren van zijn Pronto-lijn. De nieuwe afstandsbediening met zijn flush-top design in zwarte hoogglanslak is zeker van deze tijd. Het kwalitatieve 3,7 inch touchscreen met VGA-resolutie is scherp en helder vanuit iedere kijkhoek. De draaiknop opent de mogelijkheid om op een Ipod-manier muziek van de Escient-muziekserver te selecteren, waarbij status van songs en cd-hoezen op het scherm verschijnen. Ook de feature om de aangesloten Radiora-verlichting van Lutron te bedienen, inclusief feedback, krijgt veel waardering uit de markt.