Received: from PCH.mit.edu (18.7.21.50) by mail.efplus.com (192.168.0.8) with Microsoft SMTP Server (TLS) id 8.3.485.1; Fri, 5 Jun 2020 04:06:09 -0700 Received: from PCH.MIT.EDU (localhost.localdomain [127.0.0.1]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 055AutPQ023864; Fri, 5 Jun 2020 06:57:12 -0400 Received: from outgoing-exchange-5.mit.edu (OUTGOING-EXCHANGE-5.MIT.EDU [18.9.28.59]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 055AusfZ023861 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 5 Jun 2020 06:56:54 -0400 Received: from w92exedge4.exchange.mit.edu (W92EXEDGE4.EXCHANGE.MIT.EDU [18.7.73.16]) by outgoing-exchange-5.mit.edu (8.14.7/8.12.4) with ESMTP id 055Auj2Q031009 for ; Fri, 5 Jun 2020 06:56:57 -0400 Received: from w92expo25.exchange.mit.edu (18.7.74.31) by w92exedge4.exchange.mit.edu (18.7.73.16) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Fri, 5 Jun 2020 06:56:08 -0400 Received: from oc11exhyb3.exchange.mit.edu (18.9.1.99) by w92expo25.exchange.mit.edu (18.7.74.31) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Fri, 5 Jun 2020 06:56:48 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) by oc11exhyb3.exchange.mit.edu (18.9.1.99) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Fri, 5 Jun 2020 06:56:48 -0400 Received: from MWHPR1601CA0016.namprd16.prod.outlook.com (2603:10b6:300:da::26) by BYAPR01MB3752.prod.exchangelabs.com (2603:10b6:a02:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Fri, 5 Jun 2020 10:56:47 +0000 Received: from CO1NAM03FT046.eop-NAM03.prod.protection.outlook.com (2603:10b6:300:da:cafe::ea) by MWHPR1601CA0016.outlook.office365.com (2603:10b6:300:da::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18 via Frontend Transport; Fri, 5 Jun 2020 10:56:47 +0000 Received: from mail-ej1-f45.google.com (209.85.218.45) by CO1NAM03FT046.mail.protection.outlook.com (10.152.81.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18 via Frontend Transport; Fri, 5 Jun 2020 10:56:46 +0000 Received: by mail-ej1-f45.google.com with SMTP id mb16so9623769ejb.4 for ; Fri, 05 Jun 2020 03:56:46 -0700 (PDT) From: David C Brown To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Fri, 5 Jun 2020 03:56:33 -0700 Subject: Re: [EE] Detecting a change of level on four lines with digital logic/analog circuitry? Thread-Topic: [EE] Detecting a change of level on four lines with digital logic/analog circuitry? Thread-Index: AdY7KVGGeSPEvrPASZmrygSAxdbOgw== Message-ID: References: <5ED96C24.28458.2422AF89@brent.eds.co.nz> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: Reply-To: Microcontroller discussion list - Public. Accept-Language: en-US X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: TS500.efplus4.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-SenderIdResult: Pass X-MS-Exchange-Organization-PRD: mit.edu X-MS-TNEF-Correlator: received-spf: Pass (protection.outlook.com: domain of gmail.com designates 209.85.218.45 as permitted sender) receiver=protection.outlook.com; client-ip=209.85.218.45; helo=mail-ej1-f45.google.com; dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=Gi9NW6hdG2l+Y2NdIz1AtwY+zqxgne6H3i7aIv9sSaY=; b=ibXacP8MtRYw4GPPG5XHFCoFNRzg9/4BN4Rq9rRM1yGbB/k6a/PD+dBvgGIQO0D1YB yl2AniPOC+WtLIThk4xVI3y5oQgLEURtaojvN/R1myIAF86eFrIVaxThA1wiOGJxe9Cp DY040/LJicba1od9wjHq4KZJT/lQ8W8vFPJoMn5m6gfqn9Q+qk0Er4NoAgPQg/S7IMJL PhMLx7YOb0VscJ0UGNod+C3DCjB1OTa5zPYKebQ8iR8XW3zEGQ0Nuw+d9m5a/ku63GDO 3Ln8yZY55ojePKjGNzVNpRtL/wO24q38YfO54TcdgaLxd/GaLXnVr0WrHTp1cf7jd1yY 6NDg== authentication-results: spf=pass (sender IP is 209.85.218.45) smtp.mailfrom=gmail.com; mit.edu; dkim=pass (signature was verified) header.d=gmail.com;mit.edu; dmarc=pass action=none header.from=gmail.com;compauth=pass reason=100 errors-to: piclist-bounces@mit.edu list-id: "Microcontroller discussion list - Public." list-post: x-beenthere: piclist@mit.edu x-mailman-version: 2.1.6 x-received: by 2002:a17:906:1d52:: with SMTP id o18mr7531690ejh.399.1591354604502; Fri, 05 Jun 2020 03:56:44 -0700 (PDT) x-topics: [EE] x-content-filtered-by: Mailman/MimeDel 2.1.6 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 If you use the solution proposed by fForest and amendment by me you would be OK.. Each XOR gate output would be a pulse and you are ORing them so even if tow changed together you would get a pulse out of the or gate __________________________________________ David C Brown 43 Bings Road Whaley Bridge High Peak Phone: 01663 733236 Derbyshire eMail: dcb.home@gmail.com SK23 7ND web: www.bings-knowle.co.uk/dcb *Sent from my etch-a-sketch* On Fri, 5 Jun 2020 at 11:44, Jason White wrote: > Hello Brent, > > It's a good idea and I wish I could do it. But there's a problem that I > haven't reconciled - under many circumstances the inputs can change at th= e > exact same time with the exact same slew rate and cancel out. > > Am I correct in thinking that for this implementation to avoid signals > canceling out I would have to set the summing coefficients for each > resistor to be different such that cancelation is not possible. I would e= nd > up with 16 unique voltage levels, one per combination. > > Almost seems like an R2R ladder similar to a DAC in conjunction with two > comparators might be an option. An RC could provide a slow moving referen= ce > voltage to the two comparators. > > Am I thinking correctly about that particular implementation? > > On Thursday, June 4, 2020, Brent Brown wrote: > > > Hi Jason, > > > > How about: Sum the lines with 4 x resistors, feed this analog voltage > into > > the +ve > > input of one comparator, and -ve input of another comparator. Remaining > > inputs to > > a C, with R to analog voltage above, where RC time constant sets pulse > > period. > > Combine comparator outputs with 2 x diodes and a pull-up or pull-down > > resistor as > > required. > > > > Brent. > > > > On 4 Jun 2020 at 16:35, Jason White wrote: > > > > > Hi everyone, > > > > > > I have an application where I need to generate at pulse least 1 > > microsecond > > > long any time a rising or falling edge is detected on four digital > lines. > > > The four signals can change at any time to any direction. The pulse i= s > > used > > > to trigger a timer providing a reset signal to the rest of the system= .. > > > Microcontrollers and programmable logic devices aren't allowed. > > > > > > Four 74HC123s will do it, but are too big. > > > Four window comparators monitoring the signal through an RC will do i= t, > > but > > > also seems too big. > > > > > > Is four schmitt trigger XOR gates with four RC's the smallest > > > implementation? > > > > > > I was thinking some sort of analog implementation might be able to do > it > > > smaller. But AC coupling the four signals together would allow them t= o > > > cancel out. Perhaps a 4-bit encoder/decoder or multiplexer might do i= t > > > better? > > > > > > -- > > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > > View/change your membership options at > > http://mailman.mit.edu/mailman/listinfo/piclist > > > > > -- > Jason White > -- > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .