# HG changeset patch # User Paul Boddie # Date 1421543636 -3600 # Node ID 934a843e6b9b564f15552d4ef445cfdfece57d03 # Parent 1b3978439bdb120fe0b13bf43108a0e63b2d7edb Removed the output latch; introduced a multiplexer to separate the data channels. diff -r 1b3978439bdb -r 934a843e6b9b README.txt --- a/README.txt Sun Jan 18 00:37:55 2015 +0100 +++ b/README.txt Sun Jan 18 02:13:56 2015 +0100 @@ -78,7 +78,6 @@ Pin A Pin B Latch select ----- ----- ------------ -0 0 0 0 1 1 1 0 2 1 1 3 @@ -88,46 +87,43 @@ CP (latch 1) = ~A & B CP (latch 2) = A & ~B CP (latch 3) = A & B -CP (latch 0) = ~A & ~B Selector (in) 74HC04 (NOT) 74HC08 (AND) Selector (out) ------------- ------------ ------------ -------------- A 1A (*) - 1Y 1A 4A + 1Y 1A B 1B (*) 1Y LS1 A 2A (*) B 2A (*) - 2Y 2B 4B + 2Y 2B 2Y LS2 A 3A (*) B 3B (*) 3Y LS3 - 4Y LS0 (*) Apply pull-down resistor to 74HC04 1A, 2A, 3A, 3B when driving using switches. As a result, only 13 pins are needed on the Arduino. -Arduino Selector 74HC273 #1 74HC273 #2 74HC273 #3 74HC273 #0 Am29F010B -------- -------- ---------- ---------- ---------- ---------- --------- +Arduino Selector 74HC273 #1 74HC273 #2 74HC273 #3 74HC4052N Am29F010B +------- -------- ---------- ---------- ---------- --------- --------- 1 CE# 2 OE# 3 WE# -4 A +4 A 5 B LS1 CP LS2 CP - LS3 CP - LS0 CP -6 D0 (*) D0 (*) D0 (*) Q0 -7 D1 (*) D1 (*) D1 (*) Q1 -8 D2 (*) D2 (*) D2 (*) Q2 -9 D3 (*) D3 (*) D3 (*) Q3 -10 D4 (*) D4 (*) D4 (*) Q4 -11 D5 (*) D5 (*) D5 (*) Q5 -12 D6 (*) D6 (*) D6 (*) Q6 -13 D7 (*) D7 (*) D7 (*) Q7 + LS3 CP S0 +6 D0 (*) D0 (*) D0 (*) 1Z0 (#1) +7 D1 (*) D1 (*) D1 (*) 2Z0 (#1) +8 D2 (*) D2 (*) D2 (*) 1Z0 (#2) +9 D3 (*) D3 (*) D3 (*) 2Z0 (#2) +10 D4 (*) D4 (*) D4 (*) 1Z0 (#3) +11 D5 (*) D5 (*) D5 (*) 2Z0 (#3) +12 D6 (*) D6 (*) D6 (*) 1Z0 (#4) +13 D7 (*) D7 (*) D7 (*) 2Z0 (#4) Q0 A0 Q1 A1 Q2 A2 @@ -145,20 +141,31 @@ Q6 A14 Q7 A15 GND A16 (not used) - Q0 D0 (*) DQ0 - Q1 D1 (*) DQ1 - Q2 D2 (*) DQ2 - Q3 D3 (*) DQ3 - Q4 D4 (*) DQ4 - Q5 D5 (*) DQ5 - Q6 D6 (*) DQ6 - Q7 D7 (*) DQ7 -5V MR# (**) MR# (**) MR# (**) MR# (**) -5V VCC VCC VCC VCC VCC -GND VSS + Q0 1Z1 (#1) + Q1 2Z1 (#1) + Q2 1Z1 (#2) + Q3 2Z1 (#2) + Q4 1Z1 (#3) + Q5 2Z1 (#3) + Q6 1Z1 (#4) + Q7 2Z1 (#4) + 1Z (#1) DQ0 + 2Z (#1) DQ1 + 1Z (#2) DQ2 + 2Z (#2) DQ3 + 1Z (#3) DQ4 + 2Z (#3) DQ5 + 1Z (#4) DQ6 + 2Z (#4) DQ7 +5V MR# (**) MR# (**) MR# (**) +GND E# (***) +GND S0 (***) +5V VCC VCC VCC VCC VCC VCC +GND GND GND GND GND GND VSS (*) Apply pull-down resistor to 74HC273 D inputs when driving using switches. (**) Apply pull-up resistor to 74HC273 MR# inputs to preserve state. +(***) Hold 74HC4052N lines low using pull-down resistors. 74HC273 Q outputs may initially be high and should be reset, either driving MR# low or by explicitly latching values onto each device.