Forum: Mikrocontroller und Digitale Elektronik LCD-Debugger mit AVR Atmega - Projektidee


von Gummiboot (Gast)


Lesenswert?

Hallo,

da ich ab und zu Mikrocontroller programmiere, mir aber keine Debugger 
für einen spezifischen Controller kaufen will, habe ich mir überlegt, so 
eine Art Hardware-Debugger mittels LCD zu bauen.

Ich weiß, dass man damit nicht richtig debuggen kann, also keine echten 
Breakpoints möglich sind(ich würde das Softwaremäßig lösen), aber zur 
Ausgabe von Werten und Parametern wäre dies doch sehr hilfreich. 
Außderdem wäre dies Art dann relativ universal, also unabhängig von der 
MCU-Familie(MCU-Art).

Meine Idee wäre einen Atmega oder ATiny für fie Ansteurung des LCD(2*16) 
zu verwenden.Soweit so gut.

Nun frag ich mich, welche Schnittstellen sinnvoll wären. Mein Überlegung 
dazu:
-SPI
-I²C
-was eigenes(also eigenes Protokoll-nichts kompliziertes) mit I/O-Pins

Wenn ich SPI/I²C nutzen möchte, sollte ich dann wohl auch auf einen 
Quarz am MC nicht verzichten,oder?

Was habt Ihr noch für Ideen Anregungen zu diesem Projekt?

Bevor ich anfange will, den Schlatplan zu entwerfen, wollte ich gern 
abklären, welche sinvollen Kommunikationsmöglichkeiten für den Debugger 
existieren.

Viele Grüße,
Ein Gummiboot

von chris (Gast)


Lesenswert?

Gummiboot schrieb:
> Meine Idee wäre einen Atmega oder ATiny für fie Ansteurung des LCD(2*16)
> zu verwenden.Soweit so gut.

warum nicht einfach per UART an den PC senden? Dürfte das einfachste 
sein, weil übersichtlicher. Außerdem ist nur ein Pin nötig.


Gummiboot schrieb:
> Wenn ich SPI/I²C nutzen möchte, sollte ich dann wohl auch auf einen
> Quarz am MC nicht verzichten,oder?

Ne, nicht nötig. Es handelt sich ja bei beiden Schnittstellen um 
synchrone Übertragungsverfahren.
Für UART dagegen ist ein Quarz nötig (möglichst ein Baudratenquarz).

lg
Chris

von Gummiboot (Gast)


Lesenswert?

> warum nicht einfach per UART an den PC senden? Dürfte das einfachste
> sein, weil übersichtlicher. Außerdem ist nur ein Pin nötig.

Ich habe nur eine virtuelle COM-Schnittstelle(ein USB-Adapter), die ich 
zum Programmieren nutze. Müsste also noch ein zweiten Adapter kaufen. 
Das möchte ich zur Zeit nicht.

Des Weiteren wäre die LCD-Platine dann auch für andere Projekte nutzbar, 
die richtige Anzeigen benötigen, sodass ich mich nicht jedes mal um eine 
LCD-Steuerung kümmern müsste.

> Ne, nicht nötig. Es handelt sich ja bei beiden Schnittstellen um
> synchrone Übertragungsverfahren.
> Für UART dagegen ist ein Quarz nötig (möglichst ein Baudratenquarz).

Wenn ich nun das LCD-Board mit einem bestimmen Baudratenuqarz 
betreibe(wegen UART), dann hieße das doch, dass ich die andere Platine 
dann auch mit solch einem Quarz(oder einem Vielfachen) betreiben müsste, 
oder hab ich da einen Denkfehler?

Vielen Dank für die Antwort

von chris (Gast)


Lesenswert?

Gummiboot schrieb:
> Ich habe nur eine virtuelle COM-Schnittstelle(ein USB-Adapter), die ich
> zum Programmieren nutze. Müsste also noch ein zweiten Adapter kaufen.
> Das möchte ich zur Zeit nicht.

naja, die Dinger kosten doch keine 5€ bei ebay aus China.



Gummiboot schrieb:
> Wenn ich nun das LCD-Board mit einem bestimmen Baudratenuqarz
> betreibe(wegen UART), dann hieße das doch, dass ich die andere Platine
> dann auch mit solch einem Quarz(oder einem Vielfachen) betreiben müsste,
> oder hab ich da einen Denkfehler?

I2C sowie SPI haben eine eigene Taktleitung. Dadurch brauchen die 
einzelnen µCs keinen genauen Takt, weil sie sich ja auf den Datentakt 
synchronisieren.
Nur bei UART brauchst du einen genauen Taktgeber, d.h. da bräuchten 
beide µC einen Quarz. Oder man macht auf dem Empfänger-µC eine AutoBAUD 
Funktion, dann ist die Taktgenauigkeit irrelevant (solange die Frequenz 
sich während des Betriebs nicht zu stark ändert).


Du musst allerdings das Rad nicht unbedingt neu erfinden ;)
Schau mal hier:
Beitrag "LCD über nur einen IO-Pin ansteuern"

Genauso gut kann man das LCD z.B. mit nem Attiny24 o.ä. über I2C 
ansteuern.

lg
Chris

von Gummiboot (Gast)


Lesenswert?

> naja, die Dinger kosten doch keine 5€ bei ebay aus China.

Danke für den Hinweis. Habe mich mal umgeschaut. Aber noch keines 
gefunden, welches unter Windows7 läuft. Die unterstüzen immmer maximal 
XP. Aber werde schon noch eines finden.

> Du musst allerdings das Rad nicht unbedingt neu erfinden ;)
> Schau mal hier:
> Beitrag "LCD über nur einen IO-Pin ansteuern"
>
> Genauso gut kann man das LCD z.B. mit nem Attiny24 o.ä. über I2C
> ansteuern.

Danke für den Hinweis. Das werde mich in meine Überlegungen mit 
einbeziehen. Ich werde das Projekt aber trotzdem machen, weil ich Spaß 
daran habe und abei viel lernen kann.

Ich werde wohl folgende Schnittstellen ans Board bringen:
-UART
-SPI
-I²C

Damit ist es für mich dann relativ universell einsetzbar.

Viele Grüße,
Gummiboot

von Max H. (hartl192)


Lesenswert?

Gummiboot schrieb:
> Danke für den Hinweis. Habe mich mal umgeschaut. Aber noch keines
> gefunden, welches unter Windows7 läuft.
Die mit dem FT232 laufen bei mir Problemlos unter Win7 und Win8.1 beide 
64bit.

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.