6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 10:25 am

All times are UTC




Post new topic Reply to topic  [ 109 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8  Next
Author Message
 Post subject:
PostPosted: Sun Feb 11, 2007 1:29 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
You're right. A couple of times since we started the thread, I've re-read it from the beginning, but I forgot about the CONFIG pin for a couple of reasons: before I understood where your plan was headed and how important it was to you to have everything pollable whether it can respond appropriately or not, I thought we had met the need without dedicating another pin, on page 2; but now I see there's something I missed even back then, not to mention that there's just a lot to remember on this thread. Do you want to go back to the CONFIG pin?

Quote:
Well, I already proposed that a device could have two overt addresses. Besides MISO, MOSI, CS, CLK, and IRQ, there would also be a CONFIG pin. The "configuration engine" is selected when (CS AND CONFIG) is true. The "peripheral proper" is selected when (CS AND NOT CONFIG) is true.

It means I'll have to add a gate to the simplest devices so they won't be selected when CONFIG is true, but I can live with that. I'd sure like to use a different scheme so the extra gate (a transparent latch) would go on the smarter devices instead of the simplest ones, but I guess I can't really justify it. Here's how it would work: The configuration selection involves asserting the appropriate SEL line, then asserting CONFIG, then negating the SEL line, using CONFIG to keep an intelligent device's SEL status "latched" until CONFIG is negated. That keeps the simplest dumb devices from being required to have the gate, because when they're selected, the clock will not get toggled until after their SEL line goes false again.

I guess the sub-buses' CONFIG would get set through commands to the hub.

Quote:
The disadvantage is that it consumes "yet another pin" on the serial port

So are we back to a slightly bigger connector, like a 20-pin IDC? That still beats a 26-pin. If there's no other way, I'm willing to go for it to get the maximum range of usefulness. I was considering a couple of things:
--> Five SELect lines may not be enough if we forfeit another one for the CONFIG line. The bigger connector will let us get from six back up to seven and still get the CONFIG, while pairing a couple more lines with grounds (or virtual grounds).
--> Similar situation with the -12V that I sometimes need. If it were derived at the device, the easiest way to get a negative voltage from a positive one is with an inductorless switched-capacitor charge-pump voltage converter. Very few can handle that kind of voltage, but the Linear Technology LT1054 can go to 15V input and deliver enough current for what we've talked about. Still, putting one converter on the master is easier than having to put one in every device that needs it.

Thanks for pointing out the MAX765, as I may use that for something else; but there are a couple of reasons I would not recommend it here. The 765 skips pulses at low load currents in order to be more efficient. This pulse-skipping produces more output ripple on lower frequencies, which will be fine for line drivers and LCD backplanes, but is not suitable for any audio work. Also, these things are not hobbyist-friendly. Take it from someone who has designed these things into commercial products. The first time we used one, I put the MAX732 12V step-up switching regulator on a 6-layer board with ground plane. The 732 only runs at 170kHz so it's already a little easier to design a board for. (Remember that the dI/dt of a switching regulator even at 170kHz is very, very high, and the effect of parasitic inductances on the board and component leads becomes huge.) Still, it was a bear to get the layout right so the part would operate smoothly and not have excessive output ripple at frequencies below the switching frequency. A couple of years into production, Maxim "improved" the wafer-fab process, making the switching faster, and giving us trouble again at high harmonics of the switching frequency. Since we had tons of these multi-layer boards in stock, we opted to do some hand modification since that was cheaper than throwing out otherwise-good boards. We had to solder a capacitor directly to the IC leads with almost no lead length (try getting production people to understand that!), scrape the soldermask off of a few other places and solder chip capacitors on (since chip capacitors have no lead length), and put ferrite beads over certain wires to keep RF noise out of the aircraft radios that operate in the 108-135MHz band. I used the same switching regulator again in other designs later, but by then I knew how to do it right and we didn't have any more trouble. (Part of that, BTW, involved the chainsaw line we talked about earlier.)

Quote:
The total lack of response within a given timeframe (say, half a second) from a peripheral's configuration engine means it's a dumb device.

There probably is no need for a timeout period since it's synchronous and the master dictates the data transfer rate.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 2:33 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
GARTHWILSON wrote:
Do you want to go back to the CONFIG pin?


I think it's the most flexible solution, personally.

Quote:
That keeps the simplest dumb devices from being required to have the gate, because when they're selected, the clock will not get toggled until after their SEL line goes false again.


Slick! I hadn't thought of that protocol.

Quote:
I guess the sub-buses' CONFIG would get set through commands to the hub.


Remember that hub addressing can be done via the config engine on the hub; therefore, a "high level" command to select a device's config engine (as distinct from a device itself) is now possible, letting the hub itself handle the timing of the SEL->CONFIG->/SEL sequence you described. This might make things easier.

Of course, we're speculating. We won't know the real requirements for hubs until we actually run out of ports. :)

Quote:
So are we back to a slightly bigger connector, like a 20-pin IDC? That still beats a 26-pin. If there's no other way, I'm willing to go for it to get the maximum range of usefulness. I was considering a couple of things:


What kind of savings in cost are you looking at using a 16-pin IDC versus a 20-pin IDC?

Quote:
Still, putting one converter on the master is easier than having to put one in every device that needs it.


The 20 pin IDC ought to allow a pin for -12V, if I recall correctly.

Quote:
There probably is no need for a timeout period since it's synchronous and the master dictates the data transfer rate.


Correct; but I was referring to a lack of response from the peripheral at all. You'll probably want to poll the config engine of a device up to 3 times before moving on, just in case the interface is in a weird state on power-on. It *shouldn't*, but then, lots of things *shouldn't* happen in a computer anyway. :D


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 5:54 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
Quote:
Do you want to go back to the CONFIG pin?
I think it's the most flexible solution, personally.

Let's do it.

Quote:
Slick! I hadn't thought of that protocol.

I didn't think you'd be so enthusiastic. Let's do it.

Quote:
What kind of savings in cost are you looking at using a 16-pin IDC versus a 20-pin IDC?

I'm not concerned with the small dollar cost of the bigger connectors and cables, but rather the board & panel real estate taken by the connectors, and the fact that a load of bigger cables on the work bench is more unwieldy. If you're agreeable, then let's make it a 20-pin keyed IDC.

Quote:
The 20 pin IDC ought to allow a pin for -12V, if I recall correctly.

Sure. So how about:
Code:
     +----+----+
GND  |  1 |  2 |  CLK
     +----+----+
GND  |  3 |  4 |  MOSI
     +----+----+
GND  |  5 |  6 |  MISO
     +----+----+
+12V |  7 |  8 |  IRQ\
     +----+----+
+12v |  9 | 10 |  CONFIG
     +----+----+
-12V | 11 | 12 |  SEL1
     +----+----+
SEL2 | 13 | 14 |  SEL3
     +----+----+
SEL4 | 15 | 16 |  SEL5
     +----+----+
GND  | 17 | 18 |  SEL6
     +----+----+
GND  | 19 | 20 |  SEL7
     +----+----+   

?
Select lines 2 through 5 are not paired with ground (or AC ground), but 6 and 7 which go the farthest will be paired with ground for the first couple of segments of the journey.

Do you have any reservations about it now? Anyone who's been lurking have any considerations or comments? It has only taken us six pages. The software configuration protocol is not defined yet but now I can start building hardware—I think.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 6:16 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Would this work better?

Code:
     +----+----+
GND  |  1 |  2 |  CLK
     +----+----+
GND  |  3 |  4 |  MOSI
     +----+----+
GND  |  5 |  6 |  MISO
     +----+----+
+12V |  7 |  8 |  IRQ\
     +----+----+
+12v |  9 | 10 |  CONFIG
     +----+----+
-12V | 11 | 12 |  SEL1
     +----+----+
SEL2 | 13 | 14 |  SEL3
     +----+----+
GND  | 15 | 16 |  SEL5
     +----+----+
SEL4 | 17 | 18 |  SEL6
     +----+----+
GND  | 19 | 20 |  SEL7
     +----+----+   


I figure by swapping SEL4 and its nearest GND, we can improve noise immunity on SEL2-SEL5.

Otherwise, I'm happy with either approach.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 7:39 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
With twisted-pair ribbon, SEL2 & SEL3 get twisted together, as do 4 & 6. The cable link I gave you appears to be for ribbon that has the pairs bound together with a plastic sheet somehow; but there is also twisted-pair ribbon with nothing connecting pairs together mechanically except where it goes back to a flat ribbon for an inch every foot or so in order to be able to clamp an IDC onto it. This kind of cable is more flexible. With the pairs separated for a foot at a time, there may not be any ground at all nearby either way for several of the select lines, so I don't know if one way is any better than the other. What you have might be slightly better if the pairs are not twisted, although there will still be SEL2 & 4 that do not have a ground as a neighbor.

If we move the ground (& power supply lines) down one position such that the clock line now goes on the edge of a flat ribbon, we would get:
Code:
     +----+----+
CLK  |  1 |  2 |  GND
     +----+----+
MOSI |  3 |  4 |  GND
     +----+----+
MISO |  5 |  6 |  GND
     +----+----+
IRQ\ |  7 |  8 |  +12V
     +----+----+
CONF |  9 | 10 |  +12V
     +----+----+
SEL1 | 11 | 12 |  SEL2
     +----+----+
-12V | 13 | 14 |  SEL3
     +----+----+
SEL4 | 15 | 16 |  GND
     +----+----+
SEL5 | 17 | 18 |  SEL6
     +----+----+
GND  | 19 | 20 |  SEL7
     +----+----+

so every SEL line has at least one neighboring ground in the case of a flat ribbon. This could be a slight improvement, although the twisted-pair ribbon will still have SEL1 & 2 paired with no ground, as will SEL5 & 6. Maybe this would be the better thing to plan on, and then when you get set up to actually try it with amateur radio, you can try both twisted-pair and flat ribbon and see if one is better than the other for radio interference. (My currently unshielded wire-wrapped workbench computer will probably make more noise than the cables, but if I got set up again, any low-band antenna will definitely be outside at quite a distance from the workbench.)

It would make more sense to have the IRQ\ or the CONFIG at the edge of a flat ribbon than to have the clock line there; so how about:
Code:

     +----+----+
CONF |  1 |  2 |  GND
     +----+----+
CLK  |  3 |  4 |  GND
     +----+----+
MOSI |  5 |  6 |  GND
     +----+----+
MISO |  7 |  8 |  +12V
     +----+----+
IRQ\ |  9 | 10 |  +12V
     +----+----+
SEL1 | 11 | 12 |  SEL2
     +----+----+
-12V | 13 | 14 |  SEL3
     +----+----+
SEL4 | 15 | 16 |  GND
     +----+----+
SEL5 | 17 | 18 |  SEL6
     +----+----+
GND  | 19 | 20 |  SEL7
     +----+----+

After initial configuration, the CONF line at the edge of the ribbon won't get toggled and be making any noise at all. At the oposite edge of the ribbon is SEL7 which is least likely to be used, and will get shifted to SEL6 upon reaching the first device, and SEL can get grounded too. I'm a little tempted to move that ground (pin 19) inward even one more position, but I want ground connections at both ends of the connector, to make sure that if you hot-plug a connector, grounds have the best chance of getting connected before any power pins, and before as many signal lines as possible.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Last edited by GARTHWILSON on Mon Jan 12, 2009 6:50 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 7:49 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
And, remember, when the selects are shifted, they'll be tied to the +5V of the previous machine (I'm assuming the selects are active low). Also, the selects aren't transmitting data -- so their frequencies of oscillation will be much slower than MxSx and CLK.

I'm happy with the last pinout for the time being. I won't be able to build this interface for a bit (still hacking on the Kestrel's software at the moment), but when I do, I'll be sure to let you know how its RF characteristics are (at least qualitatively).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 8:05 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
Quote:
At the oposite edge of the ribbon is SEL7 which is least likely to be used, and will get shifted to SEL6 upon reaching the first device, and SEL can get grounded too.

And, remember, when the selects are shifted, they'll be tied to the +5V of the previous machine (I'm assuming the selects are active low).

If more than 7 devices were connected accidentally (I think I can accurately count to 7 even very late at night though), then yes, each device's "out" connector would tie SEL7 to +5V, at least through a resistor, so device #8 and up would never get selected. Otherwise, direct grounding would be fine. This +5V could also be bypassed to ground right at the connector. Hey, what if... Naw, we've twiddled with this thing enough.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 8:21 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
My schematics will use /DS0 through /DS6 instead of SEL1 through SEL7, to be more consistent with other schematic sheets (e.g., D0-D7, not D1-D8). Also, they're active low, so they'll have the overbar. I'm also assuming that CONFIG is also active low? If so, I'll use /CFG.

Otherwise, . . .

SHIP IT.

:)

It needs a name though. It's clearly not SS-22, since that's relating to the 65C22.

How about one of the following:

1) SSB (Synchronous Serial Bus)
2) SIB (Serial Interface Bus)
3) 65Link (less prosaic, more of a "tradename", commemorating the 6502.org forum on which it was spec'ed)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 8:37 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
My schematics will use /DS0 through /DS6 instead of SEL1 through SEL7, to be more consistent with...

My reason for 1-7 is that to de-select everything, I'll select "0", sending binary 000 to a '138 that feeds the bus. If that rubs you the wrong way, I can make binary 111 to deselect everything, so Y7 of the '138 instead becomes the unused one.

For a name? A combination? 65SIB? It's really not 6502-specific, except that we who worked on it want it for our 6502/816 projects. We might as well promote the 65 family in the name.

Quote:
Hey, what if... Naw, we've twiddled with this thing enough.

Ok, maybe I should say it. When we were still trying to get it all in ten pins, we dropped the 5V for lack of pins, based on the fact that it's easier and cheaper to start with +12 and get +5V than vice-versa if both are needed. If only one of them was put on the bus, it made sense to put the +12V on. However now we can change pin 16 to +5V, and still have four grounds left. I'm not sure I want to give up any more true grounds beyond that since they're also the power supply returns, but if we did, pin 6 would be the next one to convert to +5 for dependability and lower resistance, leaving three grounds.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 5:25 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
GARTHWILSON wrote:
If that rubs you the wrong way, I can make binary 111 to deselect everything, so Y7 of the '138 instead becomes the unused one.


This shouldn't matter -- I see this as something that is beyond the specification of the bus, and is up to the specific operating system/motherboard to decide.

Quote:
but if we did, pin 6 would be the next one to convert to +5 for dependability and lower resistance, leaving three grounds.


I'll leave this one up to you, personally. I'm happy with the bus as-is; I can stick 7805s on peripherals.

Are there voltage regulator chips that are more efficient than a 7805 though? E.g., if I need a 3.3V or 1.8V device (e.g., an FPGA), dropping 90% of the voltage in a 78xx device is going to be very wasteful of power.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 10:59 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
Are there voltage regulator chips that are more efficient than a 7805 though? E.g., if I need a 3.3V or 1.8V device (e.g., an FPGA), dropping 90% of the voltage in a 78xx device is going to be very wasteful of power.

There are several manufacturers of very efficient 78-lookalike switching regulators now. Power Trends is one we've used. Often it's a matter of only needing 3mA (or some very small quantity), and then throwing away 10mW is trivial when the system is not battery-powered.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 11, 2007 11:03 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
By my math, going from 12V to 5V is a 7V drop; a 3mA minimum draw therefore constitutes a 21mW power dissipation. That's a fair amount of power when you think about it.

Is there anything better?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Feb 12, 2007 12:42 am 
Offline

Joined: Tue Nov 18, 2003 8:41 pm
Posts: 250
kc5tja wrote:
Are there voltage regulator chips that are more efficient than a 7805 though? E.g., if I need a 3.3V or 1.8V device (e.g., an FPGA), dropping 90% of the voltage in a 78xx device is going to be very wasteful of power.


http://www.national.com/an/AN/AN-181.pdf

figure 9

I've never tryed it.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Feb 12, 2007 2:02 am 
Offline
User avatar

Joined: Thu Mar 11, 2004 7:42 am
Posts: 362
kc5tja wrote:
It needs a name though. It's clearly not SS-22, since that's relating to the 65C22.

Gee, I kinda like GASBUILT: Garth And Samuel's Bus Unsurprisingly Inspires Long Thread. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Feb 12, 2007 6:53 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Quote:
By my math, going from 12V to 5V is a 7V drop; a 3mA minimum draw therefore constitutes a 21mW power dissipation. That's a fair amount of power when you think about it.

Is there anything better?

Sorry— Yeah, my whole post (short as it was) made little sense. Too little sleep last night. Ok, I was thinking about 12V down to 3V, a 9V drop, at 3mA plus another fraction of a mA for ground pin current for a National Semiconductor LP2950ACZ-3.0 comes to almost 30mW. Efficiency is lousy with the linear regulator, but the TO-92 package (like a small-signal transistor) can still dissipate ten times that much. For 5V with an LP2950ACZ-5.0, you get a 7V drop at 3mA plus another fraction of a mA for ground pin current, which comes to maybe 22mW. The 78L05 with its 3mA ground-pin current puts us around 42mW, and the 7805 with a ground-pin current of around 5mA brings it to 56mW. Your 12V 1A (12,000mW) supply still won't even know it's there.

Some loads will definitely be over 3mA though. A single LED for a status indicator will at least double that. There are a bunch of low-power switching regulators from companies like Maxim and Linear Technology, but again, most of those are not very hobbyist-friendly. The 78xx-drop-in-replacement integrated switching regulators make things easy, if you don't mind the $10+ price tag and you have a big enough load to justify them. (Sometimes their minimum load for good regulation may be something like 100mA.)

Here are a couple them:
http://www.rgpower.com/
http://focus.ti.com/lit/ds/symlink/pt5101.pdf

There are a lot more choices if it doesn't have to be 7805-pinout-compatible. For non-production applications, I would definitely recommend the ready-made modules for reasons given in my 6th-to-last post above though, not trying to build one up around a switching-regulator IC that needs the external inductor, capacitors, etc..

I put Power Trends' 78SR112VC in one of our products. It's an integrated switching regulator that replaces the 7812. Although it's bigger than a 7812, it will handle more power, and without a heat sink, since it's very efficient. TI took over Power Trends though, and I've always found TI (the semiconductor division) to be harder to do business with than others like Maxim, National, STMicroelectronics, and Linear.

Quote:
Quote:
kc5tja wrote:

Are there voltage regulator chips that are more efficient than a 7805 though? E.g., if I need a 3.3V or 1.8V device (e.g., an FPGA), dropping 90% of the voltage in a 78xx device is going to be very wasteful of power.


http://www.national.com/an/AN/AN-181.pdf

figure 9

I've never tryed it.

The 68-85% efficiency they're claiming is a whole lot better than the purely linear regulator, and the 30kHz switching speed will make construction more hobbyist-friendly. It is definitely made for higher current though, and most of the simplish switching regulators have a minimum load current that might be 10% of the rated max. Below that, the regulation will be really bad. This one in the LM317 ap. note does however look really cheap to make, so the experiment won't set you back much beyond the time you put into it to try it out. I'd like to hear what you find.

My vision for a device that legitimately takes a lot of power however is that it will either have its own power supply, or be connected to the same power supply the computer uses, connected by a separate cable. There are limits to what the ribbon cable can handle.

Quote:
Gee, I kinda like GASBUILT: Garth And Samuel's Bus Unsurprisingly Inspires Long Thread.

Thanks for the best laugh I've had since a German general fighting the gestapo on Hogan's Heroes last night suggested arming the prisoners! Actually Bruce I was expecting you to chime in with some long posts too, but I guess I should expect that more when it comes to software and algorithms, not hardware, huh?

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 109 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: