Das MC Board 2561 und seine Anbindungen
Verfasst: So 10. Nov 2013, 11:34
Hallo zusammen,
wir werden uns jetzt ein wenig mit dem Layout des MC 2561 Boards und seinen Anschlüssen vertraut machen. So mancher wird stöhnen (das wollten wir ja evtl. vermeiden) ... aber ich möchte, dass alle genau verstehen, was wir machen. Ich erkläre immer nur soviel, wie wir brauchen und werde wie gewohnt exakt erklären, jeder wird es verstehen:
Ich habe aus diesem "Pamphlet" http://www.atmel.com/images/doc2549.pdf das Schema auf Seite 4 herauskopiert und darin das Bild vom realen MC-Board abgelegt.
Das 447 Seiten dicke Manual ist die komplette Beschreibung des Mikroprozessors mit all seinen Schnittstellen und Funktionen, die ein Programmierer studieren muss, um dem MC 2561 zu beherrschen. Ich werde gelegentlich auf Seiten verweisen, wenn ein Interessierter nachlesen möchte - aber ausdrücklich: Kein Projektteilnehmer muss dies tun, um seinen MC für den Anwendungsfall Modellbahnsteuerung zu einzusetzen. Dafür sorge ich mit meinen Übersetzungen! Wer nachlesen möchte, lade sich dieses .PDF auf seinen Rechner, es ist die verbindliche Referenz!
Um die Systematik im Schaubild zu verstehen, konzentrieren wir uns einmal auf das GRÜN umrandete GELBE RECHTECK:
Es erklärt die Ziffernfolge "PD7", die wir im GRÜNEN KREIS sehen. PD7 bezeichnet eine Schnittstelle (elektrische Anschlußstelle) am Mikroprozessor 2561, also eine von den 64 Anschlußstellen, die der MC 2561 bietet.
Das "P" weist auf einen physischen Port hin, der wiederum 8 Pins hat (kann man abzählen). Die Ziffer 7 bezeichnet den 8. Pin (Anschluß des Ports) - Achtung: der 1. Pin wird mit "0" gezählt ..., so daß der 8. Pin die Nummer 7 trägt.
Im Foto (GRÜNES RECHTECK mit dem GRÜNEN KREIS um das "D") erkennen wir den realen Bezug: "D" auf der Platine bezeichnet den Port D. Im Rechteck sehen wir aber noch 2 zusätzliche Pins (PIN8= MINUS=GROUND=GND und Pin9 = Plus 5 Volt). Ausdrücklich: Diese beiden Pins PIN8 und PIN9 gehören nicht zum Port - ein Port in der Informatik / Mikroprozessor hat immer nur PIN0 ... PIN7! Aber PIN8 und PIN9 gehören zum Stecker, der auf PORT D liegt - Alles unklar ? Gut - dann habt Ihr es ja verstanden!
WIR ZAEHLEN ALSO AB SOFORT (UND FÜR IMMER) DIE PORTBELEGUNGEN MIT DEN PINS BEGINNEND MIT PIN0 - wie die Profis. Dies kann ich Euch leider nicht ersparen - ansonsten wird es u.U zu "tödlichen" Verwechselungen kommen.
Wir haben bislang mit bereits einer wichtigen Schnittstelle zu tun gehabt, nämlich mit der Bootloader-Schnittstelle, die uns gleichzeitig auch noch die erste Kommunikation mit dem MC ermöglichte (über unser "Hallo"- Programm).
Wir sehen in dem obigen Schaubild am linken Rand ein rotes Rechteck, das ich mit UART0 gekennzeichnet habe. Ferner sehen wir darin die sogenannten PIN-Bezeichnungen PE0 und PE1 ("Pins" = "Stifte/Kontakte"). In Klammern sehen wir zu diesen Beiden Pins PE0 und PE1 Funktionsbezeichnungen (wie RXD-0 oder TXD-0).
Da mehrere Funktionsbezeichnungen in Klammern zu einem Pin aufgeführt werden (z.B. PE0 mit zusätzlich <RXD0/PCINT8/PDI>, bedeutet dies, dass je nach Programmierung diese PINs mit (3 zusätzlichen) unterschiedlichen Funktionen (zu einer Grundfunktionalität SCHALTER=Basisfunktionalität) belegt werden können.
Bezüglich PE0 und PE1 hat ATMEL vorab schon festgelegt, dass wir diese PINs in ihrer Funktion als Programmier - Schnittstelle - also als Kommunikations-Schnittstelle mit der Aussenwelt benötigen (eine Methode).
Das ist leider hier nicht ersichtlich, das steht auf einer der 447 Seiten - nämlich auf Seite 350 in <Table 30-15: Pin Mapping Serial Programming> ... ...! Kennt man diese Seite nicht, scheitert man als Porgrammierer schon in ersten Anlauf ...!
Bezüglich PE0 und PE1 haben wir also in der Funktionsauswahl erst einmal wenig Wahlmöglichkeiten, denn wir benötigen sie erst einmal für den Bootloader! Das kann man zwar im Programmablauf (später) ändern- wollen wir aber nicht machen, da wir auch evtl. die Steckerbelegung (nach dem Programm-Laden) ändern müssten.
Das wollen wir aber nicht - also müssen wir von den 64 verfügbaren Pins schon mal die beiden abziehen, weil wir sie für die Programmierung (dauerhaft) benötigen. Sie stehen also zur Loksteuerung später nicht zur Verfügung!
Um uns ganz zu verwirren, sehen wir zwei GELBE Striche im Schaubild, die uns zu den 6 Pins des ISP-Steckers führen. Über diesen haben wir den Bootloader gefüttert. Wir sind also nicht an den PORT-E gegangen (wo ja PE0 und PE1) normal anliegen, sondern sind an den ISP- Stecker, der ebenfalls PE0 und PE1 als Stifte herausführt. Es ist hier also durch Leiterbahnen eine elektrische Verbindung in der Platine geschaffen worden. Welche Pins man abgreift, hängt von den verwendeten Steckern ab. Programmierung macht man immer über einen genormten ISP-Stecker, Betrieb aber über PORT-Stecker!
Bei unserem Hallo- Programm haben wir aber gar nicht umgeschaltet, ich habe einfach die Stifte PE0 und PE1 vom ISP-Stecker verwendet ... um die Sache einfach zu halten!
Für unser Hallo-Programm habe ich also (noch) die Kommunikationsschnittstelle UART0 verwendet. Das werden wir aber in Zukunft nicht mehr tun - wir werden ab sofort die gesamte Kommunikation (zur Loksteuerung) über UART 1 ablaufen lassen! Hieran werden wir also das WIZNET 610wi anschliessen.
Deswegen benötigen wir also nun einen Stecker, der für PORT D konfiguriert wird. Wie das geht habe ich Euch zuvor schon gezeigt. Also bitte ein Flachband-Kabel abschneiden, ca. 15 cm lang und mit einer Buchse im Schraubstock verbinden.
Fortsetzung folgt!
wir werden uns jetzt ein wenig mit dem Layout des MC 2561 Boards und seinen Anschlüssen vertraut machen. So mancher wird stöhnen (das wollten wir ja evtl. vermeiden) ... aber ich möchte, dass alle genau verstehen, was wir machen. Ich erkläre immer nur soviel, wie wir brauchen und werde wie gewohnt exakt erklären, jeder wird es verstehen:
Ich habe aus diesem "Pamphlet" http://www.atmel.com/images/doc2549.pdf das Schema auf Seite 4 herauskopiert und darin das Bild vom realen MC-Board abgelegt.
Das 447 Seiten dicke Manual ist die komplette Beschreibung des Mikroprozessors mit all seinen Schnittstellen und Funktionen, die ein Programmierer studieren muss, um dem MC 2561 zu beherrschen. Ich werde gelegentlich auf Seiten verweisen, wenn ein Interessierter nachlesen möchte - aber ausdrücklich: Kein Projektteilnehmer muss dies tun, um seinen MC für den Anwendungsfall Modellbahnsteuerung zu einzusetzen. Dafür sorge ich mit meinen Übersetzungen! Wer nachlesen möchte, lade sich dieses .PDF auf seinen Rechner, es ist die verbindliche Referenz!
Um die Systematik im Schaubild zu verstehen, konzentrieren wir uns einmal auf das GRÜN umrandete GELBE RECHTECK:
Es erklärt die Ziffernfolge "PD7", die wir im GRÜNEN KREIS sehen. PD7 bezeichnet eine Schnittstelle (elektrische Anschlußstelle) am Mikroprozessor 2561, also eine von den 64 Anschlußstellen, die der MC 2561 bietet.
Das "P" weist auf einen physischen Port hin, der wiederum 8 Pins hat (kann man abzählen). Die Ziffer 7 bezeichnet den 8. Pin (Anschluß des Ports) - Achtung: der 1. Pin wird mit "0" gezählt ..., so daß der 8. Pin die Nummer 7 trägt.
Im Foto (GRÜNES RECHTECK mit dem GRÜNEN KREIS um das "D") erkennen wir den realen Bezug: "D" auf der Platine bezeichnet den Port D. Im Rechteck sehen wir aber noch 2 zusätzliche Pins (PIN8= MINUS=GROUND=GND und Pin9 = Plus 5 Volt). Ausdrücklich: Diese beiden Pins PIN8 und PIN9 gehören nicht zum Port - ein Port in der Informatik / Mikroprozessor hat immer nur PIN0 ... PIN7! Aber PIN8 und PIN9 gehören zum Stecker, der auf PORT D liegt - Alles unklar ? Gut - dann habt Ihr es ja verstanden!
WIR ZAEHLEN ALSO AB SOFORT (UND FÜR IMMER) DIE PORTBELEGUNGEN MIT DEN PINS BEGINNEND MIT PIN0 - wie die Profis. Dies kann ich Euch leider nicht ersparen - ansonsten wird es u.U zu "tödlichen" Verwechselungen kommen.
Wir haben bislang mit bereits einer wichtigen Schnittstelle zu tun gehabt, nämlich mit der Bootloader-Schnittstelle, die uns gleichzeitig auch noch die erste Kommunikation mit dem MC ermöglichte (über unser "Hallo"- Programm).
Wir sehen in dem obigen Schaubild am linken Rand ein rotes Rechteck, das ich mit UART0 gekennzeichnet habe. Ferner sehen wir darin die sogenannten PIN-Bezeichnungen PE0 und PE1 ("Pins" = "Stifte/Kontakte"). In Klammern sehen wir zu diesen Beiden Pins PE0 und PE1 Funktionsbezeichnungen (wie RXD-0 oder TXD-0).
Da mehrere Funktionsbezeichnungen in Klammern zu einem Pin aufgeführt werden (z.B. PE0 mit zusätzlich <RXD0/PCINT8/PDI>, bedeutet dies, dass je nach Programmierung diese PINs mit (3 zusätzlichen) unterschiedlichen Funktionen (zu einer Grundfunktionalität SCHALTER=Basisfunktionalität) belegt werden können.
Bezüglich PE0 und PE1 hat ATMEL vorab schon festgelegt, dass wir diese PINs in ihrer Funktion als Programmier - Schnittstelle - also als Kommunikations-Schnittstelle mit der Aussenwelt benötigen (eine Methode).
Das ist leider hier nicht ersichtlich, das steht auf einer der 447 Seiten - nämlich auf Seite 350 in <Table 30-15: Pin Mapping Serial Programming> ... ...! Kennt man diese Seite nicht, scheitert man als Porgrammierer schon in ersten Anlauf ...!
Bezüglich PE0 und PE1 haben wir also in der Funktionsauswahl erst einmal wenig Wahlmöglichkeiten, denn wir benötigen sie erst einmal für den Bootloader! Das kann man zwar im Programmablauf (später) ändern- wollen wir aber nicht machen, da wir auch evtl. die Steckerbelegung (nach dem Programm-Laden) ändern müssten.
Das wollen wir aber nicht - also müssen wir von den 64 verfügbaren Pins schon mal die beiden abziehen, weil wir sie für die Programmierung (dauerhaft) benötigen. Sie stehen also zur Loksteuerung später nicht zur Verfügung!
Um uns ganz zu verwirren, sehen wir zwei GELBE Striche im Schaubild, die uns zu den 6 Pins des ISP-Steckers führen. Über diesen haben wir den Bootloader gefüttert. Wir sind also nicht an den PORT-E gegangen (wo ja PE0 und PE1) normal anliegen, sondern sind an den ISP- Stecker, der ebenfalls PE0 und PE1 als Stifte herausführt. Es ist hier also durch Leiterbahnen eine elektrische Verbindung in der Platine geschaffen worden. Welche Pins man abgreift, hängt von den verwendeten Steckern ab. Programmierung macht man immer über einen genormten ISP-Stecker, Betrieb aber über PORT-Stecker!
Bei unserem Hallo- Programm haben wir aber gar nicht umgeschaltet, ich habe einfach die Stifte PE0 und PE1 vom ISP-Stecker verwendet ... um die Sache einfach zu halten!
Für unser Hallo-Programm habe ich also (noch) die Kommunikationsschnittstelle UART0 verwendet. Das werden wir aber in Zukunft nicht mehr tun - wir werden ab sofort die gesamte Kommunikation (zur Loksteuerung) über UART 1 ablaufen lassen! Hieran werden wir also das WIZNET 610wi anschliessen.
Deswegen benötigen wir also nun einen Stecker, der für PORT D konfiguriert wird. Wie das geht habe ich Euch zuvor schon gezeigt. Also bitte ein Flachband-Kabel abschneiden, ca. 15 cm lang und mit einer Buchse im Schraubstock verbinden.
Fortsetzung folgt!