µC nicht mehr ansprechbar

OP #4070741
Lesenswert?

Hallo an Alle,

ich möchte einen 16Mhz Quarz an meine Atmega8 als Taktquelle nutzen.
Aus Neugier habe ich in den Einstellungen zu den Fuses im Atmel Studio 6 
ein bischen herumgespielt und den internen Takt bei "SUT_CKSEL" auf 
"EXTCLK_6CK_64MS" gestellt. Jetzt ist der Microcontroller nicht mehr 
ansprechbar...
Als isp Programmer nutze ich den AVRISP mk2.
Ich habe 33pF Keramikkondensatoren


Wenn ich den Quarz mit den beiden 33pF Keramikkondensatoren anschließe, 
dann passiert gar nichts und ich kann den µC immer noch nicht 
ansprechen.
Warscheinlich weil der immer noch auf ein Signal vom internen Oszillator 
wartet? Wie schon geschrieben habe ich nur "SUT_CKSEL" auf 
"EXTCLK_6CK_64MS" gestellt.

Wie kann ich den Atmega noch retten um ihn wieder ansprechen zu können?
Gast #4070744
Lesenswert?

Dein Quartz ist blöderweise keine external clock. Am einfachsten wird 
wohl sein, einen neuen Controller zu kaufen.

Falls du einen anderen (noch ansprechbaren) Controller hast, kannst du 
diesen als Clocksignal nutzen.

Oder du kaufst dir ein HV-Programmiergerät.

Aber für 1-2 Euro kann man wie gesagt einfach nen neuen Controller 
kaufen.
Gast #4070746
Lesenswert?

EXTCLK ist die Einstellung für einen von Aussen anliegenden Takt, nicht 
für einen an den Controller angeschlossenen Quarz.
Da hilft mit dem AVR-ISP MK2 nur einen Takt anzulegen, etwa per NE555 - 
aber vorher ins Datenblatt sehen wie man das macht.
Gast #4070803
Lesenswert?

Joshua Lesmona schrieb:
> Warscheinlich weil der immer noch auf ein Signal vom internen Oszillator
> wartet? Wie schon geschrieben habe ich nur "SUT_CKSEL" auf
> "EXTCLK_6CK_64MS" gestellt.

Wenn du den Controller auf externen Takt gestellt hast, wird er wohl so 
lange auf einen externen Takt warten, bis du ihm einen externen Takt 
anbietest. Was soll der Quarz daran ändern. Ein Quarzoszillator wäre da 
eher angebracht.
Gast #4070999
Lesenswert?

Der Fehler taucht hier 100te male auf. Daher einfach einen 
Quarzoszillator kaufen. Kostet 0,5 - 1€ und den kann man immer mal 
brauchen.
Ich hab den direkt beim ersten AVR mit bestellt, um für diesen Fall 
gewappnet zu sein. Aber wie Murphy es will, passiert es dann eh nicht 
mehr.
Die Dinger sind übrigends ziemlich genau. Oftmals noch besser als 
einfache Quarze, weil die oft auch Temperaturkompensiert sind. Daher 
immer gut wenn man mit hohen Datenraten bastelt (UART SPI...) und Sicher 
gehen will, das es nicht am Takt liegt. Oder wenn man mehrere Baugruppen 
auf dem gleichen Takt sprich synchron laufen lassen will.
Kurz: das Ding fällt nicht durch...
Gast #4071031
Lesenswert?

Toxic schrieb:
> uC-Fuses.jpg

Du darfst ruhig einen Link angeben, statt irgendwelche Texte mit einer 
JPG-Kompression zu quälen. Dann wäre die Quelle deines Zitats auch 
gleich ersichtlich.
http://electronics.stackexchange.com/a/3006

> Ich selbst hab mit Atmel nichts am Hut trotzdem meine Frage
> Kann man Atmel-"fuses" nicht einfach neu programmieren ?

Und was hat das mit dem Problem des TO zu tun. Kannst du das nicht in 
einem separaten Thread klären?

Natürlich kann man die Fuses neu programmieren, aber nur wenn der 
Prozessor mit einem spricht und das tut er nur, wenn er einen Takt 
bekommt.
#4071047
Lesenswert?

Minimalist schrieb:
> Die Dinger sind übrigends ziemlich genau. Oftmals noch besser als
> einfache Quarze, weil die oft auch Temperaturkompensiert sind. Daher
> immer gut wenn man mit hohen Datenraten bastelt (UART SPI...) und Sicher
> gehen will, das es nicht am Takt liegt. Oder wenn man mehrere Baugruppen
> auf dem gleichen Takt sprich synchron laufen lassen will.
> Kurz: das Ding fällt nicht durch...

Temperaturkompensierte Exemplare sind aber um Einiges teurer als 
Standard-Ausführungen.
Übrigens, auf solche Genauigkeit kommt es kaum an.

Standard Quarze halten eine Toleranz von 0,1% locker ein, das kommt fast 
nur bei groben Fehlern in der hardware vor.
UART, USB lässt maximal 1% Abweichung zu, ist also mindestens um den 
Faktor zehn großzügiger.

Synchronisieren zweier Kontroller über den Takt ist Blödsinn. Selbst bei 
gemeinsamem Takt würden sie auseinanderlaufen. Zufällige Vorgänge beim 
Start oder beim Gebrauch von Interrupts (interrupt-Latenzen) bringen die 
beiden Prozessoren da auseinander.
Kontroller müssen schon über ein synchronisierendes Signal auf 
Gleichlauf gebracht werden.


Wenn dem Kontroller ein externer takt angelegt wird (worauf er ja 
irrtümlich eingestellt wurde) lassen sich die Fuses jederzeit wieder auf 
den Grundzustand oder auf den gewünschten Zustand einstellen.
Gast #4071049
Lesenswert?

Meckerziege schrieb:
> Natürlich kann man die Fuses neu programmieren, aber nur wenn der
> Prozessor mit einem spricht und das tut er nur, wenn er einen Takt
> bekommt.

Ich den Screenshot bewusst gemacht um es etwas zu "bearbeiten"
den link wollte ich aus urgeberrechtlichen Gruenden hinzufuegen - habe 
es aber vergessen! - Sorry.
===================
Ok - damit ist meine eigentlich Frage zu 100% geklaert und ich habe den 
von mir geposteten Artikel falsch interpretiert.
Danke!
OP #4071097
Lesenswert?

Ok
ich bin auf dem richtigen Weg...
Über den ne555 erzeuge ich mit R1= R2 = 1kOhm und C = 330 pF eine 
Ausgansfrequenz von 1457577 Hz .
Damit bekomme ich die Schaltung einigermaßen stabil zum laufen.
Auf dem µC ist ein Assemblerprogramm das eine Led 1 und ausschaltet.
Das Blinken der Led kann man sehen.
Der Leiter vom Taktausgang vom ne555 ist circa 8cm ! lang. Teilweise 
läuft es instabil.
Wenn ich das isp kabel vom isp programmer mit dem AVR verbinde und in 
Atmel Studio unter device programming das "Tool", Das "device" und das 
"Interface" ausgewählt habe und dann auf apply drücke, ist noch alles in 
Ordnung. Wenn ich aber die Device Signatur lesen möchte dann kommt 
folgende Fehlermeldung:
1
Unable to enter programming mode.
2

3
Please verify device selection, interface settings, target power and connections to the target device. Look in the details section for more information.
4

5
Timestamp:  2015-03-28 20:53:10.271
6
Severity:    INFO
7
ComponentId:  20000
8
StatusCode:  0
9

10
Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 (Command has failed to execute on the tool)
11

12
Unable to enter programming mode. Verify device selection, interface settings, target power and connections to the target device.

die Target Voltage kann gelesen werden und beträgt 5V.
Was also mache ich falsch?



EDIT:

Der Taktgeber ist mit XTAL2 verbunden. Mit XTAL1 funktioniert es nicht.
Gast #4071110
Lesenswert?

Peter R. schrieb:
> UART, USB lässt maximal 1% Abweichung zu

Das musst du mal erklären, wie du dieses Gerücht aufgeschnappt hast. Da 
kannst du bei halbwegs anständigen Signalen noch einen dicken Faktor 
drauf rechnen.

Bei üblichen UARTs reicht es, wenn die akkumulierte Phasenverschiebung 
vom Startbit bis zum letzen Bit unter 7/16 Bitdauer bleibt, i.e. etwa 4% 
Taktabweichung.
#4071277
Lesenswert?

Toxic schrieb:
> Ich selbst hab mit Atmel nichts am Hut trotzdem meine Frage
> Kann man Atmel-"fuses" nicht einfach neu programmieren ?
> laut Anhang ja - laut Forum nein
> Was ist nun richtig?
> Also beim Pic geht's.....

Bei HV Programmierung geht alles. Da hat man jederzeit vollen Zugriff. 
Man braucht aber sehr viele Pins und jeder Kontroller ist anders 
anzuschießen. Das Programmieren in einer vorhandenen Schaltung ist quasi 
nicht möglich/vorgesehen.

Bei ISP sieht es anders aus. Der Prozessor muss selbständig laufen und 
der Reset muss verfügbar sein. Wenn man den Reset abschaltet um ihn als 
normalen Pin zu verwenden oder eine Taktquelle wählt die es nicht gibt, 
sperrt man sich aus. Man hat beim ISP zunächst vollen Zugriff, was für 
die Massenprogrammierung von Vorteil ist, da man nur wenige Pins 
benötigt. Wenn man sich bei der Taktquelle vertan hat, gibt man einfach 
einen externen Takt drauf oder einen Quarz. Wenn man den REEST 
abschaltet, ist das sehr Übel.

So ist es halt. Bei den Fuses muss man aufpassen.
Gast #4071300
Lesenswert?

Uwe K. schrieb:
> So ist es halt. Bei den Fuses muss man aufpassen.

Danke fuer die Info - wie man an deiner freundlichen Antwort erkennen 
kann,ist es durchaus moeglich auch ohne zusaetzliches "Ziegengemeckere" 
vernuenftig Fakten zu vermitteln.Daran sollten sich hier mal einige User 
ein Beispiel nehmen.....
Gast #4071340
Lesenswert?

Toxic schrieb:
> Uwe K. schrieb:
>> So ist es halt. Bei den Fuses muss man aufpassen.
>
> Danke fuer die Info - wie man an deiner freundlichen Antwort erkennen
> kann,ist es durchaus moeglich auch ohne zusaetzliches "Ziegengemeckere"
> vernuenftig Fakten zu vermitteln.Daran sollten sich hier mal einige User
> ein Beispiel nehmen.....

Ungern, sehr ungern, aber hier muss es sein!
Uwe K. hat vermutlich das Datenblatt gelesen. Sicherlich auch mehrere 
davon.
Und verstanden.

Offensichtlich sperren sich einige (Einsteiger) diese Datenblätter zu 
lesen. Wenn man ihnen dann diese vorließt, werden viele davon in ihrer 
Haltung bestätigt.

Das heißt für mich:
Egal wie freundlich ich Leuten die Windeln wechsle, lernen aus eigener 
Kraft auf Toilette zu gehen, tun sie so vermutlich nicht.

Klarer:
Ich habe nichts gegen Freundlichkeit!
Aber Blockaden möchte ich nicht fördern.
#4071374
Lesenswert?

Wolfgang schrieb:
> Chinesisch

In dem Fall empfehle ich den Übersetzer von Google. Das funktioniert 
hinreichend gut (wenn man etwas Spaß an "das lustige Silbenrätsel" hat). 
Ich habe damit schon einige Dokumente entziffern können, die es nur auf 
chinesisch gab.

Zwei Beispiele:
"Erhöhe das Öllineal" = Ölpeilstab am Motor herausziehen.
"In der Mode der Schnörkelfesselung" = Cursor Mode des Terminals.

Bisher nicht enträtselt: "Die Platine ist in Einzelkreis pro Kanal 
Technik ausgeführt" (aus dem Handbuch eines PC-Motherboards).
Gast #4071385
Lesenswert?

Georg G. schrieb:
> Ulrich F. schrieb:
>> Offensichtlich sperren sich einige (Einsteiger) diese Datenblätter zu
>> lesen.
>
> Sehe ich anders. Die Datenblätter sind englisch. Da tun sich viele
> schwer mit, auch, wenn sie es auf der Schule mal 2 Jahre lang gelernt
> haben. Es ist dann einfacher, mal zu fragen.

Natürlich ist es einfacher zu fragen!
Das ist ja gerade der Punkt.

Und was ist mit dem nächsten Datenblatt? Und dem nächsten .....

Ich habe ja nichts dagegen, jemandem freundlich auf die Sprünge zu 
helfen, wenn er/sie/es Teilbereiche des Blattes (oder eines beliebigen 
anderen Problems) nicht versteht. Aber die Mühe das selber zu erledigen, 
muss schon erkennbar sein.

Es gibt ja auch diesen schönen Spruch:
> Es gibt keine dummen Fragen,
> nur dumme Antworten.
Ich halte das für eine Durchhalteparole der Dokuleseverweigerer.
#4071530
Lesenswert?

Das " Datenblatt" eines atiny 13 umfasst knapp 170 Seiten.

Bei Konzentration auf bestimmte Details und noch unvollkommenen 
Englischkenntnissen kann man durchaus einige Details überlesen haben.

Also blast Euch doch nicht immer wegen des Datenblatts auf.

Gerade WEGEN der 170 Seiten in Fremdsprache braucht ein Anfänger in 
"Englisch" oder "Kontroller" öfters Hilfestellung.
#4071591
Lesenswert?

Georg G. schrieb:
> Bisher nicht enträtselt: "Die Platine ist in Einzelkreis pro Kanal
> Technik ausgeführt" (aus dem Handbuch eines PC-Motherboards).

Ich habe vor nicht allzulanger Zeit gelesen, dass die Übersetzung 
chinesisch-deutsch nicht besonders gut funktioniert, weil die 
Unterschiede zu groß sind und deutsch eine relativ exakte Sprache ist, 
wo man sehr viel Kontext braucht (was bei chinesisch angeblich anders 
ist). Man soll stattdessen chinesisch-japanisch-deutsch (oder -englisch) 
übersetzen, weil der Zwischenschritt angeblich besser funktioniert.

Oft ist das kaputte Englisch der Übersetzer besser zu verstehen als der 
deutsche Versuch. Mein Tip für die Übersetzung wäre: Das Mainboard nutzt 
Dual-Channel-Technik.

Peter R. schrieb:
> Bei Konzentration auf bestimmte Details und noch unvollkommenen
> Englischkenntnissen kann man durchaus einige Details überlesen haben.

Richtig, und genau darum gibt es hier auch Antworten auf die Frage. Mal 
abgesehen davon ist "ich habe mich verfused" ungefähr die häufigste 
"AVR-meine-Hardware-ist-kaputt"-Frage, da sollte eigentlich ein Hinweis 
auf einen der hunderte Threads mit der Antwort ausreichen.
#4071652
Lesenswert?

Ein Beispiel (Beschreibung eines IO-Ports):

Dieser Modus entspricht dem Standard der MCS51. Dieses Modell kann 
direkt als Eingang oder Ausgang verwendet werden. Wenn der Port eine 
logische hoch, die Plattenkapazität schwach, während eine Low-Level- 
externen Gerät. Eine starke Antriebsfähigkeit , wenn der Stift nach 
unten gezogen wird , einen großen Strom zu absorbieren. Im quasi- 
bidirektionalen I / O-Struktur , gibt es drei auf drei Pole zu ziehen, 
um an verschiedene Anwendungen , wenn der Port in einem logischen 1 
verriegelt anzupassen, offen " sehr schwach " Pull-up , wenn der Stift 
offen " sehr schwach " Pull-up es kleiner Strom wird Pin hoch.

Ich finde, mit etwas Fantasie kann man es lesen. Besser als die 
chinesischen Zeichen ist es allemal.

Der Hinweis mit "englisch" ist gut. Allerdings wird aus dem Englisch 
durch Google kein wesentlich besseres Deutsch als bei direkter 
Übersetzung. Aber beide kombiniert machen das Leben leichter.

default port 8051 with the same standard, are "quasi-two-way" mode. This 
mode can be used as an input or output. When the port outputs a logic 
high, the drive capacity is weak, while allowing low-level external 
device. A strong drive capability when the pin is pulled low, will 
absorb a large current. In the quasi-bidirectional I / O structure, 
there are three on three poles to pull, to meet different application, 
when the port is locked in a logic 1, open "on very weak" pull the pin 
when vacant, "the very weak" pull there small current will pin high.
Gast #4071678
Lesenswert?

Ulrich F. schrieb:
> Ich habe ja nichts dagegen, jemandem freundlich auf die Sprünge zu
> helfen, wenn er/sie/es Teilbereiche des Blattes (oder eines beliebigen
> anderen Problems) nicht versteht. Aber die Mühe das selber zu erledigen,
> muss schon erkennbar sein.

Ich hatte mir schon etwas "Muehe" gegeben und meine Frage selbst mit der 
Info eines anderen Users auf einem englischen Forum beantwortet.Dies 
wurde natuerlich sofort heftig kritisiert, weil ich mir unnoetig die 
Arbeit gemacht hatte - statt einfach einen Link anzugeben - einen 
Screenshot anzufertigen um dann darin den relevanten Teil zu markieren.
Die gegebene Antwort wollte ich eigentlich nur nochmal von den hier 
anwesenden Atmelprofis bestaetigt bekommen.Das Datenblatt zu 
konsultieren habe ich erst gar nicht in Betracht gezogen,weil mich das 
Atmelprodukt als solches nicht interessiert-nicht weil es schlecht ist 
sondern weil ich mit Pics arbeite.Alles was ich als Antwort wollte war 
die Aussage Ja oder Nein.
===================
Was meine Englischkenntnisse angeht (bezueglich Datenblatt lesen)kann 
ich die meisten Noergler hier beruhigen:
Ich lebe im englischsprachigem Raum und es faellt mir zunehmend schwerer 
mich noch halbwegs vernuenftig auf deutsch zu artikulieren.
===================
Generell zu meiner hier erwaehnten Faulheit:
Wer meine bisherigen postings gesehen hat wird feststellen,dass ich mir 
in der Regel SEHR viel Muehe gebe z.B. Userfragen vernuenftig zu 
beantworten und Loesungen/Ideen mit bearbeiteten Screenshots zu 
dokumentieren - wer mich also mehr oder weniger als faulen Hund 
bezeichnet,sollte sich selbst mal an der Nase fassen.
OP #4072243
Lesenswert?

ich habe jetzt den Quarz an den µC angeschlossen so wie im Datenblatt 
beschrieben.
Allerdings verwende ich 33 pF Kermaikkondensatoren da ich keine 22pF 
Kondensatoren habe. Im Atmel Studio habe ich bei SUT_CKSEL die Option 
EXTHIFXTALRES_16KCK_64MS ausgewählt um danach den Atmega8 damit zu 
programmieren.
Jetzt läuft er aber leiden nicht mehr. Kann das daran liegen, dasa ich 
zu große Keramikkondensatoren benutze? Alles ist auf einem Breadboard 
aufgebaut. Ich weiß nicht wie sich das bei einem 16 Mhz Quarz verhält...
Der Quarz heißt 16,0000-HC49U-S
Laut http://www.mikrocontroller.net/articles/Quarze_und_AVR#anschluss
berechnet sich die Kapazität der Kermaikkondensatoren wie folgt:

C = 2·CL – (CP+CI)
Laut http://www.ecsxtal.com/store/pdf/hc_49us.pdf

ist CL = 10 pF
und laut 
http://datasheet.octopart.com/ABL-16.384MHZ-B2-Abracon-datasheet-8434122.pdf

ist CL = 18 pF

hmmmmm
Wenn ich nach dem 2. gehe, dann müsste das doch mit den 33 pF 
Kondensatoren funktionieren...?
Oder ?
Was meint ihr dazu?
Ich habe noch nie in meinem Leben mit einem Quarz gearbeitet.


EDIT:
Ich habe eben gerade den Quarz einfach aus dem Breadboard genommen und 
der Atmega scheint wohl mit dem internen 8 Mhz Quarz zu laufen.
Sobald ich aber wieder den Qaurz mit den Atmega verbinde, stoppt das 
Programm, weil es keinen Takt mehr bekommt.
Was mache ich falsch?
Gast #4072388
Lesenswert?

Joshua Lesmona schrieb:
> Sobald ich aber wieder den Qaurz mit den Atmega verbinde, stoppt das
> Programm, weil es keinen Takt mehr bekommt.
> Was mache ich falsch?

Wenn der Controller mit internem Oszillator läuft hat der
externe Quarz keinen Einfluss auf die Takterzeugung. In der
Tat könnten die XTAL Pins dann ja durchaus anderweitig als
Ein- oder Ausgang verwendet werden.

Für weitere Diagnosen müsstest du uns deinen Aufbau zeigen,
insbesondere die Last-Cs (bzw deren Funktion) sind empfindlich
auf korrekte Verdrahtung, ebenso wie der Quarz selbst.
OP #4072424
Lesenswert?

>Wenn der Controller mit internem Oszillator läuft hat der
>externe Quarz keinen Einfluss auf die Takterzeugung.
Ja richtig! Darum
>habe ich bei SUT_CKSEL die Option
>EXTHIFXTALRES_16KCK_64MS ausgewählt
Dies Option stellt den Controller doch auf ein externes Signal das von 
einem Quarz kommt...?

Bild kommt heute noch vom Aufbau...
Die Verbindung von dem Quarz zu einem Keramikkondensator ist durch einen 
Leiter verbunden der circa 8cm lang ist. Ich weiß nicht ob das zu lang 
ist...
#4073861
Lesenswert?

Wolfgang schrieb:
> In einigen Produktbereichen kommen sie in ein paar Jahren eventuell
> sowieso mit Chinesisch (Mandarin) weiter ;-)

glaub ich nicht, schon 1989 erklärte uns der Reiseleiter in Hongkong das 
wir uns nicht wundern sollten wenn 2 Chinesen englisch sprechen. Die 
haben so viele Dialekte das Englisch einfach leichter ist.

Georg G. schrieb:
> englisch. Da tun sich viele
> schwer mit, auch, wenn sie es auf der Schule mal 2 Jahre lang gelernt
> haben.

echt nur 2 Jahre?

Ich kann mich an 2 Jahre auf der Grundschule und 4 Jahre auf der 
Oberschule erinnern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren