Eperimenteren met het AVR6440 master lab.

    

Nieuwe AVR6440 computer                                              Oude MC6400 computer van Philips

De Philips experimenteerdozen stammen uit de jaren 60. De 2000 serie is begin jaren 70 ontwikkeld. In die tijd waren IC's, chips of  "intergrated circuits" nog erg kostbaar. De meeste schakelingen werden nog diskreet, d.w.z. met behulp van transistoren, opgebouwd. Met de komst van de EE2001 serie kwamen deze IC's bij de experimenteer dozen in gebruik. Eerst een opamp en TTL IC's. Met de komst van de 6000 serie was het gebruik van IC's al gemeen goed. Deze dozen werden midden van de jaren 80 ontwikkeld. De tijd heeft in de electronica sinds dien niet stilgestaan en heden te dage wordt er nauwelijks meer diskreet opgebouwd. Elke zich zelf respecterende schakeling bevat tegenwoordig wel een of andere soort microprocessor, in welke vorm dan ook. Het leek mij dan ook interessant om eens bij mijn experimenteer dozen ook een soort microprocessor bord te ontwikkelen. Waarbij het eenvoudig programmeren en mee te werken voorop moet staan. Ik heb zelf gekozen voor de AVR processor. Dat staat voor AdVanced Risc processor. Een microcontroller met aan boord  Flash, Ram en EEprom geheugen. Diverse timers, RS232 interface, SPI  enz. enz. 

Ook de elektronica dozen van Philips hebben computer systemen gehad. Zie: http://ee.old.no/computer/ .Zo was er eens de CL1600 serie, die na mijn mening niet meer was dan een uitgebreide digitaal doos. Begin jaren 80 kwam Philips met de MC6400 computer. Deze computer was gebaseerd op een INS 8050 type microprocessor van National semiconductor. Ook wel genaamd een SC/MP (spreek uit: "scamp")  Dit was een van de eerste microprocessor die in microcomputers gebruikt werden voor de hobbyist. Eigenlijk is deze processor voor mijn tijd en heb ik er zelf nooit mee gewerkt, maar op internet valt er meer over te lezen. Op zich is deze computer nog prima te gebruiken, maar is wel erg ouderwets. Programmaas werden opgeslagen en gelezen op een cassette band. Echt veel verkocht zijn deze ook niet, want ze worden maar zelden aangeboden. Voor mij een reden om een dergelijk systeem na te gaan bouwen. Zeker ook omdat het oude AVR-board aan vernieuwing toe was. Ik wilde wel een systeem dat lijkt op de oude MC6400, maar met een moderne processor en programma opslag op een SD kaart. De processor die ik hiervoor gebruik is de AVR: ATmega644 microprocessor. De naam van het nieuwe systeem is dan ook AVR6440 geworden. Dit hield wel in dat er een aantal compromissen gemaakt moesten worden. Een aantal zet ik hierbij op een rijtje.

  MC6400 AVR6440
uitgangen 3  F1,F2,F3 Max 8  Zelf indelen A0 t/m A7    
processor INS 8070 ATmega644
ingangen 2  SA,SB Max 8  Zelf indelen A0 t/m A7     SA en SB ingang ook als interrupt te gebruiken
Analoge ingangen - Max 8  Zelf indelen A0 t/m A7
display 8 LED karakters 4x20 karakter LCD display
8 rode LED's Omschakelbaar display/LED's Gekoppeld aan poort A 0 t/m 7 en uitschakelbaar
data opslag cassette recorder SD/MMC kaart
externe communicatie nee ja (RS232)
PWM nee ja (OC1A)
RAM geheugen 1kB 4kB
EPROM geheugen 4kB 64kB
EEPROM geheugen - 2kB

 

Het toetsenbord is verder identiek gebleven aan de MC6400. De toetsen 0 t/m F en  A<>D (address-data) , SV (save) , LD (load) , RUN(run) , ME- (algemeen min), ME+(algemeen plus), CPU en SP (:"spiel in duits" of spel/programma keuze toets)

Op het bord heb ik een 5V stabilisator gebruikt de 7805 voor de 5V spanning. Het is mogelijk dit zonder te doen en het alles te voeden uit een 4,5V batterij. Ik heb, ook voor de veiligheid, net als bij de MC6400 computer, gekozen een 5Vstabilisator op de print te zetten. De processor kan absoluut niet tegen een te hoge aangesloten spanning. Wees daar dus voorzichtig mee. De uitgangen zijn ook voorzien van een 330ohm voorschakel weerstand, zodat ze beter bestand zijn tegen per ongeluk aangesloten externe spanningen.  

Wat is er nodig om met het systeem na te kunnen bouwen en er mee te werken:

 

Verwijder de top van een oud B-doos paneel. Dit is eenvoudig met een zaag te doen.

Vervolgens maken we de print met daarop de schakelaars, de LED's en het display dat op een frame van de oude B-Doos aangebracht kan worden. Helaas zitten de schroefgaten van de print op het frame op een vervelende plaats, zodat deze niet meer gebruikt konden worden. Ik heb uiteindelijk de printplaat vastgezet met smeltlijm. Voor het vastzetten van het display en de LED print zijn wel extra gaten geboord en vastgeschroefd.

Er is perfect witte polystyrol plaat verkrijgbaar in modelbouw winkels van verschillende dikten. Ik heb 1,5mm plaat gebruikt. Dit materiaal laat zich heel goed bewerken. Probeer de gaten zo goed mogelijk over te nemen.

Als het geheel in elkaar gezet wordt, krijgen we het bovenstaande resultaat. Op deze mannier heb ik geprobeerd het origineel zo goed mogelijk te benaderen met de mogelijkheden die tot mijn beschikking stonden.

 

 

         

Na dat we de bootloader gestart hebben op word address 0x7800 (byte adres: 0xF000)  krijgen we het bovenstaande schermpje in beeld. Als de SD-kaart gevonden wordt komt de melding SD card OK. Vervolgens het eerst gevonden hex programma. Let hierbij op het volgende:

- Alle programma's moeten de extensie .HEX hebben !

- Indeling:    Intel intellec 8/MDS format

- SD card geformatteerd in FAT16  en maximaal 4 GB

- Bestandsnamen maximaal 8 karakters. grotere namen zijn wel mogelijk, maar worden afgekort!    'AVR644 MasterLab.hex' wordt afgekort tot: 'AVR644~2.HEX' .

- Nadat de bootloader gestart is, wordt automatisch BLB bit B11=0 (geprogrammed) , zodat overschrijven van de bootloader niet meer mogelijk is. Wat zelf wel gedaan moet worden is de BOOTSZ1 =0 (programmed) en BOOTSZ0 = 1  (unprogrammed)  zodat het voor de processor duidelijk is dat de bootloader een grote heeft van 2kb en begint op adres: 0x7800. Als de BOOTRST =0 (programmed) dan wordt automatisch naar de boorloader gesprongen bij een reset. Nog even voor de duidelijkheid. Deze bootloader werkt  alleen voor de gebruikte processor de 'ATmega644' van Atmel. Voor ander processors zal de bootloader mogelijk wel werken, maar kunnen andere instellingen nodig zijn. Zie hiervoor de juiste documentatie op de Atmel site.

- Met de ME+ en ME- kunnen we door bestanden heen stappen en worden de .HEX files op de SD kaart weer gegeven.  Hebben we het juiste programma geselecteerd, dan drukken we op 'RUN' waarna het programmeren begint. Aan het einde zal het programma automatisch naar het programma springen (JMP naar adres 0000).

- Het bootloader programma is geschreven in de programmer taal  C met codevision. De HEX file en C-file heb ik hier:  Bootloader_AVR6440.hex     Bootloader_AVR6440.c  .

 

          

 

Ik heb inmiddels mijn eerste digitaal afstembare FM-radio gebouwd om de EE montage platen. En er zullen zeker nog vele toepassingen volgen. Voor de echte freaks verwijs ik nog naar de freak site van de AVR's http://www.avrfreaks.net/ . Waar nog veel meer toepassingen en experimenten worden gegeven.

Veel succes 

Sjaak

 

Ethernet controller aan de EE-dozen. De EE-dozen op internet !

 

            

Om het allemaal nog mooier te maken heb ik de EE-dozen gekoppeld aan het internet. Nu zijn de EE-dozen wereldwijd te bedienen en uit te lezen. Nog meer experimenteer plezier dus!  De controler is een ENC28J60 chip van microchip.  Dit IC bevat alle ingrediënten om eenvoudig een ethernet verbinding op te zetten. De firma Olimex heeft het, om het ons gemakkelijk te maken, de ENC28J60 met de bijbehorende componenten op een printje gezet, compleet met MOD8 connector.  Deze modules zijn ondermeer verkrijgbaar bij de VotiShop.  Ik zie wel dat de uitvoering inmiddels wat veranderd is, dan diegene die ik gebruikt heb, maar dat mag de pret niet drukken. De module is erg eenvoudig aan te sluiten op AVR6440 computer. De communicatie gaat via de SPI-bus en is 5V compatible. De module zelf heeft een maximale voedingsspanning van 3,3V nodig. Aangezien de module nogal wat stroom kan trekken ca 250mA, moeten er een goede stabilisator geplaatst worden. b.v. een LF33CV. Verder zijn er op een elco na geen externe componenten meer nodig. De verbindingen met internet zijn goed en redelijk snel, al moeten er daar niet al te hoge eisen aan worden gesteld. er is slechts een intern RAM geheugen aanwezig van 8kb. Voor normaal gebruik is dit genoeg.

Wel zijn er in het oorspronkelijke schema van de AVR6440 computer wat wijzigingen noodzakelijk. Poort PB3 van de ATmega644, die eerst aan de rode LED gekoppeld was, moet worden gebruikt voor de Chip select (CS) ingang van de Ethernet controler. Dit betekend dat alle LED's een plaatsje zijn opgeschoven en LED groen de plaats deelt met de T0 ingang. Dat mag geen probleem zijn. PB3 komt hierdoor vrij. De CS ingangen moeten, ook die van de SD-kaart, met een pull-up weerstand van 1k aan de +5V gelegd worden, om niet tijdens het programmeren door allerlei data van slag te raken.

De bibliotheek C-file heb ik op aanvraag beschikbaar. Er moeten wat instellingen van te voren in de EEprom gezet worden. zoals MAC-adres en IP adressen. Dat is wel belangrijk, anders werkt het niet. Maar dan staat niets meer de protocollen TCP, FTP, HTTP, TELNET meer in de weg. Pingen is mogelijk en het op halen van de wereld tijd. Weer genoeg om mee te experimenteren en vele uurtjes te vullen.

 

De wijzigingen in het oorspronkelijke schema om de ethernet controller te verbinden!