Forums

USB to LPT converter for wiggler?

Started by ds19968902 October 15, 2006
I was wondering if anyone knew of solution to convert a usb port to a
parallel lpt port so that I could use a parallel wiggler with
crossstudio without having a parallel port. It seems like such a
simple idea but I can't find anything about it. Do any vendors like
ftdi offer a chip to do it?
Thanks, eric

An Engineer's Guide to the LPC2100 Series

>I was wondering if anyone knew of solution to convert a usb port to a
>parallel lpt port so that I could use a parallel wiggler with
>crossstudio without having a parallel port. It seems like such a
>simple idea but I can't find anything about it. Do any vendors like
>ftdi offer a chip to do it?
>Thanks, eric

Not a direct answer - but I have successfully used a PCMCIA parallel port
card with various debuggers, although not specifically a wiggler. This
might be an alternative option for you.
Regards,
Richard.

+ http://www.FreeRTOS.org
+ http://www.SafeRTOS.com
for Cortex-M3, ARM7, ARM9, HCS12, H8S, MSP430
Microblaze, Coldfire, AVR, x86, 8051, PIC24 & dsPIC
ds19968902 wrote:
>
> I was wondering if anyone knew of solution to convert a usb port to a
> parallel lpt port so that I could use a parallel wiggler with
> crossstudio without having a parallel port. It seems like such a
> simple idea but I can't find anything about it. Do any vendors like
> ftdi offer a chip to do it?
> Thanks, eric
>
Sandberg is making a USB to PARALLEL converter. So the solution exists!
*http://printersalg.computersalg.dk/produkt.html?varenummer!6935&gruppe9&Extended=&serie=&producent=Sandberg

Regards
Jan Thoegersen
*
On Sunday 15 October 2006 11:57, ds19968902 wrote:
> I was wondering if anyone knew of solution to convert a usb port to a
> parallel lpt port so that I could use a parallel wiggler with
> crossstudio without having a parallel port. It seems like such a
> simple idea but I can't find anything about it. Do any vendors like
> ftdi offer a chip to do it?
> Thanks, eric

There are USB-to-LPT converters, but you can't use these to work with a
Wiggler, as they are mostly for use with parallel port printers. While the
idea might seem simple, you can't just access a device via USB like you would
with a parallel port interface.
The Wiggler is a bitbanging interface, toggling parallel port data lines and
reading back signals on the status lines, and each access to the port takes
about 1us. On a USB interface, you send data in packets, in frames of 1ms
(USB 1.1) or 125us (USB 2.0) - bitbanging with that latency is going to be a
performance nightmare.
All Wiggler software I've seen so far expects the parallel port to be
accessible via I/O accesses (inb, outb) to some of the standard parallel port
addresses (0x278, 0x378, ...), but the USB-to-LPT converters don't offer this
access type.

Regards,

Dominic
----- Original Message -----
From: "ds19968902"
To:
Sent: Sunday, October 15, 2006 10:57 AM
Subject: [lpc2000] USB to LPT converter for wiggler?
>I was wondering if anyone knew of solution to convert a usb port to a
> parallel lpt port so that I could use a parallel wiggler with
> crossstudio without having a parallel port. It seems like such a
> simple idea but I can't find anything about it. Do any vendors like
> ftdi offer a chip to do it?

The Wiggler software needs direct access to the printer port. In theory, it
could be made to work with special software drivers, but I can't see any of
the suppliers of ARM tools doing it. The best solution would be a USB
interface, like the one from CrossWorks. It's only 99, which is probably
cheaper than a genuine Wiggler.

Leon
Leon Heller schrieb:
> The Wiggler software needs direct access to the printer port. In theory, it
> could be made to work with special software drivers, but I can't see any of
> the suppliers of ARM tools doing it. The best solution would be a USB
> interface, like the one from CrossWorks. It's only 99, which is probably
> cheaper than a genuine Wiggler.

There also exists an USB to parallel converter that supports direct low
level port access:

http://www-user.tu-chemnitz.de/~omat/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en

It should work but I would also not recommend it as multiple read
accesses will slow it down very much because of the usb latencies.

Kai
FYI: It could be done by my USB-LPT cable too:
http://www.hwml.com

Aryeh
--- In l..., Kai Gossner wrote:
>
>
> Leon Heller schrieb:
> > The Wiggler software needs direct access to the printer port. In
theory, it
> > could be made to work with special software drivers, but I can't
see any of
> > the suppliers of ARM tools doing it. The best solution would be a
USB
> > interface, like the one from CrossWorks. It's only 99, which is
probably
> > cheaper than a genuine Wiggler.
>
> There also exists an USB to parallel converter that supports direct
low
> level port access:
>
> http://www-user.tu-chemnitz.de/~omat/bastelecke/Rund%20um%20den%
20PC/USB2LPT/index.html.en
>
> It should work but I would also not recommend it as multiple read
> accesses will slow it down very much because of the usb latencies.
>
> Kai
>



Dominic, That makes a lot of sense.

The appeal is that wiggler clones are well supported by more than just
one IDE and can be made for pennies but comes at a cost of a parallel
port which im not too fond of.

I am really just curious if it would be possible to create a usb
wiggler that could actually just utilize the same crossstudio or iar
driver and possibly have a "psuedo" lpt driver that would actually
translate the bit-banging instructions into chunks of data, but if you
must wait for a response from the target after every toggle of a pin
then this dosn't improve the speed.

Something else that just popped into my head: What if the psuedo lpt
driver actually just monitored the address writes and translated them
into a serial stream which then went over usb and gave the command to
a small microcontroller that then toggled the jtag pins accordingly
and relayed the data back. Would something like this work, and if it
did could it have the potential of being faster than the original wiggler.

I would really like to see continued support by the IDE developers to
keep wiggler and have it grow to a standard. This is probably just
beating a dead horse since wiggler is really just software, and not
really a hardware interface. I just wish jtag across all devices could
really live up to its potential

I am not in need of a solution, i have a parallel port =), i am more
just curious about the possiblity of doing something along these lines

Thanks!
eric

--- In l..., Dominic Rath wrote:
>
> On Sunday 15 October 2006 11:57, ds19968902 wrote:
> > I was wondering if anyone knew of solution to convert a usb port to a
> > parallel lpt port so that I could use a parallel wiggler with
> > crossstudio without having a parallel port. It seems like such a
> > simple idea but I can't find anything about it. Do any vendors like
> > ftdi offer a chip to do it?
> > Thanks, eric
>
> There are USB-to-LPT converters, but you can't use these to work with a
> Wiggler, as they are mostly for use with parallel port printers.
While the
> idea might seem simple, you can't just access a device via USB like
you would
> with a parallel port interface.
> The Wiggler is a bitbanging interface, toggling parallel port data
lines and
> reading back signals on the status lines, and each access to the
port takes
> about 1us. On a USB interface, you send data in packets, in frames
of 1ms
> (USB 1.1) or 125us (USB 2.0) - bitbanging with that latency is going
to be a
> performance nightmare.
> All Wiggler software I've seen so far expects the parallel port to be
> accessible via I/O accesses (inb, outb) to some of the standard
parallel port
> addresses (0x278, 0x378, ...), but the USB-to-LPT converters don't
offer this
> access type.
>
> Regards,
>
> Dominic
>
--- In l..., "ds19968902" wrote:
>
> Dominic, That makes a lot of sense.
>
> The appeal is that wiggler clones are well supported by more than just
> one IDE and can be made for pennies but comes at a cost of a parallel
> port which im not too fond of.
>
> I am really just curious if it would be possible to create a usb
> wiggler that could actually just utilize the same crossstudio or iar
> driver and possibly have a "psuedo" lpt driver that would actually
> translate the bit-banging instructions into chunks of data, but if you
> must wait for a response from the target after every toggle of a pin
> then this dosn't improve the speed.
>
> Something else that just popped into my head: What if the psuedo lpt
> driver actually just monitored the address writes and translated them
> into a serial stream which then went over usb and gave the command to
> a small microcontroller that then toggled the jtag pins accordingly
> and relayed the data back. Would something like this work, and if it
> did could it have the potential of being faster than the original
wiggler.
>
> I would really like to see continued support by the IDE developers to
> keep wiggler and have it grow to a standard. This is probably just
> beating a dead horse since wiggler is really just software, and not
> really a hardware interface. I just wish jtag across all devices could
> really live up to its potential
>
> I am not in need of a solution, i have a parallel port =), i am more
> just curious about the possiblity of doing something along these lines
>
> Thanks!
> eric
>
> --- In l..., Dominic Rath wrote:
> >
> > On Sunday 15 October 2006 11:57, ds19968902 wrote:
> > > I was wondering if anyone knew of solution to convert a usb port
to a
> > > parallel lpt port so that I could use a parallel wiggler with
> > > crossstudio without having a parallel port. It seems like such a
> > > simple idea but I can't find anything about it. Do any vendors like
> > > ftdi offer a chip to do it?
> > > Thanks, eric
> >
> > There are USB-to-LPT converters, but you can't use these to work
with a
> > Wiggler, as they are mostly for use with parallel port printers.
> While the
> > idea might seem simple, you can't just access a device via USB like
> you would
> > with a parallel port interface.
> > The Wiggler is a bitbanging interface, toggling parallel port data
> lines and
> > reading back signals on the status lines, and each access to the
> port takes
> > about 1us. On a USB interface, you send data in packets, in frames
> of 1ms
> > (USB 1.1) or 125us (USB 2.0) - bitbanging with that latency is going
> to be a
> > performance nightmare.
> > All Wiggler software I've seen so far expects the parallel port to be
> > accessible via I/O accesses (inb, outb) to some of the standard
> parallel port
> > addresses (0x278, 0x378, ...), but the USB-to-LPT converters don't
> offer this
> > access type.
> >
> > Regards,
> >
> > Dominic
>
Folks, you have to remember that USB parallel port adapters are not
parallel ports from Windows perspective of view - they do implement
printing services over USB bus, which is standartized by USB
consorcium. All the "wiggler" like devices operate via direct access
to the parallel port registers, which is prohibited in current Windows
revisions (from user space perspective of view). You have to have
kernel mode driver which will permit such an access. There are few
libraries around which do permit such an access (they do implement
kernel driver functionality inside), but even having such a driver,
but missing physical parallel port might be an issue. The thing is,
that parallel bus is enumerated entity upon boot-up - you should
remember bootable parallel port floppy devices, Jazz drives etc. In
order to fake the register access you will have to implement intercept
using debug-like trace/stop point with the corresponding handler - I
saw it working somewhere
(http://www-user.tu-chemnitz.de/~omat/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en)

Take a look - this is exactly what are you looking for. The main trick
is on a Windows side, not the micro.

Just my 10 cents.

Alex
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ds19968902 wrote:
> I would really like to see continued support by the IDE developers to
> keep wiggler and have it grow to a standard. This is probably just
> beating a dead horse since wiggler is really just software, and not
> really a hardware interface. I just wish jtag across all devices could
> really live up to its potential
>
> I am not in need of a solution, i have a parallel port =), i am more
> just curious about the possiblity of doing something along these lines

Indeed, I'm still a bit puzzled about how JTAG can be an industry-wide
standard (IEEE even), but still there appears to be no generally used
software API for JTAG devices (please correct me if I'm wrong).

Instead, almost everything that uses JTAG comes with its own cable and
its own specific JTAG driver.

Bertrik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFNQ4ZETD6mlrWxPURAtW+AJ9kByuM+gdKvTQIxcpEczsL/V8S5gCdGgN+
RToTEj4DthrzO+oNw6pnwSo=riXy
-----END PGP SIGNATURE-----