Knowledge Base

PRB: Generic Serial Plug-and-Play ID String Warning

PSS ID Number: 158497

Article Last Modified on 3/6/1999


The information in this article applies to:


This article was previously published under Q158497

SYMPTOMS

The documentation for general serial plug-and-play enumeration for devices goes into some detail. Yet some OEM's have noticed that their PNP ID string is being corrupted by characters added to the front of the ID.

CAUSE

If your device is primarily using RTS to gate the PNP string transmission to the PC, there is an initial RTS pulse before the carefully-timed PNP RTS pulses generated as part of the PNP enumeration. In addition, the enumerator opens and purges the COM port only once at the start of the enumeration, prior to its two PNP attempts. This means that long PNP ID's will run over into the now-cleared receive buffer if not cut off right away when RTS goes false. Also, a failed first attempt that generates any characters may cause the same problem.

RESOLUTION

It is extremely important to understand that an RTS pulse occurs before the time you would expect it. Therefore, if your device starts to send on the initial "Open" RTS pulse, you must immediately STOP ALL DATA to the PC if the RTS signal goes false while you are sending.

MORE INFORMATION

The timing diagram for PNP serial adapted from the PNP specification Figure 1 (as it appears on an oscilloscope) is as follows (note the added Open/Purge intervals):
interval---->Open|purg|check|<---1st--->|<1st>|<2nd>|<2nd>|<--Idle----
             COM |COM | dev |   Setup   | Wait|Setup| Wait|
                      |     |     |     |     |     |     |
time                  |  T1 |  T2 |  T3 |  T4 |  T2 |  T4 |
             _______________       ___________       _____________
DTR(108)                    \_____/           \_____/ 
                      |     |     |     |     |     |     |
               _                         _____       _____
RTS(105)     _/ \_______________________/     \_____/     \_________
                      |     |           |     |     |
reference             |2.1.2|   2.1.3   |2.1.4|2.1.5|2.1.6|
				

Additional query words: 4.00 kbdsd PNP plug-and-play comm enumerate

Keywords: KB158497
Technology: kbAudDeveloper kbWin32DDK95 kbWin32DDKSearch kbWin32sSearch kbWin95search kbWinDDKSearch