Forum: Mikrocontroller und Digitale Elektronik "Ausgesperrt" trotz funktionierendem Takt


von Sebi (Gast)


Lesenswert?

Hallo zusammen,

ich hab hier ein kleines Problem mit einem tiny2313. Der bekommt 10MHz 
von einem RFM12-Modul als Takt gefüttert, aber seit ich die Fuses dafür 
gesetzt habe, kann ich den µC nicht mehr ansprechen.
Das Programm läuft tadellos, der µC arbeitet also. Ich meine, dass 
CLKDIV noch gesetzt ist, aber das sind dann immmernoch 1,25MHz.

ISP-Frequenz liegt bei 57,90kHz, aber selbt mit 4kHz komm ich nicht 
durch.
Ich verwende einen mySmartUSB light und AVR Studio. Natürlich bekommt 
das Funkmodul während dem Ansprechversuch Saft, der Takt liegt auch an.

Habt ihr ne Idee, woran das liegen könnte, oder was ich noch tun kann? 
Natürlich abgesehen davon, den µC zu ersetzen. Aber ich würde gerne 
wissen, woran das liegt, bevor ich noch einen kaputt mach.

Viele Grüße,
Sebi

von holger (Gast)


Lesenswert?

Vieleicht hast du dich mit der RSTDISBL Fuse ausgesperrt?

von Sebi (Gast)


Lesenswert?

Dachte ich auch erst, aber der Reset funktioniert.

von Chris (Gast)


Lesenswert?

Sebi schrieb:
> aber seit ich die Fuses dafür
> gesetzt habe, kann ich den µC nicht mehr ansprechen
Solange Du uns nicht verrätst, auf was genau Du die Fuses gesetzt hast 
können wir nur raten.

Liegt der externe Takt an XTAL1 an oder an XTAL2? Letzteres wäre falsch.

von Sebi (Gast)


Lesenswert?

An XTAL1. Am Takt liegts mMn auch nicht, denn das Programm auf dem µC 
läuft problemlos durch. Wenn der Takt nicht richtig anliegen würde, 
würde er wohl gar nichts machen.

Die Fuses müssten (kanns nicht nachprüfen) auf CLKSEL 0000 und SUT 10 
stehen. Bei CLKSEL bin ich mir recht sicher, denn wie gesagt, der 
Controller tut.

von Chris (Gast)


Lesenswert?

Sebi schrieb:
> An XTAL1. Am Takt liegts mMn auch nicht, denn das Programm auf dem µC
> läuft problemlos durch.
Dann wird es wohl tatsächlich nicht daran liegen.

Sebi schrieb:
> Die Fuses müssten (kanns nicht nachprüfen) auf CLKSEL 0000 und SUT 10
> stehen. Bei CLKSEL bin ich mir recht sicher, denn wie gesagt, der
> Controller tut.
Das klingt auch gut so. Zum Test könntest Du mal den externen Takt 
wegnehmen und schauen, ob der Controller dann nicht mehr läuft. Ist das 
der Fall, kannst Du dir sicher sein.

Zur Not einfach neuen AVR nehmen und das ganze nochmal sorgfältig 
probieren ;-)

von Karl (Gast)


Lesenswert?

Der RFM12 ist nicht in einem seiner vielen Stromsparzustände? 
Funktioniert der RFM12 direkt nach einem Reset als Taktquelle? Du 
sprichst das Modul wahrscheinlich über SPI an und nutzt letztendlich die 
gleichen Leitungen zur Programmierung. Vielleicht "hakt" da etwas.

Hast Du einen zweiten µC? Dann programmiere und "fuse" den doch "normal" 
mit internem Takt verbinde den "defekten" µC nur mit dem Takt-Ausgang 
des RFM12 und versuche diesen erneut zu programmieren.

von Dussel (Gast)


Lesenswert?

Klingt zwar paradox, aber jemand hat mal geschrieben, dass er wieder 
programmieren konnte, indem er die Programmierfrequenz hochgesetzt hat. 
Das kannst du ja mal probieren, kostet ja nichts.

von Gaukel (Gast)


Lesenswert?

Dussel schrieb:
> Klingt zwar paradox, aber jemand hat mal geschrieben, dass er wieder
> programmieren konnte, indem er die Programmierfrequenz hochgesetzt hat.
> Das kannst du ja mal probieren, kostet ja nichts.

Ist gar nicht so paradox, hatte ich auch schon mal.

von g457 (Gast)


Lesenswert?

Wie ist der RFM angebunden? Hast Du ggf. Mechanismen drin dass dir der 
RFM nicht ins ISP reinquatscht? Wenn ja welche? (=> Schaltplan!)

von Sebi (Gast)


Lesenswert?

War wohl echt das RFM, verwende jetzt einen externen Oszillator, 
funktioniert prima. Muss nur das Layout dann ein bisschen ändern.

Vielen Dank für die Tips, manchmal steht man einfach aufm Schlauch ^^

von embedded ISP (Gast)


Lesenswert?

Meine Nutmaßung geht auch in die Richtung SPI-Crash - wenn Du den 
Controller programmierst, ist er ein Slave, wie auch das externe Modul, 
und auf dem SO-Draht können beide gegeneinander arbeiten.

Am Rande: Mit irgendeinem AVR hatte ich mal ein Problem mit einer zu 
geringen SPI-Rate. Ich weiß nicht mehr mit welchem AVR das war, aber ich 
hab mir davon gemerkt, es immer auch noch einmal mit SPI-Clocks zwischen 
1/16 und 1/4 des Systemclocks zu probieren.

von Sebi (Gast)


Lesenswert?

Interessanterweise tritt das Problem aber nur auf, wenn ich auch den 
Takt vom RFM als Systemtakt verwende. Sonst hatte ich bisher nie 
Probleme mit dem RFM direkt am SPI.
Aber du hast recht, ich verwende das RFM normalerweise mit Software-SPI, 
daher ist mir das so noch nicht über den Weg gelaufen. Leider brauch ich 
in dem Fall jeden Port, deshalb HW.

Naja, wieder was gelernt ;)

von Sascha W. (sascha-w)


Lesenswert?

hast du das Chipselect für das RFM (NSEL) mit einem externen Pullup 
versehen? Wenn nicht, dann könnte sich das RFM beim programmieren u.U. 
angesprochen fühlen weil die Leitung hochohmig ist.
Evl. könnte auch eine Pause vor dem initialisieren des RFM helfen, nicht 
das die Taktfrequenz mehrmals umgeschaltet wird, wenn der Controller mal 
kurz anläuft (die RFM12 hat doch default auch 1MHz am Ausgang?).

Sascha

von embedded ISP (Gast)


Lesenswert?

Du hast nicht zufällig den AVR-Reset zum RFM durchverbunden? Falls doch, 
könnte genau das das Problem sein: Der AVR wird mit Reset = 0 
programmiert. Und dem RFM traue ich - wie jedem zusätzlichem Teil, ich 
bin da ein gebranntes Kind - zu, dass es sich bei Reset = 0 einfach tot 
stellt, und dann z.B. den Takt für den AVR beim ISP eben nicht liefert.

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.