www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB zu LPT JTAG


Autor: JIPSO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin neu in diesem gebiet, habe hier auch schon im Forum rumgeschaut 
habe aber nie was passendes dazu gefunden.

Es geht darum, ich habe einen Jtag für einen Reciver er wird über einen 
LPT anschluss mit dem PC verbunden (Jtag habe ich selber 
zusammengestellt). Das Klappt auch alles wunderbar ich kann den auch 
Reciver flashen.
Aber mich nervt diese große LPT kabel.

Ich habe mir überlegt ob es nicht möglich wäre, USB stat dem lpt kabel 
zu nehmen. Jetzt steh ich vor einem Problem, ich weiß nicht wie ich es 
machen soll.

Meine Idee ist ich nehme eine größere Platine und löte den "jtag 
interface" ganz normal drauf aber anstatt des SUB D  steckers verbinde 
ich die fasern mit dem USB interface der auch auf der gleichen platine 
draufgelötet wird (USB <> LPT).

ISt sowas möglich ?

Autor: AVRfreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach USB mit dem LPT verbinden geht natürlich nicht. USB ist ein 
serielles Interface und LPT ist ein paralleles (auch wenn JTAG seriell 
ist).

Die Verwendung eines im Hanel erhältlichen USB-LPT Adapterkabel (für den 
Anschluss von Druckern gedacht) funktioniert mit den LPT basierenden 
("Wiggler" kompatiblen) JTAG Programmern auch nicht, da die notwendigen 
Timings der einzelnen JTAG-Signale vollkommen verloren gehen, wenn es 
denn überhaupt funktionieren würde, einzelne Datenbits des LPT 
anzusteuern.

Such mal nach "USB2LPT", da findet man eine brauchbare Lösung des 
Problems, da ein spezieller USB-Treiber den Bulk-Transfer ermöglicht.

Ob die besonders preiswerte Variante mit einem Atmel ATMega µC 
ausreichend schnell ist, muss/sollte man mal ausprobieren. Da ja das 
JTAG-Interface nur 6 Signale umfasst, braucht man ja auch keinen 
"vollständigen" LPT-Port und könnte als µC auch einen ATtiny44 im 
platzsparenden DIL 14 Gehäuse verwenden.

Autor: Google Nutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guck mal hier, das sollte funktionieren ...

Beitrag "[V] USB nach Parallel-Wandler (nicht nur Drucker)"

Autor: AVRfreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau das meinte ich, hab das hier nur nicht auf die Schnelle 
gefunden.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fürchte bloss, dass auch diese Sorte USB/Parallel-Adapter nicht um 
den 1KHz-Takt des USB-Protokolls herum kommt.

Wenn also zwischen Controller und LPT keine Intelligenz steckt, wird das 
das aufgrund unpassenen Timings entweder garnicht, oder nur 
schnarchlangsam funktionieren.

Autor: Google Nutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www-user.tu-chemnitz.de/~heha/bastelecke/Ru...

da ist der beschrieben und laut beschreibung kann er das

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für ein 1kHz Takt?

Das dürfte wohl eine Verwechselung damit sein, dass USB nun mal 
paketorientiert ist und dadurch keine sinnvollen Datenraten 
herauskommen, wenn man versucht einzelne Bits zu übertragen.

Ohne einen USB Controller, der direkt JTAG kann, wird das zu keinem 
brauchbaren Ergebnis führen. Die USB/LTP Adapter kann man für sowas 
geflissentlich vergessen.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ JIPSO:

Benutz doch gleich den FT2232 von FTDI, der hat ein JTAG-Interface 
eingebaut, und lässt sich leicht über das API ansteuern.

Dieser Adapter von Henrik kann sich auch nicht um die USB Spec drücken.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Körber wrote:

> Das dürfte wohl eine Verwechselung damit sein, dass USB nun mal
> paketorientiert ist und dadurch keine sinnvollen Datenraten
> herauskommen, wenn man versucht einzelne Bits zu übertragen.

USB arbeitet in einem Zeitraster von 1KHz, d.h. wenn du per Bitbanging 
am Parallelport einen Takt erzeugst und jedesmal den Zustand eines Pins 
abfragst, kommt bestenfalls ein Takt von 500Hz dabei raus.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte höchstens per Isochronem Streaming alle 125µs einen Datensatz 
abholen, aber das sind ja auch nur 8Khz dann.
Ansonsten halt das JTAG Protokoll zum Beispiel auf dem Cypress FX2 
implementieren. Ich arbeite gerade mit dem, im BULK-Transfer knallt der 
mit 11 Datenpakete zu je 512Byte in einen Microframe, macht im Windows 
knapp 40MByte/s Streaming.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>USB arbeitet in einem Zeitraster von 1KHz, d.h. wenn du per Bitbanging
>am Parallelport einen Takt erzeugst und jedesmal den Zustand eines Pins
>abfragst, kommt bestenfalls ein Takt von 500Hz dabei raus.


USB benutzt eine 1kHZ Framerate, das ist richtig, High Speed hat dann 
aber Microframes von denen 8 in einem Frame sind.

Deine Aussage mit den 1kHz trifft ausschließlich auf Interrupt Transfers 
bei Full Speed zu.

Autor: AVRfreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lange Rede, kurzer Sinn:

Hab mal schnell diesen USB2LPT-Adapter mit einem ATtiny461 (hatte ich 
gerade zur Hand) aufgebaut und damit bei einen DVB-S Receiver (Edison 
Tyran, hab ich hier gehabt) den Bootlader-Code (64 KByte) per 
JTAG-Interface geflasht. Funktioniert bestens, aber es ist natürlich 
deutlich langsamer als mit einem direkten LPT-Anschluss. Man benötigt 
ca. die vierfache Zeit, d.h. ca. 40 min für 64 KByte mit dem 
USB2LPT-Adapter gegenüber ca. 10 min mit einem LPT-Port. Was will man 
mehr, sobald der Bootlader auf der Box o.k. ist, kann man die Firmware 
(ca. 2 MByre) wieder per RS-232 in ca. 5 min mit 115.200 Baud flashen.

Autor: AVRfreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch als Ergänzung eine Anmerkung zur erreichbaren Flash-Zeit:

In dem Receiver ist ein 29M160 Flash-Chip und mit Optimierung der 
Timingparameter flasht man die 64 KByte des Boot-Loaders mit dem 
USB2LPT-Adapter über das JTAG-Interface in ca. 15 min. Die ca. 40 min 
kamen mir doch sehr langsam vor und waren hauptsächlich durch für den 
USB-Transfer ungünstig gewählte Timing-Parameter bedingt. Mit 
Optimierung der Timing-Parameter ist das USB2LPT-Interface also ein 
brauchbarer Ersatz für einen LPT-Port.

Hab mal versucht ein Layout mit einem ATtiny44 (reicht ja für die 6 
Jtag-Signale zum Flashen) im DIL-Gehäuse zu entwerfen und man bekommt 
das mit einer kleinen einseitigen Leiterplatte und bedrahteten 
Bauelementen (also keine SMDs) realisiert.

Autor: Rudolph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Ding braucht 64 KB für einen RS232 Bootloader? Wuff.

Autor: AVRfreak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der eigentliche Boot-Loader wird wahrscheinlich keine 64 KByte 
benötigen, aber Boot-Block im Flash-EPROM (29M160) ist wohl 64 KByte 
groß und muss/kann nur als 64 kByte Block geflasht werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.