Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

BlinkenLEDS

Jaha, nu när jag har avslutat projektet med LBKs hemsida så är det tags att ta tag i något annat. Min tanke är då att at fram lödkolven och göra en BlinkenLED
Det lär kräva lite tid och kunskap som jag verkligen inte besitter, men det löser sig. måste bara dra och handla på ELFA.

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

fsns bild

Se det där får ju en att minnas...

När jag gick tekniskt gymnasium så fanns fortfarande det fjärde året, och då fick man göra ett systemarbete, ungefär som specialarbetet i trean fast i ämnet systemteknik. Systemteknik handlade uteslutande om digitalteknik och mikroprocessorer. Vi programmerade maskinkod på en 6800 och räknade cpucykler osv sov. Det var det helt klart roligaste året i gymnasiet.

Iallafall, mitt systemarbete gick ut på att göra en sådan där display, fast jag drev den direkt från en 6809, med två stycken PIAkretsar (2x16 binära utgångar). Själva displayen bestod av en matris av 5x24 lysdioder. För att rita en bild på matrisen så svepte vi över den 75 ggr per sekund, tror jag.

Jag konstruerade hela datorn själv, med processor, minnen, minnesavkodare, drivare osv osv, och lödde upp den på ett veroboard (kretskortsetsning är för mesar), det tog ungefär 20h att löda allt. Den enda buggen jag gjorde vid lödningen var att jag råkade löda klocksignalen till CPUn, minnena, drivkretsarna och sedan till jord. Det var inte mycket som svängde då.

Den står fortfarande kvar i min bokhylla. Den fungerar inte längre, eftersom jag, sedan många år tillbaka, håller på att renovera adressbussen... Jag lödde nämligen med virtråd ursprungligen, och den är alldeles för tunn egentligen, så alla trådarna går av, syftet med renoveringen är att byta ut virtråden mot tjockare tråd, men det är ju 1.000.000 små trådar, och varje tråd måste lödas rätt...

Ack ja, det var kul.

norbergs bild

Skulle vara kul att se en bild på den.

fsns bild

I aim to please... Smile
 
Om nu sourceforge går med på att hosta bilderna, så skall dom komma här. Den usla kvaliteten kommer sig av att jag bara har en kamera i mobilen och den är inge vidare.



Ok, så detta är framsidan/komponentsidan. Vi har, från vänster till höger.

  • CPUn, en 8-bitars 6809. Under den den lilla klockkretesen som tillsammans med kristallen genererar en två-fas klocka på 1MHz. Utom ibland när den av någon anledning gick upp på 4MHz. Vilket lustigt nog inte påverkade stabiliteten nämnvärt. Klockkretsen blev väldigt varm, även när den gick i 1MHz, lustigt nog.
  • Adressavkodare, en pal-krets. Tar de 6 översta bitarna av adressbussen och genererar enable-signaler till de övriga kretsarna.
  • RAMminne, 8KiB tror jag. Vi utnyttjade aldrig mer än 50 bytes, tror jag. Under den en 8KiB EPROM, man kan urskilja klisterlappen som sitter för raderingsfönstret, dom här kretsarna raderas med UVljus. Den här ROMen innehåller bara grafik och animeringar.
  • ROMminne, ytterligare en 8KiB EPROM. Här ligger programmet, scrolltexten, fonten och en del grafik.
  • Sedan kommer de två stora, feta PIAkretsarna. Varje PIAkrets har 2 digitala portar som är 8 bitar breda. 3 portar (dvs. 24 "bitar") används för att driva kolumnerna i lysdiodsmatrisen, och 1 port (de 5 nedersta "bitarna" iallafall) används för att välja en rad i matrisen.
  • Sedan kommer själva matrisen. Under den sitter tre linjedrivare, som sitter mellan utgångarna från PIAn och lysdioderna. Varje linjedrivare har också en sockel bredvid sig där det satt en motståndsmatris, eftersom linjedrivaren egentligen ger 5 volt och lysdioderna lyser på 3,5 volt. Men eftersom varje lysdiod endast är tänd under 1/5 av varje sekund, så blev den lite ljussvag, vilket vi motverkade genom att överdriva lysdioderna med lite högre spänning. Lysdioder börjar byta färg vid ca 10 volt och börjar lukta illa vid ca 20... 5 volt varkar dom klara dock.

    Ovanför den andra PIAn kan man skönja mitt försök att renovera adressbussen, och att jag har börjat dra den på komponentsidan av Veroboardet.
  • Skräpet längst ut är en resetswitch, med en flip-flop för att motverka kontaktstudsar.



 
Ja, så kan vi vända på displayen och titta på ledningarna på baksidan. Ett råttebo.



Vän av ordning ser också att jag spegelvänt bilden för att allting skall vara i samma ordning som på fotot ovan, CPU är fortfarande längst ut till vänster, och lysdiodsmatrisen till höger.

 

Det är inte lätt att se på bilden, men + på alla lysdioderna är ihopkopplade kolumnvis och - på alla lysdioderna är ihopkopplade radvis. För att tända en lysdiod lägger man ström på en kolumn och kopplar en rad till jord. Den lysdiod som finns där raden och kolumnen möts tänds.

 

För att rita en hel bild så lägger man ut ett bitmönster på kolumnutgångarna, lägger ut en bit på en radväljare, varvid den raden med lysdioder tänds upp enligt bitmönstret. Sedan väntar man en stund (nån millisekund eller mindre), släcker raden, lägger ut ett nytt bitmönster, väljer nästa rad som då tänds, väntar, släcker osv osv. Dvs. jag sveper lysdiodsmatrisen rad för rad ungefär 75 ggr i sekunden. Eller om det var att jag byter rad 75 ggr i sekunden, jaja, det är 12 år sedan.

 

Den hade ett inbränt program som visade en fast scrolltext och ett antal animeringar. Scrollen kunde gå i 6 olika hastigheter, studsa upp och ner osv. och man kunde trigga animeringarna. Fonten var proportionerlig, så ett i var smalare än ett m, exempelvis.
 

Vi var tre stycken som gjorde den här Jag designade och byggde hårdvaran och en skrev 6809assemblator, en annan kille gjorde all mjukvaran till displayen och skrev ett antal editorer för animationer och scrolltexten, och den tredje killen ritade fonten...