Lagere kosten door modulair ontwikkelen

mobiboxx-modulairontwikkelen-1

Technologie hergebruiken zit in het DNA van Technolution. Door slim te ontwerpen, kun je het resultaat met de nodige aanpassingen gemakkelijk elders inzetten. Met modulair ontwikkelen zijn we een stap verder gegaan, met een ontwerpomgeving van kant-en-klare bouwblokken. 

Artikel uit Objective 23, voorjaar 2015 - ook beschikbaar in pdf

Creativiteit in productontwikkeling kent geen grenzen. Geld en tijd zijn echter wel reële grenzen. De klant wil natuurlijk een betaalbare oplossing voor zijn probleem en graag snel. Hij wil een oplossing voor in de auto die automobilisten adviezen geeft en zo files helpt bestrijden. Of een apparaat in de meterkast, dat energiegebruik inzichtelijk maakt. Veel vragen zijn terug te voeren tot een systeem om data te verzamelen, te bewerken en te verzenden. Daar kun je een embedded processingplatform helemaal op maat voor ontwikkelen. Standaard off-the-shelf hardware is vaak net niet bruikbaar, omdat die ene specifieke interface ontbreekt. Dat moet de ontwikkelaar dus zelf oplossen met maatwerk met de bijbehorende ontwikkelkosten, voor oplages van vaak maar enkele honderden stuks.

Modulair ontwikkelconcept

Kan dat ook anders? Kunnen wij een ontwikkelconcept bedenken waarin we tijd en kosten zo laag mogelijk houden en toch flexibiliteit bieden om die ene maatwerkwens van de klant snel en kosteneffectief toe te voegen? Het antwoord luidt: “Ja”, met een modulair systeem, van kant-en-klare bouwblokken en waar nodig maatwerk. Die gedachte leeft al binnen Technolution sinds de oprichting: zorg dat het resultaat van je werk herbruikbaar is als bouwblok in andere toepassingen. De term Lego valt dan al snel: maak een Lego-achtige structuur, met een basisset aan bouwblokken waarmee je snel een systeem in elkaar zet. Blokken die altijd op elkaar passen, zodat je in je ontwerp alleen maar over de functionaliteit hoeft na te denken. Ontwerpen wordt zo teruggebracht tot de essentie: het integreren van de juiste functies. Voeding, interfaces en dataprotocollen zijn ineens bijkomstigheden geworden, want de verzameling bouwblokken is al geoptimaliseerd en passend gemaakt voor die aspecten.

Eigen basis uitbreiden met bestaande hardware

Voor dit modulaire ontwikkelconcept hebben we een set basiselementen samengesteld: een aantal processormodules en I/O-modules die we letterlijk kunnen samenbouwen tot een volledig systeem. Als basis hebben we een carrier board ontworpen dat is te vergelijken met het moederbord van een pc. Net als in een pc kun je dit carrier board uitbreiden met extra functies middels een processormodule en een of meer I/O-modules. De I/O-modules zijn onze losse bouwblokken, waarvan we een brede, steeds verder groeiende collectie hebben samengesteld. Communicatiemodules zoals bluetooth, GPS, wifi, NFC, GSM, 3G en 4G. Voor de bediening valt te denken aan een touchscreen, maar ook spraak- en gebaarsturing behoren tot de mogelijkheden. Afhankelijk van de ontwerpvraag kiezen we de juiste module. Stel dat iemand GPS in zijn product wil, dan maakt het uit of hij op 20 meter of op 10 centimeter nauwkeurig wil weten waar hij is. Voor de eerste situatie bouwen we een low-endmodule in, voor het tweede geval een duurdere high-endmodule.
Het carrier board beschikt over basisvoorzieningen als voeding, databussen, uitbreidbaar geheugen (microSD) en sensoren voor licht, temperatuur en versnelling. Er zitten enkele leds en capacitieve knopjes op voor elementaire bediening. Aan de ene kant van het carrier board prikken we de processormodule van onze keuze en aan de andere kant zit een vijftal slots waarin we onze I/O-modules steken. Met klikverbindingen zitten de bouwblokken elektrisch en mechanisch aan het carrier board vast, dus er komt geen soldeerbout meer aan te pas. Een mooie behuizing maakt het geheel af.

Hardware Design Language

Dankzij dit eenvoudige hardwareconcept zetten we een op maat gemaakt ontwerp in elkaar waar de klant bij staat. HDL, de door onszelf ontwikkelde Hardware Design Language (zie Objective 22), is daarbij een fijn hulpmiddel. Wat je op tafel met bouwblokken in elkaar zet, kun je met HDL als losse modules gemakkelijk samenvoegen tot een nieuw ontwerp. HDL past goed bij het concept van modulair ontwikkelen, omdat wijzigingen in het ontwerp met HDL veel eenvoudiger en dus sneller zijn door te voeren dan met traditionele ontwerpprogramma's. Nu het ontwerpen van de elektronica minder inspanning vergt, kan de aandacht verschuiven naar de applicatiesoftware die op de hardware gaat draaien.

Betere software

Software bepaalt meer en meer de functionaliteit van een product of systeem. Steeds meer inspanning is hiermee gemoeid met name door veranderingen, die zich steeds sneller na elkaar voordoen. Niet enkel in de ontwikkelfase, maar gedurende de gehele levenscyclus. De hiermee gepaard gaande investeringen worden beheerst door de software goed en overzichtelijk op te bouwen. Bijvangst is dat de software dan ook goed te onderhouden is. Met extra aandacht voor het ontwerp van de software en het maken van de juiste keuzes bespaar je dus flink op de investeringen in de rest van de levenscyclus.

Embedded Linux en generieke interfaces

Embedded systemen draaien meestal met een besturingssysteem. Daarvoor gebruiken we een mainstream Linux-kernel en root-filesysteem, die goed worden onderhouden door de open-sourcegemeenschap. We gebruiken tools van de Yocto-community om onze embedded Linux-distributie te genereren.
Een Linux-distributie biedt een hele lijst van hardware die ze ‘out of the box’ ondersteunt. Bij de keuze voor hardware kijken we eerst in deze lijst of daar iets in staat dat goed bruikbaar is voor de applicatie. Dan hoeven wij geen driversoftware te ontwikkelen en liften we mee op softwarebug-fixes en feature enhancements van de open-sourcegemeenschap. Onze ontwikkelaars werken zo altijd met de meest recente versie van software en drivers.
We kiezen voor USB als generieke interface. Die is zelfconfigurerend: bij het aansluiten worden vanzelf de juiste softwaremodules/drivers geladen. Door onze basismodules goed te kiezen, is ontwikkeling een kwestie van ‘plug & play’. Op deze manier hoeven we weinig tijd aan het softwareplatform te besteden en kunnen we ons voornamelijk richten op de ontwikkeling van de applicatiedelen van de software, zodat het eindproduct er sneller is en goedkoper wordt.

Modulair: duurder of goedkoper?

Het opzetten van een modulair systeem is een investering die lang rendeert. Want eenmaal in gebruik werkt het goedkoper dan het traditionele ontwikkeltraject. Je kunt veel sneller een ontwerp bouwen, uittesten en aanpassen. En moet je toch een nieuwe module ontwikkelen, dan voeg je die toe als bouwblok aan de bouwdoos. Vervolgens heeft iedereen daar baat bij: ontwikkelaars en klanten.

Qua kostprijs is een modulair product duurder dan een specifiek ontworpen systeem. Maar de ontwikkelkosten zijn lager, zodat het modulaire product in totaal toch goedkoper is en eerder geleverd kan worden. Uiteraard hangt de prijs af van de aantallen. Bij lage volumes speelt de prijs per product vaak minder een rol, zeker als het om specialistische toepassingen gaat. De flexibiliteit in het ontwikkelproces is dan veel belangrijker. Naarmate de aantallen groter worden, verschuift de balans. Ergens passeer je een kantelpunt waarboven het voordeliger is om het modulaire product om te zetten naar een specifiek ontwerp. Dat gaat in fases: bij bepaalde oplages is het voordeliger om de I/O-modules in het carrier board te verwerken. Bij nog grotere aantallen wordt ook de processor onderdeel van het carrier board en ontstaat er een specifiek ontwerp. Een modulair ontwerp kan zo een tussenstap zijn in een traject voor massaproductie. Terwijl het ene team de hardware ontwerpt, kan het softwareteam de software ontwikkelen op een uit modules opgebouwd conceptproduct. Zodra de productie start, hebben zij een ontwerp voor het eindproduct. Dan is het modulaire systeem een ontwikkelplatform.

Off-the-shelf processormodules

Het aantallenaspect is een belangrijke reden om zo veel mogelijk commercieel verkrijgbare componenten (COTS - commercial off-the-shelf) te gebruiken. Zo liften we mee op het schaalvoordeel van componenten die met miljoenen worden gemaakt. Het voordeel van een COTS-processormodulefamilie is dat processorkracht en -geheugen geschaald kunnen worden naar de wensen van de klant. Andere wensen? Prik er een andere processormodule in. Dat is kostenefficiënter dan voor elke toepassing een nieuwe module te ontwikkelen.

Het probleem loskoppelen van de technologie

Met de modulaire ontwikkelmethode kunnen wij integratie en maatwerk leveren, zonder het bijbehorende prijskaartje van maatwerk. En dat alles in een compact ontwikkeltraject. Het resultaat is stabiel en van industriële kwaliteit en over tien jaar nog steeds leverbaar in tegenstelling tot veel commerciële producten. Zo is de Raspberry Pi bijvoorbeeld enorm leuk voor thuis, maar laat zijn betrouwbaarheid en langdurige leverbaarheid nog wel eens te wensen over.

We hebben een laagdrempelig ontwikkelplatform gemaakt waarin de basis zoals hardware, drivers en systeemsoftware al zijn uitgezocht. De technologie is ondergeschikt gemaakt aan de behoefte van de klant. Zodoende kunnen wij ons concentreren op de essentie en dat is snel en efficiënt een werkende oplossing realiseren die de behoefte van de klant beantwoordt.

Gerelateerde items

ICT voor tunnelbesturing: een kleine revolutie

Lees verder

Publicatie

De kracht van LoRaWAN voor asset monitoring

Lees verder

Publicatie

Bewustwording van informatiebeveiliging

Lees verder

Publicatie