Forum: Mikrocontroller und Digitale Elektronik Na wunderbar - Fusebits: Ausgesperrt aber mit den richtigen Eingaben?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hallo Community,
ich weiß, das Thema nervt - mich selber gerade am Meisten aber:

AtMega644 mit externem 32.768khz Uhrenquarz und C1/2=20pF

Eben die Fusebits auf die selbe weise mit Atmel Studio 6.1 umgestellt 
wie sonst (erfolgreich):
SUT_CKSEL auf EXTOSC_0MHZ_4_0MHZ9_258CK_65MS

Und TADAAA

"Unable to enter programming mode.
Please verify device selection, interface settings, target power and 
conncetions to the target device."

Was zur Hölle? Bin ich Doof?

Wichtiger aber: Was tun? Der µC Ist auf einem geätzten Board das ich 
ungern neu machen würde... Hilfe.

von ich (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hast Du daran gedacht, den Programmiertakt anzupassen? Mehr als ein 
Viertel des Prozessortaktes ist nicht drin.

von Chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ISP-Frequenz zu hoch? Darf nur 1/4 F_OSC sein.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Eine mögliche Fehlerursache:
Als Device AtMega644A anstelle von 644 eingestellt. Die Fusebits dürften 
aber ja die selben sein oder etwa nicht?

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Chris schrieb:
> ISP-Frequenz zu hoch? Darf nur 1/4 F_OSC sein.

ich schrieb:
> hast Du daran gedacht, den Programmiertakt anzupassen?

Danke, das hatte ich zwar nicht, der Takt war aber auf ~6kHz - auch mit 
2,152 kHz streikt er aber..

von Chris (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit Oszi gemessen ob der Quarz schwingt?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> SUT_CKSEL auf EXTOSC_0MHZ_4_0MHZ9_258CK_65MS

In was für Fusebits übersetzt sich das? Für einen 32kHz Quarz passt 
eigentlich nur 0101 = "Low Frequency Crystal Oscillator".

0MHZ_4_0MHZ9 klingt nach 0,4-0,9MHz.

: Bearbeitet durch User
von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Chris schrieb:
> Mit Oszi gemessen ob der Quarz schwingt?

Wollte ich gerade. Sollte er ja ständig tun (auch wenn ISP keinen 
kontakt bekommt) oder?
Doofe Frage vielleicht aber: Messen von einem XTAL-Pin gegen GND oder 
zwischen den XTAL Pins?

A. K. schrieb:
> In was für Fusebits übersetzt sich das?

Tja wenn ich das so genau wüsste.
Externer Oszillator, mit Frequenz zwischen 0-4MHz, Startuptime 
258Clockcycles +65ms

Wenn ich nach DB versuche zu rekonstruieren weiß ich nicht sicher ob es 
als Full-Swing oder Low-Frequency Oszillator eingestellt wurde, da 
fängts schon an..

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> 0MHZ_4_0MHZ9 klingt nach 0,4-0,9MHz.

mist. du könntest recht haben.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> mist. du könntest recht haben.

Ausserdem 258CK = Keramikresonator.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> A. K. schrieb:
>> 0MHZ_4_0MHZ9 klingt nach 0,4-0,9MHz.
>
> mist. du könntest recht haben.

In dem Fall wüsste ich allerdings nicht welche SUT_CKSEL stattdessen 
richtig wäre, ich war ja schon am unteren Limit bei der Auswahl..

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Hallo Community,
> ich weiß, das Thema nervt - mich selber gerade am Meisten aber:
>
> AtMega644 mit externem 32.768khz Uhrenquarz und C1/2=20pF
Hast du Quarz etwa an XTAL1 und XTAL2 gehängt?
Da gehört der nicht hin. Der Uhrenquarz kommt an TOSC1 und TOSC2 und ist 
für den Asynchronmode des Timer2. Und dafür müssen keine Fuses verstellt 
werden.

Mit einem Takt von 1MHz an XTAL1(Uhrenquaz ablöten) oder entsprechendem 
Quarz in dieser Größenordnung, solltest du den wieder zum Laufen 
bringen.

mfg.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Doofe Frage vielleicht aber: Messen von einem XTAL-Pin gegen GND oder
> zwischen den XTAL Pins?

XTAL2 (Ausgang) zu GND. Aber bitte mit 10:1 Kopf.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
habe den ECX-39 verwendet, ist keramik.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Thomas Eckmann schrieb:
> Hast du Quarz etwa an XTAL1 und XTAL2 gehängt?

Darf er. Wenn der Proz mit 32kHz laufen soll. Fragt sich halt, was er 
erreichen woll - 32kHz async für die Uhr, oder 32kHz Haupttakt.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> habe den ECX-39 verwendet, ist keramik.

Nur das Gehäuse. ;-)

Der Inhalt ist ein Quarz: "The miniature ECX-39 is a very compact SMD 
Tuning Fork Crystal. The 4.9 x 1.8 x 1.0 mm ceramic package is ideal 
for today's SMD manufacturing environment."

: Bearbeitet durch User
von Sean G. (atmega318)


Bewertung
-1 lesenswert
nicht lesenswert
Extosc ist doch ein oszillator und kein quarz... versuche es mal mit 
externem Takt

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Sean Goff schrieb:
> Extosc ist doch ein oszillator und kein quarz... versuche es mal mit
> externem Takt

Glaub ich nicht, sonst wär der Schmus mit 258CK,64MS Unsinn.
Eher: EXTOSC = interner Oszillator mit externem Quarz.
Was du meinst heisst vmtl. EXTCLK oder so ähnlich.

: Bearbeitet durch User
von spess53 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi

>Extosc ist doch ein oszillator und kein quarz

Nein. Externer Takt heißt EXTCLK_xyz.

MfG Spess

von Alex V. (bastel_alex) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
XTAL2 zu GND mit 10:1 Tastkopf.

Zum Quarz:
Ich will ein Bluetooth Modul zum laufen bekommen (AMB2300) - habe aber 
bisher null erfahrung mit UART (Schnittstelle zum BT-Modul).

Nun habe ich einfach erstmal per MAX232 über UART zum PC kommunizieren 
wollen um einen ersten Schritt der Lernerfahrung durchzuziehen. Den 
Quarzwert habe ich mir aus einer Diplomarbeit die ich gefunden habe 
(inkl. Schaltbild), die den AMB2300 verwendet, abgeschrieben. Von dem 
Typen, von dem ich die Diplomarbeit habe (der sie auch geschrieben hat) 
- allerdings ein INFORMATIKER - hatte ich nur noch in Erinnerung, dass 
er meinte für die korrekte Baudrate war das mit dem Quarz ein "Pain in 
the ass" - weshalb ich lieber einfach mal übernommen habe, was 
funktioniert...



Wenn mein µC mit 32kHz läuft wäre das noch schnell genug, er muss nur 
SPI-Daten durchreichen.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> weshalb ich lieber einfach mal übernommen habe, was funktioniert...

Dummerweise hatte der zwar Erfahrung mit MSP430, aber die nützt dir bei
Atmel exakt Nullkommagarnix.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Man verzeihe mir bitte an dieser Stelle mein Unwissen... ist der 32kHz 
Quarz für UART sinnfrei oder sinnvoll?
Ich hätte auch noch einen 20MHz SMD quarz den ich auf die pads löten 
könnte, wenn man damit die Baudrate stabil einstellen kann. Das BTModul 
ist 9600bps hardwired, die würde ich also gerne erreichen...?

A. K. schrieb im Beitrag #3486604:
> Such dir ein altes verschrottungswürdiges Radio und schau, ob da ein
> 455kHz ZF-Resonator drin ist. Die sind mit 0,4-0,9kHz Keramik nämlich
> gemeint.

Habe leider keins hier. Einen quarz in dem Bereich auch nicht, nur noch
4, 6, 16 und 20 MHz. Da werde ich aber schon was auftreiben können, wenn 
es anders nicht geht. unklar für mich ist an der stelle nur, was für 
eine Einstellung aus dem DropDown des AVRStudio 6.1 dann richtig 
(gewesen) wäre..?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Man verzeihe mir bitte an dieser Stelle mein Unwissen... ist der 32kHz
> Quarz für UART sinnfrei oder sinnvoll?

Völlig sinnfrei.

Was du jetzt erst einmal benötigst ist
http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
um den Atmel nicht wegwerfen zu müssen. Stell die Fuses damit erst 
einmal zurück auf Default (also interner R/C-Takt).

Und dann überleg nochmal ganz vor vorne oder beschreib vollständig, was 
das wirklich werden soll.

: Bearbeitet durch User
von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Man verzeihe mir bitte an dieser Stelle mein Unwissen... ist der 32kHz
> Quarz für UART sinnfrei oder sinnvoll?
Völlig daneben. Erstens bekommst du damit keine Standardbaudrate hin, 
zweitens schläft dein Controller förmlich ein.

> Ich hätte auch noch einen 20MHz SMD quarz den ich auf die pads löten
> könnte, wenn man damit die Baudrate stabil einstellen kann. Das BTModul
> ist 9600bps hardwired, die würde ich also gerne erreichen...?
Schon besser. Optimal ist allerdings ein Baudratenquarz.

> A. K. schrieb im Beitrag #3486604:
>> Such dir ein altes verschrottungswürdiges Radio und schau, ob da ein
>> 455kHz ZF-Resonator drin ist. Die sind mit 0,4-0,9kHz Keramik nämlich
>> gemeint.

> Habe leider keins hier. Einen quarz in dem Bereich auch nicht, nur noch
> 4, 6, 16 und 20 MHz. Da werde ich aber schon was auftreiben können, wenn
> es anders nicht geht. unklar für mich ist an der stelle nur, was für
> eine Einstellung aus dem DropDown des AVRStudio 6.1 dann richtig
> (gewesen) wäre..?
Nimm einen zweiten Controller, toggle einen Pin und häng den XTAL1. 
Normalerweise geht das.

mfg.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Völlig sinnfrei.
>
> Was du jetzt erst einmal benötigst ist
> 
http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
> um den Atmel nicht wegwerfen zu müssen. Stell die Fuses damit erst
> einmal zurück auf Default (also interner R/C-Takt).
>
> Und dann überleg nochmal ganz vor vorne oder beschreib vollständig, was
> das wirklich werden soll.

Dankesehr, mache ich direkt. Und die vollständige Beschreibung folgt 
dann auf dem Fuße.

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> (inkl. Schaltbild), die den AMB2300 verwendet, abgeschrieben.

Schmeiß den Schaltplan weg, ein MSP430 ist kein AVR!

Für Baudraten muß an den AVR ein Quarz mit z.B. 11,0592MHz und dann in 
Full-Swing Mode mit längster Resetzeit fusen.

Um den AVR wieder zu beleben, reicht irgendein Takt an XTAL1.
Z.B. mit einem 2. AVR erzeugen oder einem 555.

Den 32kHz Quarz mußt Du eh auslöten, der AVR hat keine PLL, d.h. mit nur 
32kIPS kannst Du keinen Blumentopf gewinnen.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> - allerdings ein INFORMATIKER -

Wo du es schon ansprichst: Und was bist du?

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Schmeiß den Schaltplan weg, ein MSP430 ist kein AVR!

Den Schaltplan habe ich nur für die Beschaltung des AMB2300 genutzt - 
und leider auch für den Quarzwert. Der Rest ist nie aus der Tonne 
herausgekommen, da habe ich meinen eigenen.

Peter Dannegger schrieb:
> Für Baudraten muß an den AVR ein Quarz mit z.B. 11,0592MHz und dann in
> Full-Swing Mode mit längster Resetzeit fusen.

Danke, das ist ja mal eine klare Ansage. Daran werde ich mich halten.
Die glatten 20MHz sind also nicht zu gebrauchen (da habe ich halt noch 
einen von da)?

Peter Dannegger schrieb:
> Um den AVR wieder zu beleben, reicht irgendein Takt an XTAL1.

Gerade das Rechtecksignal des Oszis genommen, das hat 1kHz - den Mag er 
aber nicht, damit geht es noch nicht. irgendein Takt? Oder in diesem 
Fuse-Fall einer über 0.4 Mhz?

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Wo du es schon ansprichst: Und was bist du?

Auf dem WEG zum Elektroingenieur.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Die glatten 20MHz sind also nicht zu gebrauchen

Doch, 9600bd geht damit auch.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Gerade das Rechtecksignal des Oszis genommen, das hat 1kHz - den Mag er
> aber nicht, damit geht es noch nicht. irgendein Takt?

Es geht jeder Takt, die Fuse-Einstellung ist für einen extern algelegten 
Takt unwichtig. Aber bei 1kHz muss der Programmer runter auf maximal 
250Hz Programmiertakt - so er das überhaupt kann.

von ich (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wann ist man eigendlich dazu übergegangen Schaltpläne als Suchspiele zu 
gestalten? Oder muß man inzwischen jede eingezeichete Verbindung extra 
bezahlen?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Auf dem WEG zum Elektroingenieur.

Und das ist ein Anlass, ihn als Informatiker für unqualifiziert zu 
halten? (Vorsicht was du jetzt schreibst... ;-).

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> 250Hz Programmiertakt - so er das überhaupt kann.

kann er nicht

A. K. schrieb:
> Und das ist ein Anlass, ihn als Informatiker für unqualifiziert zu
> halten? (Vorsicht was du jetzt schreibst... ;-).

Nein tatsächlich war das so nicht gemeint, er hat zu mir nur selber 
gesagt dass er den schaltplan wen anders hat machen lassen und dann sehr 
lange gecoded ;-)

ich schrieb:
> Wann ist man eigendlich dazu übergegangen Schaltpläne als Suchspiele zu
> gestalten? Oder muß man inzwischen jede eingezeichete Verbindung extra
> bezahlen?

Falls du damit meinst dass ich meinen hier noch nicht hochgeladen habe: 
Nur deshalb, weil es bislang auf mich nicht so wirkte als hätte das bei 
der Problemlösung geholfen.

Da ich aber gleich noch

Alex v. L. schrieb:
> Und die vollständige Beschreibung folgt
> dann auf dem Fuße.

erfülle wirst du nicht mehr lange warten müssen. Erstmal versuche ich 
grad den µC wiederzubeleben

von Martin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Auf dem WEG zum Elektroingenieur.

Dann lerne ganz schnell Datenblätter zu lesen... Ob Dein 20MHz-Quarz 
taugt, steht da nämlich drin.

von ich (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Falls du damit meinst dass ich meinen hier noch nicht hochgeladen habe:

Nein, ich meine den, den Du hochgeladen hast 
Beitrag "Re: Na wunderbar - Fusebits: Ausgesperrt aber mit den richtigen Eingaben?"

Warum muß man bei nur einer Handvoll LEDs bei jeder suchen, an welchen 
Pin die gehen? Nimm es nicht persöhnlich, das schein hier ein 
allgemeiner Trend zu sein. Je mehr Labels und je weniger Linien die man 
verfolgen könnte da sind, deßto eher wird der hier gezeigt.
Warscheinlich bin ich aber inzwischen nur zu alt um da mitzukommen.

von Alex V. (bastel_alex) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, der µC lebt wieder. PUH. Vielen herzlichen Dank an alle für die 
Hilfe!

Nun zu Teil zwei ;-)

*********************************************
Ziel: "Mess-Board mit Bluetooth"
Umsetzung: 4 Kanäle - Ein 4CH 16Bit LTC2486C ADC, eine Symmetrische 
Spannungsversorgung, ein Bluetooth Modul (AMB2300), gesteuert über 
AtMEGA644
*********************************************

Am Ende: Der Controller holt sich per SPI die ADC werte eines gewählten 
kanals und sendet diese über UART an das Bluetoothmodul, das im 
RS232-Emulatormodus die Daten wireless an den PC überträgt.

Womit ich keine Erfahrung habe: SPI, UART und Bluetooth ;-)

Mein aktueller Schritt: UART umsetzen - über MAX232 direkt an den PC 
(nicht auf dem Schaltbild, anstelle des MAX3378 Pegelwandlers einfach 
den 232er vorstellen und dahinter nicht das BT Modul sondern den PC)

Der nächste Schritt soll dann sein: SPI erkunden, verifizieren / 
"Debuggen" über die funktionierende Datenverbindung zum PC.

Zum Schluss dann Bluetooth.



Meine Frage zu UART wäre nun: 20MHz chrystal ist für eine 9600kbd-rate 
in ordnung? Ich hätte noch den NX5032GA SMD Quarz da den ich sogar auf 
die nun freien pads noch drauffummeln könnte.
Geht der? Falls ja - welche CKSEL Einstellung würdet ihr da empfehlen?
Auch hier Full-Swing Mode mit längster reset-zeit?

Ich versuche gerade irgendwie die Hardware soweit zu bekommen, dass der 
"Rest nur noch" die µC Programmierung ist (ich also sicher sein kann 
dass es am code liegt, wenn was nicht geht).

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
ich schrieb:
> Warum muß man bei nur einer Handvoll LEDs bei jeder suchen, an welchen
> Pin die gehen? Nimm es nicht persöhnlich, das schein hier ein
> allgemeiner Trend zu sein. Je mehr Labels und je weniger Linien die man
> verfolgen könnte da sind, deßto eher wird der hier gezeigt.
> Warscheinlich bin ich aber inzwischen nur zu alt um da mitzukommen.

Nö, sehe ich genauso (und ich bin 26) - vielleicht findest du an meinem 
Plan ja mehr gefallen ;-)

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> eine 9600kbd-rate

sorry natürlich nicht kbd. 9500bps.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Meine Frage zu UART wäre nun: 20MHz chrystal ist für eine 9600kbd-rate
> in ordnung?

Guckst du ins Datasheet, auf Seite 164 (Version 02/12) fängt der UART 
Kram an. 17.3 beschreibt die Takterzeugung und 17.8.3 die zulässigen 
Toleranzen.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Und noch eine Anmerkung zum Schaltplan: Dass die drei 1000µF 
Kondensatoren am Supply-Ausgang fehl am Platz sind weiß ich inzwischen, 
das bitte ebenfalls ignorieren.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Für Analogmessungen kann es sinnvoll sein, AVCC per L/C zu versorgen. 
AREF gehört nicht an VCC, sondern offen (ADC unbenutzt) oder per Kerko 
gefiltert (ADC benutzt).

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Für Analogmessungen kann es sinnvoll sein, AVCC per L/C zu versorgen.
> AREF gehört nicht an VCC, sondern offen (ADC unbenutzt) oder per Kerko
> gefiltert (ADC benutzt).

Danke, ist unbenutzt, also ab sofort offen.
Auf einem anderen Board nutze ich den ADC allerdings, kerko als normaler 
kleinsignalfilter? Was für eine kapazität hat sich da bewährt?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> kleinsignalfilter? Was für eine kapazität hat sich da bewährt?

10nF beispielsweise.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Ich bin am Kapitel zum UART und auch parallel im
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
Beitrag.

Damit ich das richtig verstehe: Prinzipiell geht es darum, dass im 
UBRR-Register eine möglichst ungerundete Zahl steht, damit die 
angestrebte Baudrate auch tatsächlich erreicht wird?

Bei 20MHz Quarz und 9600bps wäre das ja im UBRR eine 130 (anstelle von 
129,7) - und das wäre bei der niedrigen Rate noch akzeptabel, bei z.B. 
115200 bps aber nicht mehr (UBRR = 10 anstelle von 10.35)?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Bei 20MHz Quarz und 9600bps wäre das ja im UBRR eine 130 (anstelle von
> 129,7) - und das wäre bei der niedrigen Rate noch akzeptabel

Die Prozent Abweichung sind relevant. Siehe 17.8.3.

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Ich bin am Kapitel zum UART und auch parallel im
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
> Beitrag.

Da findest du auch eine Berechnung, die du direkt als Makro in deinen 
Quelltext einbauen kannst. Irgendwas mit schlau runden oder so. Die 
zeigt dir auch, ob die Abweichnung noch akzeptabel ist.

mfg.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Thomas Eckmann schrieb:
> Da findest du auch eine Berechnung, die du direkt als Makro in deinen
> Quelltext einbauen kannst. Irgendwas mit schlau runden oder so. Die
> zeigt dir auch, ob die Abweichnung noch akzeptabel ist.

Eben gefunden. Danke! :)

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Nun das ist jetzt etwas unbefriedigend - zurück zum ersten Problem:

Mit zweiten µC den ersten wieder ins Leben geholt, dann auf internen 
Oszi zurückgefused.
Dann lief wieder das Programm (0,5Hz LED-Blinken) - µC lebt also.

Das Programm läuft immernoch (externer takt ist nicht mehr drann), nun 
habe ich den 20MHz Quarz + Cs angelötet und:

Obwohl der µC läuft (LED Programm blinkt) gibts die gleiche Error 
Message wie ganz am Anfang - Ich bekomme keinen Kontakt hin - es verhält 
sich wie verfused - nur dass der µC ja augenscheinlich arbeitet.

Was ist das nun bitte?!

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Scheint ich habe meinen Fragen-Pool aufgebraucht.. ;)
Ist das neue Problem so außergewöhnlich oder (ich) nur so 
außergewöhnlich dumm?

ich nutze einen AVR ISP mkII
ISP takt ist 4,209kHz (sollte also niedrig genug sein)
Beim Anschluss grün, nach Verbindungsversuch schnell rot blinkend (hört 
auch nicht mehr auf wenn man es absteckt, bis man USB neu verbindet).

µC Programm läuft (LED blinkt) - sehe ich Gespenster?

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Auch mit der Methode von Eben (Externer 3MHz Takt von anderem µC an 
XTAL1) will die Verbindung nicht.

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Auch mit der Methode von Eben (Externer 3MHz Takt von anderem µC an
> XTAL1) will die Verbindung nicht.
Hardwarefehler?
Evtl. falsche Cs? Ist ja schnell zu bei SMD.

mfg.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Thomas Eckmann schrieb:
> Hardwarefehler?
> Evtl. falsche Cs? Ist ja schnell zu bei SMD.

Hallo Thomas Danke für deine Antwort. Die Cs sind sicher richtig (12pF) 
bei CL=8pF. Aber das Problematische scheint ja eher, dass der µC 
offsensichtlich auf internem Takt läuft (hat er auch bevor ich den 20MHz 
quarz rangelötet habe) aber nicht reagiert auf kommunikation. :(

XTAL1 gegen GND ist mit quarz ohne externe anregung übrigens auch 
absolut still.

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Thomas Eckmann schrieb:
>> Hardwarefehler?
>> Evtl. falsche Cs? Ist ja schnell zu bei SMD.
>
> Hallo Thomas Danke für deine Antwort. Die Cs sind sicher richtig (12pF)
> bei CL=8pF. Aber das Problematische scheint ja eher, dass der µC
> offsensichtlich auf internem Takt läuft (hat er auch bevor ich den 20MHz
> quarz rangelötet habe) aber nicht reagiert auf kommunikation. :(

Ja. Das habe ich oben wohl überlesen. Stell erstmal deinen Programmer 
auf die üblichen 125Khz.

Spannungsversorgung ist überall OK? Wie hoch ist die Spannung? 20MHz 
läuft erst bei 4,5V. Offiziell lt. Datenblatt. Habe zwar noch keinen 
gesehen, der nicht auch mit 3V lief. Und die LED blinkt ja auch. Aber 
das schliesst natürlich nicht aus, daß ISP trotzdem nicht geht.

Hattest du nicht noch einen 4MHz Quarz?

> XTAL1 gegen GND ist mit quarz ohne externe anregung übrigens auch
> absolut still.

Das versteh ich jetzt nicht.

mfg.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Thomas Eckmann schrieb:
> Stell erstmal deinen Programmer
> auf die üblichen 125Khz.

done, leider nichts besser.

Thomas Eckmann schrieb:
> Spannungsversorgung ist überall OK? Wie hoch ist die Spannung?

Stabile 5V liest der Programmer (und die sollten auch da sein)

Thomas Eckmann schrieb:
> Hattest du nicht noch einen 4MHz Quarz?
>
>> XTAL1 gegen GND ist mit quarz ohne externe anregung übrigens auch
>> absolut still.
>
> Das versteh ich jetzt nicht.

Doch habe ich auch noch. Nur: Ich habe den µC ja während der externen 
taktquelle zurück auf default/internen oszi gefused. Sollte ja 
eigentlich daher egal sein, was am XTAL ausgang hängt - deshalb wundert 
mich eigentlich auch nicht dass mit dem Oszi da nichts zu messen ist. 
Nur eben warum der ISP keine connection bekommt.

Kurz zu dem mkII: rot blinkend bedeutet ja Short-Circuit on Target - das 
habe ich grade nochmal im manual nachgelesen. Merkwürdig nur, dass das 
kommt nachdem ich versuche auf den µC zuzugreifen (vorher grün: Idle 
with target power) und endet, wenn ich den mkII über USB neu verbinde

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Merkwürdig nur, dass das
> kommt nachdem ich versuche auf den µC zuzugreifen

Da könnte ja ein Programm laufen, was die Pins als Ausgang benutzt und 
da hat der MKII keine Lust gegen zu kämpfen.
Er hält also alle seinen Pins erstmal schön in tristate.

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Alex v. L. schrieb:
>> Merkwürdig nur, dass das
>> kommt nachdem ich versuche auf den µC zuzugreifen
>
> Da könnte ja ein Programm laufen, was die Pins als Ausgang benutzt und
> da hat der MKII keine Lust gegen zu kämpfen.
> Er hält also alle seinen Pins erstmal schön in tristate.

Wenn der Programmer Reset zieht, war's das fürs Programm und alles ist 
hochohmig. Es sei denn, der Angstwiderstand am Reset-Pin ist, entgegen 
der Angabe im Schaltplan, <10K.
Was macht denn IC2 währenddessen?

mfg.

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Thomas Eckmann schrieb:
> Was macht denn IC2 währenddessen?

Wie meinst du das? Der ADC macht derzeit noch nichts, ich habe das SPI 
interface noch nicht angefasst. Oder verstehe ich dich falsch?

Ich habe jetzt die Schaltung (hardware) debugged und noch einen kleinen 
fehler an einer Lötstelle gefunden, der aber nicht die Ursache war, nur 
verursacht hat, dass ich per reset-taster keinen reset bekommen habe.
Unabhängig davon bekomme ich jetzt keine rotblinkende LED mehr.
Hardware-Reset über Taster geht also jetzt - macht aber keinen 
Unterschied.

Die Verbindung mag trotzdem nicht. der mkII ist mit allen Leitungen 
sicher richtig dran (die habe ich auch nochmal nachgepiept).
der 20MHZ quarz ist inzwischen wieder runter.
Programm läuft (natürlich) trotzdem weiter, externe taktung macht keinen 
unterschied.

Was ich jetzt gerne irgendwie täte ist zu überprüfen, ob der µC futsch 
ist (vll das SPI Interface?) - bevor ich das Board neu aufsetze... :(

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Thomas Eckmann schrieb:
>> Was macht denn IC2 währenddessen?
>
> Wie meinst du das? Der ADC macht derzeit noch nichts, ich habe das SPI
> interface noch nicht angefasst. Oder verstehe ich dich falsch?

Normalerweise sollte er sich hochohmig raushalten. Aber was ist bei 
Hardwarefehlern schon normal.

> Ich habe jetzt die Schaltung (hardware) debugged und noch einen kleinen
> fehler an einer Lötstelle gefunden, der aber nicht die Ursache war, nur
> verursacht hat, dass ich per reset-taster keinen reset bekommen habe.
> Unabhängig davon bekomme ich jetzt keine rotblinkende LED mehr.
> Hardware-Reset über Taster geht also jetzt - macht aber keinen
> Unterschied.

Na immerhin.

> Die Verbindung mag trotzdem nicht. der mkII ist mit allen Leitungen
> sicher richtig dran (die habe ich auch nochmal nachgepiept).
> der 20MHZ quarz ist inzwischen wieder runter.
> Programm läuft (natürlich) trotzdem weiter, externe taktung macht keinen
> unterschied.
>
> Was ich jetzt gerne irgendwie täte ist zu überprüfen, ob der µC futsch
> ist (vll das SPI Interface?) - bevor ich das Board neu aufsetze... :(

Das kann man natürlich nur durch Austauschen rausfinden. Controller sind 
zwar nicht unkaputtbar und ich habe es auch schon gehabt, daß er sich 
nicht mehr programmieren ließ, ansonsten aber lief. Passiert aber 
selten.

mfg.

: Bearbeitet durch User
von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Ich danke dir und euch für eure Hilfe!

von Alex V. (bastel_alex) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Generelle Frage nochmal:

der ADC hängt ja auch am SPI /MISO/MOSI. Wenn aber desse Slave-Select 
nicht low gezogen ist sollte der ja alles ignorieren was reinkommt oder?
(hat ja so auch schon geklappt)

Anders: sind jumper sinnvoll? Wenn ja an welcher stelle?
Würde gerne beim Neu aufsetzen so fehler vermeiden können.

von Thomas E. (Firma: Thomas Eckmann Informationst.) (thomase)


Bewertung
0 lesenswert
nicht lesenswert
Alex v. L. schrieb:
> Generelle Frage nochmal:
>
> der ADC hängt ja auch am SPI /MISO/MOSI. Wenn aber desse Slave-Select
> nicht low gezogen ist sollte der ja alles ignorieren was reinkommt oder?
> (hat ja so auch schon geklappt)

Eigentlich. Allerdings ist der Controller-Pin bei Reset offen und somit 
auch der CE/-Eingang des ADC. Da gehört also auf jeden Fall ein externer 
Pullup ran.

> Anders: sind jumper sinnvoll? Wenn ja an welcher stelle?
> Würde gerne beim Neu aufsetzen so fehler vermeiden können.

Kann man machen. Programmer direkt an den Controller und die externe 
Beschaltung über Jumper. Atmel empfiehlt Widerstände:
http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_application-note_avr042.pdf

In deinem Fall ist das aber eigentlich egal. Es fehlt allerdings der 
Pullup!

mfg.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.