Hi, ich bin momentan dabei mehrere ADNS-3080 als Slaves per SPI über einen Renesas M16C/6N4 Microcontroller anzusteuern. Mit einem der Maussensoren funktioniert das ganze nach einigen Querelen wunderbar. Doch sobald ich jetzt einen zweiten dazuschalte klappt es nicht mehr. Und zwar sei hierbei erwähnt, dass man zum Ansteuern eines ADNS-3080 neben den üblichen 4 SPI-Leitungen (SCLK, MOSI,MISO, NCS) auch noch RESET und NPD (PowerDown) mit dem Microcontroller verbinden muss. Sobald nun der zweite Sensor Power hat (also mit Spg.quelle verbunden ist und NPD auf Low (ist n low-active Pin) ist, funktioniert die Übertragung nicht mehr (vollkommen egal ob die anderen Leitungen des zweiten Sensors verbunden sind oder nicht). Dabei sehen die Spannungsverläufe von SCLK, MOSI, NCS, RESET und NPD swoeit ich das mit dem mir zur Verfügung stehenden Oszi (leider kein digitales)beurteilen kann so aus wie sie sollten. Nur MISO ist (abgesehen von ein bisschen Rauschen) permanent auf LOW. Erstaunlicher Weise kann auch auch dann nicht einen der beiden Sensoren ansteuern/auslesen wenn ich vom anderen alle Leitungen abgesehen von der NPD-Leitung entferne. Ich kann mir das alles mit meinem bescheidenen Wissen einfach nicht erklären. Vielleicht hat ja einer von euch ne Idee woran das liegen könnte. Wäre echt verdammt wichtig! Hier noch ein paar Details zur Beschaltung: Die SCLK & MOSI Leitungen "splitte" ich (nach einem Spannungsteiler zum Anpassen d. Spg auf die vom ADNS benötigten 3,3V) einfach auf und führe sie zu den beiden Sensoren NCS1,RESET1,NPD1,NCS2,RESET2,NPD2 haben jeweils eigene Leitungen (ebenfalls mit Spannungsteilern) MISO wird über einen 74HCT125 von 3,3V nach 5V gewandelt und geht dann zum µC. Hierbei habe ich die Leitungen von den beiden Sensoren momentan vor dem Pegelwandler zusammengeführt. EIn getrenntes "UPgraden" der Spannung mit anschließdendem Zusammenführen der Leitungen hat auch nicht funktioniert. Sollte ich irgendwelche wichtigen Infos vergessen haben, bitte einfach drauf hinweisen :) Gruß Philipp
Hi, "Hierbei habe ich die Leitungen von den beiden Sensoren momentan vor dem Pegelwandler zusammengeführt." Die MISO sind nicht tri-state. Also einfach zusammenführen führt zu LOW. Schaltplan/Skizze wäre besser als der ganze Text!
Peter II schrieb: > Die MISO sind nicht tri-state. Also einfach zusammenführen führt zu LOW. Okay. Klingt logisch, das hatte ich bisher ignoriert. Ich hatte die OE-Pins des HCT125 mit GND verbunden und dadurch die Ausgänge permanent enabled. Im Endeffekt müsste sich doch mein Problem beheben lassen, wenn ich einfach die OE-Pins des HCT125 mit den jeweiligen NCS Leitungen verbinde, oder? Würd es ja direkt ausprobieren, aber komm erst morgen früh wieder an die Uni wo die Schaltung aufgebaut is^^ Peter II schrieb: > Schaltplan/Skizze wäre besser als der ganze Text! Schaltplan existiert bisher nur in meinem Kopf :D Aber ich muss mich da so oder so ma dranmachen und einen erstellen. Werd den gegen später noch anfügen, sobald er fertig is^^
sodele... hier jetz mal der Schaltplan mit dem momentanen Aufbau. Ich hoff ich konnt ihn halbwegs übersichtlich gestalten. Tipps was man beim Erstellen besser machen kann sind immer willkommen :) Im Vergleich zum Schaltplan würd ich nun !G1 und !G2 mit NCS1 bzw. NCS2 verbinden, sodass die Ausgänge hochomig sind solange der Slave nicht gerade aktiv ist. Passt soweit?
Habe das mal getestet, wenn ich die OE Pins (!G1 und !G2) mit NCS verbinde und es funktioniert leider immer noch nicht. Das NCS gleichzeitig bei mehreren Slaves auf 0 (aktiv) ist kann ich ausschließen. Wenn ich hier das Spiel aus dem ersten Posting wiederhole: d.h. NPD beim einen Sensor entferne, dann funktioniert der andere Problemlos. Wenn ich hingegen nur MISO entferne, dann funktioniert der andere trotzdem nicht. Könnte das eventuell darauf schließen, dass der Microcontroller einfach nicht genügend Strom am MOSI oder SCLK Pin ausgibt um mehrere Maussensoren anzusteuern?
Fehler im Schaltplan: MISO-Pins sind Open Drain (damit mehrere Slaves auf einer Leitung senden können). Also beide MISO-Leitungen auf einen Eingang am 74HCT125, /Pull-Up an 3,3V nicht vergessen/, einen Ausgang an den MISO-Pin des Controllers. Voila, funktioniert.
Wollte das gerade mal testen, aber jetzt ist beim Versuch der Microcontroller wohl in irgendner Art&Weise beschädigt worden. VCC am µC sind nur noch 1.6V, die Powerlampe des EVB leuchtet nicht mehr, und an den restlichen Ausgängen liegt keine SPg. mehr an. Hatte den angehängten Schaltungsaufbau kurz in Betrieb, nachdem ich gesehn hab, dass es nich klappt aber nach insg. <20 sec. wieder abgetrennt, ohne was gemerkt zu haben. Als ich an den µC danach wieder Spannung angelegt hab hat er nicht mehr richtig funktioniert. Hat der so viel Strom gezogen, dass es ihn zerschossen hat, oder was könnte da passiert sein?
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.