Sida 1 av 3

Hjälp i mikroprocessor djungeln

Postat: 2 december 2008, 17:05:06
av Carmis
Jag har precis gått min första kurs om uprocessorer.
Den enda processor vi kom i kontakt med där var AVR processorer.

Nu tänkte jag därför vidga vyerna lite med ett eget projekt till min bil, varvtalsräknare och lite sånt.
Jag tänkte koppla uprocessorn till en lcd display, ca 7" med färg, för att enkelt kunna läsa av datan. Helst ska det vara lite animeringar på displayen.
Men efter lite forskning i ämnet så är inte AVR tillräckligt snabba för dessa tillämpningar.

Jag har därför börjat leta information om ARM processorer som ska vara mycket snabbare. Men efter mycket sökande så upptäckte jag att det var svårt att hitta information om dessa.

Är det någon här som kan hjälpa mig in på rätt spår i denna djungel.
Jag söker information på internet och i litteratur för att kunna komma igång med ARM processorer.
Eller är det onödigt att använda en arm processor för att hantera bildvisning på en lcd display?

Edit: Förtydligat lite

Postat: 2 december 2008, 17:12:45
av sodjan
> Men efter lite forskning i ämnet så är inte avr tillräckligt snabba för dessa tillämpningar.

Den "forskningen" ger jag inte mycket för... :-)
Skulle en AVR vara för långsam för att skriva till en LCD !?
Eller vad var problemet ?

(Notera också att din text blir mycket lättare att läsa om du använder de
riktiga beteckningarna, d.v.s AVR och ARM...)

Postat: 2 december 2008, 18:07:29
av v-g
För långsam? Om din bil varvar 10 000 varv per minut är det ändå inget jämfört med vad en µc gör. En µc ger fler instruktioner än så /sekund ;)

För varvräknare med bil kolla dennatråd.

Postat: 2 december 2008, 18:30:26
av Mindmapper
Är det rörliga bilder typ film med lite högre upplösning så kan jag hålla med dig. Men det behövs nog mera uppgifter, främst om display men även vad du vill åstadkomma.

Postat: 2 december 2008, 18:30:54
av exile
Eller är det onödigt att använda en arm processor för att hantera bildvisning på en lcd display?
Jag tror att det är den grafiska LCD (kanske med färg) som han vill ha mera "power" till.

Vad hade du tänkt för LCD? (upplösning? färger/mono krom?)
Tänker du ha animeringar på LCD, eller ganska statiska "bilder".

Postat: 2 december 2008, 18:37:56
av Stinrew
Jo, men Carmis har rätt i ett fall. Då AVR i den vanliga 8-bitars versionen saknar inbyggd LCD-kontroller, och man vill ansluta en TFT blir det problem. Om han ska driva en liten 4,3" TFT ifrån en Playstation Portable i 24-bitars färgläge krävs lite mer. Men om han å andra sidan nöjer sig med inget mer avancerat än en 64x128 pixlars LCD med 4-bitars färgdjup som den här:

Postat: 2 december 2008, 19:16:29
av Carmis
Jag ska försöka förklara lite bättre.

Jag tänkte försöka använda en lite större display ungefär en sådan här:
http://www.prisjakt.nu/produkt.php?e=258192

Mindre LCD displayer med bara en färg har jag lärt mig hantera men ville ha lite mer färger och lite mer rörelse så att man slipper ta på sig glasögon för att se hur mycket bilen varvar.

Jag vet att man kan åstakomma väldigt mycket med en AVR processor men min tanke var att kunna bygga ut systemet ju mer man lär sig.
Håller på att läsa till ingenjör inom data/elektro så lite mera kunskap kommer jag nog få med tiden.

Postat: 2 december 2008, 19:22:21
av speakman
Hade nog klockat varvtalen med en uC och sedan levererat färdig data till en "moderenhet" som bygger på något färdigt med Linux-stöd. Inte minst av säkerhetsskäl.

Postat: 2 december 2008, 19:41:21
av Micke_s
AVR + Eee PC kanske.
1500kr får du en "Asus Eee PC 701SD" för.
anslut avr:en med usb, http://www.obdev.at/products/avrusb/index.html

känner på mig att deltaco TV-717 + dator blir dyrare än en eepc.

Postat: 2 december 2008, 20:02:07
av Carmis
Jag tänkte i samma spår som dig speakman. Att använda en AVR processor till mätning och sedan skicka datan till ARM processorn för illustrering av resultatet.

Eftersom jag gör detta projekt mest för att lära mig så blir det nog ingen Eee PC.

Är det någon som har några tips på information om ARM processorer mer än dess datablad, för det har jag redan hittat.
Läste att det ska gå att programmera i Java på några modeller är detta något användbart, tycker att Java är lite mer strukturerat än C eller för den delen Assembler.

Postat: 2 december 2008, 20:33:46
av speakman
> Eftersom jag gör detta projekt mest för att lära mig så blir det nog ingen Eee PC.

Så mycket fritid var det länge sedan jag träffade någon som hade. :D

F.ö. är Java ett betyligt mer högnivspråk än C, men på hårdvarunära kod föredrar jag definitivt C. Aldrig hört någon som skrivit Java-kod direkt till maskinkod. Att AVR32 har Java-accelerering är det närmsta jag kommit.

(finge jag välja hade jag nog valt Python isåfall ;) )

Postat: 2 december 2008, 21:15:45
av Icecap
Carmis: om du tycker att Java är grejen tror jag att du får en otrevlig överraskning när du ska lägga det i en µC...

Det du vill ha är alltså ett grafikkort som "styr" skärmen och sedan ska processorn styra vilket bild som ska visas, baserat på mätningar osv.

Som grafikkort kan man ta ett kort som kan ge signal som skärmen kan använda och som har ISA-buss, det blir lättast så.

Kruxet är att bilder (grafik) tar mycket minne och när du kommer upp i nivå som färgskärm ju är kommer det största problem inte att vara exekveringshastigheten men minnesstorleken.

Fördelen OCH nackdelen med ARM är att det finns så många olika tillverkare, det är inte så att man tar en ARM7 och då passar den som plug-in replacement för andra tillverkares ARM7, ARM är bara själva kärnan, periferutrustningen kan skilja en del mellan olika tillverkare.

Jag skulle tro att en RENESAS M16C/60-serien (eller kanske /80-serien) vore något för dig att kolla på, det finns skapligt med minne, man kan lägga till externt , det finns skapligt med perifergrejer och C-kompilern (som medger C++) är gratis till 64k kod och "oändligt" om man väljer GNU-versionen.

Postat: 3 december 2008, 22:18:57
av Carmis
Icecap: Jag bara undrade om Java eftersom jag redan kan koda hyffsat bra i det, men blir nog till att låna hem några böcker om C på biblioteket istället.

Menar du att jag ska koppla ARM processorn till ett riktigt grafikkort för att få en bild på skärmen?
Jag hade annars tänkt att man kunde skicka bild signalerna direkt till skärmen via ARM:en annars, är inte det möjligt, även om det då kräver en lite snabbare processor?

Jag har letat efter affärer som säljer RENESAS M16C/60-serien men har inte hittat någon, vet du någon så får du gärna visa mig till en. :)

Det känns som om jag börjar närma mig kunskaps nivåerna för att kunna köpa hem en processor och börja labba lite med den. :D
En annan sak jag undrar över är bara om det finns någon typ av sockel som man kan sätta processorn i när man håller på med utveckligsarbetet?

Postat: 3 december 2008, 23:03:58
av Icecap
Om vi utgår ifrån att du vill ha 8 bitars färg för varje punkt och vi låtsas att det är en VGA-skärm (480 * 320) blir det alltså ett bildminne på 153600 bytes eller 150kB.

Sedan kommer processorn att ha skitbråttom med att skyffla ut bitsen samt styra sync, faktisk ska videosignalen skickas ut med 7,5MHz på ett ungefär.

Om vi antar att det tar 3 instruktioner:
1: Hämta databyte från minnet.
2: Skicka ut den till videokretsen.
3: Peka på nästa minneslokation
att skicka ut varje pixel och att en instruktion tar 1 oscillatorcykel måste den alltså rulla iväg på minst 22,5MHz och då det ska vara tid över till annat (sync, rita bild osv) behöver den alltså att gasas upp till 30MHz eller så och det är en del att begära faktisk.

Så av den enkla anledning ville det vara enklast att ha ett videokort.

På Renesas' hemsida står DETTA om var man kan köpa dom, det är en stor serie med många olika processorer.

Postat: 4 december 2008, 19:48:15
av Carmis
Okej, så om man ska visa data på en VGA-skärm behövs ett grafikkort.
Men grafikkort med ISA-buss är ju enormt stora, i min bil har jag begränsad plats för elektroniken.
Det är därför jag undrade om det gick att åstakomma med en ARM processor.

Finns det någon annan lösning som är ganska så liten men ändå är kapabel till att generera en hyffsat högupplöst VGA signal till en skäm?