Forum: Mikrocontroller und Digitale Elektronik Problem mit HV-Prog


von Elm (Gast)


Lesenswert?

Servus,

ich habe mir das HVProg (von der-hammer Seite)nachgebaut, leider funzt
das parallele programmieren nicht, programmieren mit SPI geht aber
wunderbar. Ich verwende den AT90S8535, die Transistorschaltung (für
Reset) habe ich ersetzt durch eine OP-Schaltung (gleiche Funktion).
Ports des ATs habe ich schon mal toggeln lassen, um die Platine zu
testen, Hardware funktioniert einwandfrei.

Beim parallelen Programmieren geht der Reset kurz auf 0V, dann auf 12V
(soll ja so sein). Ich vermute dass es das BS1-Signal ist, welche mir
solche Sorgen bereitet. Das BS1-Signal geht gleichzeitig mit Reset vom
Hochohmigen Zustand nach 0V. Laut Datenblätter von den Atmels soll
dann, das BS-Signal innerhalb von 100ns nachdem Reset auf 12V gegangen
ist, sich verändern (also auf 5V gehen), dies tut es aber nicht. Beim
Programmieren kommt es erst nach rund 10ms, beim Signatur auslesen
kommt es gar nicht (müsste ja auch da kommen, oder?).

Habe es schon mit verschiedenen Versionen der Firmware versuch und auch
schon mit den gefixten Hexfiles (und auch in diesen noch selbst
rumgepfuscht).

Ich bin mit meinem Latein am Ende und steh kurz davor, die Schaltung
mal auf Hochspannung zu testen gg Die Themen zum HV-Prog hier, haben
mir leider nicht geholfen 

Gruß Elm alias Flo

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Die Schaltung läuft eigentlich mit der normalen Firmware. Leider habe
ich nicht die technischen Möglichkeiten die genauen Signalverläufe bei
mir zu checken.
Daher würde ich deine Modifikation als erste Fehlerquelle vermuten.
Sind deine 12V innerhalb der Toleranzen? Könntest du die Schaltung mit
dem OP hier mal posten, mich würde die Umsetzung interessieren.

"Laut Datenblätter von den Atmels soll dann, das BS-Signal innerhalb
von 100ns nachdem Reset auf 12V gegangen ist, sich verändern (also auf
5V gehen), dies tut es aber nicht."

Eine entsprechende Stelle finde ich gerad nicht in einem m8-Datenblatt,
wo ich nachgeschaut habe. Wo genau steht das?

von Elm (Gast)


Lesenswert?

Ich habe es auch mit der Transitorstufe versucht, da lagen die +12V aber
knapp an der 11,5V Grenze. Die OP-Schaltung ist ein Differenzier
-Verstärker mit 3 Eingängen und die Widerstände dementsprechend
dimensioniert. Ein Eingang liegt an +5V, damit die Schaltung im
Ruhezustand 5V am Reset liefert. Schaltung kann ich erst morgen geben,
habe diese nur im Geschäft auf dem PC.

100ns-Problem:

z.B. laut AT90S2313 unter Memory Programming:
Enter Programming Mode:
The following algorithm puts the device in Parallel Programming mode:
1. Apply supply voltage according to Table 22, between VCC and GND.
2. Set the RESET and BS pin to “0” and wait at least 100 ns.
3. Apply 11.5 - 12.5V to RESET. Any activity on BS within 100 ns after
+12V has been applied to RESET, will cause the device to fail entering
Programmingmode.

Nach meinen Sprachkenntnissen, sagen sie, das an BS was geschehen muss.

von Elm (Gast)


Angehängte Dateien:

Lesenswert?

@Tobi: Als Anhang, die OP Schaltung

von A. D. (ad1)


Angehängte Dateien:

Lesenswert?

>Leider habe ich nicht die technischen Möglichkeiten die genauen
>Signalverläufe bei mir zu checken.

Hallo,
vielleicht kann ich hier aushelfen. Im Anhang habe ich meine
Oszi-Bilder beim HV-seriell-programmieren (von einem Tiny12) angehängt.
Kanal 1 (ch1) ist der Reset-Ausgang und Kanal 2 SDO bzw. SCI.
Gut zu erkennen ist im Bild
"HV_CH1=RESETTARGET_CH2=SDO-4k7-GND_002.gif", dass kurzzeitig der uC
und der Programmer die Leitung treiben wollen (macht bei mir aber nix,
da ich sowieso alle Programmer-Ausgänge mit 220 Ohm geschützt habe).
Meine Reset-Beschaltung ist jedoch auch nicht die "originale" von
HVprog (ich hatte die mal in einem älteren Thread mal angegeben).

Gruß, Andreas

von Elm (Gast)


Lesenswert?

@ Dittrich: Danke, hat ein bischen geholfen. Habe festgestellt das mein
Reset 60µs braucht, bis er von 0V auf 12V gesprungen ist.

Ich habe es mittlerweile hinbekommen, das ich die Signatur, Fuses und
auch den Speicher bei einem AT90S2313 parallel auslesen kann. Nur wenn
ich ihn parallel programmiere (Fuses oder Speicher), funzt die ganze
Sache nicht. Es geht sogar soweit, das ich seriell und parallel die Sig
nicht mehr lesen kann, aber seriell kann ich ihn noch proggen
(überschreibe ich da was????). Werde jetzt nochmal auf nem Steckbrett
die Transitorschaltung aufbauen und es mit dieser versuchen.

Gruss Elm

von Elm (Gast)


Lesenswert?

So, habe die Transistorschaltung aufgebaut, Signal ist besser als mit
dem OP (Steilere Flanke), aber das Problem das ich lesen, aber nicht
proggen kann, besteht weiterhin. Aber so wie es aussieht, kann ich auch
nach fehlgeschlagenem parallelprogrammieren, die Signatur noch auslesen,
immerhin schon ein Stück zu Besserung :-)

von Elm (Gast)


Lesenswert?

Update: Parallel Proggen funzt jetzt zu 90%. In den Speicher schreiben
kann ich jetzt auch. Mir machen nur noch die Fuses und LockBits zu
schaffen. Da bekomme ich noch eine Fehlermeldung. Zum testprogrammieren
benutze ich den AT902313, bei den Fuses ist im STK500 Programmiertool
kein Häckchen bei SPI enable drin -> düfte also kein serielles proggen
gehen -> funzt aber ?!? Bei den LockBits kann ich nur von Mode1 in
Mode3 programmieren, zurück aber nicht mehr.

Gruss Elm

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.