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
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
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
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
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
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
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
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
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
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
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
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
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
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
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