Hi!
Ich habe mir vor kurzem einen 8051 F060 und einen F120 gekauft. Nun
möchte ich versuchen, den Silabs USB Debug Adapter mit den
Mikrocontrollern zu verbinden und ein erstes kleines Programm, bei dem
eine LED ein- und ausgeschaltet wird, testen. Doch ich finde irgendwie
keine Information darüber, welcher Pin der ist, mit dem der Debug
Adapter verbunden werden muss.
Ich besitze auch einen F330, bei dem muss der Debug Adapter mit RST und
P2.0 verbunden werden. Doch welcher Pin ist nun beim F060 der, der die
Funktion von P2.0 beim F330 hat? In der Dokumentation konnte ich leider
auch nichts hilfreiches herausfinden und auch Google hat nichts
sinnvolles ergeben...
Danke für eure Hilfe!
> In der Dokumentation konnte ich leider auch nichts hilfreiches herausfinden
Glaub ich nicht - oder falsche Doku verwendet :)
Schau in den Datenblättern der Controller nach. Damit ich mit den
SiLabs-MCUs immer schnell ans Ziel komme, was den Debugadapter und
dessen Anschluss angeht, schau ich's mir immer in der Doku zu den
DevKits ab, dort sind die Schaltpläne drin =)
Ralf
Ralf schrieb:> Damit ich mit den> SiLabs-MCUs immer schnell ans Ziel komme, was den Debugadapter und> dessen Anschluss angeht, schau ich's mir immer in der Doku zu den> DevKits ab, dort sind die Schaltpläne drin =)
Genau die DevKits Schaltpläne wären äußerst hilfreich. Ich habe auch
schon danach gesucht, aber alles was ich finde ist diese Seite und dort
finde ich keinen Link für die Doku...
http://www.silabs.com/products/mcu/Pages/C8051F060DK.aspx
Könntest du mir bitte den Link posten? Ich finde es irgendwie nicht...
So ich hatte nun zeit um eine Testplatine zu löten. Aber sobald ich den
Debug Adapter mit dem Chip (ich benutze zuerst den 8051 F120) verbinden
möchte, kommt ein Error => Die Verbindung kann nicht aufgebaut werden...
Ok als IDE benutze ich Keil µVision 4. Der neuste Silabs Treiber für den
USB Debug Adapter ist ebenfalls drauf. Den Schaltplan habe ich mir hier
abgeschaut: https://www.silabs.com/products/mcu/Pages/C8051F120DK.aspx
(rechts bei User Guids: C8051F12x-DK User Guide).
So habe ich es dann wirklich gebaut:
http://www.anet-plugin.com/downloads/SchaltplanTestplatineF120.jpg
Die PWR LED sorgt für einen Spannungsabfall von 2,2V wodurch aus den
~5,4V die aus dem Pin10 kommen ~3,2V. Die LED brauch 20mA. Alle VDDs des
µCs sind mit den 3,2V verbunden. Alle AGND und DGND sind mit Ground (Pin
2 von J4) verbunden.
Ok 2 mögliche Fehler könnten mir passiert sein:
1) Genügt es den Reset so auszuführen wie ich es gemacht habe? Denn im
User Guide wird dieser etwas aufwändiger realisiert (ich schätze dafür
ist der Schalter prellfrei?). Oder wird ein PullUp Widerstand benötigt?
2) Im Datenblatt des F120 ist die Pinbelegung dargestellt. Dabei hat der
IC den eingekerbten Punkt im oberen linken Eck. Doch der IC hat in
wirklichkeit 2 Punkte. Einen größeren und einen kleineren. Ist der
kleinere links oben, dann ist die Beschriftung des ICs lesbar => ich
habe angenommen, dass dies die gemeinte Position ist. Ist das richtig?
Ansonsten wüsste ich nicht, warum der Debug Adapter keine Verbindung
herstellen kann. Müssen vielleicht irgend welche besonderen
Einstellungen im Keil geändert werden? Momentan ist alles so eingestellt
wie bei dem F330, der ja ein etwas anderes JTAG Interface benutzt wie
weiter oben festgestellt wurde.
Danke für eure Hilfe!
Update: Ich habe nun den Reset Taster mit einem PullUp Widerstand
ausgeführt. Die Kondensatoren habe ich weg gelassen, da ich in einem
anderen Forum gelesen habe, dass diese Probleme mit der Debug Adapter
Verbindung machen können. Weiters habe ich nun einen Widerstand nach der
LED in Serie geschalten.
Trotzdem funktioniert es noch nicht...
Hab ich das richtig verstanden: Du benutzt die LED zur Generierung der
Spannungsversorgung der Schaltung? Was glaubst du wie das funktionieren
soll? Da muss ein Spannungsregler her, sonst wird das nix. Überleg mal,
der Controller will ja auch noch Saft (=Strom), und den klaut er sich
bei der LED. Die wird wiederum im Spannungsabfall sinken, wodurch deine
Spannung wieder ansteigt, uswusf.
Ich glaube, dass das dein Problem ist, warum es nicht geht.
Poste mal einen kompletten Schaltplan.
Ralf
Danke für deine Antwort!
Im Prinzip ist das der ganze Schaltplan. Der komplette Schaltplan wäre
nur statt DGND, VDD etc. direkt auf die richtigen Pins. Aber ich dachte,
so ist es übersichtlicher.
Ich habe jetzt beim Update (hab den Link geupdated) einen
Spannungsteiler gemacht:
+5V
^
|
[LED]
|_______[VDD von µC]
|
[Ohm]
|
_
Hier nochmal der Link:
http://www.anet-plugin.com/downloads/SchaltplanTestplatineF120.jpg
Das sollte doch funktionieren oder? Die Spannung am µC habe ich
gemessen, die liegt bei 3,3 V.
Ansonsten könnte ich die LED durch ne Zenerdiode ersetzen, aber da die
Spannung bei 3,3 V zu liegen scheint wäre es doch irgendwie unnötig,
oder?
Also wenn du der Meinung bist dass es tut... Ich würd's jedenfalls nicht
so machen :)
Aber gehen wir mal davon aus, dass die Spannung stabil bleibt... : Der
F060 will laut Datenblatt bei 25MHz Takt schon mal 20mA für sich
haben... Das hieße dann, 40mA durch die LED, weil die Spannung ja (in
unserer Theorie) stabil bleibt, und (immer noch Theorie) 20mA durch den
Controller... Hmmmm... was wird die LED da wohl machen?
Dann gehts weiter, du hast nehme ich an ALLE GNDs, ALLE VREFs, den
VCC-Monitor nach den Vorgaben beschalten?
Ralf
Ok ich habe nun per 10er Diode eine Spannungsstabilisierung gemacht. Ich
erhalte dadurch gemessene 3.4V.
Hier der neue Schaltplan:
http://www.anet-plugin.com/downloads/SchaltplanTestplatineF120.jpg
Leider funktioniert es noch immer nicht. Habe ich eventuell irgend einen
Pin nicht richtig angeschlossen?
Pieter schrieb:> warum hängen die Anschlüsse XTAL in der Luft?
Weil der Controller mit seinem internen Takt hochfährt (bevor die Frage
aufkommt: der Takt reicht problemlos für alle Kommunikationsarten)
Hab den Fehler gefunden! Eigentlich ganz simpel, es ist wichtig das
MONEN entweder auf High oder Low ist. Ich habe den Pin gar nicht
angeschlossen, deswegen funktionierte es auch nicht.
Hi Peter,
> Hab den Fehler gefunden! Eigentlich ganz simpel, es ist wichtig das> MONEN entweder auf High oder Low ist. Ich habe den Pin gar nicht> angeschlossen, deswegen funktionierte es auch nicht.> ...> Ich habe vergessen zu erwähnen, dass auch die beiden AV+ Pins mit VDD> verbunden werden müssen.
freut mich dass es läuft, aber das hättest du auch schon früher haben
können.
Ich habe das hier:
Beitrag "Re: 8051F060 Debug Adapter Pin"
vor allem den letzten Satz schließlich nicht umsonst geschrieben :)
Ralf
So bin ich dann auch drauf gekommen. Aber ich habe zuerst geglaubt, dass
der µC die Spannung die bei VDD reinkommt misst, und nicht mit einem
eigenen Pin. Hab dann aber nochmal die Doku studiert und den MONEM Pin
entdeckt :)
> So bin ich dann auch drauf gekommen. Aber ich habe zuerst geglaubt, dass> der µC die Spannung die bei VDD reinkommt misst, und nicht mit einem> eigenen Pin. Hab dann aber nochmal die Doku studiert und den MONEM Pin> entdeckt :)
Ja, die Teile sind einfach spitze, aber man muss halt echt einmal durchs
komplette Datenblatt gelesen haben, bevor man ne Schaltung aufbaut, weil
es soviele sich beeinflussende Sachen gibt :) Das ist halt ein Nachteil
von Flexibilität. Aber sowas passiert meistens nur einmal, beim nächsten
Mal weiss man's =)
Ralf