mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Software SPI zur Chip Konfig


Autor: hilli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin ein absoluter Neuling auf dem Gebiet der Mikrocontroller und möchte 
einen ISM Transceiver mittels einem ATmega 48 über SPI konfigurieren.
Leider werde ich die Hardwaremäßige SPI Schnittstelle des Controllers 
nicht benutzen, da dort der ISP angeschlossen ist.
Kann mir jemand weiterhelfen, bei der Programmierung der SPI 
Schnittstellen (Vielleicht mit einem Beispiel Code)?
Woltte PortC nehmen.
PC5 = MOSI
PC4 = MISO
PC3 = SCK
PC4 = CS
Bin über jede Hilfe dankbar.
Der Transceiver wird mit 2 1-byte Befehlen konfiguriet. z.B. A7D0

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wohl auch ein Neuling hier im Forum ;-)

Wie wäre es mit einem Schaltplan, einem Datenblatt der ISM Transceivers, 
etc.. ?

Das mit dem ISP und der SPI ist normalerweise kein Problem, wenn man 
weiß was man tut. Dafür gibt es z.B. einen Hinweis von Atmel mit 
Widerständen in den Datenleitungen.

Autor: RoK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

warum sollte die HW-SPI nicht gehen? Dein ISM Transceiver hat einen Chip 
select. Dieser bleibt ruhig während der AVR Programierung z.B über 
externen Pullup. Also bekommt er davon nichts mit. Während des normalen 
Betriebes ist entweder der ISP Stecker abgezogen oder der Programmer (je 
nach dem welcher das ist) sollte "unsichtbar" (Tristate) sein. Somit 
bekommt der Programmer davon nichts mit. Also kollidieren Program-Mode 
und Run-Mode nicht miteinander.

Gruß
RoK

Autor: hilli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Als Transceiver wird der IA4421 baugleich im HopeRF 12 verwendet.
Datenblatt im Anhang.
Schaltplan sind nur die 4 obengenannten Leitungen die zum Chip gehen.

Autor: hilli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das will ich ja vermeiden, das ich immer umstecken muss.

Autor: fast so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm die Hardware SPI.
Die ISP Schnittstelle und die SPI passen zusammen. Das Einzige, das man 
beachten muss, ist dass das SPI Geraet beim Programmiern keinen Scheiss 
macht. Der Programmiermodus hat uebrigend Reset=low.

Autor: hilli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht es wirklich nicht softwaremäßig? wäre echt klasse wenn es gehen 
würde...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einzige was du machen musst: Dem nSEL Anschluss zusätzlich einen 
Pullup-Widerstand (z.B. 47K) spendieren, damit sich dieser Funkchip 
nicht versehentlich angesprochen fühlt. Dann lässt sich die 
SPI/ISP-Schnittstelle sowohl für ISP als auch für SPI verwenden, ohne 
das irgendwas umgesteckt werden muss.

Autor: hilli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es denn bei hardwaremäßigem SPI irgendetwas zu beachten?
kann man da 1:1 die Quelltexte aus dem Datenblatt übernehmen??

Falls doch noch jemand etwas über den software SPI hat, bitte melden!!

Autor: NN (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispiel für Software SPI (auch wenn ich das Warum nicht verstehe...):
http://www.roboternetz.de/wissen/index.php/Portexp...

Autor: hilli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so der SPI Bus sofwaremäßig läuft soweit. Ich habe jetzt nur noch ein 
Problem mit der _delay_ms Funktion. Nachdem ich zwei Pakete gesendet 
habe will ich eine Pause machen. und wiederum zwischen den beiden 
Paketen auch eine kleine Pause. Leider funktioniert das mit der obigen 
Funktion nicht.
ich hänge mal ein Bild an, wie es ungefähr aussehen soll.

Autor: hilli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und so wenn ich ein Befehl sende (2 x 2 HEX Zeichen)

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.