2 externe Gerate an einer SPI - Hardware VS Software

OP #2751001
Hallo Zusammen.

im Prinzip hab ich zwei Fragen.
Einmal Frag ich mich wo die Vor bzw Nachteile bei der Software- und 
Hardware-Spi sind.
Ist die Hardware-Spi schneller? oder ist der Vorteil, dass das Programm 
andere Sachen machen kann, wärend noch empfangen/gesendet wird?

Zum Anderen:
ich möchte zwei Module an den Atmega via SPI anschließen.
Klar ich könnte zwei mal eine Software SPI implemientieren oder einmal 
Software und einmal Hardware SPI. Wobei jeweils eine SPI andere Portpins 
verwendet.
Ich dachte mir aber, ich könne die Hardware SPI nehmen. Alle Portpins 
BUSmäßig an Atmega, Modul 1 und Modul 2 hängen.
Für das Chipselect dann natürlich jeweils einen eigenen Pin.
Kann ich der HardwareSPI einen anderen als den standart SS-Pin 
beibringen?
dann müsste ich vor jeder Sendefunktion immer nur den SS-Pin ändern.

Oder dann doch lieber SoftwareSPI und einen SS-Pin als Parameter an die 
Funktion übergeben?

danke und mfp
Peter
Persönliche Seite #2751017
Christian Peskov schrieb:
> Ist die Hardware-Spi schneller?

Nicht unbedingt, kommt wahrscheinlich auf den Controller an. Ein 
atmega168 kann die Daten mit dem halben externen Takt rausschieben. Das 
geht mit Software natürlich nicht.


> oder ist der Vorteil, dass das Programm
> andere Sachen machen kann, wärend noch empfangen/gesendet wird?

Ja.

Christian Peskov schrieb:
> Ich dachte mir aber, ich könne die Hardware SPI nehmen. Alle Portpins
> BUSmäßig an Atmega, Modul 1 und Modul 2 hängen.
> Für das Chipselect dann natürlich jeweils einen eigenen Pin.
> Kann ich der HardwareSPI einen anderen als den standart SS-Pin
> beibringen?

Würd ich so machen. SS wird (bei den mir bekannten atmegas) immer "zu 
Fuss" gesetzt. Allerdings muss der SS Pin sauber initialisiert werden, 
sonst streikt die hardware SPI. Siehe Datenblatt deines Controllers.

PS. Standar*d*, nicht Standart(e).
#2751026
Die Hardware SPI ist um einiges schneller .. biszu f/2 für CLK.

Desweiteren muss der dann nur arbeiten um die Daten dem SPI zu 
übergeben, während dieser dann alles selber raus schaufelt.

Den SS kann man auch per Software auf anderen PIN's legen. Bei mir ist 
er immer als Ausgang deklariert damit ich ich frei habe und nicht am 
SPI.
OP #2751052
Tom M. schrieb:
> immer "zu
> Fuss" gesetzt

du meinst bei der hardware spi? Also da kann ich sagen: du uC du... 
benutz bitte den PD7 als SS anstelle von PB4"
oder setzt ich einfach vor jeder Kommunikation den entsprechenden SS-Pin 
"von Hand" auf low?
habs nicht mehr genau vor augen... aber das wäre ja dann optimal.

ja klar standarD, danke ;)
OP #2751059
^^und wenn ich euch schonmal "dran" habe...

wie lösche ich die das Autorouting von Eagle 6.2?
Ich habe eine Platine entworfen und das Autorouting (nach luftlinien 
berechnen) verwendet.
Ich habe aber noch mal etwas hin und her geschoben und nun haben einige 
Bahnen komische Wege.
Daher würde ich gerne das Autorouting noch mal neu starten.
Wenn ich es jetzt einfach noch mal ausführe, dann ist bspw. eine Bahn 
noch immer ausserhalb der Platine.

danke und
gruß Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.