X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <20120418133806.19462.qmail@stuge.se> Date: Wed, 18 Apr 2012 15:38:05 +0200 From: Peter Stuge To: geda-user AT delorie DOT com Subject: Re: [geda-user] Re: [coreboot] Dual SPI Flash adapter Mail-Followup-To: geda-user AT delorie DOT com References: <20120321034205 DOT 26453 DOT qmail AT stuge DOT se> <4F6A7930 DOT 7000603 AT schinagl DOT nl> <4F6B757A DOT 6030905 AT schinagl DOT nl> <20120326225412 DOT 3fef55d0010e22c54bebcb79 AT gmail DOT com> <4F70E98B DOT 1080406 AT schinagl DOT nl> <4F7CD599 DOT 6080301 AT schinagl DOT nl> <20120404163815 DOT 197ce59d AT svelte> <20120405012031 DOT 13773 DOT qmail AT stuge DOT se> <20120405041611 DOT 26684 DOT qmail AT stuge DOT se> <4F7D8499 DOT 6000900 AT schinagl DOT nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F7D8499.6000900@schinagl.nl> Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Oliver Schinagl wrote: >>> It's a mux on the CS/ line of two SPI flash chips. >> >> Oliver, I really think you should add a real mux to the PCB, and have >> that be "remote controlled" by the jumper or mechanical switch. > > Why is that recommended? The point is to keep the signals on the PCB. Some flash chips are extremely sensitive to noise even on the chip select line and they will simply not work if the signals are too far away from the PCB. Even a jumper could mess it up. > If using a jumper cap, it shouldn't be able to go wrong? Chip1 > active, none active, chip2 active? To which I can't understand > why that extra component would help. It's not about mistakenly activating both chips, although this is also an important consideration, since if that happens and one chip outputs 0 while the other outputs 1 then there's a short circuit which could kill the output driver of both flash chips. > Not that I don't believe you :p I know nothing of this stuff, but > the goal was to make this board as simple as possible. Anything that requires soldering is already significant overhead for many software people, so replacing two resistors with two other parts isn't that bad IMO. But I do note that the SSOP package can be tricky to solder for a beginner, while a 0603 is still much easier, even if that is starting to get a bit small. >> It's a small board but I think it can be done. The design I used on > > I think it would make the board a little bigger again, or actually the > SOIC8 3306 could fit on top between the connector, so I think it may be > possible using the same size :) Dunno if routing will be still > possible :p Note that SN74CB3T3306 only comes in SSOP and VSSOP packages. SO8 is only available for SN74CBT3306 which is not usable here since it requires a 5V supply. My symbol had the package set to SSOP8 already, sorry I didn't send it separately, but it could also have been copied out of the schematic. >> the M57SLI (see http://stuge.se/m57sli/ if curious) is shown in the > > Now the left schematic is what your motherboard does? The top right is > what's the smallest component count and the ride side is with an easier > switch, but higher component count? Exactly. The version with the SN74LVC1G14 has the advantage that because it is only one contact, the jumper could be replaced with or connected to a pushbutton. This means that there is a kind of dead man's switch for selecting the backup flash chip, which makes it less likely to overwrite the wrong flash chip by accident. > Even though I am sure that the 3306 method would be better, I don't > understand quite how and why it's needed. There are two points satisfied by the bus switch: 1. Keep the CS# signal on the PCB at all times 2. Remote control the switch by connecting a control signal to GND Point 1 is important because some flash chips are extremely sensitive to noise on CS# and while just a jumper on the PCB should be OK having the jumper there is inspirational for people to put a cable on it, and that will not work. Using the bus switch the cable can be as long as needed. With the circuit on the left I tested a 5 meter cable across the room. Point 2 is important because GND is the prefered signal to use in a switch. The chassis is often (though not always; see wikipedia on floating ground) connected to ground on the mainboard and if suddenly the switch cables came loose (e.g. in the schematic I used for the M57SLI) then it would be really easy to end up with a short circuit between 3V3 and GND, which is bad since the 3V3 rail is rather powerful, so it would likely destroy several components on the mainboard. > Also I haven't found a 3306 on any of my pcb's to scavenge one off > :) I'd reccon the simpler design would allow for easier adaption? See if you can sample the SN74CB3T3306 from TI/National. TI used to have a vere generous sampling policy. I don't know if it has changed since National. > Finally, I notice you use 100k resistorpacks, but in a previous > message I recall you mentioning anything between 1k and 10k should > be good? (I happen to have a 103 resistor pack on a pcb here is my > wondering :) The resistors are not neccessarily critical, but in this case weaker is better, in order to not disturb the communication more than neccessary. 10k may also work, but you should test it. Please also test 4k7 so that you know that you have 2x margin. //Peter