So langsam gehen mir die Ideen aus... Ich versuche gerade ziemlich erfolglos einen AT89C51RD2 durch einen AT89LP51RD2 (oder ID2) zu ersetzen. Die Ports beim LP51*D2 sollten ohne weitere Maßnahmen 8051-kompatibel sein, d.h. quasi-bidirektional und lassen sich z.B. auch auf Push-Pull umschalten. Im quasi-bidirektionalen Modus scheint der SPI-Ausgang MOSI beim LP51 ein Problem zu haben. Wird fortlaufend 42h gesendet, werden die Daten korrekt übertragen (Bild A). Wird dagegen 82h gesendet, wird der Pull-Up beim ersten Bit nicht aktiviert (Bild B). Wenn MOSI nicht zur Veranschaulichung mit einem 47 kOhm Pull-Up beschaltet gewesen wäre, wäre das erste Bit komplett auf Low. Falls das letzte Bit (D0) im vorigen Byte High war (z.B. 81h), wird ein erstes High-Bit beim nächsten Byte korrekt übertragen. Beim C51 klappt es im quasi-bidirektionalen Modus. Beim LP51 funktioniert die Übertragung nur im Push-Pull-Modus. Dafür muss aber die Software angepasst werden oder die User Configuration Fuses entsprechend programmiert werden. Notfalls geht es mit einem entsprechend niederohmigen Pull-Up (<3k3 je nach Datenrate). So weit so schlecht. Bei PCA-Modul gibt es das nächste Problem (Compare-Modus zum Pin-Togglen): Kanal 0 funktioniert wie vorgesehen. Wenn ich allerdings versuche, einen der anderen Kanäle einzeln zu starten, passiert nichts. Erst, wenn auch Kanal 0 aktiv ist, arbeiten die anderen Kanäle. Beim C51 lassen sich die Kanäle unabhängig voneinander starten. Hat jemand ähnliche Erfahrungen gemacht? Ich kann mir eigentlich nicht vorstellen, dass eine MCU, die so lange auf dem Markt ist, die beschriebenen Fehler hat. Getestet habe ich mit zwei sehr unterschiedlichen Chargen (vermutlich 2021 und deutlich älter, 2012?). Beim AT89LP51RB2 (B!) sind die User Configuration Fuses übrigens ab Werk ungünstig eingstellt und die Ports arbeiten nur als Eingänge.
Inzwischen wurde das PCA-Problem bestätigt, das SPI-Pull-Up-Problem nicht. Lösungsvorschläge gab es leider keine.
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.