Hallo alle :) ich weiss nicht mal genau, nach was ich speziell suchen muss, um selbst eventuell schon beantwortete Fragen dieser Art zu finden, meine bisherigen Suchen haben nichts Passendes ergeben. Das Problem ist ganz einfach: Ich hab 'nen mega328 mit 4 digiPotis am SPI. Nun will ich den mega328 flashen, aber AVR Studio meint, die MOSI-Leitung hat 'nen Kurzen, dem ist aber nicht so. Ich habe also alle 4 Potis entfernt und siehe da, es geht. Wie kann ich das Problem umgehen? Alle Potis hängen direkt an MOSI, MISO und SCK, irgendwelche Pull-Widerstände habe ich keine vorgesehen, nachdem ich dazu schon gegoogled habe. Ich habe bisher auch noch nie gesehen, dass man die Slaves abkoppelt mittels Jumper o.ä. ... Danke für einen kurzen Tipp und schöne Grüße :)
Hallo, Atmel hat dazu eine Apllication Note zum Thema ISP Nutzung auf seiner Webseite. Man muss die AVR Hardware an diesen Pins dann anders beschalten.
Ich denke, gemeint ist die AVR042 http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf Punkt 3.1.1 Shared Use of SPI Programming Lines Du kannst auch PullUps an den Chipselect-Leitungen dei Slaves vorsehen, dann bleiben die passiv wenn der AVR im Reset hängt.
Hallo Karl, danke! Wenn ich es richtig sehe, müssen Serienwiderstände in die Leitungen zu den anderen Devices, zumindest in der MISO-Leitung ... Möglicherweise, was ich bisher nicht kontrolliert habe, sind die CS-Leitungen der Potis auch aktiv bzw low bei einem frischen ATmega ... Das hilft schon mal weiter :)
Oliver, genau, die habe ich nach Karl's Antwort gefunden, allerdings fehlen Angaben zur Größe. Inzwischen habe ich 3 Werte gefunden, 1k, 10k, 33k, wobei die letzteren 2 zu Problemen führen könnten bei zu schneller Kommunikation. Probier ich morgen mal aus. Zu den CS-Leitungen: da habe ich schon Pullups, bin aber gerade nicht sicher (weil zuhause), ob der unbenutzte ATmega nicht eventuell die Ports auf low hat und die CS-Leitungen dadurch aktiviert sind. Bisher hatte ich dieses Problem noch nicht und mir fehlt dementsprechend die Erfahrung :)
Nik A. schrieb: > ob der unbenutzte ATmega nicht eventuell die > Ports auf low hat Während der Programmierphase wird der AVR im Reset gehalten und alle Pins sind hochohmig. Mit den PullUps liegen die also auf High und da !CS normal Low-Aktiv ist sollten alle Slaves auch nur hochohmig auf dem Bus liegen. Leider hast Du nicht erzählt welche Potis Du nutzt.
so, bin schon mal etwas weiter: nicht MISO reicht, wie es in manchen Posts im WWW steht, sondern MOSI, so, wie es AVR-Studio quasi andeutet. Ob es irgendwelche Auswirkungen auf die Kommunikation mit den ADs hat, konnte ich noch nicht testen Ich hab 1k8 als Wert genommen, jeweils in die MOSI-Leitung (da es bei 4 layern leider nicht möglich war, nur einen zu nehmen)
so, bin gerade dabei, die Pots anzusprechen, blöderweise finde ich da nicht allzu viel Infos dazu Es sind die AD5290 mit 10k Ich habe schon mehrere Versuche gemacht mit verschiedenen SPI-Configs. Ich mach das ganze mit Arduino. Ich werde nicht ganz schlau aus den Infos im Datenblatt und dem Internet, mal meint jemand LSB first, im Datenblatt steht aber "data is loaded MSB first" ... beides bringt keinen Unterschied, auch SPI_mode von 1 auf 3 zeigt keinen Unterschied. Scheinbar braucht man nur den Wert senden, ich wechsle alle 5 sec zwischen 0 und 255. Das einzige, was passiert: der Poti geht von etwa 5.7k auf 10.5k und dann nichts mehr. (bei spannungsloser Schaltung ist der Widerstand unendlich, nach dem Anlegen der Spannung um die 5.5-5.7k und dann kommt wohl etwas an, denn es ändert sich auf 10.5k. Aber dann passiert, wie gesagt, nichts mehr) Ich vermute mal, mit den Widerständen in den SPI-Leitungen düfte das mal nciht zusammenhängen. Und gleich beim Tippen noch ein Test: Egal, welchen Wert ich hinschicke, es stellen sich immer 10.5k ein ...
ich mache mal einen neuen Thread zu den AD5290 auf. Es gibt zwar bisher schon wenige, mir halfen die aber nicht weiter :)
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.