www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI Butterfly


Autor: Dietmar P. (dietmar2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

als uC-Neuling bitte ich um Hilfe. Habe meine ersten Gehversuch mit uC 
auf einem STK500 und einem Atmega32 (geliehen) gemacht. Da der Butterfly 
mit dem Display für meine geplante Anwendung passen würde, bitte ich um 
Unterstützung.

Ich hänge da beim SPI-Thema mit einem Verständnisproblem. Das 
Butterflyboard hat ja den uC Atmega169 drauf. Im Datenblatt des 
Atmega169 sind für SPI die Pins 9-13 angegeben.
Wenn ich aber in die Butterfly-Dokumentation gehe, dann sind die Pins 
(Block rechts unten) für die In-System-Programming verwendet (habe ich 
so verstanden).
Über diese Schnittstelle habe ich beim Ausprobieren mit Hilfe eines 
Kabels am PC-Paralell-Druckerport den Butterfly geflasht.

Da mein Ziel ist Mux/Demux-Bausteine (74HC165 + 74HC595) über uC zu 
steuern
stehe ich jetzt auf dem Schlauch.

Nun meine Fragen:
- Muss da ein Fuse-Bit (SPIEN) geändert werden, damit quasi aus ISP das
  SPI wird?
- Kann dann das Flashen nur über den UART-Anschluss und den Bootloader
  erfolgen?
- Wie funktioniert die Ansprache/der Anstoss des SPI beim Butterfly?

Habe die Funktion des SPI über Wiki und ähnliche Doku verstanden, aber 
wie wird sie im uC gestartet / gesteuert?

Habt bitte Verständnis für einen Anfänger.

Danke für Eure Hilfe im Voraus.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der SPI wird von Deinem Programm entsprechend bedient.
Die Pins sind gleichzeitig der ISP zum programmieren.
Entschieden wird das beim AVR vom Reset-Pin.
Ist er im Reset (Low) ist er auch im Programmiermode und erwartet an 
diesen Pins die Kommandos vom Programmieradapter. Läuft er (Rest High) 
sind es normale I/O-Pins oder eben auch SPI.

In die Quere kommen können sich nur angeschlossen Bauteile (Deine '595 
z.B.), weil die u.U. den Programmieradapter beis einer Arbeit stören 
oder weil beim Programmieren die Signale auch an Deinen Schieberegistern 
anliegen und u.U. diese wild Daten schieben lassen.

Ob es konkret stört, hängt von der Anwendung ab. Ein paar flackernde 
LEDs nerven höchstens beim Programmieren, wild zuckende Motore o.ä. 
wären da schlimmer.

Also abschätzen, was passiert, wenn das parallel dranhängt.
Auch daran denken, daß die AVR-Pins im Reset Eingang ohne PullUp sind 
und angeschlossene Baugruppen das vielleicht nicht gut finden.

Programmierbeispiele zum SPI sollten im Tutorial ja zu finden sein.

Gruß aus Berlin
Michael

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ueblicherweise nimmt man einen Pin als Chipselect fuer ein SPI device. 
Dieser muss mit einem Pullup, oder Pulldown inaktiv gezogen werden, da 
der Mega bei einem Reset in einem Tristate Mode ist.

Autor: Dietmar P. (dietmar2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

zuerst einmal vielen Dank.

Da scheint es mir ja besser, wenn ich auf ISP verzchte und die 
Programmierung über UART vorsehe. Wenn ich bei installierter Anwendung 
das Prgramm ändern möchte, dann kann ich ja schlecht parallel zu den 
IC's auch noch die den 169 flashen, wer weiß was da passiert.

Noch 'ne Frage zum Programmieren/Flashen:

Bisher habe ich alles unter Linux mit einem Editor und AVRDUDE gemacht. 
So 'ne grafische Oberfläche, wie z.B. AVRStudio habe ich da noch nicht 
entdeckt. TUT man sich als Änfänger mit so einer Oberfläche wirklich 
leichter?

Gruß
Dietmar

Autor: Dietmar P. (dietmar2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo hacky,

danke für die Info.
Das ist aber für einen Anfänger noch etwas hoch.
Hast Du einen Link oder so etwas, wo das noch etwas mehr erklärt ist?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.