BASIC4MCU | 통신 | USB | Parallel to USB Converter “LPTzUSB”
페이지 정보
작성자 키트 작성일2017-09-01 11:22 조회1,815회 댓글0건본문
Parallel to USB Converter “LPTzUSB”
A description for do-it-yourself; Device no more available, see bottom of page for possible alternatives
This device enables connecting of a USB printer to an old-style parallel port. LPTzUSB kann be attached either directly or with an extension cable to computer's printer port. (LPTzUSB has a 25-pin SubD male connector). On the other face of LPTzUSB, a standard USB cable has to be connected to the printer (LPTzUSB has a 4-pin USB-A socket).
Photo of complete device. The green LED shows the USB connection status; the red LED the power statusThe Host Controller used supports USB Full-Speed (12 Mbit/s) and Low-Speed (1,5 Mbit/s) but not High-Speed (480 Mbit/s). All known printers use USB Full-Speed.
The use of an external AC/DC adaptor is highly recommended. It must supply (exactly or at least, depending on revision, see below) 5 V and at least 50 mA.
USB hubs between LPTzUSB and printer are currently not supported. However, multi-function devices (with scanners, card readers, etc.) are supported, but only for printing.
This device is not suitable for capturing printer data with another PC! For this purpose, another project named LptCap exists. That device allows, in conjunction with my service-like application software SPE, re-formatting of printer data to any Windows printer (including PDF generators and FAX transmitters), i.e. translation of printer languages.
This device is not suitable for the opposite direction! For this purpose, USB→ParallelPrinter converters are widely available for about 5 € each. For connecting thingsother than printers, my project USB2LPT exists.
Recommended for connecting USB printers to:
Windows95 systems (or older)
There must exist an appropriate printer driver for the desired operating system! Or the printer must support a common language like PostScript, PCL, ESC/P or Text-Onlyolder PCs or laptops/notebooks
There are IMHO no ISA USB cards aroundParallel Printer Switch Boxes (2 PCs at 1 printer or similar)
You may combine with USB to Parallel Converters too!Pocket databases, ancient computers (Apple Classic, C64, Amiga, Atari…)
Bureau machines, cash stations, store-managing systems
Tool machines (e.g. for a protocol printer)
Not recommended for:
- Computers with PCI slots should be upgraded with (cheap) USB cards
- Something else than printers.
USB memory will be supported in the future, LPTzUSB will then simulate a remote computer for Total Commander.
- USB dongles (software protection devices) cannot be supported ever!
- DOS software that runs in a Windows' DOS box and will print to an LPT: Here, a software-only solution is much better that redirects output to USB. (VDD in preparation)
Successor model:
A successor of the device described below is in preparation using eitherPIC32MX420,
AT32UC3B0128, or
LM3S5632 microcontroller. This will break the 30 kByte/s data transfer rate of the current design, and is even cheaper.
Use as development kit:
Because this converter contains a well-known microcontroller ATmega16 and a „bidirectional“ USB Host+Device controller, an enthusiastic programmer can make very different things. For example, a USB mouse to serial or PS/2 converter, a USB keyboard to DIN or PS/2 converter, a copy device from a USB scanner or digital camera to a USB printer (via Hub) etc.Making the device
I have used professional PCBs. All production data is available in Eagle (a German PCB CAD software) format. For minimizing effort for reflow process, all SMDs are on one side only.Parts list / Bill Of Materials
USB Host/Device controller SL811HST-AC 428-1464-ND 6,74+ Voltage regulator TPS76133 296-11010-1-ND 0,89+ Voltage regulator μA78L05 0,12 MCU ATmega16 ATMEGA 16-16 TQ 2,55 Crystal 12000 kHz 12,0000-HC49U-S 0,23 SubD male plug 25-pin D-SUB ST 25 0,10 LED red + LED green LED 3mm rt 0,05 LED 3mm gn 0,05 USB socket Type A USB AW 0,20 Hollow socket HEBW 21 0,26 „Infantry“ PCC2233CT-ND 0,156+ *2 X7R-G0603 100n 0,05 *2 NPO-G0603 22p 0,05 *2 BCN16 22k 0,02 BCN16 22 0,02 SMD-0805 2k2 0,08 *2 BAT 54C 0,07 1N4148SMD 0,04 Housing COM 938 0,30 PCB ul-11.brd 5,00 USB cable AK 672/2-2,0 0,60 Component placement
SMD components and crystal are placed as usual.Known from USB2LPT there are two sockets that will be placed as edge-mount devices although not suited for.
The SubD plug can be easily mounted in edge-mount technology.
Housing: Don't forget the holes for LEDs and the labels.
The PCB inside. (For former release click here.) All SMDs are reflow-friendly on one side onlyProgramming
Programming of ATmega16 will be done with AC/DC converter and a special parallel-port adapter directly at the parallel port, e.g. with PonyProg. The RESET connection will be done via internal solder bridge SJ2. This bridge must be closed for programming and may remain closed for operating the device. All JTAG signals are fed to the SubD plug too (for programming and/or debugging), but I've not used these pins anymore.The PonyProg configuration bits must be set as shown in the following picture:
Configuration bits: Please set accordingly!Software
- Schematic, Eagle data
of PCB, Programming adaptor for PonyProg
- New: Rev.1 with internal 5V regulator eliminates the need for a regulated AC adaptor:
Schematic, Eagle dataof PCB, Programming adaptor is the same
- Firmware for microcontroller
Usage
- Original device
- An AC/DC adaptor with regulated output voltage 5 V is highly recommended! The device is protected against wrong polarization but not against overvoltage!
- Rev.1 (after 2007)
- An AC/DC adaptor with at least 8 V output voltage is necessary. Non-regulated output is sufficient.
For running of LPTzUSB, a RS232 to TTL converter is recommended too. So you can observe data transmission and other useful things, e.g. using HyperTerminal at 38400 Baud. See following picture:
Note that the ATmega16 program instructs HyperTerminal to draws the colored picture. There is no special Windows program necessary for nice output.
LPTzUSB status via serial „debug terminal“The bytes of descriptors shown have following meaning:
- USB address (without HUB always 01)
- USB device class (printer: 07)
- USB device subclass
- USB protocol
- Number of Configuration (mostly 01)
- Number of Interface (mostly 00)
- Number of Alternate Setting (mostly 00)
- Number of Endpoints (not counting EP0)
- EP0: Bits:
- 7: Direction (1=IN) [Not valid for EP0]
- 6: Toggle
- 5-4: Transfer type, 00=Control, 01=ISO, 10=Bulk, 11=Interrupt
- 3-0: Endpoint Number
- EP0: FIFO size
- EPx: Bits for next Endpoint etc.
- EPx: FIFO size for next Endpoint etc.
Delivery
Although this device requires an AC/DC adaptor, supplying this heavy device outside Germany is not recommended!
Package. Think the AC/DC adaptor is not included.Frequently Asked Questions
Why I can't get such a device from my local computer store?
Such devices are not commonly useful:-)Furthermore, you have the possibility to print to a file and copy the .PRN file to a USB capable PC and print it out there. Moreover, Ethernet to USB printer converters are widely available.
Making such a device is possible since one or two years(!)
Is there a high-speed version?
No. It's almost useless because data at parallel port is commonly much slower than USB Full-Speed. And data must be transferred through the microcontroller. High-speed USB host controllers with microcontroller interface are not known yet.For Low-Speed there are much cheaper solutions around! Why bother?
There are no Low-Speed printers. Only mice and keyboards. For Full-Speed simulation, all known microcontrollers are too slow.What about the USB-ID (US$1500)?
Not necessary for host controllers.A USB device that needs power – is that a bit brain-dead?
Attention: This is a USB host, it must be able to supply other devices too!
Supplying power in reverse direction is never intended in the host-centric USB specification.Do I need a AC/DC adaptor?
Let's say: yes. Always.You can watch the current voltage at HyperTerminal.
Can I clone this?
Yes. Only for assigning serial numbers I want feedback.
Dumb question (see questions above): Is the SL811HST used as USB Host?
Yes. This device was designed while microcontrollers with integrated USB host/OTG controllers were not available. A software-only solution like V-USB isn't possible because printers use full-speed USB.Does the converter work with any brand of USB printer?
Yes. However, LPTzUSB (and AFAIK all other products listed at the end of this page) does not translate printer language, so the parallel-printing device must “speak” a printer language the attached USB printer understands.
Wheel re-invented! Sorry.
The companyC-Logic in India has built such a device, as you can't see at
this Cypress page. For obtaining you should write to C-Logic.
Since August 2006, there is another company in Israel that produces a
similar device called „LPT2USB“.
AK-Nord, a German webshop
ipcas GmbH, offers a multi-function device with Ethernet and logging to a USB stick.
Jacobi C.E.O.S. offers a device for 79€ (2010, incl. VAT).
lpt2usb.net has one for 69 US$ (2010, VAT ??), it's IMHO the cheapest commercial thing.Note that all devices listed here obviously do not translate printer languages! If your application requires some processing of printer data, have a look to my LptCapproject.
Henrik Haftmann, created: August 27. 2006 — last modified: February 4. 2015https://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/lpt2usb.en.htm
댓글 0
조회수 1,815등록된 댓글이 없습니다.