tisdag 30 oktober 2007

Hur lätt kan det vara?

Det här inlägget handlar om teknikutvecklingens inverkan på teknikutvecklingen. Vi är ju fortfarande inte framme vid att robotarna konstruerar nästa generations robotar, men nog har livet blivit mycket lättare för oss konstruktörer i och med att teknikutvecklingen har gett oss mycket kraftfullare verktyg än vi hade förr. På mitt jobb håller vi just nu på med en ny generation av vår filmscanner. En filmscanner är alltså en apparat som gör om vanlig biofilm till digitala bilder. Man kan säga att den består av en digitalkamera, en lampa och en mekanik som drar fram filmen framför kameran. För att det hela ska fungera måste man alltså samordna ett antal motorer, kameror och sensorer. De färdiga bilderna skickas sedan till en dator. Massor med megabyte per sekund.

För femton år sen gjordes ungefär samma konstruktion med den tidens teknik och det är en fantastisk skillnad. Dels är det idag mycket lättare att hitta bra grundkomponenter färdiga, dels är det lättare att koppla ihop dem, men framförallt är verktygen man använder i utvecklingsarbetet så mycket bättre. Där man förr bara kunde observera resultatet av hela kedjan: snurrar motorn, så kan man nu kolla på många nivåer: Gick startkommandot från datorn fram till den lilla processorn i scannern, lyckades den räkna om hastigheten till en pulsfrekvens, blev frekvensen till slut rätt?

För att gå in på detaljer så har vi flera olika program som vi kör i PCn, och som alla ger möjligheter att analysera och modifiera beteendet.

- En VHDL-kompilator som ger oss möjlighet att modifiera hur hårdvaran fungerar. Det modifierade resultatet kan sendan laddas ner i hårdvaran direkt via en sladd!
- En logikanalysator som kan mäta på valfria signaler i hårdvaran, och denna fungerar utan att man manuellt ansluter några sladdar, alla signaler finns automatiskt tillgängliga.
- En programmeringsmiljö som hanterar programmet som kör i processorn i scannern. När man ändrar programmet så kan man direkt provköra den nya versionen via en ethernetsladd. Det märks inte ens att programmet kör i en annan dator på nätverket...
- En (likadan) programmeringsmiljö som hanterar programmet som kör i datorn och tar emot bilderna.

I konstruktionsarbetet runt denna scanner har våra underleverantörer också använt andra programverktyg för att konstruera kretskort, designa mekanik, visualisera designen och så vidare.

Eftersom jag inte har jobbat så här hårdvarunära på många år så ser jag skillnaden mycket tydligt. Det är så här som dagens konstruktörer av datorer, skrivare, bilar, och alla andra tekniska varor jobbar. Ja även för kläder, skor, stickmönster, snickerier och annat så finns det specialiserade programvaror som hjälper till. Allt detta bidrar till att det blir mycket mycket billigare att konstruera en motsvarande manick jämfört med förr i tiden. Att sedan en vanlig persondator som kostar 10 000 kr är kraftfull nog för att köra det mesta av detta (t o m samtidigt) gär inte saken sämre.

Slutklämmen i detta resonemang är förstås att den tekniska utvecklingen inte bara har gjort spårbilar ett mycket mer realistiskt koncept för att datorkraften och kommunikationsbandbredden numera klarar att hantera de datamängder som krävs utan också gjort det mycket billigare att konstruera, verifiera och simulera systemen på olika nivåer.

Inga kommentarer: