Hallo, ich habe ein Problem beim Schreiben der Register. Wenn ich Mux 0 Schreiben will und nur ein Register schreibe funktioniert es nicht (siehe Screenshot). Schreibe ich jedoch mehr wie ein Register übernimmt der ADC die Daten. Auf einer anderen Leiterplatte hatte es genau mit den Funktionen funktioniert und nun leider nicht mehr? Leider finde ich das Problem nicht. Beim Init sende ich die 1Byte 0x07 1Byte 0x17 warte auf DRDY 1Byte 0x17 6Byte 0x40, 0x03, 0x08, 0x00, 0x00, 0x42 Hat jemand eine Idee? Danke
:
Bearbeitet durch User
Jens D. schrieb: > Auf einer anderen Leiterplatte hatte es genau mit den Funktionen > funktioniert und nun leider nicht mehr? Auf der anderen Platine funktioniert es jetzt also auch nicht mehr, oder wie? Hast du was am Programm geändert? Was ist an der anderen Platine anders? Wie sieht das Timing im Detail aus? Hast du den richtigen SPI-Modus? Wie sehen die Signale in echt aus (mit dem Oszilloskop), sind da irgendwelche Überschwinger oder flache Flanken? > Wenn ich Mux 0 Schreiben will und nur ein Register schreibe funktioniert > es nicht (siehe Screenshot). Was zeigt das Bild und was hättest du stattdessen erwartet?
Auf der anderen ist ein anderer Controller. (STM32M7 und jetzt ein L4). Die Signale sehen mit einem Oszi sieht relativ sauber aus. (siehe Screenshot) Messwerte bekomme ich ja ausgelesen nur leider nicht ein einzelnes Register gesetzt. Ich habe erwartet, dass beim auslesen des MUX Registers der zuvor geschriebene Kanal ausgelesen wird. Sprich die 0x08, was bei (50µs) geschrieben wurde und nicht die 0x01 (80µs). Ich versuche mal die Pflanken etwas zu dämpfen. Jens
Jens D. schrieb: > Ich versuche mal die Pflanken etwas zu dämpfen. Ich vermute, du hast da eher einen Messfehler als reale Überschwinger... Aber im Datenblatt steht was zum Thema Serienterminierung:
1 | TI recommends placing 47Ω resistors in series with all digital |
2 | input and output pins |
BTW: ich bin mir nicht ganz sicher, ob du die tsccs einhältst. Welchen Takt hat dein ADC? Vergleiche mal dein Timing genau mit den Mindesttiming aus dem Datenblatt...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > BTW: ich bin mir nicht ganz sicher, ob du die tsccs einhältst. Welchen > Takt hat dein ADC? Vergleiche mal dein Timing genau mit den > Mindesttiming aus dem Datenblatt... Mist, genau das war es danke. Im Anhang der Screenshot. Warum es damals funktionierte keine Ahnung. Nachtrag: Da ich damals bei dem STM32F7 die HAL Funktionen genutzt hatte und nun eigene zum Schreiben / Lesen vermute ich, dass die HAL Funktion zu viel Zeit braucht um zum Programm zurück zu kommen. Jens
:
Bearbeitet durch User
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.