1.1 --- a/README.txt Sun Jan 18 02:13:56 2015 +0100
1.2 +++ b/README.txt Sun Jan 18 19:48:44 2015 +0100
1.3 @@ -74,98 +74,50 @@
1.4 channel address and data via 8 common pins to latches, and then employ the
1.5 remaining pins to control the latches.
1.6
1.7 -Two pins can be used to select the latches:
1.8 -
1.9 -Pin A Pin B Latch select
1.10 ------ ----- ------------
1.11 -0 1 1
1.12 -1 0 2
1.13 -1 1 3
1.14 -
1.15 -Thus, the following logic is required:
1.16 -
1.17 -CP (latch 1) = ~A & B
1.18 -CP (latch 2) = A & ~B
1.19 -CP (latch 3) = A & B
1.20 -
1.21 -Selector (in) 74HC04 (NOT) 74HC08 (AND) Selector (out)
1.22 -------------- ------------ ------------ --------------
1.23 -A 1A (*)
1.24 - 1Y 1A
1.25 -B 1B (*)
1.26 - 1Y LS1
1.27 -A 2A (*)
1.28 -B 2A (*)
1.29 - 2Y 2B
1.30 - 2Y LS2
1.31 -A 3A (*)
1.32 -B 3B (*)
1.33 - 3Y LS3
1.34 -
1.35 -(*) Apply pull-down resistor to 74HC04 1A, 2A, 3A, 3B when driving using switches.
1.36 +Two pins can be used to select the latches, and when neither latch is
1.37 +selected, the data pins will be used to read or write data from the flash
1.38 +memory.
1.39
1.40 As a result, only 13 pins are needed on the Arduino.
1.41
1.42 -Arduino Selector 74HC273 #1 74HC273 #2 74HC273 #3 74HC4052N Am29F010B
1.43 -------- -------- ---------- ---------- ---------- --------- ---------
1.44 -1 CE#
1.45 -2 OE#
1.46 -3 WE#
1.47 -4 A
1.48 -5 B
1.49 - LS1 CP
1.50 - LS2 CP
1.51 - LS3 CP S0
1.52 -6 D0 (*) D0 (*) D0 (*) 1Z0 (#1)
1.53 -7 D1 (*) D1 (*) D1 (*) 2Z0 (#1)
1.54 -8 D2 (*) D2 (*) D2 (*) 1Z0 (#2)
1.55 -9 D3 (*) D3 (*) D3 (*) 2Z0 (#2)
1.56 -10 D4 (*) D4 (*) D4 (*) 1Z0 (#3)
1.57 -11 D5 (*) D5 (*) D5 (*) 2Z0 (#3)
1.58 -12 D6 (*) D6 (*) D6 (*) 1Z0 (#4)
1.59 -13 D7 (*) D7 (*) D7 (*) 2Z0 (#4)
1.60 - Q0 A0
1.61 - Q1 A1
1.62 - Q2 A2
1.63 - Q3 A3
1.64 - Q4 A4
1.65 - Q5 A5
1.66 - Q6 A6
1.67 - Q7 A7
1.68 - Q0 A8
1.69 - Q1 A9
1.70 - Q2 A10
1.71 - Q3 A11
1.72 - Q4 A12
1.73 - Q5 A13
1.74 - Q6 A14
1.75 - Q7 A15
1.76 -GND A16 (not used)
1.77 - Q0 1Z1 (#1)
1.78 - Q1 2Z1 (#1)
1.79 - Q2 1Z1 (#2)
1.80 - Q3 2Z1 (#2)
1.81 - Q4 1Z1 (#3)
1.82 - Q5 2Z1 (#3)
1.83 - Q6 1Z1 (#4)
1.84 - Q7 2Z1 (#4)
1.85 - 1Z (#1) DQ0
1.86 - 2Z (#1) DQ1
1.87 - 1Z (#2) DQ2
1.88 - 2Z (#2) DQ3
1.89 - 1Z (#3) DQ4
1.90 - 2Z (#3) DQ5
1.91 - 1Z (#4) DQ6
1.92 - 2Z (#4) DQ7
1.93 -5V MR# (**) MR# (**) MR# (**)
1.94 -GND E# (***)
1.95 -GND S0 (***)
1.96 -5V VCC VCC VCC VCC VCC VCC
1.97 -GND GND GND GND GND GND VSS
1.98 +Arduino 74HC273 #1 74HC273 #2 Am29F010B
1.99 +------- ---------- ---------- ---------
1.100 +1 CE#
1.101 +2 OE#
1.102 +3 WE#
1.103 +4 CP
1.104 +5 CP
1.105 +6 D0 (*) D0 (*) DQ0
1.106 +7 D1 (*) D1 (*) DQ1
1.107 +8 D2 (*) D2 (*) DQ2
1.108 +9 D3 (*) D3 (*) DQ3
1.109 +10 D4 (*) D4 (*) DQ4
1.110 +11 D5 (*) D5 (*) DQ5
1.111 +12 D6 (*) D6 (*) DQ6
1.112 +13 D7 (*) D7 (*) DQ7
1.113 + Q0 A0
1.114 + Q1 A1
1.115 + Q2 A2
1.116 + Q3 A3
1.117 + Q4 A4
1.118 + Q5 A5
1.119 + Q6 A6
1.120 + Q7 A7
1.121 + Q0 A8
1.122 + Q1 A9
1.123 + Q2 A10
1.124 + Q3 A11
1.125 + Q4 A12
1.126 + Q5 A13
1.127 + Q6 A14
1.128 + Q7 A15
1.129 +GND A16 (not used)
1.130 +5V MR# (**) MR# (**)
1.131 +5V VCC VCC VCC
1.132 +GND GND GND VSS
1.133
1.134 (*) Apply pull-down resistor to 74HC273 D inputs when driving using switches.
1.135 (**) Apply pull-up resistor to 74HC273 MR# inputs to preserve state.
1.136 -(***) Hold 74HC4052N lines low using pull-down resistors.
1.137
1.138 74HC273 Q outputs may initially be high and should be reset, either driving
1.139 MR# low or by explicitly latching values onto each device.
1.140 @@ -173,17 +125,25 @@
1.141 Set Address
1.142 -----------
1.143
1.144 -Selector A = 0; Selector B = 1; 74HC273 #1 D[7...0] = A[7...0]
1.145 -Selector A = 1; Selector B = 0; 74HC273 #2 D[7...0] = A[15...8]
1.146 +74HC273 #1 CP = 1; 74HC273 #2 CP = 0
1.147 +74HC273 #1 D[7...0] = A[7...0]
1.148 +74HC273 #1 CP = 0; 74HC273 #2 CP = 1
1.149 +74HC273 #2 D[7...0] = A[15...8]
1.150
1.151 Write Data
1.152 ----------
1.153
1.154 Configure pins as D[7...0]
1.155 -Selector A = 1; Selector B = 1; 74HC273 #3 D[7...0] = D[7...0]
1.156 +WE# = 0
1.157 +74HC273 #1 CP = 0; 74HC273 #2 CP = 0
1.158 +74HC273 #3 D[7...0] = D[7...0]
1.159 +WE# = 1
1.160
1.161 Read Data
1.162 ---------
1.163
1.164 Configure pins as Q[7...0]
1.165 -Selector A = 0; Selector B = 0; Q[7...0] = 74HC273 #0 Q[7...0]
1.166 +OE# = 0
1.167 +74HC273 #1 CP = 1; 74HC273 #2 CP = 0
1.168 +Q[7...0] = 74HC273 #0 Q[7...0]
1.169 +OE# = 1