Forum: Mikrocontroller und Digitale Elektronik C8051F020 flashen geht nicht


von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

Hallo Miteinander,
Ich muss für ein Lehrlingsprojekt einen C8051F020 Mikrokontroller in 
betrieb nehmen, ich habe gerade den Print fertig bestückt und wollte den 
Mikrokontroller Flashen. Leider kriege ich immer die Meldung zurück das 
der spezifizierte Programmier-Adapter nicht verbunden werden kann(ich 
habe in der IDE den richtigen Adapter spezifiziert). Der JTAG-Connector 
ist richtig verbunden und den Reset Pin habe ich mit einem Pull-Up auf 
VCC gezogen. Ich will den Mikrokontroller nicht wechseln bevor ich zu 
100% sicher bin das ich keinen Fehler gemacht habe und wirklich der uC 
kaputt ist da das ausbauen und wieder einlöten ziemlich aufwendig ist. 
Ich benutze den internen Quarz aber ich glaube das sollte eigentlich 
kein Problem sein da der zu schwingen anfangen sollte sobald der uC 
gespiesen wird.
wäre um jede Hilfe dankbar, ich bin langsam am verzweifeln😅
viele Grüsse
Samuel

von Lothar (Gast)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Samuel G. schrieb:
> Ich benutze den internen Quarz
Der hat technologisch bedingt keinen internen Quarz, sondern einen 
internen RC-Oszillator.

> Leider kriege ich immer die Meldung zurück das der spezifizierte
> Programmier-Adapter nicht verbunden werden kann (ich habe in der IDE den
> richtigen Adapter spezifiziert).
Und dieser spezielle Adapter funktioniert auch an einem alten, bereits 
erprobten Design?

> und wirklich der uC kaputt ist
Warum sollte der kaputt sein? Der ist doch noch ganz neu.
Wie hast du den verlötet? Wie sieht die Versorgung des Bauteins aus?

: Bearbeitet durch Moderator
von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort.
Lothar schrieb:
> Was für ein Programmier-Adapter?
Ich verwende den USB-Debug Adapter.
> Wie sieht denn Deine Schaltung aus? Hattest Du dafür ein Vorbild z.B.
Zum Testen einiger Teilschaltungen habe ich ein Silabs Programmierboard 
verwendet, siehe Anhang. die Beschaltung habe ich von dort kopiert.

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

Lothar M. schrieb:
> Und dieser spezielle Adapter funktioniert auch an einem alten, bereits
> erprobten Design?
ja der Adapter funktioniert mit dem Board von dem ich auch die 
Beschaltung des uC kopiert habe.
> Warum sollte der kaputt sein? Der ist doch noch ganz neu.
> Wie hast du den verlötet? Wie sieht die Versorgung des Bausteins aus?
Ich gehe auch nicht davon aus das er kaputt ist. Alle Pins verzinnt und 
dann mit dem Heissluftföhn und ganz viel Flussmittel die Lötstellen 
verschönert und am Schluss noch lötbrücken entfernt. die Speisung 
Funktioniert, also ich weiss nicht wie ich Testen kann ob der uC 
wirklich was anfängt mit der Speisung aber ich messe auf jeden Fall 
3.3VDC am uC.

von Michael F. (Firma: IAR Systems) (michael_iar)


Lesenswert?

Samuel G. schrieb:
> Leider kriege ich immer die Meldung zurück das
> der spezifizierte Programmier-Adapter nicht verbunden werden kann(ich
> habe in der IDE den richtigen Adapter spezifiziert).

Moin,

Welche IDE wird denn genutzt?

Ist das korrekte Debug-Interface (C2 vs. JTAG) ausgewählt?

Ist ein Eval-Board mit einem (ähnlichen) C8051 vorhanden, um das 
prinzipielle Setup zu testen?

Gruß,
Michael

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

Hallo,
Michael F. schrieb:
> Welche IDE wird denn genutzt?
Ich benutze Die Keil uVision IDE.
> Ist das korrekte Debug-Interface (C2 vs. JTAG) ausgewählt?
Ich weiss leider nicht was C2 ist, aber ich habe ein Eval-Board mit 
genau dem gleichen uC drauf, die Beschaltung zum Debuggen habe ich 1 zu 
1 von diesem Board kopiert, in einem vorherigen Post in diesem Feed habe 
ich das Datenblatt zum Board geteilt, dort ist auch ein Schema 
vorhanden.
> Ist ein Eval-Board mit einem (ähnlichen) C8051 vorhanden, um das
> prinzipielle Setup zu testen?
Ja ich konnte den grössten teil der Schaltung schon testen, das Problem 
ist nur noch der uC.

von Michael F. (Firma: IAR Systems) (michael_iar)


Lesenswert?

Samuel G. schrieb:
> Ich weiss leider nicht was C2 ist, aber ich habe ein Eval-Board mit
> genau dem gleichen uC drauf, die Beschaltung zum Debuggen habe ich 1 zu
> 1 von diesem Board kopiert, in einem vorherigen Post in diesem Feed habe
> ich das Datenblatt zum Board geteilt, dort ist auch ein Schema
> vorhanden.

Es gibt unterschiedliche Debug-Interfaces bei den C8051.

Der C8051F340, den ich hier liegen habe unterstützt nur C2 und der von 
Dir genutzte C8051F020 sollte laut Datenblatt nur JTAG können. In der 
IAR Embedded Workbench für 8051 gibt es eine entsprechende Option in den 
Debugger-Einstellungen und die Frage wäre, ob / wo man das bei Keil 
einstellen kann, da die falsche Einstellung zu "communication could not 
be established..." führt.

Siehst Du beim versuchten Verbindungsaufbau Aktivität auf den JTAG Pins, 
wenn Du Dir diese mit einem Scope direkt am C8051 anschaust?

Gruß,
Michael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Samuel G. schrieb:
> mit der Speisung aber ich messe auf jeden Fall 3.3VDC am uC.
An jedem der 5 (analogen und digitalen) Versorgungspins? Und jeder der 
Massepins ist auf GND? Und direkt zwischen solchen Versorgungspärchen 
sitzt jeweils ein Blockkondensator (die Pins sind ja vorbildlich 
paarweise angeorndet...)?

> die Beschaltung habe ich von dort kopiert.
Zeg doch mal dienen Schaltplan, das Layout und ein Foto vom Aufbau. Denn 
irgendwo dort muss der Fehler ja liegen.

Samuel G. schrieb:
> Alle Pins verzinnt und dann mit dem Heissluftföhn und ganz viel
> Flussmittel die Lötstellen verschönert und am Schluss noch lötbrücken
> entfernt.
Bleifrei? Wie lange hast du da drauf rumgebrutzelt?

Wenn man nicht schon vorher geübt hat, schafft man es mit der Heißluft 
anfangs leicht, so eine Leiterplatte zu delamineren. Dabei reißen dann 
die Durchkontaktierungen ab...

Hast du mehrere Platinen aufgebaut? Und zeigen die ale den selben 
Fehler?

von Cartman (Gast)


Lesenswert?

U.U. fehlt da nur die "USBHID.DLL" von Silabs.
Die gibt es irgendwo bei Silabs zum Download.
Da ist dann auch eine Beschreibung dabei, in welches Verzeichnis sie 
gehoert.

> Ich benutze Die Keil uVision IDE.
Bei der fehlt sie naemlich auch.

Scheinbar wissen die anderen das nicht. :)

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

Also ich hab nichts gefunden in der IDE aber ich verwende die gleichen 
Einstellungen wie wenn ich mit dem Eval-Board arbeite und dort 
funktionierts auch, der Fehler dürfte also nicht daran liegen aber ich 
geh dem noch genauer nach.
Michael F. schrieb:
> Siehst Du beim versuchten Verbindungsaufbau Aktivität auf den JTAG Pins,
> wenn Du Dir diese mit einem Scope direkt am C8051 anschaust?
Ja ich habs mal ausgemessen und ich messe schon Signale, ich hab noch 
nie Damit gearbeitet deswegen weiss ich nicht wirklich wie die aussehen 
sollten aber ich konnte was messen, Ich teste gerade noch einen anderen 
Print der auch zu diesem Projekt gehört deshalb steht der Aufbau nicht 
mehr, aber ich kann sonst später noch Bilder von den Signalen hochladen.
Gruss
Samuel

von Cartman (Gast)


Lesenswert?

Starte dir mal eine Kommandozeile (cmd.exe) und
wechsle mal in das Verzeichnis deiner Keil-Installation
und fuehr mal folgendes aus:

dir /s usbhid.dll

Dann weisst du ob diese Bibliothek vorhanden ist oder nicht.

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

Cartman schrieb:
> U.U. fehlt da nur die "USBHID.DLL" von Silabs.
Ja das schau ich mir mal an, aber beim Eval Board funktionierts ja auch 
und ich benutze da ja die gleiche IDE, müsste das dann nicht schon 
vorhanden sein?
Gruss
Samuel

von René K. (king)


Lesenswert?

Samuel G. schrieb:
> Zum Testen einiger Teilschaltungen habe ich ein Silabs Programmierboard
> verwendet, siehe Anhang. die Beschaltung habe ich von dort kopiert.

Dann hast Du vermutlich auch die Kondensatoren am Reset-Pin kopiert. 
Entferne die mal auf Deinem Board.

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Angehängte Dateien:

Lesenswert?

Cartman schrieb:
> Dann weisst du ob diese Bibliothek vorhanden ist oder nicht.
Ja die Datei ist vorhanden

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Lesenswert?

René K. schrieb:
> Dann hast Du vermutlich auch die Kondensatoren am Reset-Pin kopiert.
> Entferne die mal auf Deinem Board.
Nein den hab ich einfach mit einem Pull Up auf 3.3VDC gezogen, ich hab 
den sehr dummen Fehler gemacht und vergessen den JTAG im Layout 
einzubauen und musste deshalb mit Fädeldraht den Stecker anmachen. Ich 
hab aber alles ausgemessen und die Verbindung besteht überall.
Gruss Samuel

von Samuel G. (Firma: Brusa HyPower) (unsigned_long)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Samuel G. schrieb:
> An jedem der 5 (analogen und digitalen) Versorgungspins? Und jeder der
> Massepins ist auf GND? Und direkt zwischen solchen Versorgungspärchen
> sitzt jeweils ein Blockkondensator (die Pins sind ja vorbildlich
> paarweise angeorndet...)?
An der Analogen Speisung habe ich keine Stützkondensatoren angebracht.
>> die Beschaltung habe ich von dort kopiert.
> Zeg doch mal dienen Schaltplan, das Layout und ein Foto vom Aufbau. Denn
> irgendwo dort muss der Fehler ja liegen.
Ich musste den JTAG-Stecker mit Fädeldraht anmachen also sieht man auf 
dem Layout und dem Schaltplan nicht wirklich was, und der Aufbau ist 
gerade abgebaut da ich noch was anderes Testen musste aber ich hab den 
Aufbau von einem Entwickler kontrollieren lassen und der meinte das 
alles richtig verbunden sei. Ausgemessen habe ich den aufbau auch und 
alles ist verbunden und es gibt keine Kurzschlüsse.
> Bleifrei? Wie lange hast du da drauf rumgebrutzelt?
> Wenn man nicht schon vorher geübt hat, schafft man es mit der Heißluft
> anfangs leicht, so eine Leiterplatte zu delamineren. Dabei reißen dann
> die Durchkontaktierungen ab...
Ja ich wäre eigentlich im SW Fachbereich also ist Löten nicht umbedingt 
meine grösste stärke aber ich hab schon darauf geschaut, dass ich das 
Bauteil so kurz wie möglch erhitze.
> Hast du mehrere Platinen aufgebaut? Und zeigen die ale den selben
> Fehler?
Nein habe nur eine Platine aufgebaut.

von René K. (king)


Lesenswert?

Samuel G. schrieb:
> Nein den hab ich einfach mit einem Pull Up auf 3.3VDC gezogen,

Ich dachte, Du hast das von SiLabs kopiert. Da muss ich mich wohl 
verlesen haben, sorry. Wie sieht denn Deine Schaltung aus? Und welchen 
Wert hat z.B. Dein Pull Up?

von Michael F. (Firma: IAR Systems) (michael_iar)


Lesenswert?

Samuel G. schrieb:
> An der Analogen Speisung habe ich keine Stützkondensatoren angebracht.

Sieht das auf Deinem Schaltplan nur so aus oder sind die 100nF an den 
Versordungs-Pins vom Silabs Eval-Board zu 100uF in Deinem Design 
geworden?

Gruß,
Michael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Samuel G. schrieb:
> Ich musste den JTAG-Stecker mit Fädeldraht anmachen also sieht man auf
> dem Layout und dem Schaltplan nicht wirklich was
Also hilft eigentlich nur ein Foto vom realen Aufbau.

Samuel G. schrieb:
> den Reset Pin habe ich mit einem Pull-Up auf VCC gezogen.
Und: hast du da dann auch das zum Laufen nötige "High"? Denn der Reset 
ist ja nicht nur ein Eingang, sondern auch ein Ausgang...

: Bearbeitet durch Moderator
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.