Forum: Mikrocontroller und Digitale Elektronik Fragen zum HVProg


von franzlst (Gast)


Lesenswert?

Hi,

ich habe es nun endlich geschafft, den HVProg in der verbesserten 
Version nach zu bauen. Allerdings tauchen nun ein paar Fragen auf, die 
sich weder durch die der-hammer.info Seite noch dieses Forum beantworten 
lassen.

Eine kleine Frage zur Hardware: In einem Thread hier im Forum habe ich 
gelesen, dass die auf der Unterseite in der Nähe des Quarzes 
befindlichen Pads mit 33pF SMD Widerständen bestückt werden sollen. Im 
Eagle-Plan konnte ich das nicht herauslesen. Nachdem ich keine SMD 
Bauteile habe, habe ich stattdessen "normale" 33pF Kondensatoren 
angelötet (gar nicht so einfach ^^).
Geht das in Ordnung?

Ich denke dass ich die ebn-Datei erfolgreich auf den ATMega8535 
aufspielen konnte, zumindest kam kein Fehler und auch die LEDs blinken 
in der charakteristischen Weise.
Die gelbe LED ist trotz gesetztem HV-Jumper nicht an, soll das so sein?

Über den seriellen Anschluss habe ich den HVProg nun mit dem COM-Port 
meines PCs verbunden.
Muss ich den COM-Port in Windows konfigurieren (z.B. Baudrate) oder 
übernimmt das das AVR-Studio selbstständig?

Im AVR-Studio möchte ich mich nun mit dem HVProg verbinden über Tools -> 
Program AVR -> Connect... -> "STK500 or AVRISP" | Auto -> Connect. Dies 
scheitert jedoch: "Connect failed"
Am Layout habe ich nichts verändert (ich habe im Forum über Probleme 
gelesen als Pins bei RS232 vertauscht wurden), der Jumper steht auf 2-3 
und es dürfte auch keine Lötbrücken mehr geben.
Kann es sein, dass der HVProg zunächst mit einem µC verbunden werden 
muss?

Ich möchte einen eingelöteten ATMega128 wiederbeleben, indem ich ihn HV 
seriell programmiere. Das Board auf dem der µC aufgelötet ist besitzt 
einen 10-poligen Standard-AVR-ISP Anschluss (1 MOSI (PB2) - 2 VCC - 3 NC 
- 4 Ground - 5 Reset - 6 Ground - 7 SCK (PB1) - 8 Ground - 9 MISO (PB2) 
- 10 Ground).
Genügt es diesen mit der 10-poligen Buchse des HVProg zu verbinden?
Ich habe bereits im Datenblatt des ATMega128 geschaut, finde dort aber 
keine Pinbelegung zur HV-Programmierung.

Ich wäre sehr froh Antworten auf meine Fragen zu bekommen.

Danke

Franz

von Michael U. (Gast)


Lesenswert?

Hallo,

es gibt kein seriell-HV-Programmieren beim Mega128, nur Parallel-HV.
Seriell-HV gibt es nur bei den kleinen Tinys, die zuwenig Pins haben.

Gruß aus Berlin
Michael

von franzlst (Gast)


Lesenswert?

Ah ok danke. Aber auch kein Prob, parallel sollte schließlich auch gehn. 
Sind halt ein paar Käbelchen mehr (Anschlüsse sind allerdings nicht so 
gut nach außen geführt, wird etwas Lötarbeit nötig sein).
Die Pinbelegung wird dann wohl diese 
http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf auf S. 290 
sein?

Wäre nett wenn ihr mir die anderen Fragen noch beantworten könntet

Danke

Franz

von Klaus L. (kllei)


Lesenswert?

franzlst wrote:
...
> befindlichen Pads mit 33pF SMD Widerständen bestückt werden sollen. Im
> Eagle-Plan konnte ich das nicht herauslesen.
Zoom Funktion und notfalls die oberen Layer abschalten, dann siehst Du 
C4 und C5
> Nachdem ich keine SMD
> Bauteile habe, habe ich stattdessen "normale" 33pF Kondensatoren
> angelötet (gar nicht so einfach ^^).
> Geht das in Ordnung?
Ja klar

> Ich denke dass ich die ebn-Datei erfolgreich auf den ATMega8535
> aufspielen konnte, zumindest kam kein Fehler und auch die LEDs blinken
> in der charakteristischen Weise.
Das ist schon mal gut

> Die gelbe LED ist trotz gesetztem HV-Jumper nicht an, soll das so sein?
Ja, die ist erst bei aktiver HV Programmierung an, wenn die 12V 
anliegen.

>
> Über den seriellen Anschluss habe ich den HVProg nun mit dem COM-Port
> meines PCs verbunden.
Mit einem 1:1 Kabel?

> Muss ich den COM-Port in Windows konfigurieren (z.B. Baudrate) oder
> übernimmt das das AVR-Studio selbstständig?
AVR Studio macht das

>
> Im AVR-Studio möchte ich mich nun mit dem HVProg verbinden über Tools ->
> Program AVR -> Connect... -> "STK500 or AVRISP" | Auto -> Connect. Dies
> scheitert jedoch: "Connect failed"
Da geht sie serielle Verbindung nicht.

> Am Layout habe ich nichts verändert (ich habe im Forum über Probleme
> gelesen als Pins bei RS232 vertauscht wurden), der Jumper steht auf 2-3
> und es dürfte auch keine Lötbrücken mehr geben.
> Kann es sein, dass der HVProg zunächst mit einem µC verbunden werden
> muss?
Nein, er muß auch ohne externen Controller gehen.

Hast Du die Durchkontaktierungen gemacht und an Pin 11/12 des MAX232 
oben gelötet und die Verbindung zum Controller nachgemessen? Auch an ein 
paar Bauteilen muß oben gelötet werden.

Test: Pin 14 und 15 am Mega8535 brücken und mit einer Terminalemulation 
(gibts z.B. auch bei Tobi) prüfen ob ein Echo zurückkommt. Dann geht die 
serielle Verbindung bis zum Controller.

HTH, viel Erfolg,
Klaus

von franzlst (Gast)


Lesenswert?

Vielen Dank für die ausführliche Antwort. Werde das sobald ich Zeit habe 
mal genau durchgehen, Verbindungen überprüfen und das Kabel checken.
Die Lötstellen müssten aber alle vorhanden sein, obwohl das teilweise 
ziemlich kniffelig war, die zu löten :)

Grüße

Franz

von franzlst (Gast)


Lesenswert?

Leider habe ich immer noch keine Verbindung aufbauen können, allerdings 
habe ich mit STKcheck etwas herumgespielt und nach einigen Tests habe 
folgendes festgestellt (Pin 4-6 und 7-8 sind immer gebrückt):
Sind sonst nur RxD und TxD von Kabel und HVProg miteinander verbunden, 
empfängt der PC die Daten, die er schickt wenn Pin 14 und 15 am Mega8535 
gebrückt sind.
Sobald aber die Masse (Pin 5) von Kabel und HVProg verbunden werden, 
werden die geschickten Daten nicht mehr empfangen.
In beiden fällen kann ich mit STKcheck den µC nicht auslesen (Firmware 
bestimmen etc) und auch nicht mit AVR Studio connecten.

Nach deinen (Klaus) Informationen scheint aber damit ja die serielle 
Verbindung zu stehen.
Ist das nun normal das wenn die Masse verbunden ist die Kommunikation 
unterbricht?
Was für andere Fehlerquellen kommen nun sonst noch in Frage? 
Fehlerhaftes Aufspielen der Firmware (die Lämpchen blinken ja richtig)?

Vielen Dank

Franz

von Klaus L. (kllei)


Lesenswert?

Hallo Franz,

wie wird denn der HVProg mit Spannung versorgt? Anscheinend gibt es ein 
Problem mit der Masseverbindung. Ohne die geht nämlich keine serielle 
Übertragung.

Vielleicht auch ein Problem mit dem seriellen Kabel?

Hast Du eine 9Pol. Buchse auf dem HV-Prog oder einen Stecker?

HTH,
Klaus

von franzlst (Gast)


Lesenswert?

Hallo Klaus,

die Spannung kommt aus zwei in Serie geschalteten RC Akkus mit zusammen 
etwas über 15V. Wie der Anschluss erfolgt ist ja denke ich egal, da ein 
Gleichrichter dazwischen ist. Die Spannung selbst ist denke ich auch 
nicht kritisch (>12V), weil da ja auch noch ein Spannungsregulierer 
dazwischengeschalten ist.

Das Kabel habe ich neu gekauft. Es ist ein ein "1:1 Doppel-male-Kabel" 
(Neologismus...) wo auf beiden Seiten ein Gender-Changer (auch 1:1) 
draufgesteckt ist. Dadurch sind die Pins denke ich gespiegelt, weshalb 
ich die Überbrückung direkt im Stecker mit Drahtbrücken realisiert habe. 
Die drei verbleibenden Anschlüsse (RxD: Kabel-Stecker female 2 -> HVProg 
Pin 2; TxD: Kabel-Stecker female 3 -> HVProg Pin 3; Masse: Kabel-Stecker 
female 5 -> HVProg Pin 5) sind mit Krokoklemmen provisorisch verbunden. 
(Die Nummerierung des Kabel-Steckers habe ich von 
http://de.wikipedia.org/wiki/Bild:Bild_Rs232_buchse_9pol_female.png  die 
vom Board-Stecker aus der Eagle Boardansicht). Auch wenns ein 
Provisorium ist gibts keine Kurzschlüsse o.ä., das hab ich bereits 
durchgemessen.

Auf dem HVProg sitzt also ein Stecker.

Danke für die schnelle Hilfe

Franz

von Klaus L. (kllei)


Lesenswert?

franzlst wrote:
> Hallo Klaus,
>
> die Spannung kommt aus zwei in Serie geschalteten RC Akkus mit zusammen
> etwas über 15V. Wie der Anschluss erfolgt ist ja denke ich egal, da ein
> Gleichrichter dazwischen ist. Die Spannung selbst ist denke ich auch
> nicht kritisch (>12V), weil da ja auch noch ein Spannungsregulierer
> dazwischengeschalten ist.
Ja, das ist OK

> Das Kabel habe ich neu gekauft. Es ist ein ein "1:1 Doppel-male-Kabel"
> (Neologismus...) wo auf beiden Seiten ein Gender-Changer (auch 1:1)
> draufgesteckt ist. Dadurch sind die Pins denke ich gespiegelt, weshalb
> ich die Überbrückung direkt im Stecker mit Drahtbrücken realisiert habe.
> Die drei verbleibenden Anschlüsse (RxD: Kabel-Stecker female 2 -> HVProg
> Pin 2; TxD: Kabel-Stecker female 3 -> HVProg Pin 3; Masse: Kabel-Stecker
> female 5 -> HVProg Pin 5) sind mit Krokoklemmen provisorisch verbunden.
> (Die Nummerierung des Kabel-Steckers habe ich von
> http://de.wikipedia.org/wiki/Bild:Bild_Rs232_buchse_9pol_female.png  die
> vom Board-Stecker aus der Eagle Boardansicht). Auch wenns ein
> Provisorium ist gibts keine Kurzschlüsse o.ä., das hab ich bereits
> durchgemessen.
>
> Auf dem HVProg sitzt also ein Stecker.

Das wird das Problem sein. SubD Buchse und Stecker sind zwar 
Pinkompatibel, allerdings ist der Pin 5 der Buchse (und die sollte auf 
dem HV-Prog sein) der Pin 1 des Steckers.

Der Gender Changer reicht die Pins 1:1 weiter.

Da Du ja alles per Klemmen verbunden hast, prüfe es noch mal darauf hin.

Wenn die Verbindung abbricht, wenn Pin5 angelegt wird, muß ja etwas 
passieren.

Es reicht, wenn Du die Pins 2,3 und 5 auf dem Layout (nicht vom SubD 
Stecker), mit den entsprechenden des Kabels verbindest.

HTH,
Klaus

von franzlst (Gast)


Lesenswert?

Ich werd wahnsinning, die Verbindung steht :D

Wenn ich jetzt noch das Kabel zum verfusten µC bastel und die 
Entverfusionierung (neue Worte sind was tolles ;-) ) klappt, mach ich 
nen Luftsprung :D

Vielen Dank Klaus und alle andern die mir geholfen haben.

Noch einen schönen Tag

Franz

von franzlst (Gast)


Lesenswert?

Es wäre ja auch zu schön um wahr zu sein, natürlich klappt die 
Programmierung/Verbindung zum ATmega128 nicht.

Vorher noch kurz als Hilfe für Leute, bei denen die Verbindung zum 
HVProg nicht oder nur sporadisch klappt: Ein Problem könnte die Länge 
des Kabels sein. Mit den Krokoklemmen hatte meines etwa 2,30m und die 
Verbindung ging nur manchmal. Laut Wikipedia sollte bei dieser Baudrate 
(115.200) die Länge des Kables unter 2m betragen. Und siehe da, auf 30cm 
gekürzt (bzw auf den Genderchanger und die Krokoklemmen reduziert) funzt 
die Verbindung zum HVProg nun einwandfrei.

Der Mega128 ist schon fest eingelötet, es handelt sich um das 
RN-Mega128: 
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=76&products_id=158 
bzw. Dokumentation hier 
http://www.robotikhardware.de/download/rnmega128funk.pdf

PB0-7, PD, PD4-7, PA0, GND und Vcc sind nach außen auf die Buchsen 
geführt, die konnte ich also mehr oder weniger ohne Probleme 
anschließen.
PD2 und PD3 sind als RxD und TxD für die serielle Programmierung 
verwendet, da konnte ich die Drähte in den Sockel des MAX232 stecken 
(der IC steckt nicht mehr drin).
XTAL1 und Reset habe ich direkt unten auf der Platine verlötet. BSEL2 
wird nicht benötigt.

Ich habe alle Leitungen vom Ausgang des HVProg bis zum Pin direkt am µC 
durchgemessen, das müsste alles passen.

Der eine Jumper des HVProg steht auf 2-3, der andere ist gesetzt (HV 
an).

Das Auslesen mit dem STK500 bringt keine Fehlermeldungen, scheint aber 
nicht zu gehen. So ist die Signature #FFFFFF. Auch wenn ich etwas 
schreiben will kommt zwar kein Fehler, wenn jedoch ausgelesen und 
anschließend verglichen wird hat sich nichts verändert (was dann auch 
moniert wird).

Unter "Program" ist der ATmega128 als Device gewählt und als 
Programmiermethode Parallel/HV Serial. Wenn ich bei "Board" die 
Spannungen auslese (wenn das was dann angezeigt wird wirklich ausgelesen 
wurde und keine Standartwerte sind), erhalte ich für VTarget 5,1V und 
ARef 5,0V.

Stellt es evtl ein Problem dar, dass auf der Platine ein Quarz vorhanden 
ist? Was könnte sonst noch als Fehlerquelle in Frage kommen?

Danke

Franz

von franzlst (Gast)


Lesenswert?

Ich hab jetzt nochmal sämtliche Verbindungen geprüft, da stimmt alles.

Ein weiterer Versuch war den Quarz auszulöten, auch das hat nicht 
geholfen.

Wenn ich mit dem HVProg verbinde, meldet mir AVR Studio, dass auf dem 
HVProg Firmware 2.04 installiert ist, AVR STudio würde aber mit 2.0A 
arbeiten. Er bietet mir zwar ein Upgrade an, das würde aber iwie den 
HVProg upgraden und funktioniert auch nicht. Wenn ich das Upgrade 
ablehne verbinet er trotzdem zum HVProg, im Statusfeld schreibt er:
Detecting on 'COM1'...
STK500 with V2 firmware found on COM1
Getting revisions.. HW: 0x00, SW Major: 0x02, SW Minor: 0x04 .. OK
Gibt es eine Möglichkeit, AVR Studio die richtige Version beizubringen? 
(Ein Update von 4.12 auf 4.13 hat nichts gebracht)

Was mich auch etwas wundert ist, dass STKcheck den HVProg nicht 
detektieren kann, hier kommt nur ein Timeout.

Hat nicht vllt jemand eine Idee, was ich noch probieren könnte? Ich bin 
fast am verzweifeln, jetzt bin ich schon so weit gekommen und es klappt 
trotzdem noch nicht :-/

Danke

Franz

von Klaus L. (kllei)


Lesenswert?

Hallo Franz,

die aktuellste Firmware bekommst Du genau so in den HV-Prog wie die 
letzte reingekommen ist: per avr910 Programmer und AVRProg. Das 
aktuellste STK500.ebn file liegt im STK500 Directory des AVRStudio. 
(Jumper umstecken nicht vergessen). Der automatische update klappt nur 
mit einem echten stk500.

Versuche erst mal einen Controller mit dem ISP (low Voltage, der 10 
polige Stecker) anzusprechen. Zumindest das sollte gehen.

Zur HV- Parallelprogrammierung kann ich Dir leider nichts sagen, hab ich 
noch nicht probiert.

Da hilft nur Pegel messen (und die HV - Spannung an Reset prüfen, die 
muß ziemlich genau stimmen).

Viele Grüße,
Klaus

von franzlst (Gast)


Lesenswert?

Hallo Klaus,

ich hatte gedacht 2.0A ist eine ältere Version wie 2.04.

ISP wird nicht funktionieren, weil der SPI Flag falsch gesetzt ist (was 
der Grund ist warum ich den HVProg gebaut hab).

Wann liegt denn die HV-Spannung am Reset an? Immer wenn ich mit dem µC 
komuniziere oder nur beim flashen?

Vielen Dank

Franz

von Klaus L. (kllei)


Lesenswert?

Hallo Franz,

hast Du denn keinen anderen Chip, den Du mal probieren könntest?
Und vor allem: wie hast Du SPI umgestellt, wenn Du noch keinen HV-Prog 
hattest? Das geht nur per parallel Programmierung...

Die HV Spannung liegt bei jeder Kommunikation an, dann müsste auch die 
HV-LED angehen. Dadurch wird ja im Prozessor die "Programmier 
Kommunikation" eingeschaltet. Ich fürchte Du mußt Dich mal mit dem 
Datenblatt des Controllers auseinandersetzen, da ist das Timing 
beschrieben.

Version 2.0a ist die aktuellste. Hex Zahlen gehen ja 01234---89abcd.., 
also ist a nach 4 ;-)

Hast Du den Programmiermode auf PP umgestellt und den Takt und ISP 
Frequenz mal geprüft und verändert?

Bei mir liest der HV-Prog ohne angeschlossenen Chip auch FF FF FF als ID 
und die HV-Led blinkt bei "Fuse read" oder "Signature read" kurz.

Viele Grüße,
Klaus

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.