delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2012/04/18/09:38:48

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 <peter AT stuge DOT se>
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
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

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019