Hallo, ich bearbeite ein Projekt bei dem die SSC Tx und Rx benutzt wird. Als gemeinsame Clock-Source dient das TK-Pin = PA14 = Pin 7.
Nun habe ich festgestellt, daß im component_ssc.h
#define SSC_TCMR_CKS_TK (0x1u << 0) steht, in AtmelStudio 7 in ssc.h aber
#define SSC_TCMR_CKS_TK (0x2u << 0) .
Mit dem Wert (0x2u << 0) funktioniert die SSC so wie sie soll, mit (0x1u << 0) nicht. Ist das ein Fehler in component_ssc.h.
In der Beschreibung des SSC_TCMR-Registers im Datenblatt steht Value 1 = TK Clock Signal.
Das würde zu Arduino component_ssc.h passen, funktioniert aber wie gesagt nicht.
Hat jemand schon Mal die SSC mit externem Clock eingesetzt und hat Erfahrung damit ?
Würde mich über Antworten freuen. P.P.
Moin @peter_pp ,
ich bin zwar kein Due-Nutzer, aber da sich bisher niemand gemeldet hat, ein Erklärungsversuch (Best Guess) ... ;-)
- Im SAM3X/SAM3A Datenblatt findet man genau das, was Du auch gefunden hast, auf Seite 598
Quelle: Datenblatt SAM3X
- Im SAM E70/S70/V70/V71 Datenblatt jedoch die umgekehrte Festlegung für RK/TK
Quelle: Datenblatt SAM E70/ ...
Die Letztere stimmt mit Deinen Erkenntnissen überein.
Wenn Atmel die Zuordnung in den Files des AtmelStudio auch für den Due bereitstellt, kann man nur annehmen, dass die Angaben im SAM3X Datenblatt fehlerhaft sind und möglicherweise nie korrigiert wurden, wenn keine überarbeiteten Blätter zu finden sind.
Ohne Gewähr ...
Gruß
ec2021
Hallo ec2021,
Danke für die Antwort. Das ist genau das, was ich wissen wollte. So wie das im SAM3x-Datenblatt steht hat Atmel wohl die Tabelle vom SSC_RCMR zum SSC_TCMR kopiert und vergessen sie abzuändern.
Beste Grüße P.P.

