Hallo zusammen, ich nutze den TempSensor ADT7320 der Firma Analog Devices. Dieser verwendet den SPI Bus und ist mit einem PullUp Widerstand deaktiviert. Trotzdem habe ich auf dem SPI Bus folgende Spannungen anliegen, die das Programmieren eines ATmega2560 per ISP unmöglich machen: MISO: 2,5V - 3V (schwankend) SCK: 2,7V MOSI: 2,5V RESET: 0V Diese Werte liegen an, sobald ich nur die Versorgungsspannung von +5V anlege. Ich habe verschiedene Chips ausprobiert. Wenn ich einen Arduino entsprechend Programmiere und dann an SPI anschließe, kann ich den Sensor wie gewünscht auslesen. Nur in meiner eigenen Schaltung programmiere ich den Controller halt per ISP und das funktioniert nicht. Hat jemand eine Idee oder etwas vergleichbares schon einmal gesehen?
AB schrieb: > und ist mit einem PullUp Widerstand deaktiviert. Ich kann keinen Pullup erkennen. Wo soll der sein?
AB schrieb: > MISO: 2,5V - 3V (schwankend) > SCK: 2,7V > MOSI: 2,5V > RESET: 0V ..... und wo hast du den CS deines ADT7320 angeschlossen?
Profi Frickler schrieb: > AB schrieb: >> MISO: 2,5V - 3V (schwankend) >> SCK: 2,7V >> MOSI: 2,5V >> RESET: 0V > > ..... und wo hast du den CS deines ADT7320 angeschlossen? Hallo Frickler, die sind in der Schaltung an einem Pin des Mikrocontrollers. Pull Ups, sind da auch dran. Eingezeichnet sind 1k PullUps, habs aber auch schon mit 10k versucht. Siehe angehängtes Bild.
Die Spannungslevel ändern sich aber auch nicht, egal ob ich CS fest auf GND oder +5V lege. Beides ausprobiert.
Der Slave hat seinen MISO-Ausgang hochohmig, wenn der CS high ist. Daher mal ne dumme Frage: bei manchen Atmels war es damals so, dass der SPI-Bus nicht der Programmierbus war. Ist beim ATmega2560 das vielleicht auch der Fall und dein Sensor hat damit nichts zu tun? Oder ist beim ISP der Reset nicht angebunden?
Felix A. schrieb: > Der Slave hat seinen MISO-Ausgang hochohmig, wenn der CS high ist. > Daher > mal ne dumme Frage: > bei manchen Atmels war es damals so, dass der SPI-Bus nicht der > Programmierbus war. Ist beim ATmega2560 das vielleicht auch der Fall und > dein Sensor hat damit nichts zu tun? > Oder ist beim ISP der Reset nicht angebunden? Wenn der Chip aus der Schaltung ist, lässt sich der ATmega ohne Probleme programmieren. Nur sobald er eingesetzt wird, gibts ein Problem. ISP = SPI am ATmega2560, aber danke für die Idee! ISP Reset ist angebunden.
Hi >Daher mal ne dumme Frage: bei manchen Atmels war es damals so, dass der >SPI-Bus nicht der Programmierbus war. Das ist auch noch so und betrifft nur aber die 64-pol. AVRs. MfG Spess
Hast du mal eine Strommessung vom DOUT nach Masse gemacht? (Achtung, nimm zur Sicherheit erst einen Vorwiderstand von um 1kOhm).
Gerade gemacht. 1k in zwischen DOUT (MISO) und GND. Folgende Pegel stellte sich ein: MISO: 0,01V - 0,03V schwankend MOSI: 0,22V SCK: 0,25V Strom durch den Widerstand: 0,01 - 0,02 mA. Ohne Widerstand hab ich es nicht gemessen. Bringt das einen Erkenntnisgewinn?
Felix A. schrieb: > Ist beim ATmega2560 das vielleicht auch der Fall und > dein Sensor hat damit nichts zu tun? Handbuch sagt: Pins PB1, PB2, PB3 bei TQFP100, PE0, PE1, PB1 bei TQFP64 Package. Aber der OP kann den Atmega ja via ISP ansprechen außerhalb der Schaltung. Wenn der Op mehr von seinem Schaltplan posten würde, könnte man eventuell sehen was da los ist. Vielleicht hat er auch nur einen dicken Kondensator am RESET.
Jim M. schrieb: > Felix A. schrieb: >> Ist beim ATmega2560 das vielleicht auch der Fall und >> dein Sensor hat damit nichts zu tun? > > Handbuch sagt: Pins PB1, PB2, PB3 bei TQFP100, PE0, PE1, PB1 bei TQFP64 > Package. Aber der OP kann den Atmega ja via ISP ansprechen außerhalb der > Schaltung. > > Wenn der Op mehr von seinem Schaltplan posten würde, könnte man > eventuell sehen was da los ist. Vielleicht hat er auch nur einen dicken > Kondensator am RESET. Am RESET hängt nen 100nF, aber auch mit oder ohne ihm lässt sich der Controller nicht programmieren. Ansonsten ist momentan nur der ADT7320 auf nem Breakout Board auf de Steckbrett vorhanden und zeigt ein solches Verhalten.
Mess mal am CS Input des ADT7320. Dort muss High sein, wenn der Chip nicht angesprochen wird. Und dann sollte MISO vom ADT7320 auch nicht getrieben werden. Ein Serien-Widerstand in die MISO-Leitung vor den ADT7320 würde als Notlösung auch noch gehen (ca. 1k). Gruß, Stefan
Stefan K. schrieb: > Mess mal am CS Input des ADT7320. Dort muss High sein, wenn der > Chip > nicht angesprochen wird. Und dann sollte MISO vom ADT7320 auch nicht > getrieben werden. > Ein Serien-Widerstand in die MISO-Leitung vor den ADT7320 würde als > Notlösung auch noch gehen (ca. 1k). > > Gruß, Stefan Hi Stefan, Das habe ich bereits mehrfach überprüft. Der ist in jedem Fall high! Die AppNote von Atmel mit den Widerständen in der ISP Leitung kenne ich, allerdings würde ich gerne den "Fehler" finden. Bei nicht angelegtem CS (also CS = high), sollte der Chip doch eigentlich gar nichts tun...
Zu dem Strom durch den Widerstand: ja, gibt es. Der ADT treibt scheinbar nicht gegen deinen ISP. Merkwürdig sind Reset = 0V und dass der ADT treiben soll. Fehlt ein Pullup am Reset deines Controllers? Der Interne reicht meist nur, wenn extern nix dran hängt. Oder hat der Resetpin gar einen Kurzschluss nach Masse über die ADT-Platine? Und der 100nF sollte durch kleinere Werte wie 1nF ersetzt werden. Alle meine Schaltungen machen selbst ohne diesen Kondensator keine merkwürdigen Resets.
Ich wiederhole nur nochmal was Jim M. im Beitrag #4326848 schrieb: > Wenn der Op mehr von seinem Schaltplan posten würde, könnte man > eventuell sehen was da los ist. Bis dahin ist es alles Glaskugel polieren.
> MISO: 2,5V - 3V (schwankend) > SCK: 2,7V > MOSI: 2,5V > RESET: 0V > > Diese Werte liegen an, sobald ich nur die Versorgungsspannung von +5V > anlege. Was micht wundert, ist die niedrige Spannung zwischen 2.5V und 3.0V, obwohl die Versorgung 5V ist. Ist sowohl der mc als auch der ADT7320 mit 5V versorgt? Gibt es auch noch einen 3.0 oder 3.3V-Teil in der Schaltung? Gruß, Stefan
Stefan K. schrieb: >> MISO: 2,5V - 3V (schwankend) >> SCK: 2,7V >> MOSI: 2,5V >> RESET: 0V >> >> Diese Werte liegen an, sobald ich nur die Versorgungsspannung von +5V >> anlege. > > Was micht wundert, ist die niedrige Spannung zwischen 2.5V und 3.0V, > obwohl die Versorgung 5V ist. Und warum ist Reset auf 0V? Reset hat doch mit dem AD-Device überhaupt nichts zu tun. Oder läuft während der MEssung die Programmierung schon? Dann wäre es allerdings klar.
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.

