Problem mit Pony Prog ISP... MISO auf HI kommt nicht runter...

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 19 4 2024  22:50:32      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Problem mit Pony Prog ISP... MISO auf HI kommt nicht runter...

    







BID = 432990

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  
 

  


Hi all
ich hab n Problem mit dem ISP von Pony Prog:
Bild eingefügt

ha den an einen ATmega 8535 angeschlossen...
da es nicht frunktionierte ihn auszulesen (fehlermeldung:"Bad Device, select the Correct Type (-23)") hab ich dann mal die DAtenleitungen: MOSI, MISO, SCK und den Reset mit dem Oszi gemessen... normal müssen ja alle außer der reset (im leerlauf) auf LOW sethen...
SCK und MOSI sind auf LOW aber der MISO ist auf HI (und der reset auch)...

hab mal versucht ihn (ohne µC) mit nem wiederstand auf der µC seite herunter zu ziehen... aber hat auch nicht geklappt... (hab direkt am LPT port gemessen...)

Ich denke mal dass es daran liegt, dass ich die fehlermeldung vom Pony Prog bekomme...

Hab auch schon mit Don Comi darüber gesprochen... der vermutet, dass der 74HC244 zu schwach ist, den Pin 10 vom LPT port auf 0 zu ziehen...

Was kann ich tun, dass der MISO im leerlauf 0 hat??

Ach ja, obwohl er auf 1 ist mess ich beim ausleseversuch (mit oszi), dass ein signal da is (also wechlt ummer von 1 auf 0 und anderstrum)



Vielen Dank!!

mfg
ZeRo-Cool

BID = 433036

Dombrowski

Stammposter



Beiträge: 450

 

  

Moin.

Was meinst du mit "Leerlauf"? Nachdem Ponyprog gestartet ist und die Grundinitialisierung ausgeführt hat? Denn unmittelbar nach Einschalten und BIOS-Durchlauf bleibt am Parport normalerweise ein unbestimmtes Testmuster vom BIOS stehen; das ist also nicht ausschlaggebend.
Und auf welcher Seite vom 244 hast du gemessen? Im Ruhezustand, aber nachdem Ponyprog gestartet ist, sind die Treiber im 244 auf hochohmig geschaltet. Es ist klar, dass dann auf der Seite zum PC hin HIGH-Pegel vorliegt - wegen des Pullups in der PC-Hardware. Wenn er niederohmig geschaltet ist, hat ein HC244 ganz sicher das Fanout, um ACK auf LOW zu ziehen. Und auf der Eingangsseite vom 244 kommt es darauf an, was dort angeschlossen ist. HC und überhaupt CMOS soll man ja nicht offen betreiben.

Falls du noch kein Programm zum Lowlevel-Testen vom Parport hast: vor wenigen Wochen ging hier im Unterforum ein Tipp für ein Windowsprogramm durch, mit dem Bits setzen und abfragen kann. Such mal nach "LPT" oder so.

D.


BID = 433045

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  

Hi meinst du das hier??
http://neil.fraser.name/software/lpt/lpt.exe

was soll ich damit genau machen??
(muss dazu sagen ich will erst anfangen assembler zu lernen (wenn doch der programmer endlich mel funktionieren will )
-ISP+AVR acnhließen, starten und screenshot machen?? (und hier posten)?

Sry meinte mit "llerlauf" den Ruhezustand...

und dort hab ich dann zum PC hin und zum µC ein Hi Signal...

Am einganh des HC244 hängt dirket der µC dran...

Vielen Dank!!
mfg
ZeRo-Cool

BID = 433053

Dombrowski

Stammposter



Beiträge: 450

Moin.


Zitat :
Hi meinst du das hier??
http://neil.fraser.name/software/lpt/lpt.exe
Ja, aber ich hab selber kein Windows und kann es nicht beurteilen.


Zitat :
was soll ich damit genau machen??
Testen, ob sich die Veränderung von einzelnen Bits genau wie erwartet an den Parportpins und am Programmieradapter widerspiegeln.


Zitat :
Sry meinte mit "llerlauf" den Ruhezustand...

und dort hab ich dann zum PC hin [ein Hi Signal]
Ja, und das ist doch korrekt so.


Zitat :
und zum µC ein Hi Signal...
Von dort. Ok, Pullup R14 macht auch ein Hi. Den µC dran zu lassen, während du Lowlevelversuche machst, ist aber nicht so empfehlenswert.

Mit dem Lowlevel-Preogramm kannst du ja den 244 enablen, also auf niederohmig schalten. Und dann legst du den MISO-Eingang am 244 auf LOW oder lässt ihn, mit vorhandenem Pullup R14, offen und guckst nach, ob das über die ACK Leitung zum PC hin durchgereicht wird. Aber wie gesagt, bei rausgezogenem µC.

D.

BID = 433057

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  


Zitat :
Testen, ob sich die Veränderung von einzelnen Bits genau wie erwartet an den Parportpins und am Programmieradapter widerspiegeln.

Also du meinst ich soll schaun ob der pin 10 des LPT's Low ist, wenn mir das prog dort einen hacken gesetzt hat...
Hab nun versucht mal zum vergleich (dass ich das programm verstehe ein paar pins zu messen, bei denen ich den hacken raus nehmen und einsetzten kann) dort änder sich dann bei keinem hacken der zustand auf Hi und wenn ich ihn setzte auf LOW

hab das auch bei Acknowledge (schreibt man das so??) probiert aber da lässt sich der hacken einfach nicht entfernen und der zustand am PIN10 des LPT Port's ist immer Hi Pegel

Hab ich das so richtig vertanden oder komplett falsch??
(Sry aber bin wie gesagt anfänger)

Vielen Dank!
mfg
ZeRo-Cool

BID = 433064

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  



ARRRGGGGHHHHHH!!!!!!
sch...e bin ich blöd!!!!!


Ich hab ned gesehn, dass es im Pony Prog noch einen ATmega 8535 gibt sondern nur dass es einen AT90S8535 gibt und den dann auch genommen, grad hab ich es durch zu fall gemerkt...

Jetzt funktioniert natürlich alles....

Sry für den Sinnlosen Tread

und trotzdem danke für deine bemühungen...


mfg
ZeRo-Cool

BID = 433083

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Nein!

Habe ich doch gestern gesagt, dass du den ATmega8535 und nicht den AT90S8535 wählen sollst. Deswehen habe ich dir ja den Link für die Version 2.06f Beta gegeben, wo explizit der mega8535 ausgrwählt werden soll.


Na, schön, dass der Programmer jetzt läuft




_________________

BID = 433094

Dombrowski

Stammposter



Beiträge: 450

Moin.

Na gut, auch wenn das Thema jetzt erledigt ist...


Zitat :
Also du meinst ich soll schaun ob der pin 10 des LPT's Low ist, wenn mir das prog dort einen hacken gesetzt hat...
Umgekehrt. An Pin 10 einen Pegel anlegen und daraufhin schauen, ob er auch vom Programm so angezeigt wird.


Zitat :
Hab nun versucht mal zum vergleich (dass ich das programm verstehe ein paar pins zu messen, bei denen ich den hacken raus nehmen und einsetzten kann) dort änder sich dann bei keinem hacken der zustand auf Hi und wenn ich ihn setzte auf LOW
Ob das Programm evtl. auf einem falschen LPT arbeitet und wie es sonst konfiguriert wird, dazu kann ich nichts sagen.


Zitat :
hab das auch bei Acknowledge (schreibt man das so??) probiert aber da lässt sich der hacken einfach nicht entfernen und der zustand am PIN10 des LPT Port's ist immer Hi Pegel
Das ist ja auch ein Eingang.

Hier noch eine Darstellung vom Adapter, die für etwas mehr Klarsicht sorgt. Denk ich doch.

D.



BID = 433096

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Moin,

@Dombrowski
Jau, schöner Plan. Das ist sehr saber gemacht!

@Zero-Cool
Den Widerstand vom HC244er zum Pin10 (ACK) solltest du auch wieder reinsetzen. Das dient in erster Regel zur Sicherheit.

(Ich schrieb ja bereits, dass ich diesen Widerstand nicht drin habe... Aber sicherer ist das )

_________________

BID = 433097

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  

@dombrowski danke für den plan nun hab ichs auch etwas besser verstanden...

@doncomi
jop das war das erste, was ich nach der funktion wieder gemacht hab^^


Mal noch ne andere frage (passt zwar ned ganz zut topic) aber trotzdem:

Wie sollte ich am besten anfangen, schätze mit tutorial hab da 2 st gefunden:

http://www.avr-asm-tutorial.net/avr_de/index.html#download
http://www.mikrocontroller.net/articles/AVR-Tutorial

Das obere hab ich etwas begonnen, is aber leider nur theorie und keine praxis
und das untere scheint mir fasst etwas knapp...

Gibts da noch andere gute im netz (hab leider ned mehr gefunden...)

ach ja und das hier hab ich grad auch noch gefunden:
http://ulrichradig.de/site/infos/pdf/AtmelCprogramming.pdf
ist aber für C und ich nehme an, dass es warscheinlich sinvoller ist (da ich weder C noch Assembler kenntnisse hab (noch )), dass es besser ist, mit Assembler an zu fangen... oder?

Oder ist da ein Buch am besten???
Falls ja vieleicht gute vorschläge...

Vielen Dank
mfg
ZeRo-Cool

[ Diese Nachricht wurde geändert von: ZeRo-Cool am 29 Mai 2007 14:38 ]

BID = 433104

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Hallo,

Ich habe mir damals Assembler einzig mit dem Datenblatt beigebracht. Unter Instruction Set Summary sind alle Mnemonics (das sind die Assemblerbefehle) samt Operatoren, Operationsflaggen und Anzahl an Taktzyklen zur Verarbeitung angegeben.

Ich würde auch definitiv mit ASM anfangen, habs auch so gemacht.
Da lernt man, wie die CPU arbeitet.

Du kannst mich immer gerne fragen, wenn du in ASM nicht weiterkommst. ICQ klappt ja.


Es ist nur so, ASM kannst du für diese CPU ur dann richtig lernen, wenn du auch bereit bist, lange im Datenblatt zu lesen, wenn du beispielsweise Hardware wie UART, Timer etc nutzen möchtest.

Neben dem reinen Assembler bietet AVR Studio auch Makros und Präprozessor-anweisungen an. Das ist ein mächtiges Werkzeug.

_________________

BID = 433109

ZeRo-Cool

Gesprächig



Beiträge: 179
Wohnort: Kreßberg
ICQ Status  

hmm du meinst ich kann mir wirklich die komplette asm spracher ü+bers datenblatt aneigenen und auch verstehen???
Hört sich eigentlich ganz interesannt an, nur weiß ich da grad irgendwie gar ned wie womit usw usw ich überhaupt anfangen soll / muss...^^

Stehen denn im datenblatt alles befehle...
Könntest mir vieleicht grob sagen wo und wie ich da am besten drin reinkomme, denn ich schätze mal, dass wenn man mal so die ersten 2-3 programme hat (also dann aus dem datenblatt) dass der rest dann von ganz alleine nach und nach kommt oder??

Wielange braucht man denn, um ASM einigermasen gut verstehen und anwenden kann?? (gaaaanz grob)

Was mir grad noch sorgen macht is, dass es das datenblatt ja nur in englisch gibt... oder kann man da irgendwoher ne deutsche version bekommen?? machts einfach zum vertehen...


Vielen Dank!

mfg
ZeRo-Cool

[ Diese Nachricht wurde geändert von: ZeRo-Cool am 29 Mai 2007 15:11 ]

BID = 433114

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Hallo,
Ja, ich behaupte, dass, wenn man nur eine Grundahnung von digitalen Verknüpfungen, Registern und Binärzahlen hat, man sich allein mit dem Instruction Set Summary Assembler für AVR aneignen kann.

Ein paar Sachen sind zu beachten, wie Eigenarten einiger Register oder der Begrenztheit diverser Sprungbefehle. Aber das ist alles erstmal nebensächlich; das lernt man automatisch mit.

Geh mal realistisch davon aus, dass du nach ca. einer Woche das erste, leichte Programm schreiben kannst.

Mein allererster Befehl war:

ldi r16, 100

Du kannst mit dem AVR Studio deine Programme simulieren. Dazu steht neben dem Befehl ein Pfeil und wenn du einen chritt weitergehst, dann wird der Befehl ausgeführt. Dabei kannst du den Inhalt aller Register direkt auf dem Bildschirm schritt für Schritt verfolgen.

Ganz groß fängt man bei 0 an. Der Programmzähler beginnt bei der Adresse 0x0000 (am Anfang des Flash) und arbeitet sich dann durch. (auch hier gilt: es gibt Ausnahmen wie die Vektoren um ein Offset zu erhöhen (Bootloader))

Der erste Befehl sollte immer die Initialisierung des Stackpointers sein. Was das ist, wirst du lernen.
das klappt so:

ldi r16, LOW(RAMEND)
ldi r17, HIGH(RAMEND)
out SPL, r16
out SPH, r17

ldi ist klar, damit wird eine Konstante in ein Register geladen. Grundsätzlich gilt für ldi: dieser Befehl funktioniert nur mit Registeradresse > 15!
LOW und HIGH gehören zum Präprozessor, werden also vom Compiler selbst benutzt. Sie geben nur bestimmte Bereiche einer Zahl (z.b. das unterste Byte) zurück. (RAMEND ist größer als 255)

out SPL, r16 bedeutet, dass derr Wert aus r16 nach SPL gepackt wird. SPL ist nur ein Platzhalter für die IO-Adresse vom Stackpointerregister (unteres Byte)


Aber kopier dir diese Zeilen einfach mal, und beginne dann mit einfachen Registersachen.


a ich hier keinen roman schreiben will, musst du mich gezielt fragen, wenn du was im Datenblatt nicht verstehst.

_________________


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag       heute wurden bisher 17 Beiträge verfasst
© x sparkkelsputz        Besucher : 180932392   Heute : 8893    Gestern : 8415    Online : 665        19.4.2024    22:50
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.039724111557