Guten Abend!
Ich hab hier einen ATtiny45 Revision G mit per Fuse aktiviertem BOD
(2.7V) und bekomme den Software BOD Disable im Power-Down-Sleep-Mode
nicht aktiviert. Laut Datenblatt soll das mit Revision D und neuer
funktionieren.
Im ersten Schritt soll BODS und BODSE gesetzt werden. Danach muss
innerhalb von 4 Taktzyklen BODS gesetzt und BODSE gelöscht werden.
Anschliessend soll innerhalb von 3 Taktzyklen der Sleep-Mode ausgeführt
werden, wenn ich das richtig verstehe. So habe ich es gemacht:
Der Sleep-Mode funktioniert, der AVR wacht nicht mehr auf. Wenn aber die
Spannung auf 2.5V sinkt und anschliessend wieder über 2.7V steigt, macht
der AVR einen Reset und das Programm beginnt erneut, was es eigentlich
nicht sollte.
Im Datenblatt steht noch, dass auf Geräten, die den Software BOD Disable
nicht unterstützen, BODS immer als 0 gelesen wird. Das ist bei meinem
Exemplar auch so. Wenn ich statt der sleep-Instruktion das BODS-Bit
lese, ist es 0.
Wo ist nun der Fehler? Verstehe ich die Aktivierungsprozedur falsch? Ist
der Code falsch? Oder kann die Revision G das doch nicht? Hat das schon
einmal jemand gehabt?
Danke und schönen Abend!
Juan schrieb:> Im ersten Schritt soll BODS und BODSE gesetzt werden. Danach muss> innerhalb von 4 Taktzyklen BODS gesetzt und BODSE gelöscht werden.
Und warum machst du das dann nicht?
Juan schrieb:> Im Datenblatt steht noch, dass auf Geräten, die den Software BOD Disable> nicht unterstützen, BODS immer als 0 gelesen wird. Das ist bei meinem> Exemplar auch so. Wenn ich statt der sleep-Instruktion das BODS-Bit> lese, ist es 0.>> Wo ist nun der Fehler?
Du verwendest wohl die falsche Chip-Revision.
Wahrscheinlich hat da irgendwer ein paar Chargen alter Chips billich
eingekauft und dann umgelabelt, um sie ein paar Cent teuerer verkaufen
zu können. Bei entsprechender Stückzahl lohnt der Aufwand, da können
leicht einige k€ Gewinn bei anfallen. Und du hast die dann bei honest
chinese dealer z.B. ePay gekauft.
So kommt zusammen, was zusammengehört. Der Sparfuchs und die cleveren
Leute, die selbst aus den Sparfüchsen noch einen Gewinn rausleiern...
c-hater schrieb:> Wahrscheinlich hat da irgendwer ein paar Chargen alter Chips billich> eingekauft und dann umgelabelt, um sie ein paar Cent teuerer verkaufen> zu können. Bei entsprechender Stückzahl lohnt der Aufwand, da können> leicht einige k€ Gewinn bei anfallen. Und du hast die dann bei honest> chinese dealer z.B. ePay gekauft.
Du hast doch mit Pflaumenmus gegurgelt! Jeden Tag neue krude Theorien.
Was bist Du nur für eine Pfeife?
c-hater schrieb:> So kommt zusammen, was zusammengehört. Der Sparfuchs und die cleveren> Leute, die selbst aus den Sparfüchsen noch einen Gewinn rausleiern...
Mit Dir gehört der Fuchsbandwurm zusammen. Der ist für den Menschen
genau so nützlich wie Du.
Irgendwann reicht's -genau jetzt war es so weit.
Axel S. schrieb:> Sieh mal hin, welches Bit du beim zweiten Zugriff setzt bzw. löschst
Ich dachte, ich "cleare" BODSE. Der Rest inklusive BODS bleibt
unverändert (also BODS gesetzt), wie verlangt. Ich sehe es nicht. Was
meinst du genau?
Der AVR ist von Conrad Schweiz (vor ca. 1.5 Jahren). Wenn das immer noch
zu billig ist, bitte ich um Entschuldigung. Aber viel mehr will
eigentlich kein Händler auf der Welt für diese ICs haben.
Juan schrieb:> Axel S. schrieb:>> Sieh mal hin, welches Bit du beim zweiten Zugriff setzt bzw. löschst> Ich dachte, ich "cleare" BODSE. Der Rest inklusive BODS bleibt> unverändert (also BODS gesetzt), wie verlangt. Ich sehe es nicht.
Oops. Mein Fehler. Ich habe da "ldi" statt "cbr" gelesen. So wie du es
machst, müßte es in der Tat funktionieren.
Juan schrieb:> Im Datenblatt steht noch, dass auf Geräten, die den Software BOD Disable> nicht unterstützen, BODS immer als 0 gelesen wird. Das ist bei meinem> Exemplar auch so. Wenn ich statt der sleep-Instruktion das BODS-Bit> lese, ist es 0.
Das würde dann dafür sprechen daß dein ATtiny45 das wirklich nicht kann
:(