Forum: Mikrocontroller und Digitale Elektronik LCD Beschaltung mit SPI und ISP


von Tobias N. (silberkristall)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir mal eine Schaltung erstellt (erstmal nur der Schaltplan) 
und es wäre toll wenn da jemand mal kurz drüber schauen könnte. Also es 
geht mir eigentlich nur um die ISP und SPI verbindungen. Der Rest sollte 
so passen.

Ich habe im Anhnag eine EAGLE und eine Target datei mit dem Schaltplan 
angehangen. Mein Bildschirm ist leider zu klein das ich einen Screenshot 
vom Schaltplan machen kann.

Die Schaltung besitzt 2 ATMega8 und 5 SPI Anschlüsse.

Die CS Leitungen liegen auf den PD Ports des "Master" Chips.

Ein weiterer ATMega8 ist am LCD angeschlossen und sient als Slave für 
den Master. Auf diesem läuft alleine die LCD lib, er soll also so zu 
sagen als "Grafikchip" dienen. Alles weitere bekommt er von dem Master.

Da muss ich dann mal gucken wie ich die Daten von dem Master an den 
Slave hänge. Dann wäre es noch toll wenn man mir sagen könnte ob der 
DS18S120 so richtig beschaltet ist.

Der "Master" ATmega soll einfach nur die Daten der Slaves verwalten und 
dann an den Grafikchip weiter geben. Die "ISP Verbinder" unten habe ich 
gemacht das es keine Probleme beim Flashen gibt, da ja die SPI 
Verbindung konstat bestehen würde und somit beide ICs miteinander 
verbunden wären.

Danke schonmal für eure Hilfe.

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:

> Ich habe im Anhnag eine EAGLE und eine Target datei mit dem Schaltplan
> angehangen. Mein Bildschirm ist leider zu klein das ich einen Screenshot
> vom Schaltplan machen kann.

Und?
Screenshot
nach rechts scrollen
Noch ein Screenshot

(ausserdem kann Egale als Bild exportieren)

> Die Schaltung besitzt 2 ATMega8 und 5 SPI Anschlüsse.

2 AtMegas?
klingt für mich wieder mal nach: mit Kanonen auf Spatzen geschossen.

Was soll denn das Komplettsystem machen, dass da ein einziger Mega schon 
wieder mal nicht alles alleine machen kann?
Merke: 2 Prozessoren, wo einer alleine auch genügt, vereinfachen nie das 
System. Ganz im Gegenteil: mit mehr Prozessoren wird alles nur 
komplizierter.

von Tobias N. (silberkristall)


Lesenswert?

ich benutze aber Target und kein Eagle. Ich mache mal eben Screenshots 
und poste die gleich bzw. setze die dann mal in Paint zusammen.

Also ein ATMega8 soll rein für das LCD sein. Sozusagen als 
Grafikcontroller.

Alle weiteren aufgaben, SPI abfragen, verarbeitungen etc. pp. soll dann 
der Masterchip erledigen, deswegen zwei ATMega8.

von Tobias N. (silberkristall)


Angehängte Dateien:

Lesenswert?

So hier dann noch ein Bild des Schaltplans.

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:

> Also ein ATMega8 soll rein für das LCD sein. Sozusagen als
> Grafikcontroller.

Hat denn das LCD, welches du zu benutzen gedenkst, keinen Controller?

Dem schickst du ein 'A' oder die Koordinaten für die Endpunkte einer 
Linie und dann zeigt das LCD selbsttätig den Buchstaben bzw. die Linie 
an. Und ob da jetzt ein 2.ter Mega die Koordinaten ausrechnet oder 
gleich der erste, ist für die Komplettfunktion ziemlich unerheblich. Der 
einzige Unterschied: du hast bei einer 2-µC Lösung eine 
Kommunikationsschicht, die bei nur einem µC komplett wegfällt und damit 
nicht neue Fehler heraufbeschwören kann. Ob der erste µC jetzt 
kompliziert sich mit dem zweiten unterhält, oder ob er gleich den 
LCD-Controller die Linienkoordinaten oder den Text schickt, ist für den 
Mega Jacke wie Hose.

Du zwirbelst dir hier mit einer 2-µC Lösung Probleme auf, die erstens 
völlig unnötig sind und zweitens schon so manches Projekt zu Fall 
gebracht haben.

von Tobias N. (silberkristall)


Lesenswert?

Also das ist ja ein Grafiklcd mit dem ks0108 Controller. Und da die LIB 
hierfür schon sehr groß ist, wenn man noch Grafiken etc. anzeigen möchte 
ist der ATMega8 schnell an seiner grenze, so habe ich einen ATMega8 als 
Grafikchip der nur die LIB und die Grafiken verwaltet. Andere Daten zur 
Anzeige etc. holt der Master von verschiedenen Slaves, verarbeitet diese 
und sendet das dann an Platzhalter im Grafikchip der das dann wiederrum 
anzeigt.

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:
> Also das ist ja ein Grafiklcd mit dem ks0108 Controller. Und da die LIB
> hierfür schon sehr groß ist, wenn man noch Grafiken etc. anzeigen möchte
> ist der ATMega8 schnell an seiner grenze,

dann nimm einen mega16

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:

> Anzeige etc. holt der Master von verschiedenen Slaves, verarbeitet diese
> und sendet das dann an Platzhalter im Grafikchip der das dann wiederrum
> anzeigt.

Und dieses 'Senden' ist sowohl für den ersten als auch für den zweiten 
aufwändiger, als wie wenn gleich der erste die Daten an den 
LCD-Controller weitergibt.

Aber ich seh schon. Du willst das unbedingt so machen. Des Menschen 
Wille ist sein Himmelreich - egal wie unsinnig er ist.

von Spess53 (Gast)


Lesenswert?

Hi

>der ATMega8 schnell an seiner grenze,

Es gibt auch noch andere AVRs. Ein ATMega644P/PA oder ein ATMega1284P 
hat Speicher satt und auch noch 2 UARTs, die auch SPI können. Außerdem 
kann man die mit 20MHz laufen lassen.

MfG Spess

von Tobias N. (silberkristall)


Lesenswert?

warum oder wieso ich das so aufbaue sollte ausser frage bleiben. es geht 
mir rein um die beschaltung, also ob das mit dem SPI und dem ISP so 
korreckt ist.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wenns nur am wenigen Speicher des Mega8 liegt, dann bietet sich doch der 
Mega168 oder 328 an. Das bisschen SPI und LCD... da hab ich schon ganz 
andere Sachen reingepackt. Spassigerweise ist der Mega328 mittlerweile 
bei meinem Halbleiterlieferant sogar der billigste von allen.

Tobias N. schrieb:
> es geht
> mir rein um die beschaltung, also ob das mit dem SPI und dem ISP so
> korreckt ist.

Da du deine Stecker nicht beschriftet hast, können wir das nicht wissen. 
Und obs die richtigen Pins sind, verrät dir die 'Pin Configurations' 
Seite im Datenblatt.

von Tobias N. (silberkristall)


Lesenswert?

naja leider weiss ich noch nicht wie man die stecker in  target 
beschriften kann.

SPI:

MOSI - MOSI
MISO - MISO
SCK - SCK

In diese Verbind habe ich noch eine Jumperbrücke gesetzt. diese wird 
entfernt, also geöffnet zum flashen damit dann keine verbindung zum 
jeweils anderen ATMega8 besteht.

ISP:

MOSI - MOSI
MISO - MISO
RESET - RESET mit 4,7k pullup widerstand
SCK - SCK
GND
5V

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Tobias N. schrob im Beitrag #2900655:
> SPI:
>
> MOSI - MOSI
> MISO - MISO
> SCK - SCK
Diese Belegung bleibt völlig dir überlassen, dafür gibt es keinen 
Standard. Allerdings fehlt da zumindest noch eine Masse (GND) Leitung, 
da diese der Bezugspunkt für die Signale ist. Als praktisch denkender 
Mensch würde ich auch noch die +5 Volt auf die SPI Anschlüsse ziehen, 
damit man mal kleine SPI Projekte direkt da andocken kann. Evtl. sollte 
man das auch so belegen, das ein falschrum gesteckter Verbinder nicht 
gleich alles tötet.

> ISP:
>
> MOSI - MOSI
> MISO - MISO
> RESET - RESET mit 4,7k pullup widerstand
> SCK - SCK
> GND
> 5V
Das hilft nicht wirklich. Wenn du ein STK500 oder ähnliches mit dem 
grossen ISP Stecker hast, vergleiche, ob die Pinnummern an deiner 
Platine und die Signale mit dem 10-Pol ISP übereinstimmen.

von Tobias N. (silberkristall)


Lesenswert?

den stecker hierfür habe ich mir selber erstellt. ich programmiere mit 
dem usbprog und der firmware avrisp II clone.

an dem habe ich "meinen" stecker und der passt da bei mir drauf. die 
belegung hierzu stimmt dann.

von Tobias N. (silberkristall)


Angehängte Dateien:

Lesenswert?

und fertig ist die platine :) jetzt gehts ran an die standbohrmaschiene 
:)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.