Artikel
Highspeed-Controller-Board
Schaltung und Aufbau
Der Mikrocontroller für dieses Board wurde schon im ersten Artikel in der Juni-Ausgabe beschrieben: Der DS89C420 von Dallas Semiconductor ist kompatibel mit anderen Controllern der 8051-Reihe, bietet aber eine viel höhere Arbeitsgeschwindigkeit und weitere Extras. Das hier vorgestellte Board bildet zusammen mit der kostenlosen Software von Dallas ein leistungsfähiges und bezahlbares Entwicklungssystem.
Die 8051er-Controller-Famile ist so weit verbreitet, dass man zu Recht von einem Industriestandard sprechen kann. Das hat den nicht geringen Vorteil, dass es dafür am meisten Software, Tools und Literatur gibt – und das schon seit vielen Jahren, was natürlich auch dazu beiträgt, dass vieles davon kostenlos im Internet zur Verfügung steht. Der ursprüngliche Controller wurde von verschiedenen Herstellern in zahlreichen Varianten mit zusätzlicher Peripherie und höherer Taktfrequenz weiter entwickelt, wobei der Prozessorkern aber beibehalten wurde. Dieser Prozessorkern teilt die Taktfrequenz praktisch durch 12, ein Maschinenzyklus benötigt daher zwölf Taktzyklen. Im Gegensatz dazu hat Dallas auch die Struktur des Prozessorkerns verändert mit dem Ergebnis, dass ein Maschinenzyklus beim DS89C420 nur einen Taktzyklus beansprucht, wodurch der Controller bei gleicher Taktfrequenz um den Faktor 12 schneller ist als seine Vorgänger.
Die 8051er-Controller-Famile ist so weit verbreitet, dass man zu Recht von einem Industriestandard sprechen kann. Das hat den nicht geringen Vorteil, dass es dafür am meisten Software, Tools und Literatur gibt – und das schon seit vielen Jahren, was natürlich auch dazu beiträgt, dass vieles davon kostenlos im Internet zur Verfügung steht. Der ursprüngliche Controller wurde von verschiedenen Herstellern in zahlreichen Varianten mit zusätzlicher Peripherie und höherer Taktfrequenz weiter entwickelt, wobei der Prozessorkern aber beibehalten wurde. Dieser Prozessorkern teilt die Taktfrequenz praktisch durch 12, ein Maschinenzyklus benötigt daher zwölf Taktzyklen. Im Gegensatz dazu hat Dallas auch die Struktur des Prozessorkerns verändert mit dem Ergebnis, dass ein Maschinenzyklus beim DS89C420 nur einen Taktzyklus beansprucht, wodurch der Controller bei gleicher Taktfrequenz um den Faktor 12 schneller ist als seine Vorgänger.
Material
Gerber-Datei
Die zu diesem Projekt gehörende Platine steht als Gerber-Datei exklusiv allen GOLD- und GREEN-Mitgliedern zum sofortigen Download zur Verfügung. Mit Gerber-Daten können Sie Platinen selber herstellen oder sie bei einem Platinenhersteller in Auftrag geben.
Elektor empfiehlt den zuverlässigen PCB-Service von Eurocircuits oder von AISLER.
Gerber-Dateien unterliegen der Creative Commons-Lizenz. Creative Commons bietet Urhebern die Möglichkeit, dass ihre Werke frei genutzt und verbreitet werden.
Platine
Extra-Info / Update
Leserbrief:
Bei dem im Juni und September 2002 veröffentlichten High-Speed-Controller mit 33-MHz-Takt ist es mir nicht gelungen, den Quarz auf dieser Frequenz zum Oszillieren zu bringen. Er ließ sich nur auf der Grundton-Frequenz von 11 MHz zum Schwingen anregen. Das Problem habe ich jetzt durch Verwendung des Multiplizierers im DS89C420 gelöst, der die Quarzfrequenz mit dem Faktor 2 oder 4 multipliziert. Momentan läuft mein Controller daher sogar mit 44 MHz. Für die Aktivierung des Multiplizierers benötigt man bei der Initialisierung ein Stück Maschinenkode:
; Set multiplier for the clock to 4 times
; Go to default no multiplier
MOV PMR, #080H
; Wait for ring modulator to stop
wait_rgmd:
MOV A, EXIF
JB ACC.2, wait_rgmd
; Clear the CTM bit
MOV PMR, #080H
; Use Crystal multiplier
MOV PMR, #88H
; Enable CTM, crystal multiplier
MOV PMR #98H
; Poll for the CKRY, EXIF.3 to get set
wait_ckry:
MOV A, EXIF
JNB ACC.3, wait_ckry
; enable CTM, crystal multiplier of 4
MOV PMR, #18H
Ich hoffe, dass dieser Tipp vielleicht auch für andere Anwender von Nutzen ist.
Rob van der Ouderaa (rouderaa@xs4all.nl)
Danke für den Hinweis! Mit dem richtigen Obertonquarz sollte dieses Problem zwar nicht auftreten, aber falls man es doch bekommt, braucht man mit dieser Lösung nicht lange nach einem besser geeigneten Quarz zu suchen.
Bei dem im Juni und September 2002 veröffentlichten High-Speed-Controller mit 33-MHz-Takt ist es mir nicht gelungen, den Quarz auf dieser Frequenz zum Oszillieren zu bringen. Er ließ sich nur auf der Grundton-Frequenz von 11 MHz zum Schwingen anregen. Das Problem habe ich jetzt durch Verwendung des Multiplizierers im DS89C420 gelöst, der die Quarzfrequenz mit dem Faktor 2 oder 4 multipliziert. Momentan läuft mein Controller daher sogar mit 44 MHz. Für die Aktivierung des Multiplizierers benötigt man bei der Initialisierung ein Stück Maschinenkode:
; Set multiplier for the clock to 4 times
; Go to default no multiplier
MOV PMR, #080H
; Wait for ring modulator to stop
wait_rgmd:
MOV A, EXIF
JB ACC.2, wait_rgmd
; Clear the CTM bit
MOV PMR, #080H
; Use Crystal multiplier
MOV PMR, #88H
; Enable CTM, crystal multiplier
MOV PMR #98H
; Poll for the CKRY, EXIF.3 to get set
wait_ckry:
MOV A, EXIF
JNB ACC.3, wait_ckry
; enable CTM, crystal multiplier of 4
MOV PMR, #18H
Ich hoffe, dass dieser Tipp vielleicht auch für andere Anwender von Nutzen ist.
Rob van der Ouderaa (rouderaa@xs4all.nl)
Danke für den Hinweis! Mit dem richtigen Obertonquarz sollte dieses Problem zwar nicht auftreten, aber falls man es doch bekommt, braucht man mit dieser Lösung nicht lange nach einem besser geeigneten Quarz zu suchen.
Stückliste
Widerstände:
R1 = 1 k
R2 = 39 k
R3,R4 = 10 k
Kondensatoren:
C1,C7...C9,C12,C13,C16 = 100 n
C2...C6,C17 = 10 µ /25 V stehend
C10 = 470 µ /25 V stehend
C11 = 47 µ /16 V stehend
C14,C15 = 27 p
C18 = 220 p
Induktivität:
L1 = siehe Tabelle 1
Halbleiter:
D1 = 1N4001
IC1 = MAX232CP
IC2 = 7805
IC3 = DS89C420-MCL of -MNL (DIP40, Dallas Semiconductor/Maxim)
IC4 = 74HCT573
IC5 = 62256 (8 x 32 K, min. 100 ns)
IC6 = 74HCT125
Außerdem:
JP1 = Jumper
K1 = 20-poliger SIL-Steckerleiste
K2 = 34-polige Steckerleiste mit Schutzkragen
K4 = 9-polige Sub-D-Buchse, gewinkelt, für Platinenmontage
K5 = 2-polige Anschlussklemme, Rastermaß 5 mm
S1 = Taster (Schließer)
X1 = Quarz, 33 MHz
Platine EPS 020102-1
R1 = 1 k
R2 = 39 k
R3,R4 = 10 k
Kondensatoren:
C1,C7...C9,C12,C13,C16 = 100 n
C2...C6,C17 = 10 µ /25 V stehend
C10 = 470 µ /25 V stehend
C11 = 47 µ /16 V stehend
C14,C15 = 27 p
C18 = 220 p
Induktivität:
L1 = siehe Tabelle 1
Halbleiter:
D1 = 1N4001
IC1 = MAX232CP
IC2 = 7805
IC3 = DS89C420-MCL of -MNL (DIP40, Dallas Semiconductor/Maxim)
IC4 = 74HCT573
IC5 = 62256 (8 x 32 K, min. 100 ns)
IC6 = 74HCT125
Außerdem:
JP1 = Jumper
K1 = 20-poliger SIL-Steckerleiste
K2 = 34-polige Steckerleiste mit Schutzkragen
K4 = 9-polige Sub-D-Buchse, gewinkelt, für Platinenmontage
K5 = 2-polige Anschlussklemme, Rastermaß 5 mm
S1 = Taster (Schließer)
X1 = Quarz, 33 MHz
Platine EPS 020102-1
Diskussion (0 Kommentare)