035
05.04.2018, 19:58 Uhr
Enrico
Default Group and Edit
|
Ich machs mir mal einfach:
Quellcode: | RAM satt!
In der letzten News gab es schon mal einen kleinen Vorgeschmack mit dem Foto des ersten Prototypen. Viele neue Erkenntnisse gibt es zu dem RAM-Modul nicht mehr, mit einer Ausnahme: Es funktioniert! Leider war die ganze Elektronik nicht mehr in den CPLD 9572 rein zubekommen. Dafür muss nun der grösste nicht-SMD-CPLD von Xilinx XC95108 mit 108 Macrozellen und 2400 Gattern herhalten. Dieser übernimmt die gesamte Steuerung der vier 1 MB-Module, Autodetect der SIMMs (dazu später mehr) und die Ansteuerung der beiden 7-Segment-Anzeigen mittels Schieberegister.
Zum Schaltplan. C3 und R26 bilden zusammen ein RC-Glied, um die Flipflops im CPLD beim Einschalten des KCs definiert zurückzusetzen. Das gleiche ist auch auf den Plänen der Original-RAM-Module wieder zufinden. Die Widerstände R1 bis R11 und R20 bis R25 mit 33 Ohm dienen der Strombegrenzung in sämtlichen Leitungen zu den RAM-Modulen. Durch die kapazitiven Lasten der RAMs kann es bei den Schaltflanken zu unter- oder überschwingen der Pegel außerhalb der Betriebsspannung kommen. Ähnliches gilt für die 100 Ohm Widerstände R12 bis R19 und R31 bis R38 in den Datenleitungen. Diese werden durch die Widerstände mit deren Wellenwiderstand längs therminiert. Ohne diese Widerstände war das Modul in den höheren Schächten nicht stabil zum Laufen zu bekommen. Die LEDs zeigen den Schaltzustand der einzelnen Module an, dementsprechend D1 Modulschacht + 0, bzw. D4 Modulschacht + 3. Wer andere LEDs einbauen möchte, muss dabei beachten, dass nur maximal 20 mA pro Anschluss zulässig sind. J2 dient im Bedarfsfall der Programmierung der CPLD entsprechend JTAG-Standart. Die Pins 1 und 30 der SIMMs sind normalerweise für deren Stromversorgung gedacht, und auf dem RAM-Modul verbunden. Hier verwende ich Pin 30 als Detect-Anschluss für die CPLD. Wird also ein Modul gesteckt, so wird der jeweilige Detect-Eingang auf +5V gezogen und somit das Vorhandensein des RAM-Moduls erkannt. Die Anzahl der RAM-Module und deren Bestückungsreihenfolge ist beliebig. Ein Strukturbyte wird nur gesendet, wenn das dazu gehörige RAM-Modul gesteckt ist. Gleiches gilt für das Schalten des Moduls. Wer noch 4-MB-SIMMs zu liegen hat, kann diese auch verwenden. Dazu ist der Jumper J3 zu setzen, das 4-MB-Modul ist in einer der Fassungen gut aufgehoben. Die Jumper J4 und J5 sind zum Testen der RAM-Module gedacht. Mit ihnen wird der Refresh auf die Hälfte bzw. ein Viertel ausgedünnt. Zusätzlich besteht für Case-Modder und Programmierer, die den Schaltzustand der RAMs wissen möchten, die Möglichkeit 2 Stück 7 Segment Anzeigen anzuschließen. Die Teile dazu sind nicht im Bausatz enthalten. Es können Anzeigen mit einer Ziffernhöhe von 10 oder 7 mm und gemeinsamer Anode verwendet werden. Es wird der Schaltzustand, also 0 - 3FH, des eingeschalteten 1MB-Teils der höchsten Priorität, dargestellt. Der rechte Dezimalpunkt zeigt das Schreibschutzbit, der linke Punkt zeigt an, ob gerade ein Zugriff auf das Modul stattfindet. Leider sind am CPLD keine 16 freien Anschlüsse mehr verfügbar. Deswegen werden die fertig dekodierten Informationen für die Anzeige seriell (SDA und STA) an die beiden Schieberegister U6 und U7 weitergereicht, welche die Daten wieder parallelisieren. Wegen akutem Platzmangel kommen hier SMD-Bauteile zum Einsatz. Das sollte aber kein Problem darstellen, denn wer die Anzeige benötigt, der kann auch mit dem Lötkolben umgehen;-). Der Wert für die Vorwiderstände R46 bis R61 richtet sich nach den Daten der verwendeten Anzeigen, und liegt zwischen 100 und 470 Ohm.
Und nun wird es ernst. Besonders hohe Löterfahrungen werden von den Bauteilen nicht gestellt. Es hat sich aber erwiesen, dass eine bestimmte Reihenfolge bei der Bestückung vieles leichter macht. Als erstes wird die Fassung für den CPLD bestückt. Dabei ist darauf zu achten, dass die schräge Außenkante rechts oben ihren Platz findet. Anschließend geht es mit den Widerständen weiter. Hier habe ich mich aus Platzgründen für die bedrahtete Bauform 0204 entschieden. Diese sind nur ca. 2 mm lang. Die Anschlussdrähte werden kürzestmöglich direkt am Widerstand umgebogen, und entsprechend Platinenaufdruck bestückt. Genauso geht es mit den restlichen Bauteilen weiter, zuerst die flachen, dann die höheren Bauteile. Als letztes sind also die SIMM-Fassungen bzw. die Elkos dran. Die quadratischen Lötaugen der LEDs kennzeichnen deren Kathode. Ist alles fertig bestückt, kann nach einer letzten optischen Überprüfung das Modul getestet werden. Hierzu wird es beliebig mit RAM-Modulen bestückt, welche aber nicht höher als 15 mm sein dürfen. Im Höchstfall sind 17 mm zulässig, wenn die Plaste des Moduloberteils unter dem Alu-Schild herausgeschnitten wird. Zum Testen von RAM-Modulen hat Frank ein prima Testprogramm geschrieben, allerdings dauert es ziemlich lang das 4 MB Modul komplett zu überprüfen. Aber das kann er selber besser erklären. Also dann, viel Spass! Bevor ich es noch vergesse; Meinen herzlichen Dank an Frank und Mario für das Testen des Moduls, besonders an Frank, weil er das Verilog-Programm für den CPLD geschrieben hat. Per Schaltplan ist das viel aufwändiger.
|
-- MFG Enrico |