Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!slxsys!stevem From: stevem@specialix.co.uk (Steven Murray) Newsgroups: sci.electronics Subject: Re: Distinguishing between logic state and tri state Message-ID: <1991Jun10.124633.24692@specialix.co.uk> Date: 10 Jun 91 12:46:33 GMT References: <1991Jun3.193519.19595@uokmax.ecn.uoknor.edu> <1991Jun4.222654.11849@milton.u.washington.edu> Organization: Specialix International, London Lines: 45 whit@milton.u.washington.edu (John Whitmore) writes: >In article <1991Jun3.193519.19595@uokmax.ecn.uoknor.edu> sashahi@uokmax.ecn.uoknor.edu (Sandeep Shahi) writes: >> Can anybody suggest a circuit which can separate a logic(0 or 1) >>from a tri state. >> The output of such a circuit is to be read by the host >>for further action > The obvious answer is to test the impedance of the pin; a >220 pF capacitor and 2.2K ohm resistor in series from a square wave >generator [...stuff deleted] > In the old days, one simply had a termination resistor that >pulled the output into the TTL forbidden region (about 1.5V); no >logic LOW or logic HIGH gate would ever spend long at that voltage, >so a simple gate comparator would detect tri-state. Alas, the >range of pullup resistor values nowadays is large, and the behavior >of some CMOS circuits with the inputs held in that range is terrible >(it can destroy the chip). Unless you know the value of pullup >resistors on the tri-state lines, or unless you know there's no >CMOS that could be damaged, that technique is not reliable. > John Whitmore Pullup resistors are also going to load the circuit you are suggesting here. The circuit you are suggesting can not give you a dynamic indication of a circuits tri-state condition, as pulling to a mid-supply (e.g 2v val) can. CMOS circuits are very unlikely to be damaged by a mid-supply output! If you are talking about a CMOS input the only time you get really excessive current draw from a mid-supply CMOS input is when you have the chip on a low Vcc (about 3v) - in any case values can be picked to ensure the 'tristate voltage' is away from the transition point of the particular logic families being used. -Steven Murray -- Steven Murray uunet!slxsys!stevem stevem@specialix.co.uk I must write out one thousand times "I will not leave myself logged in" main{int a;for (a=0;a<1000;a++)printf("I must not leave myself logged in");}