Forum: Mikrocontroller und Digitale Elektronik Fuse Einstellung Attiny3216


von Achim S. (achims)


Lesenswert?

Nach dem ich mit einem Adapter die Fuse Einstellung aus dem Attiny 3216 
auslesen kann, habe diese Werte im ori IC:

APPEND - 0x00
BODCFG - 0x00
BOOTEND - 0x02
SYSFGO - 0xF6
SYSFG1 - 0x07
TCDCFG - 0x00
WTDCFG - 0x00

Habe mir das Datenblatt vorgenommen und diese Einstellungen gefunden:

Fuse  Wert (hex)  Bedeutung
BODCFG  0x05    Brown-Out Detection aktiv bei 2,7 V, im aktiven Modus 
(ACTIVE), bei voller Frequenz sicher
SYSCFG0  0x46    UPDI aktiv (nicht Reset), EESAVE=1 (EEPROM bleibt
erhalten), CRCSRC=00 (kein CRC), Reserved = 110
SYSCFG1  0x06    SUT = 16 ms → sichere Startzeit nach Reset oder 
Power-On
APPEND  0x00    Keine App-Schutz-Sektion (Standard, wenn kein Bootloader 
genutzt wird)
BOOTEND  0x00 oder 0x02  Kein Bootloader → beide Werte sind akzeptabel. 
0x00 = ganzes Flash ist App-Bereich. 0x02 reserviert 512 Bytes, aber 
ungenutzt.
TCDCFG  0x00    TCD0 Clock Config: Standard, unbenutzt, keine besondere 
Konfiguration notwendig
WDTCFG  0x00    Watchdog Timer deaktiviert

Habe versucht es als Tabelle darzustellen. Mal sehen ob es klappt.
Sind diese Werte korrekt?

von S. L. (sldt)


Lesenswert?

> Sind diese Werte korrekt?

In meinem Datenblatt (von 2020) lese ich teilweise andere Werte.
  Vielleicht sollten Sie Ihre nochmals überprüfen ...

von Achim S. (achims)


Lesenswert?

Könntest du mir sagen (schreiben) welche Werte anders sind?

von S. L. (sldt)


Lesenswert?

> BODCFG  0x05
BODLEVEL0 entspr. 1.8 V

> SYSCFG0  0x46
BOOT entspr. CRC of the boot section
EEPROM erased during chip erase

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

Damit wir eine gemeinsame Basis haben ...

von Achim S. (achims)


Lesenswert?

BODCFG 0x05 steht für 1,8V, hasst Recht, besser ist 0x0D steht für 2,7V.
Bei SYSFG0 sind das meine überlegungen:

Korrekte SYSCFG0, wenn:
•  Kein Bootloader
•  Kein CRC nötig
•  EEPROM soll erhalten bleiben
•  UPDI soll aktiv bleiben
Dann:
Bit    Wert
RSTPINCFG  00
CRCSRC  00
EESAVE  1
RESERVED  110

Binär: 0b01000110 → 0x46

von S. L. (sldt)


Lesenswert?

Bei BODCFG = 0D ist LVL[2:0] doch nach wie vor 0, folglich 1.8 V!?

Und SYSCFG? Sie setzen RSTPINCFG korrekt auf 01, schreiben aber
> RSTPINCFG  00
setzen CRCSRC auf 01, schreiben aber
> CRCSRC  00
korrekt wäre 3 (no CRC), etc.

Ich kann Ihre Angaben beim besten Willen nicht nachvollziehen.

von Achim S. (achims)


Lesenswert?

Noch mal gerechnet:
Da müsste
BODCFG - 0x0F
SYSFG0 - 0x06
sein. Da hab ich mich wohl verrechnet. Hoffe das es jetzt stimmt

von S. L. (sldt)


Lesenswert?

Nein, tut mir leid, ich verstehe Sie nicht.

Hier meine Überlegung:
1
SYSCFG0:
2
  7 6       5        4        3 2          1     0
3
CRCSRC[1:0] xxx    TOUTDIS RSTPINCFG[1:0] xxx EESAVE
4
 0x3                 1        0x1                1
5
 11          1       1        01           1     1
6
 
7
->  0xF7
8
9
10
BODCFG:
11
 7 6 5     4       3 2          1 0
12
LVL[2:0] SAMPFREQ ACTIVE[1:0] SLEEP[1:0]
13
 0x2       0x0     0x1          0x0
14
 010        0       01           00
15
 
16
-> 0x44
17
18
"Note: When writing the fuses, all reserved bits must be written to ‘1’."

von Achim S. (achims)


Lesenswert?

Da werde ich mich mal hinsetzen und alles lesen und rechnen. Danke für 
die Info

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.