Forum: Mikrocontroller und Digitale Elektronik USB-µC an PC will nicht


von Alexander Ernst (Gast)


Lesenswert?

Hallo,

habe einen Atmel AT89C51SND1C, den ich über den integrierten Bootloader
beschreiben will. Beim Anstecken an den PC meldet dieser "USB-Gerät
wurde nicht erkannt". In den USB-Datenleitungen habe ich 27Ohm
Widerstände, zusätzlich an D+ noch einen 1,5kOhm an VDD. RST über 10µF
und 1k an VDD. ISP über 2k2 auf VSS, jedoch fallen über dem Widerstand
0,7 Volt ab?!? Kann da was nicht stimmen?
Den Quarz habe ich heute gecheckt, der schwingt. Soll an ALE auch ein
Signal rauskommen (steht auf VDD)?
Wollte das ganze dann mit Atmel's FLIP flashen, doch das fordert mich
jedesmal auf die USB-Driver zu installieren. Habe ich jetzt schon zum
hundertsten Mal. (WinXP)

Noch was Grundlegendes: Der AT89C51SND1C hat zwei runde Markierungen
auf seinem Package. Eine kleine und eine etwas größere. Habe die
kleinere als Orientierung genommen - nicht dass der IC falsch herum
aufsitzt. Müsste aber richtig sein, da hier auch eine kleine Fase an
der Ecke ist?!?

Wo könnte das Problem noch liegen? Was hat es mit dem Spannungsabfall
an ISP zu tun?

Wäre Schade um die Hardware!

Danke, Gruß Alex

von Ralf Altmann (Gast)


Lesenswert?

Hi,

die kleine Phase ist Pin 1, guck bitte im Datenblatt, da steht es
genauer beschrieben. Ich möchte auch etwas mit diesem µC basteln,
leider hab ich bis jetzt noch keinen SMD-Adapter bekommen.

Daher kann ich dir jetzt so auf die Schnelle nur mal anraten, nach FLIP
1.8.8 zu suchen, die neue 2er Version tat bei mir im Demomode auch
nicht, hat auch nur gemeckert wegen den Treibern. Die 1.8.8 hat aber
auch im Demomode funktioniert.

Bist du überhaupt sicher, dass du den USB-Bootloader verwendest? Nicht
dass du einen Chip bekommen hast, der den Seriell-Bootloader
verwendet.

Gruß Ralf

von Alexander Ernst (Gast)


Lesenswert?

Hallo Ralf,

mach mich nicht schwach. Woran erkenne ich das? Auf dem IC steht drauf:
89C51SND1C-IL 0248 A01721. Habe mal bei meiner Bezugsquelle nachgefragt,
vielleicht wissen sie es? Im Datenblatt steht drin, dass der ISP-Pin auf
GND gezogen werden soll, um in den Bootloader zu springen. Bin davon
ausgegangen, dass dann alles problemlos funktioniert ;-(
Warte mal die Antwort ab...

Grüssle Alex

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

ich glaub, über die Beschriftung bekommt man es nicht raus. Probier es
erstmal mit einer funktionierenden Version vom FLIP. Wenn das nicht
klappt, check die Schaltung. Wenns das auch nicht ist, häng einen
MAX232 dran und probier mal, ob sich auf die Art ein Bootloader
meldet.

Du bist noch in der Anfangsphase des Projekts, oder?

Gruß Ralf

von Ralf Altmann (Gast)


Lesenswert?

Achja, versuch auch mal, den ISP-Pin direkt auf GND zu legen und nicht
über den Widerstand zu gehen. Vielleicht liegts daran.

Und warum ist in deiner Reset-Schaltung ein 1k Widerstand? Der µC hat
einen internen Pull-Down-Widerstand, so dass du nur einen Kondensator
brauchst. Besser wäre ein Reset-IC.

Und den /TST-Pin hast du hoffentlich auf High gelegt?

Gruß Ralf

von Ralf Altmann (Gast)


Lesenswert?

Und noch eins: Ich nehme an, dass du den ISP auf Low ziehst und dann
auch den Reset machst, oder? Ich frag nur, weil ich das bei einem
anderen Projekt mal selbst übersehen hab.

Gruß Ralf

von Alexander Ernst (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Ralf,

danke für die tolle Unterstützung. Bin grad mit dem Hardwareteil fertig
geworden und wollte mich jetzt der Programmierung widmen.
Den Schaltplan habe ich beigefügt. Dürfte doch so alles stimmen. Meinst
du der Controller meldet sich dann richtig, wenn das alte FLIP
installiert ist? Also wenn die richtigen *.inf & *.sys in den
Systemordner von Windows eingebunden sind?

Gruß Alex

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

sorry, aber aus dem Schaltplan wird ja keiner aus dem Ersteller
schlau!!! Wie gesagt, ich kann nicht bestätigen, dass es mit dem alten
FLIP wirklich tut, da mir ja noch die HW fehlt. Aber die alte Version
brachte keine Fehlermeldungen bezüglich der Treiber!!!

Gruß Ralf

von Alexander Ernst (Gast)


Angehängte Dateien:

Lesenswert?

Ja, sorry war auf die Schnelle rausgedruckt und etwas undokumentiert.
Hab mal jetzt alles beschriftet - jetzt dürfte es ersichtlicher sein.
Der Distributor weiß im Übrigen auch nicht was für ein Bootloader drin
ist. Wird noch ein paar Tage gehen bis ich hierzu genauere Infos
bekomme. Ich probier jetzt halt mal das "alte" FLIP aus. Gibt es
eigentlich Alternativen zu FLIP?
Was soll am ALE-Pin anliegen?

Gruß Alex

P.S. Den Verlauf des Projektes kann man hier nachschauen
www.atscheernst.de

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

- Ich empfehle unbedingt 100nF Kondensatoren an den Versorgungspins
aller ICs.
- Alternativen zu Flip kenne ich leider keine.
- ALE ist ein AUSGANG!

Gruß Ralf

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

und, hats geklappt?

Gruß Ralf

von Michael (Gast)


Lesenswert?

Hallo,

hast Du da 'nen 20MHz Quarz dran?
Soweit ich weiß werden 16 MHz benötigt, vermutlich stimmt deshalb das
Timing für den USB nicht.

Gruß
Michael

von Alexander Ernst (Gast)


Lesenswert?

@Ralf

Leider nicht. Habe auch UART ausprobiert - keine Regung. Werde jetzt
mal abwarten, was meine Bezugsquelle in seiner Charge für'n Bootloader
drin hat. Falls es tatsächlich USB ist, weiß ich auch nicht weiter!
Mit dem ALE-Pin wollte ich feststellen, ob mein Controller überhaupt
anläuft, falls an dem Pin was rauskommen sollte - der Quarz schwingt
ja.

@Michael

nun ja, könnte ne Möglichkeit sein, aber im Datenblatt steht nicht
drin, dass es mit 20 MHz nicht gehen sollte. Der Takt für den USB kommt
von einem PLL. Dem dürfte das egal sein (bin mir aber auch nicht
sicher...). Hast du eventuell damit auch Probleme gehabt? Weißt du was
genaueres?

@alle

und bei den Anderen hat das auf Anhieb geklappt? µC genommen, mit USB
vertüddelt und der hat sich brav unter Windows gemeldet?

Gruß Alex

von Tobias Schneider (Gast)


Lesenswert?

Hi,
bei mir hat das auch auf anhieb funktioniert. Ich benute den snd1 mit
einem 20MHz Quarz. Ich habe jedoch den pull up widerstand fuer die D+
Leitung erst nach den 22Ohm serienwiderstaenden angebracht. Solange
windows den snd1 ncht als usb geraet erkennt und auch keinen treiber
haben will kann es nciht am flip liegen.


Gruß Tobias

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

für gewöhnlich kommt am ALE ein Rechteck mit einer konstanten Frequenz
(man kann es beim SND1 auch abschalten, aber wie es bei ISP-Betrieb
aussieht, weiss ich leider nicht).

Der Tip mit dem Widerstand von Tobias hört sich auch gut an als
Ansatzpunkt. Vielleicht kannst du auf die Art herausfinden, ob blos
FLIP nicht will, oder es an etwas anderem liegt.

Gruß Ralf

von Alexander Ernst (Gast)


Lesenswert?

Wenn's an dem Pullup liegen sollte! Kann ja dann nur mir passieren ;-(
Ich löte ihn mal raus und probier es mal aus.

@Tobi
Hast du meinen Schaltplan gesehen? Musst ja, wenn du das mit dem Pullup
entdeckt hast. Stimmt der Rest? Der Pullup geht bei mir auf 3,3V. Ist
das so richtig oder sollte ich ihn auf 5V ziehen?

@Ralf
Wußte ich doch, dass da was bestimmtes rauskommen sollte. Im Augenblick
messe ich dort allerdings "High".

von Tobias Schneider (Gast)


Lesenswert?

Hi,
ich kann eigendlich auser bei dem usb pullup keine großen schnitzer in
deinem schaltplan entdecken. Ich habe aber fuer den usb 28 statt 22 ohm
serienwiderstanende benuzt. Das duerfte aber eigendlich kein problem
darstellen. Aber villeicht bekommt der controller von deiner rc
kombination am reset pin(du solltest da im schaltplan mal das
negationszeichen wegnehmen. Das hat mich gerade sehr iritiert) keinen
guten reset. schalte mal die spannung an der schaltung mit
ausgestecktem usb an, gib dem mc ueber einen kleinen draht zu vdd einen
manuellen rest und steck dann mal das usb ein.

Gruß Tobias

von Tobias Schneider (Gast)


Lesenswert?

mein usb pullup geht ueberigens auch an 3.3v

von Alexander Ernst (Gast)


Lesenswert?

Guten Morgen,

den Pullup habe ich mal rausgelötet. Jetzt habe ich keine Regung von
Windows. Nicht einmal, dass ein "USB-Gerät nicht funktioniert". So
langsam beschleicht mich das Gefühl, dass der Controller einen Schuß
hat.
Jedoch warte ich noch auf das Ergebnis von meiner Bezugsquelle ab, was
für eine Art Bootloader er findet.

@Tobi
Kannst du mal schaun, was du am ALE-Pin misst? Habe da konstant 3,3V.
Allerdings habe ich an allen Portpins Highlevel. Das heißt aber auch,
dass der Controller seinen Resetalgorythmus abgeschlossen haben
muss?!?

Alex

von Ralf Altmann (Gast)


Lesenswert?

Hi Alex,

nicht unbedingt abgeschlossen, die Ports gehen schon in High-Zustand,
sobald der Resetpegel anliegt!!! Möglicherweise hast du einfach am
Reseteingang ein Problem. Kann es das vielleicht sein?

Gruß Ralf

von Alexander Ernst (Gast)


Lesenswert?

Bin jetzt auf grad fleißig dran rumzumessen. Jetzt habe ich folgendes
festgestellt:

1. am Kondensator messe ich null Spannungsabfall
2. den RST lege ich nun auf Masse (mit einem Stückchen Draht). Dadurch
müsste sich der Kondensator richtig aufladen (3,3V - Überbrücken des
Rrst = 90kOhm), aber sobald ich mit der Brücke weggehe wieder null
Spannungsabfall - sprich von beiden Seiten habe ich gleiches positives
Potenzial.
3. ergo: der FET in der internen RST-Beschaltung ist aktiviert und
schaltet ihn intern auf 3,3V und zwar immer (S.48 Datenblatt!)

Die Aktivierung des internen RST kommt laut Datenblatt vom Watchdog.

Das kann doch nicht stimmen?

von Alexander Ernst (Gast)


Lesenswert?

Am RST habe ich gegen GND 90kOhm (ist richtig) und gegen VDD 187Ohm
(hä?).

von Ralf Altmann (Gast)


Lesenswert?

Also entweder hat er einen Schuss, oder ... HÄ?
Vom internen Watchdog kanns nicht kommen, weil der WD ja erst aktiviert
werden muss, was ja wiederum nur nach RESET geht. Hat vielleicht dein
Reset CAP einen Macken? Oder tatsächlich Chip im Sterbebett?

Gruß Ralf

von Alexander Ernst (Gast)


Lesenswert?

CAP ist in Ordnung. RST ist jetzt nicht beschalten bzw. liegt frei und
führt 3,3V. Das stimmt doch nicht! Der FET nach VDD schaltet durch
oder/und der IC ist wirklich damaged. Das ist ja prima ;-(

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.