Hallo an alle! Habe ein kleines Problem mit dem SPI-Bus auf genanntem uC, bin neu was die Programmierung von Datenbus angeht und komme hier einfach nicht weiter. Habe am SPI des Atmega zwei Schieberegister hängen, einmal einen ADG738 (Analog Devices) einmal einen A6278 (Allegro). Die zwei hängen parallel am SPI, bekommen also extra MOSI, SCK und jeweils einen eigenen SS. MISO ist bei keinem verbunden (weil keine Rückmeldung und kein daisy chain). Der Unterschied zwischen den ICs besteht aber im SPI-Mode auf den sie hören: A6278 braucht CPHA=0, ADG738 aber CPHA=1, CPOL=0 für beide gleich. Ich habe jetzt folgendes Problem: Der A6278 lässt sich ansteuern und macht was er soll, wenn ich aber den ADG738 was schicke, flippen die Ports des A6278 genauso wie die des ADG738. SS ist aber bei A6278 auf 1 und bei ADG738 auf 0. Im Anhang habe ich ein paar Codebrocken aus meinem Programm zusammengefasst die den Bus betreffen. Hab übrigens auch versucht mich an die Application Note "AVR151" von Atmel zu halten, die mir fürs Einrichten vom SPI recht hilfreich erschien. Danke schonmal für jede Hilfe!
Hier noch der Schaltplan angehängt (beinhaltet nur den Teil der SPI betrifft, der Rest läuft ja)
> SS ist aber bei A6278 auf 1
Damit ist das Latch transparent...
Das DB dazu:
1 | Data present in any register is transferred to the respective |
2 | latch when the LATCH ENABLE input is high. |
Das LE sollte laut Timing-Diagramm nur ganz kurz aktiv sein. Ruhepegel von LE ist 0 :-o
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.