Forum: Mikrocontroller und Digitale Elektronik Clock-Output beim ATtiny814


von Peder (st_peter)


Lesenswert?

Moin Leute,

laut Datenblatt des ATtiny814 kann man im Register MCLKCTRLA mit dem Bit 
CLKOUT die System-Clock auf den "CLKOUT pin" legen. Allerdings finde ich 
weder Informationen darüber, welches dieser Pin sein soll, noch wie ich 
einem Pin diese Funktion zuweisen kann.

Das Internet inkl. LLMs scheinen dabei ATtiny814 und ATtiny85 in einen 
Topf zu werfen. Der ATtiny85 hat einen ausgewiesenen CLKO-Pin, aber 
anscheinend nicht der ATtiny814.

Ist diese Funktion beim ATtiny814 noch nicht implementiert (aber 
geplant) oder was ist das Problem?

Ich möchte letztendlich herausfinden, wie genau der System-Takt ist und 
ihn gegebenenfalls kalibrieren.

von Nemopuk (nemopuk)


Lesenswert?

Faszinierend, das Datenblatt nennt mehrfach einen CLKOUT Pin, aber den 
gibt es scheinbar nicht. Ich habe wiederholt den Eindruck, daß Microchip 
mit den Datenblättern schlampig umgeht, im Gegensatz zu Atmel.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Nemopuk schrieb:
> Faszinierend, das Datenblatt nennt mehrfach einen CLKOUT Pin, aber den
> gibt es scheinbar nicht.

Faszinierend, das Datenblatt kennt den CLKOUT Pin, er ist unter
5.1 zu finden und versteckt sich unter PB5.

von Wastl (hartundweichware)


Lesenswert?

Nemopuk schrieb:
> Ich habe wiederholt den Eindruck, daß Microchip
> mit den Datenblättern schlampig umgeht, im Gegensatz zu Atmel.

Ich habe wiederholt den Eindruck, daß Nemopuk AKA Stefan Frings
sich um jeden Preis zu Wort melden und seinen Senf zum Thema
absondern muss.

von Peder (st_peter)


Lesenswert?

Der ATtiny814 hat keinen PB5.

von Peder (st_peter)


Lesenswert?

Wastl schrieb:

> Faszinierend, das Datenblatt kennt den CLKOUT Pin, er ist unter
> 5.1 zu finden und versteckt sich unter PB5.


Der ATtiny814 hat keinen PB5.

von Harald A. (embedded)


Lesenswert?

In der neueren ATTiny-Serie ist es nur in einigen Derivaten möglich, den 
CLKOUT nach außen zu routen - beim 814 augenscheinlich nicht. Solche 
Ungereimtheiten gibt es in vielen Controller-Familien - Features sind im 
Datenblatt "beworben",  können aber nicht in jedem Package genutzt 
werden.
Im Attiny3216 geht es auf PB5. Es kann auch sein, dass das noch andere 
Bausteine aus der Familie können. Suche im jeweiligen Datenblatt nach 
"CLKOUT" und Du wirst fündig.

von Peder (st_peter)


Lesenswert?

Harald A. schrieb:
> In der neueren ATTiny-Serie ist es nur in einigen Derivaten möglich, den
> CLKOUT nach außen zu routen - beim 814 augenscheinlich nicht. Solche
> Ungereimtheiten gibt es in vielen Controller-Familien - Features sind im
> Datenblatt "beworben",  können aber nicht in jedem Package genutzt
> werden.
> Im Attiny3216 geht es auf PB5. Es kann auch sein, dass das noch andere
> Bausteine aus der Familie können. Suche im jeweiligen Datenblatt nach
> "CLKOUT" und Du wirst fündig.

Das ist enttäuschend. Aber danke für die Klarstellung.

von Wastl (hartundweichware)


Lesenswert?

Peder schrieb:
> Der ATtiny814 hat keinen PB5.

Wenn man das richtige Package annimmt dann hat er einen Port PB5.
So jedenfalls mein Datenblatt 12/2016.

Wenn man natürlich kein Package angibt kann man viel behaupten.

von Nemopuk (nemopuk)



Lesenswert?

Wastl schrieb:
> Faszinierend, das Datenblatt kennt den CLKOUT Pin, er ist unter
> 5.1 zu finden und versteckt sich unter PB5.

Wo denn?

von Peder (st_peter)


Lesenswert?

Wastl schrieb:
> Wenn man das richtige Package annimmt dann hat er einen Port PB5.
> So jedenfalls mein Datenblatt 12/2016.
>
> Wenn man natürlich kein Package angibt kann man viel behaupten.

So wie ich das sehe, wird der ATtiny814 nur in einem einzigen Package 
produziert. Aber vielleicht kannst du mir da helfen. Es hilft ja nichts, 
wenn ich nicht in der Lage bin, Datenblätter oder die Webseite des 
Herstellers zu verstehen. (Datenblatt "ATtiny214/414/814" von 2017)

In welchen anderen Packages als dem 14-pin SOIC150 kommt der ATtiny814 
noch, und wo finde ich diese Information?

von Wastl (hartundweichware)


Angehängte Dateien:

Lesenswert?

Nemopuk schrieb:
> Wo denn?

Da.

von Nemopuk (nemopuk)


Lesenswert?

Wastl schrieb:
> Da.

Du bist da beim ATtiny817, nicht 814!

von Harald A. (embedded)


Lesenswert?

Wastl schrieb:
> Wenn man natürlich kein Package angibt kann man viel behaupten.

Eine Besonderheit dieser Familie ist es, dass das Package durch die Zahl 
definiert ist, "4" steht für 14 Pins (2=8p, 6=20p).

von Harald A. (embedded)


Lesenswert?

@Peder: nimm doch den ATTiny1616MNR, kostet 88ct bei Einzelstück 
(lcsc.com) und wird hemmungslos vom Bestücker verarbeitet, manuell geht 
es mit etwas Übung auch. Wo vorher der riesige SO14 saß hast Du dann 
noch massig Luft zu allen Seiten.

von Peter D. (peda)


Lesenswert?

Peder schrieb:
> laut Datenblatt des ATtiny814 kann man im Register MCLKCTRLA mit dem Bit
> CLKOUT die System-Clock auf den "CLKOUT pin" legen.

Wäre mal interessant, ob man dieses Bit ändern kann.
Den passenden Pin dazu gibt es jedenfalls nicht. Vermutlich ein C&P 
Fehler.

Die Qualität von Datenblättern kennt seit Jahren nur eine Richtung: 
abwärts.

von Harald A. (embedded)


Lesenswert?

Peder schrieb:
> Ich möchte letztendlich herausfinden, wie genau der System-Takt ist und
> ihn gegebenenfalls kalibrieren.

Wenn das der einzige Anwendungsfall ist gebe doch eine PWM aus und messe 
die. Den Faktor kannst Du ja leicht reinrechnen.

von Roland F. (rhf)


Lesenswert?

Hallo,
Wastl schrieb:
> Wenn man das richtige Package annimmt dann hat er einen Port PB5.

Peder hat gezielt vom ATtiny814 gesprochen und den gibt es nur im 
14-Pin-Gehäuse (siehe Datenblatt Seite 12, 15 und Tabelle auf Seite 19). 
Und hier fehlt der Pin PB5.

rhf

: Bearbeitet durch User
von Wulf D. (holler)


Lesenswert?

Ja, das ist richtig.
Für mich ein Grund bei den neueren Tinys zum QFN-Package zu greifen.

Gut, braucht etwas Übung beim Handlöten, ist aber meist das günstigste 
und vor allem sind alle Pins des Grundbausteins verfügbar.

von Peder (st_peter)


Lesenswert?

Harald A. schrieb:
> Peder schrieb:
>> Ich möchte letztendlich herausfinden, wie genau der System-Takt ist und
>> ihn gegebenenfalls kalibrieren.
>
> Wenn das der einzige Anwendungsfall ist gebe doch eine PWM aus und messe
> die. Den Faktor kannst Du ja leicht reinrechnen.

Könnte ich mal versuchen. Ich habe das gestern mal mit einem einfachen 
Timer gemacht und alle 100.000 mal einen Pin geflippt. Aber ein direktes 
Messen wäre mir tatsächlich lieber.

von Harald A. (embedded)


Lesenswert?

Durch 100.000 teilen ist schon weit weg, Du kommst aber an den halben 
Systemtakt mühelos heran (TCA oder TCB)

von Mairian (marianp)


Lesenswert?

Was ist mit PA7?

MCLKCTRLA.CLKOUT = 1; setzen
(z. B. CLKCTRL.MCLKCTRLA |= CLKCTRL_CLKOUT_bm;)

Pin PA7 als Ausgang konfigurieren (falls nötig).

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Mairian schrieb:
> Was ist mit PA7?
>
> MCLKCTRLA.CLKOUT = 1; setzen
> (z. B. CLKCTRL.MCLKCTRLA |= CLKCTRL_CLKOUT_bm;)
>
> Pin PA7 als Ausgang konfigurieren (falls nötig).

Der 814 hat keinen Pin PB5 und damit kein CLKOUT. Diese Pinfunktion ist 
auch nicht umroutbar.

Dieses Bit
1
CLKCTRL.MCLKCTRLA |= CLKCTRL_CLKOUT_bm
schaltet erstmal überhaupt an PB5 den Takt ein.
Hat mit PA7 nichts zu tun und ist auch nicht möglich.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Ich bin ja neu hier, aber spricht etwas dagegen, den Timer0 als 50% PWM 
mit maximaler Geschwindigkeit den passenden Pin umschalten zu lassen?
Gibt zwar nur ein halb oder ein viertel der Taktrate, aber für eine 
Bewertung der Frequenz ist das genauso gut wie CLKOUT.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

dagegen spricht nichts. Kann man machen.

von Rainer W. (rawi)


Lesenswert?

Peder schrieb:
> Der ATtiny814 hat keinen PB5.

Je nach Package liegt der CLKOUT lt. DB auf Pin 11, 9 oder 6. Beim 
SOIC14 ist er nicht herausgeführt (Note S.78, Tab. 5-1 S.19)

"Note:  The availability of the TOSC1, TOSC2 and the CLKOUT pin depends 
on the pin count of the device ..."

https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/ATtiny417-814-816-817-DataSheet-DS40002288A.pdf

Peder schrieb:
> Ich möchte letztendlich herausfinden, wie genau der System-Takt ist und
> ihn gegebenenfalls kalibrieren.

Das ist dasselbe. Eine Kalibrierung stellt genau die Abweichung 
gegenüber einem Normal fest, sonst nichts.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich weiß nicht was ihr mit eurem Package habt. Den 814, den der TO 
meint, gibt es nur im 14 Pin SOIC. Siehe 38.1. Der Rest geht aus 5.1 
hervor. Damit ist für den 14 Pin Typ kein PB5 verfügbar. Sobald man 
irgendeinen anderen Typ mit mehr Pins nimmt, spielt es keine Rolle 
welchen man hat. Dann hat man immer PB5 dabei. Nur hat der TO nun einmal 
den 814. Deswegen ist das Thema mit Packages irreführend.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Veit D. schrieb:
> Den 814, den der TO meint, gibt es nur im 14 Pin SOIC.

Die Übersicht wer wieviel Pins besitzt, zeigt die Figure 2-1 auf S.12 
(tinyAVR® 1-series Overview). Da muss der TO nur 1 und 1 zusammenzählen.

Um die Taktfrequenz zu bestimmen, braucht man nun wirlich nicht 
unbedingt den CLKOUT. Da tut es auch ein passend konfigurierter Timer.

: Bearbeitet durch User
von Peder (st_peter)


Lesenswert?

Nur der Vollständigkeit halber:
Ich habe das CLKOUT-Bit im MCLKCTRLA-Register mal eingeschaltet, und es 
passiert auf keinem einzigen Pin etwas (alle als Ausgang geschaltet). Im 
Debugger kann ich sehen, dass das Bit auch im uC gesetzt ist, aber es 
bleibt eben ohne Funktion.

Zum Messen der Taktfrequenz funktioniert PWM tatsächlich wirklich gut. 
Gegenüber der Timer-Methode verzichtet dieser Mechanismus schließlich 
auf einen Interrupt und das manuelle Schalten von Pins, was die Messung 
verfälscht.

Vielleicht bin ich da etwas zu naiv, aber bisher habe ich immer volles 
Vertrauen in die Datenblätter gehabt. Ja – dass ich mir fehlende Infos 
mühsam aus AppNotes oder dem Internet zusammenklauben muss, hab ich 
irgendwann gelernt, aber dass irreführende Angaben in den Datenblättern 
stehen, enttäuscht mich schon.

Danke euch!

von Nemopuk (nemopuk)


Lesenswert?

Peder schrieb:
> Vielleicht bin ich da etwas zu naiv, aber bisher habe ich immer volles
> Vertrauen in die Datenblätter gehabt

Microchip neigt zu Copy/Paste Fehlern. Das hat an dem Tag angefangen, 
als sie die schwarz/weißen Tabellen und Diagramme in Atmel Datenblättern 
bunt machten. Man sieht, wie die Prioritäten gesetzt wurden.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Peder schrieb:
> Zum Messen der Taktfrequenz funktioniert PWM tatsächlich wirklich gut.
> Gegenüber der Timer-Methode verzichtet dieser Mechanismus schließlich
> auf einen Interrupt und das manuelle Schalten von Pins, was die Messung
> verfälscht.
👍

> Vielleicht bin ich da etwas zu naiv, aber bisher habe ich immer volles
> Vertrauen in die Datenblätter gehabt. Ja – dass ich mir fehlende Infos
> mühsam aus AppNotes oder dem Internet zusammenklauben muss, hab ich
> irgendwann gelernt, aber dass irreführende Angaben in den Datenblättern
> stehen, enttäuscht mich schon.

Datenblätter dienen zwei Zwecken:
1.  Vorteile deutlich hervorheben (Erste Seite)
2.  Nachteile so gut es geht zu verwischen und tarnen (Folgeseiten)

von Rainer W. (rawi)


Lesenswert?

Peder schrieb:
> Nur der Vollständigkeit halber:
> Ich habe das CLKOUT-Bit im MCLKCTRLA-Register mal eingeschaltet, und es
> passiert auf keinem einzigen Pin etwas (alle als Ausgang geschaltet).

Dann ist das Datenblatt offensichtlich korrekt: Bei den 14-Pin Varianten 
- und dazu gehört dein ATtiny814 - ist der CLKOUT (zumindest extern) 
nicht verfügbar.
q.e.d.

von Harald A. (embedded)


Angehängte Dateien:

Lesenswert?

Mich hatte mal interessiert, ob man so etwas adaptieren könnte. Im Bild 
ein ATTINYxx16-MNR to SO14 Adapter mit herausgeführtem PB5. Eine LED an 
PC0 oder PC1 würde auch noch draufpassen... Für ein paar Euros bei 
JLCPCB zu haben.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Nemopuk schrieb:
> Du bist da beim ATtiny817, nicht 814!

???

von Nemopuk (nemopuk)


Lesenswert?

>> Du bist da beim ATtiny817, nicht 814!

Rainer W. schrieb:
> ???

Wenn du den Satz nach dem Lesen dieses Threads nicht verstehst, dann 
kann ich dir auch nicht weiter helfen.

von Roland F. (rhf)


Lesenswert?

Hallo,
Peder schrieb:
> ...aber dass irreführende Angaben in den Datenblättern
> stehen...

Welche irreführenden Angaben? Im Datenblatt ist es doch alles genau 
erklärt.

rhf

von Nemopuk (nemopuk)


Lesenswert?

Roland F. schrieb:
> Welche irreführenden Angaben? Im Datenblatt ist es doch alles genau
> erklärt.

Sorry, aber wenn in 3 Kapiteln ein CLKOUT Pin genannt und detailliert 
beschrieben wird, dann muss der auch existieren. Sonst ist es 
irreführend. Da gibt es nichts schön zu reden.

: Bearbeitet durch User
von Roland F. (rhf)


Lesenswert?

Hallo,
Nemopuk schrieb:
> Sorry, aber wenn in 3 Kapiteln ein CLKOUT Pin genannt und detailliert
> beschrieben wird, dann muss der auch existieren.

Er existiert doch auch, ist eben bei diesem Gehäuse nicht herausgeführt. 
Und das ist doch dem Datenblatt genau zu entnehmen.

rhf

von Dieter S. (ds1)


Lesenswert?

Siehe hier ("41 Data Sheet Revision History - 41.2 Appendix - Obsolete 
Revision History - 41.2.2 ATtiny214/414/814 - DS40001912")

https://onlinedocs.microchip.com/oxy/GUID-EE7956F6-534E-4B4F-AD10-214BF9914B5A-en-US-5/GUID-9784A1A4-B5D3-43F4-860A-903A14B77CF5.html

"CLKCTRL: Removed unsupported CLKOUT in block diagram, signal 
description and MCLKCTRLA register"

Man hat also scheinbar irgendwann daran gedacht.

von Nemopuk (nemopuk)


Lesenswert?

Roland F. schrieb:
> Er existiert doch auch, ist eben bei diesem Gehäuse nicht herausgeführt.
> Und das ist doch dem Datenblatt genau zu entnehmen.

Du redest es immer noch schön.

Nach deiner Logik hätte ich keine Schulden. Das Geld ist ja da, ich 
komme nur gerade nicht heran.

: 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
Noch kein Account? Hier anmelden.