[coreboot] [geda-user] Re: Dual SPI Flash adapter

Oliver Schinagl oliver+list at schinagl.nl
Wed Apr 18 20:59:38 CEST 2012


On 04/18/12 15:38, Peter Stuge wrote:
> 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.

Fair enough, makes sense. Well with the solder-bridge, a user could choose.

If something like this where to be used and given away, like we saw 
posted on the coreboot list, this won't be an issue to have included I 
suppose.

>
>
>> 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.

Experienced users should thus use a jumper cap, since accidentally 
shortening the two outer pins. Others can use the version with the fet 
switch or an actual switch.
>
>
>> 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.

True, which is why I like the giving away idea, to be used as give aways 
for example.

>
>
>>> 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.
Absolute Maximum:
VCC Supply voltage range (2) –0.5 7

Recommended Operating Conditions:
VCC Supply voltage min: 2.3 max: 3.6

It reads in my datasheet, which matches the name of the part:
DUAL FET BUS SWITCH 2.5-V/3.3-V LOW-VOLTAGE BUS SWITCH
WITH 5-V TOLERANT LEVEL SHIFTER


>
> 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.

I just saw a big warning box 'part missing' and an empty spot, with 8 
unconnected pins.

>
>
>>> 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.
That would increase the size and complexity of the PCB and schematic, 
but something to concider indeed. Would also drive price up unfortunatly.

>
>
>> 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.
Advantage of the solderbridge, it can always be broken and this chip 
added later :D
>
>
>> 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.
Well testing (bridge) resistor can always be done once I have finished 
designing the PCB's ;) IF huge quantities are actually ordered and 
build, 100k shouldn't be an issue to use.

>
>
> //Peter

I'll go on then to routing the PCB according to the new schematic and 
see if I can fit in.




More information about the coreboot mailing list