Digitala Projekt - större kurs 1997:
Roger Larsson & Magnus Johansson


Inledning.

Den större kursen i digitala projekt förutsätter att man genomför en mer omfattande uppgift. På önskemål från institutionen undersökte vi möjligheterna att implementera ett generellt moderkort baserat på en PowerPC (PPC403GA) från IBM. Kraven på kortets prestanda var ganska vagt definierade som: "lite DRAM, lite SRAM, och gärna en nätverksanslutning".

Vi beslöt tillsammans med institutionen att vi skulle tillverka ett mönsterkort, och skriva programvara för initiering och kontroll av kortets funktioner. Den röda tråden genom hela projektet var att slutresultatet skulle bli ett så generellt användbart moderkort som möjligt.


Abstract.

This paper describes the function and development of a general PowerPC-based motherboard mainly intended for educational and prototype development purposes. This motherboard was developped by Roger Larsson and Magnus Johansson by request from the Department of Information Technology, Lund Institute of Technology, Sweden, during the undergraduate course ‘Digitala projekt (större kurs)’, spring semester 1997.

The motherboard is based around the embedded controller PPC403GA from IBM. Furthermore the board is equipped with two serial ports, a maximum of 128Mb DRAM, 128kb SRAM, 1Mb flash EEPROM and one Ethernet controller DP83902A ST-NIC from National Semiconductor. For initial software debugging purposes, the board also incorporates a JTAG port.

A typical software development process incorporates construction of algorithms to solve the specific problem, implementation of the algorithms in a high level language (for example C), compilation, transfer of executable code from host computer (PC) to motherboard and finally debugging. This process is iterated until satifactory results are accomplished.


Hårdvara.

Som vi nämnde i inledningen, hade vi i princip fria händer då det gällde kraven på konstruktionen. Dock fanns det ett önskemål från institutionens sida att det skulle ingå en nätverksanslutning. Vi valde att använda kommersiellt tillgängliga produkter (dvs "vanliga" produkter inom PC-branschen).

ProcessorIBM PPC403GA.Valet föll på denna processor pga de många inbyggda funktionerna såsom DRAM-controller, serieport, JTAG-port, och möjligheten att styra processorns läs- och skrivsignaler, vilket ger möjlighet till att koppla in även långsamma periferikretsar. En viktig anledning till valet var även vår nyfikenhet på den relativt nya RISC-arkitekturen hos PowerPC.
DRAM Två stycken SIMM-bankar.Tillgängligheten på billiga och standardiserade SIMM-kapslar ledde oss till att implementera två stycken bankar á max 64Mb.Storleken på DRAM-minnet väljs enkelt mha två stycken hexadecimala vridomkopplare placerade på moderkortet.Vi valde att använda dessa omkopplare framför jumpers pga att användarvänligheten då ökas.
SRAM NEC uPD431000, 128kb."Standard-minne" som kan användas för tex temporär lagring av data.
Flash EEPROM Advanced Micro Devices Am29F040, 512kb. Vi använde två stycken minnen av denna sort, främst pga möjligheten att snabbt omprogrammera innehållet (vanliga EPROM måste raderas mha UV-ljus vilket tar längre tid).
SerieportarDet finns bara en intern serieport i PPC403GA, så vi valde att implementera ytterligare en. Valet föll på standardkretsen National Semiconductor PC16550D, som används mycket inom PC-branschen.
NätverksanslutningNational Semiconductor DP83902A ST-NIC, National Semiconductor DP8392C CTI, noname SRAM 6264, 8kb. Kärnan i nätverksanslutningen är Ethernet-kontrollern DP83902A, som samarbetar med koaxialinterfacet DP8392C. Ethernet-kontrollern har ett eget buffertminne, som den använder för temporär lagring av packets.Kommunikationen mellan DP83902A och PPC403GA sker mha en 8 bitars parallellport, bestående av en bustransceiver (74646), som styrs av signaler både från PPC403GA och DP83902A. Signalerna går via en latch (74374) och en bustransceiver med open collector (74621). På detta sätt kan både PPC403GA och DP83902A få access till 8-bitars porten oberoende av varandra.Anledningen till detta arrangemang är att kommunikationen mellan de två enheterna sker asynkront, och riktningen på dataflödet måste kunna styras av båda enheterna.Då LAN-anslutningen utnyttjar ett eget buffertminne kommer dess databuss att vara upptagen under mottagandet av ett meddelande. Processorn får då ej störa genom att försöka skriva till de interna register som finns i DP83902A. Detta säkerställs genom att processorn läser av en statussignal kallad /ACK som förmedlas via en tredje bustransceiver (74623).
Adressavkodningnoname 74138 3-8 avkodare. Den enda minnesarea där extern adressavkodning är nödvändig är i bank 2, som innehåller en serieport, nätverksanslutning med tillhörande portar samt en parallellport för utläsning av dram-storlek (74373).Adressbitarna A24-A26 avkodas med 74138 till åtta chip-select signaler. På detta sätt uppdelas den 1Mb stora banken i 4096 periodiskt återkommande underbankar om 8x32=256 bytes.
Strömförsörjning Moderkortet matas med stabiliserad +5V spänning, som används av alla kretsar utom processorn, som kräver stabiliserad +3.3V spänning. Den inkommande +5V spänningen omvandlas till +3.3V på kortet mha en MAXIM MAX687, linjär regulator.


Packad projektrapport i Microsoft Word format (rapport.zip, 244 kbyte)

Roger Larsson		Magnus Johansson


Kontakta oss för ytterligare information.

Skicka ett e-mail till Magnus Johansson:




Skicka ett e-mail till Roger Larsson: