Hallo alle zusammen, ich habe meinen Flasher für die Bausteine AT89S51 AT89S52 AT89S2051 AT89S4051 AT89S8253 fertig gestellt. Das Flashen geschieht nicht über "Bitwackeln" am seriellen Port, ein eigener Controller (89C2051) übernimmt das Flashen. Dadurch kann der Flasher auch problemlos über einen USB-RS232 Adapter betrieben werden. 5 unterschiedliche Adapter habe ich getestet und alle haben funktioniert! Viel Spaß beim Basteln und Ausprobieren
... habe ich doch prompt die ZIP-Datei vergessen mit hochzuladen. Sie enthält die Firmware des 89C2051 sowie das Windows-Bedienprogramm Sorry
Der ULN2004 ist unnötig, der AT89C2051 kann die 330R Pullups direkt treiben (bis 20mA). Der ULN2004 ist außerdem Darlington, d.h. der Low-Pegel ist außerhalb des TTL-Standards (low <= 0,4V). Ich hätte auch gleich noch die AT89LP2052/4052 in die Liste mit aufgenommen. Peter
Genau das ... war mein erster Ansatz auch, dass der AT89C2051 die 330R Pullups direkt kann (kann er auch)... Aaaaaaber: aus mir nicht erfindlichen Gründen funktioniert das über das ULN2004 bezüglich Störsicherheit dennoch besser (wirklich viele Versuchsreihen gemacht). Funktionierte auch dann noch, wenn das ISP Kabel 50cm lang war. Bezüglich Darlingtonschaltung: Der ULN ist ein Darlingtontransistor (richtig)... aaaaaaaaber.. er arbeitet in Emitterschaltung !!! Die angegebene UCE-Rest Spannung (lt. Datenblatt) beträgt bei 100mA typisch 0,9V. Mit 330 Ohm beträgt die der Kollektorstrom ca. 15mA. Für diesen deutlich kleineren Strom hüllt sich das Datenblatt in Schweigen. Gemessene Spannungswerte für 0-Pegel betragen bei allen (okay es waren nur 5 Stck. vorhanden)ULN - Bausteinen 0,15V. Für diejenigen, die das ohne ULN aufbauen wollen ändere ich die Firmware gerne ab (auch wenn ich das für mich nicht machen mag). Die AT89LP2051 und LP4051 hab ich deshalb nicht in die Liste mit aufgenommen, weil ich schlicht keine Exemplare zum testen habe...
Ralph S. schrieb: > aus mir nicht > erfindlichen Gründen funktioniert das über das ULN2004 bezüglich > Störsicherheit dennoch besser (wirklich viele Versuchsreihen gemacht). So ein Darlington ist schnarchlahm, dadurch hast Du weniger steile Flanken, die übersprechen können. Besser wären aber Dämpfungswiderstände (50..100R) in Reihe. Ralph S. schrieb: > Gemessene Spannungswerte für 0-Pegel betragen bei allen (okay es waren > nur 5 Stck. vorhanden)ULN - Bausteinen 0,15V. Das ist technisch unmöglich. Hast Du das wirklich mit 330R Last gemessen. Eine Darlingtonstufe hat als Abfall die Uce_sat des ersten Transistors + Ube des 2., also typisch mindestens 0,7...0,9V. Es sei denn, es gibt ULN2004 mit FET statt Darlington, die könnten 0,15V. Peter
... so, jetzt hab ich das ganze versucht, ohne den ULN in Betrieb zu nehmen (mit dann invertierten Leitungen für MOSI, SCK und RES)... von 10 oder 15 Versuchen einen Baustein zu flashen klappt einer !!! Ich werde davon ablassen, den ULN ersatzlos zu streichen !
So, jetzt leß ich den Thread von Peter... Wie gesagt, hab ich das ganze ohne ULN versucht, hatte nicht geklappt... mein ULN ist ein Standard-ULN. Jetzt mache ich mein Leben lang schon Elektronik und jetzt seh ich mir die Darlington-Innenbeschaltung noch mal gaaaaaaanz genauer an... weil es für mich nicht nachvollziehbar ist, warum zum Uce Rest des letzten Transistors die Ube des ersten Transistors hinzuzuaddieren ist. Mal so abgesehen davon, dass die Schaltung ja funktioniert. Der ULN ist tatsächlich nicht der schnellste, stimmt, aber witzigerweise ist die Anstiegszeit (habe ich nicht gemesen sondern nur auf dem Scope angeguckt) sichtbar schneller als das, was der AT89C2051 liefert. ---------------------------------------------------------------------- Soooo, jetzt hab ich noch mal nachgesehen gehabt (weil ich mich wider besseren Wissens habe beirren lassen, zumal ich erst einen Unterricht GEGEBEN hatte bzgl. Transistoren, u. a. über Darlington). Ich habe das jetzt sogar neu gezeichnet: In den Bildern zu sehen sind die Ströme und die Spannungen beim Darlingtontransistor. Lt. Kirchhofscher Regel addieren sich Spannungspotenziale (oder anderst: Spannungspfeile in gleicher Richtung addieren sich, gegengesetzte ziehen sich ab... oder auch anderst: die Summe der rechtsdrehenden Spannungen ... bla bla bla): UB teilt sich auf in ... UR1,UBE1,UBE2 => UB= UR1+UBE1+UBE2 Für den Transistor V2 sehen die Spannungspfeile so aus: UB= UR2+Uce_rest Die Aussgangsspannung der Darlingtonstufe liegt direkt am Kollektor an und der Emitter direkt an Masse => Uout = Uce .. im Falle von logisch 0 entspricht Uout = Uce_rest_v2 !! ------------------------------------------------------ In der zweiten Zeichnung ist zu sehen, wie "mein" Pull-Up-Widerstand an den ULN angekoppelt ist. Nirgendwo liegt etwas zwischen Ausgang und Masse als eben besagte Uce_rest !!
Aaaaaaaaaaaaaaaaaaaaaaaaaber ... nachdem ich mich jetzt so satt mit den Darlingtontransistoren auseinander gesetzt habe... habe ich mir auch überlegt, warum die Flankensteilheit nicht so richtig klasse ist, wenn die Controller direkt miteinander gekoppelt sind! Peter Dannegger schrieb: > So ein Darlington ist schnarchlahm, dadurch hast Du weniger steile > > Flanken, die übersprechen können. > > Besser wären aber Dämpfungswiderstände (50..100R) in Reihe. Natürlich stimmt das und im Falle des ULN stimmt das schon 2 mal, der ist uralt! Also hab ich mir das mit den Dämpfungswiderständen überlegt ... und natürlich ausprobiert... schlage mir jetzt mit der flachen Hand gegen die Stirn, weil das Ding jetzt auch problemlos ohne ULN funktioniert... Dankeschön !
Ralph S. schrieb: > warum zum Uce Rest des letzten > Transistors die Ube des ersten Transistors hinzuzuaddieren ist. Nein, es ist genau umgekehrt! Die Uce2 kann nicht unter Uce1 + Ube2 sinken, sonst klaut er sich ja selber die Basisspannung. In sämtlichen Datenblättern steht auch U_low typisch 0,9V bei 100mA. Peter
Vielen Dank für die Veröffentlichung! Ich werd mir das bei Gelegenheit mal genauer ansehen, wenn ich mich mal wieder mit C51-Controllern beschäftige. Das Mausgeschubse ist nicht so meins... Nett wär eine Kommandozeilenversion der Steuersoftware, die man aus dem Makefile direkt aufrufen kann. Ähnlich avrdude...
Peter Dannegger schrieb: > Die Uce2 kann nicht unter Uce1 + Ube2 sinken, sonst klaut er sich ja > > selber die Basisspannung. Okay... auch hier hast du recht ... (und ich hab mich schamlos blamiert... passiert ist .... aber ärgert mich dennoch gewaltig)... Jetzt seh ich mir an, warum das Teil bei (hab ich jetzt auch nachgemessen) 14,8mA dennoch 0,18V anzeigt (Mesßgerät ist Fluke45)... Von der Theorie her hat Peter so sehr recht, dass ich jetzt an der Genauigkeit meines Meßinstruments zweifle... Hab ich mir überlegt, ob die Vorwiderstände der Darlingtonschaltung ausreichen, V2 ohne V1 zu schalten... bin ich echt am Grübeln By the way: gehört das noch zu diesem Thread ?
Ema Tronik schrieb: > wieder mit C51-Controllern beschäftige. Das Mausgeschubse ist nicht so > > meins... Na ja, wenn der Dateiname einmal geladen ist, muß man Fenster nur noch "Flashen" drücken ... > Nett wär eine Kommandozeilenversion der Steuersoftware, die man aus dem > Makefile direkt aufrufen kann. Ähnlich avrdude... ... Kommandozeilenversion werde ich wohl noch eines erstellen (aber die Win-Software war mir jetzt erstmal wichtiger)
@Peter: solche Dinge lassen mich ja nicht los, jetzt hab ich die Innenschaltung des ULN mal diskret aufgebaut, mit den Widerständen parallel zu den Basis-Emitter-Strecken. Hmmmm.... diskret aufgebaut reichen die Widerstände um den hinteren Transistor der Stufe zu schalten OHNE dass der erste Transistor leitend wird. So bekommt wohl der hintere Transistor der Darlingtonstufe seinen Basisstrom nicht über die Kollektor-Emitterstrecke des ersten Transistors, sondern über Rb=10,5k + 7,2k (parallel ube1) + 3k (parallel ube2)... UNGLAUBLICH... Ich sollte wieder etwas mehr Grundlagen machen ! Soll ich jetzt frustriert nach Hause gehen... oder mich freuen, dass ich etwas gelernt habe ?
Sodele, die Consolenversion des Upload-Programms habe ich jetzt auch fertiggestellt, sodaß einem Einbinden in eine IDE nichts im Wege stehen sollte ! Syntax: ISPCON Schnittstelle Aktion Dateiname Gültige Angaben sind für Schnittstelle: COM1, COM2, .. COMx Aktion : wr = Hex-Datei schreiben rd = Hex-Datei lesen res = Zielcontroller reseten id = Controller identifizieren Dateiname : Datei in die oder von der geschrieben / gelesen wird Beispiel: Datei TEST.HEX über COM5 in Controller schreiben ISPCON com5 wr test.hex
Ralph S. schrieb: > ISPCON Schnittstelle Aktion Dateiname Interessantes Programm. Wo stellt man den genauen Typ des µC ein?
Sorry dass ich erst jetzt antworte, ich hatte die Frage wohl nicht gesehen! Das Programm findet den angeschlossenen Controller selbst heraus. Zu beachten allerdings: Er unterstützt "nur": AT89S51 AT89S52 AT89S8253 AT89S4051
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.