PRB: Generic Serial Plug-and-Play ID String WarningLast reviewed: November 4, 1996Article ID: Q158497 |
The information in this article applies to:
SYMPTOMSThe 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.
CAUSEIf 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.
RESOLUTIONIt 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 INFORMATIONThe 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| |
KBCategory: kbprg kbprb
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |