PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielles Programmierkabel



ch4
31.01.2006, 22:57
Hallo,
ich habe heute das RN-Controll, das ich mir auf Robotikhardware bestellt habe, bekommen. So blöd wie ich war, habe ich natürlich vergessen, das Programmierkabel mitzubestellen.

Das ISP-Kabel möchte ich aus 2 Gründen nicht nachbestellen:
1) Versandskosten nach Österreich sind teuer
2) Mein Notebook hat keinen Parallelport
wobei natürlich der zweite Grund überwiegt.

Eine Serielle Schnittstelle habe ich auch nicht, dafür habe ich einen USB-Seriell Converter.

Nun bräuchte ich einen Programmierer (möglich günstig), um mein RN-Controll von der Seriellen Schnittstelle (über USB-Converter) aus zu programmieren (brauch ich spezielle Software dafür oder nur die beim RN-Controll mitgelieferte?). Gegen selber löten habe ich eigentlich nix, die Teile sollten halt nicht zu viel kosten.

Und das Ding sollte halt halbwegs sicher sein, d.h. ich möchte nicht, dass mein Rechner gleich hin wird, falls ich versehentlich etwas falsch anschliesse.

Könnt ihr mir helfen?

Danke
ch4

ogni42
01.02.2006, 07:46
SIProg in der seriellen Version: http://www.lancos.com/siprogsch.html.

Lässt sich m.W. aber nur zusammen mit der PonyProg Software verwenden. Dafür kostet der Adapter <2€

ch4
01.02.2006, 08:35
Hi,
danke für die Antwort,

und das Ding ist sicher? Beim Parallelport-Programmer braucht man ja einen IC (weiß grad die Nummer nicht auswendig), damit es das Mainboard nicht zerschießt

braucht man das beim Seriellen nicht?

Danke
ch4

ch4
01.02.2006, 09:46
Und aus dem AVR-Studio kann man mit dem Ding nicht programmieren, oder?

Danke
ch4

ogni42
01.02.2006, 09:56
Das Ding ist sicher. Vielleicht könnte man in die obere Leitung noch einen Widerstand einbauen. Ist aber eigentlich nicht nötig, sofern die Zielschaltung mit Vcc <5V arbeitet (ansonsten grillt's den AVR sowieso).

Der Adapter funktioniert bei mir nur mit PonyProg2000 unter XP (was mit Linux Support ist, weiss ich nicht). Habe aber nie Problemen gehabt. Bin mittlerweile auf den ISP mkII von Atmel umgestiegen, weil damit das Flashen erheblich schneller und aus dem AVRStudio geht.

Ansonsten kann ich den SIProg aber nur empfehlen.

Cybrix
01.02.2006, 09:57
weiß ich immoment nicht aber ansonsten kannst du das ja auch über PonyProg machen das funktioniert!

SprinterSB
01.02.2006, 10:07
In diesem Fall macht man die Pegelanpassung mit den Zener-Dioden. Der serielle Port ist übrigens deutlich robuster als der parallele und Kurzschlusssicher.

Die meister Progger am Parallelport sind SERIELLE Programmer! Sie benutzen serielles Protokoll (SPI) und sind keine Parallel-Programmer im eigentlichen Sinne (s.g. High-Voltage-Programmierung (HV). Also nicht Fuses oder so für parallel einstellen o.ä!!!).

Den abgespeckten SI-Prog verwende ich ohne Probleme, die erste Version kann man auch gut auf nem Steckbrett stecken.

Zu beachten ist, daß RESET invertiert werden muss, enteder in Hardware (im Progger wie oben durch den Tr1) oder durch Software (Progger-Einstellungen).

Die zwei Wege sind nicht ganz gleich, weil die Schaltung auch dann anlaufen soll, wenn der Adapter noch gesteckt ist. Unter unterschiedlichen Windows-Versionen wird offenbar die serielle Schnittstelle anders behandelt. Neben dem Progger von oben hab ich mir daher noch einen gemacht, der Reset nicht invertiert, sondern das Signal nur anpasst, wie z.B. MOSI /K1.4 und invertiere im Progger.

Der ganze Aufbau passt in einen Winz-Steckerhaube für SUBD9.

Lektor
01.02.2006, 10:56
ich benutze auch den Seriellen Progger von oben. Benutze nur PonyProg. Im AVR Studio funktioniert der nicht, habe ich schon probiert. In PonyProg muß ich nichts invertieren. Einfach mal ausprobieren.

ch4
01.02.2006, 21:59
Hallo,

//EDIT:

So, jetzt scheint das Pony-Prog mein Gerät zu erkennen. Allerdings dauert das Programmieren eeewig (etwa 5-10 min schreiben + nochmals soviel zeit zum verifizieren)...
ist das normal?

Muss ich irgendetwas besonderes im PonyProg einstellen?

Und das Programm funktioniert nicht mal.

Ich wollt nur mal ein Lauflicht mit den LEDs machen, nach dem Programmieren passiert allerdings nicht (und auch reset drücken / spannungsquelle entfernen-wiederanschließen bringt nix)

Blöde Frage: Welches File mus ich denn da im Ponyprog auswählen (und vor allem wie? man kann ja als device/flash/eeprom - file auswählen)?
Ich hab das Programm mal mit Bascom kompiliert. Da kommt eine .bin, eine .hex und eine .dbg raus. Welche soll ich nehmen?

Danke,
ch4

PS: Sorry wenn ich vielleicht nerve, ich bin halt, wie man merkt, noch nicht wirklich mit dieser Materie vertraut

ogni42
02.02.2006, 07:54
PonyProg will das HEX File.

Such mal auf micorcontroller.net. Da gab's mal Einstellungen zu PonyProg. Im Moment habe ich die nicht hier.

ch4
02.02.2006, 08:25
Es geht nicht...

Er sagt zwar immer Writing OK aber am RN-Control passiert nichts

Und wie gesagt, es dauert ewig, ist das normal?

ogni42
02.02.2006, 08:32
Poste doch mal ein bisschen mehr Information:

Welcher Prozessor?
PonyProg Init Datei.
Einstellungen beim Flashen.

Die Geschwindigkeit wird nicht so schnell sein, wie mit einer echten seriellen Schnittstelle, da USB_RS232 Konverter in der Regel etwas Geschwindigkeit kosten.

Wie gesagt, such mal auf

www.microcontroller.net

ch4
02.02.2006, 09:07
Prozessor: AtMega32 (RN-Control)
PonyProg-Init:


PowerUpDelay=200
LanguageCode=Default
SoundEnabled=NO
ClearBufferBeforeLoad=YES
MDAWriteDelay=0
SPIResetPulse=100
SPIDelayAfterReset=50
BigSPIPageWrite=16
ATMegaPageWriteDelay=50
AVRByteWriteDelay=20
AVREraseDelay=50
I2CBusSpeed=NORMAL
SPIBusSpeed=NORMAL
MicroWireBusSpeed=NORMAL
PICBusSpeed=NORMAL
SDEBusSpeed=NORMAL
LogEnabled=NO
VerifyAfterWrite=YES
ClearBufferBeforeRead=NO
AutoDetectPorts=YES
I2CBaseAddress=0xA0
I2CBusPageWrite=16
SerialNumberVal=7
DefaultFileType=INTEL-HEX
DeviceType=ATmega32
LastFile=E:\Anleitungen_Projekte\rn-control\basic_testprgramme\RNCONTROLTESTMEGA32.HEX ?DATA
PreviousFile=C:\Dokumente und Einstellungen\***\Eigene Dateien\tests\default-bascomtest\DEF-BASCOM.BIN?DATA
BogoMipsX1000=221870
InterfaceType=SI-ProgAPI
PortNumber=4
ResetPolarity=TRUE
ClockPolarity=TRUE
DOutPolarity=TRUE
DInPolarity=TRUE


Ich öffne die Dateien eigentlich immer als EEPROM-File und klicke dann auf Write Data Memory (EEPROM)

ogni42
02.02.2006, 09:16
Ändere mal den Eintrag "SPIBusSpeed" von "=NORMAL" auf "=FAST" oder "=TURBO".

Im "I/O port setup" "SI Prog I/O" wählen (dann versucht PonyProg die serielle
direkt anzusteuern).

Wie gesagt, erwarte keine Wunder, dafür sind die USB-RS232 Adapter nicht vorgesehen.

ch4
02.02.2006, 09:42
Hallo, danke für die Antwort

"SI Prog I/O" funktioniert nicht, bei Probe kommt "Test failed".

Ich verstehe übrigens immer noch nicht, wie ich die hex öffnen soll und wie ich sie drauf laden soll (Device/Flash/EEPROM)

Auf microcontrollr.net steht, ich soll die hex als flash öffnen und dann auf "write device" gehen.
Das problem ist: Es funktioniert bei mir nur "write eeprom", bei den anderen zwei hängt sich ponyprog bei mir auf.....

SprinterSB
02.02.2006, 09:43
5-10Minuten sind auf jeden Fall zu viel. Für 8k brauch ich da ca 10 - 15 Sekunden. Einmal muss Pony kalibriert werden auf die Schnittstelle (Interface setup oder so).

SprinterSB
02.02.2006, 09:46
Oje, erst jetze lese ich, daß du nen USB-2-RS232 hast!

Das SI-Prog (Pony in der Einstellung) muss direkt die Schnittstllen-Pins verändern, um dadurch ein SPI-Protokoll zu simulieren. Das ist aber jenseits von RS232. Je nachdem, wie der USB-Client/Treiber die RS232 virtualisiert, ist das nicht transparent für die Anwendung (Pony) und funktioniert nicht.

ogni42
02.02.2006, 09:59
Behalte dann SI Prog I/O bei.

Du lädst die HEX Datei und gehst dann auf Command->WriteFlash.

Bei mir hat es nur mit PonyProg2000 funktioniert. Das normale PonyProg ist abgestürzt.

EDIT: Sehe gerade, Du benutzt ja bereits PonyProg2000.

ch4
02.02.2006, 12:14
SI Prog I/O funktioniert nicht, da kommt dann immer die Meldung
"Communication Port not available (-16)"

ogni42
02.02.2006, 12:25
Versuch doch, das erst mal an einem Rechner mit normaler RS232 Schnittstelle zum Laufen zu bekommen. Dann an diesen Rechner den USB-RS232 Adapter anschliessen und nur den COM Port umstellen.

So kannst Du wenigstens den USB-RS232 Konverter als Fehlerquelle ausschliessen.

ch4
02.02.2006, 20:20
Hallo,
ich habe es bei einem Rechner mit normaler Seriellen Schnittstelle probiert und es funktioniert wunderbar! (wenn auch das Verifizieren immer noch etwa 2 Minuten dauert, aber das ist ok)

Gibt es denn keine gescheite Möglichkeit, es auch am Laptop mit USB-TO-Seriell Converter verwendbar zu machen?

Ich habe den hier: http://www.digitus.de/scripts/digdetail.asp?artnr=DA%2D70145

Kann man da was machen? Ich bin leider noch sehr unerfahren

Danke
ch4

ogni42
03.02.2006, 07:17
Die 2 Minuten sind normal. Bei meinem 16k Flash Chip dauert es genauso lange fürs verifizieren.

Zu dem Konverter kann ich Dir leider nichts sagen.

gandalf
08.02.2006, 10:41
Hallo ogni 42

bei http://www.myavr.de/start/board_2_usb.php

findest du einen USB Programmer

gandalf
08.02.2006, 10:41
Hallo ogni 42

bei http://www.myavr.de/start/board_2_usb.php

findest du einen USB Programmer

speedball
07.03.2006, 22:52
hi,

unter linux funktioniert der programmer übrigens wunderbar mit avrdude. als programmer-id nimmt man 'ponyser'.

gruß speedball