Windows NT does not allow user applications to directly read/write hardware registers.
And finally, another drawback, which is a result of the operating system, is the need of a device driver on Windows NT systems.
This results in assumptions (timing and electrical) that must be made when designing the interface hardware. However when designing hardware, you would like for it to work with old parallel ports as well as new and future. Since the parallel port is legacy hardware, it has seen changes, variations, and improvements over the years. Next, although more of an inconvenience than a drawback is PC-to- PC variation. This is not a show-stopper in an engineering/evaluation environment, but is a huge support headache when in the hands of the general public.
This means that if communication cannot be established between the PC and the hardware, then the PC must be restarted so that you can enter the BIOS utility (usually by pressing F1 or DEL during startup) and tweak the parallel port settings.
Another drawback of the parallel port is that most of its configuration is set in the PC's BIOS.
More and more PC manufactures are dropping parallel ports as well as serial ports in favor of USB. Probably the biggest drawback of the parallel port is its future. But before the final decision is made, the drawbacks must also be analyzed to ensure that they are tolerable. So in terms of our goal, the selection is a obvious. Furthermore, debugging USB hardware often requires very expensive protocol analyzers.
Likewise, USB also requires a considerable amount of hardware, in addition to a much greater software and firmware investment. A serial port solution on the other hand would require a microcontroller, firmware, programmer or in-system-programmability, level translators, crystal, as well as many more passive components. The parallel port interface is based around a 74HC05 logic chip along with some passive components. The parallel port was chosen in this application note because the goal was to build an interface quick, simple, and cheap. Why Use the Parallel Port Instead of the Serial Port or USB? Although the current software is Win95/98 only, a future version will be available which will support Win NT. This solution is intended for evaluation purposes only and not intended to be used in production or distribution. Dallas Semiconductor/Maxim cannot be held responsible for any damages that can result. Be sure to double and triple check all connections and power supply voltage since it will directly connect to the PC's parallel port circuitry. Although the presented hardware and software was built and tested together, use at your own risk. Since this hardware does interface to a PC, the standard disclaimers apply. Being given the software, along with a couple debugging tools, all efforts can be applied solely to getting the hardware up and running as quick as possible. To further aid in the task at hand, Windows 95/98 software is provided to eliminate the headaches associated with the daunting task of trying to debug both hardware and software simultaneously. Although many solutions exist, the one presented here does not require a microcontroller, firmware, nor any difficult to procure ICs. This application note was specifically written for those who just received or just ordered Dallas Semiconductor device samples and realized that they now need a way to communicate with the 2-Wire devices.
The purpose of this application note is to show how to build a quick, simple, and cheap 2-wire (I☬-compatible) interface using a PC's parallel port.