Expansion connector on BeagleBoard XM

While reading the state of the beagle today I noticed that there are
plans for a next generation Beagle, the XM. One of my gripes about the
current Beagle design is the lack of low-level hardware interfaces
available on the expansion connector. USB, S-Video, and DVI are great,
but many applications need nothing more than to communicate with other
ICs.

For example, we have recently been putting together a general purpose
data acquisition and analysis module based on the BeagleBoard. Our
requirements call for reasonably fast floating point math and we found
that the Beagle is one of the few boards that actually provide an ARM
with VFP and NEON support.

In addition, we require many SPI interfaces (or really just chip
select lines, but full controllers are certainly preferable) to
communicate with our DACs and ADCs.

Unfortunately, while the OMAP's McSPI controllers are quite capable and
have plenty of CS lines, the expansion connector only exposes the two
least capable units. It is incredibly frustrating to have such powerful
hardware yet be able to use so little of it.

I completely understand that there are only a certain number of
expansion pins you can physically fit on the board, but the current
pin-out is a little underwhelming when one considers how little of the
chip one has access to. Even if we had to switch to a finer pitch
connector to accommodate the additional pins (perhaps in addition to the
0.1" connector for more commonly needed balls), I think the trade-off
would be well worth it.

Anyways, those are my thoughts. I'd be interested to hear others
opinions about this matter. Regardless, thanks for an awesome piece of
hardware.

Cheers,

- Ben

Thank you for your input. Unfortunately, that ship has already sailed and the decision has been made to maintain compatability with the current expansion connectors that have been provided on the earlier revisions of the Beagle, so there will be no changes there. The board is very tight and there is no room for any more connectors. We have added the camera connector and an additional MMC connector on the XM desing. There is an additional McBSP that is available on the MMC connector that has been added. These decsions are tough to make and tradeoffs have to be made. If we brought every signal out, the layer count would be much higher than the 6 that we have. We are strivng hard to keep the cost down as much as possible.

Thanks again for your input!

Gerald

Gerald,
IMHO, there should be some way to separate out the three pins related to UART3 and use the other 7 pins that are currently just occupying real-estate on the board without any signals. One solution might be to bundle a split cable (that splits into a DB9 for RS232 and a 8-pin connector). I don’t think people will mind paying a dollar or two more for the cable, when they could get 7 extra pins with valuable signals. If this has already been thought over and discussed (which Im sure of), I’d request you to re-consider this option (which is a lot easier and feasible than increasing the number of layers onboard).

Regards,
Sri

Excerpts from Gerald Coley's message of Thu Feb 18 20:10:07 -0500 2010:

Thank you for your input. Unfortunately, that ship has already sailed and
the decision has been made to maintain compatability with the current
expansion connectors that have been provided on the earlier revisions of the
Beagle, so there will be no changes there. The board is very tight and there
is no room for any more connectors. We have added the camera connector and
an additional MMC connector on the XM desing. There is an additional McBSP
that is available on the MMC connector that has been added. These decsions
are tough to make and tradeoffs have to be made. If we brought every signal
out, the layer count would be much higher than the 6 that we have. We are
strivng hard to keep the cost down as much as possible.

Bah. Oh well. I figured it was probably too late considering the state
of the beagle had mentioned it. I really do wish there was a board that
was capable of this sort of low-level interfacing. It is literally
impossible to find a board with,

1) A reasonable amount of memory
2) A reasonable amount of (floating point) processing power
3) A moderately large number of external interface options

I really thing there would be a very real market for this for test and
measurement applications. Labs such as ours routinely buy NI DAQ cards
which are both horribly over-priced ridiculously poor on features (and
DAQ quality for all but the high-end cards). We have decided to build
our own DAQ unit for $300 total, which is still probably around an order
of magnitude lower than a comparable NI setup and should perform better.
Unfortunately, we have very little head-room when it comes to channel
count as we are unable to hang enough DACs off the board. Very
frustrating indeed.

How difficult would it be to have a board with a reasonably powerful ARM
(perhaps not even an OMAP) with a bunch of ADCs and DACs produced? Is
this something that could be done with on the order of hundreds of
dollars for low part count? 6 layer boards don't seem too expensive, so
it seems like assembly would be the killer if a BGA part is used.

- Ben

I second Ben, we really want to have access to low level interfacing.
It is so hard to find assembled boards with such computing power, and
the possibility of having access to I/O, I²C, SPI, interrupts, etc.

I just wanted to share my opinion too, maybe the next releases may
find the way to add some extra I/O.

Marcos
GNU/Linux user #469721

We shall see. It will mean breaking SW compatability as there are no SPI pins available in the current architecture. All of the pins are used for other functions. So, I can add a bunch of connectors, but I won’t have any signals to put on them.

Gerald

Just curious about the reason for being rigid on the dimensions of the board. If we can extend, maybe half an inch on all sides, you should have enough space for extra signal routes. Sorry if my thinking is too naive and it doesn’t work that way. But, Im plain curious about the dimensions.

Regards,
Sri.

So, what signals do you want route out on this bigger board? I hope it isn’t SPI, because I have no SPI signals to route. Is it some other signal you would like to see? Bottom line is that it is not a dimension issue nor connecotr issue that has to be solved here.

Gerald

Gerald,

So you promised a new McBSP on XM. Do you mean that it is #2?
Keeping fingers crossed,

siñ

No. I can’t figure out how to tristate the output of the TPS65950 so it does not drive McBSP2. So no, it is not MCBSP2. It is MCBSP5. As I keep saying. This i snot going to be done.

Gerald

2010/2/19 Seppo Nikkilä <seppo.nikkila@innovativeideas.fi>

Hi Gerald,

I got your point and we can live with the extension connector as is.

Greetings from Barcelona - GSMA MWC 2010. I visited the TI booth and
had very interesting discussions with the BeagleBoard people there!

siñ

Great! I hope they didn’t promise too much!

Gerald

2010/2/19 Seppo Nikkilä <seppo.nikkila@innovativeideas.fi>

Ben Gamari wrote:

Excerpts from Gerald Coley's message of Thu Feb 18 20:10:07 -0500 2010:
  
Thank you for your input. Unfortunately, that ship has already sailed and
the decision has been made to maintain compatability with the current
expansion connectors that have been provided on the earlier revisions of the
Beagle, so there will be no changes there. The board is very tight and there
is no room for any more connectors. We have added the camera connector and
an additional MMC connector on the XM desing. There is an additional McBSP
that is available on the MMC connector that has been added. These decsions
are tough to make and tradeoffs have to be made. If we brought every signal
out, the layer count would be much higher than the 6 that we have. We are
strivng hard to keep the cost down as much as possible.

    
Bah. Oh well. I figured it was probably too late considering the state
of the beagle had mentioned it. I really do wish there was a board that
was capable of this sort of low-level interfacing. It is literally
impossible to find a board with,

1) A reasonable amount of memory
2) A reasonable amount of (floating point) processing power
3) A moderately large number of external interface options

I really thing there would be a very real market for this for test and
measurement applications. Labs such as ours routinely buy NI DAQ cards
which are both horribly over-priced ridiculously poor on features (and
DAQ quality for all but the high-end cards). We have decided to build
our own DAQ unit for $300 total, which is still probably around an order
of magnitude lower than a comparable NI setup and should perform better.
Unfortunately, we have very little head-room when it comes to channel
count as we are unable to hang enough DACs off the board. Very
frustrating indeed.

How difficult would it be to have a board with a reasonably powerful ARM
(perhaps not even an OMAP) with a bunch of ADCs and DACs produced? Is
this something that could be done with on the order of hundreds of
dollars for low part count? 6 layer boards don't seem too expensive, so
it seems like assembly would be the killer if a BGA part is used.

- Ben

  

I recently priced out a design based on a Stellaris series ARM processor (Ti based). I was looking to design a board with the Stellaris because of several reasons:

pop memory is only available from two vendors
the BGA package of the Stellaris processor is much easier to route.
the peripherals that are available are pretty much the same.
the DDR memory does not have to be low power as the OMAP requires.

Essentially if you don’t need a very powerful graphics processor and a POP interface to save board space, then the AM3505 is a good way to go.

As far as a cheap board with a lot of ADCs/DACs - you would need to define “cheap” and a “lot”. Most customers these days expect to pay nearly nothing for a custom board - and they certainly don’t want to pay to develop it. To make a cheap board you need to sell in volume, in addition to designing for cost. Component costs - not the PCB or the assembly is usually the driving factor in board costs. Once you start making a 1000+ pieces of anything thats when a significant savings can be made.

Steve

Isn't AM35xx Sitara and not stelaris (even thought both mean 'star')?

regards,

Koen

Koen Kooi wrote:


  
Ben Gamari wrote:
    
Excerpts from Gerald Coley's message of Thu Feb 18 20:10:07 -0500 2010:
  
      
Thank you for your input. Unfortunately, that ship has already sailed and
the decision has been made to maintain compatability with the current
expansion connectors that have been provided on the earlier revisions of the
Beagle, so there will be no changes there. The board is very tight and there
is no room for any more connectors. We have added the camera connector and
an additional MMC connector on the XM desing. There is an additional McBSP
that is available on the MMC connector that has been added. These decsions
are tough to make and tradeoffs have to be made. If we brought every signal
out, the layer count would be much higher than the 6 that we have. We are
strivng hard to keep the cost down as much as possible.

    
        
Bah. Oh well. I figured it was probably too late considering the state
of the beagle had mentioned it. I really do wish there was a board that
was capable of this sort of low-level interfacing. It is literally
impossible to find a board with,

1) A reasonable amount of memory
2) A reasonable amount of (floating point) processing power
3) A moderately large number of external interface options

I really thing there would be a very real market for this for test and
measurement applications. Labs such as ours routinely buy NI DAQ cards
which are both horribly over-priced ridiculously poor on features (and
DAQ quality for all but the high-end cards). We have decided to build
our own DAQ unit for $300 total, which is still probably around an order
of magnitude lower than a comparable NI setup and should perform better.
Unfortunately, we have very little head-room when it comes to channel
count as we are unable to hang enough DACs off the board. Very
frustrating indeed.

How difficult would it be to have a board with a reasonably powerful ARM
(perhaps not even an OMAP) with a bunch of ADCs and DACs produced? Is
this something that could be done with on the order of hundreds of
dollars for low part count? 6 layer boards don't seem too expensive, so
it seems like assembly would be the killer if a BGA part is used.

- Ben

  
      
I recently priced out a design based on a Stellaris series ARM processor (Ti based). I was looking to design a board with the Stellaris because of several reasons:

    pop memory is only available from two vendors
    the BGA package of the Stellaris processor is much easier to route.
    the peripherals that are available are pretty much the same.
    the DDR memory does not have to be low power as the OMAP requires.

Essentially if you don't need a very powerful graphics processor and a POP interface to save board space, then the AM3505 is a good way to 
    

Isn't AM35xx Sitara and not stelaris (even thought both mean 'star')?

regards,

Koen

  

Yes you are correct… next time I’ll wait until my second cup of coffee before emailing in the morning :wink:

Steve

What do you mean, they were mainly salesmen...

Seriously I got some interesting bits of information on TI's new
WiLink 7.0 chips developments. I am just not sure what is the maximum
WLAN bit rate with it and it's support for the 40 MHz band operation.
Would be good to know before starting to look elsewhere.

siñ

Excerpts from Stephen Berry's message of Fri Feb 19 08:01:36 -0500 2010:

Essentially if you don't need a very powerful graphics processor and a
POP interface to save board space, then the AM3505 is a good way to go.

This does look like a very nice alternative to the OMAP, which is
certainly far over-featured for this application.

As far as a cheap board with a lot of ADCs/DACs - you would need to
define "cheap" and a "lot". Most customers these days expect to pay
nearly nothing for a custom board - and they certainly don't want to pay
to develop it.

I'm afraid we would probably be one of those customers. We do
biophysics, not board design. I was lucky in that my PI allowed me to go
ahead with my own hardware and not push ahead with the usual NI crap
(luckily, she feels the same way about their hardware as I do). $100 for
having our daughtboard PCBs made is pretty much nothing when it comes to
some of the other investments we make. Unfortunately, nothing is pretty
much the most I think we'd be willing to pay.

To make a cheap board you need to sell in volume, in
addition to designing for cost. Component costs - not the PCB or the
assembly is usually the driving factor in board costs. Once you start
making a 1000+ pieces of anything thats when a significant savings can
be made.

Yeah, naturally it seems like its the lack of economies of scale which
would kill the idea. How much would 100 assembled boards be?

I think that because of the low demand that a DAQ unit would have, it
would probably be more realistic to build a Beagle-like board which
simply brought out more pins with fewer features. Making a daughter
board is pretty easy to do cheaply as one can do the assembly completely
on their own.

However, when it comes right down to it, I think the most cost effective
option is probably sticking with the Beagle and simply figuring out a
workaround for the SPI CS shortage. I was looking at using GPIOs for CS
pins and it really shouldn't be too tough to implement in the McSCP
driver and should come at no cost, I think. This way, you effectively
have as many CSs as you need. It's a bit of a hack, but when one
considers that some SPI controllers have no hardware-controlled chip
selects at all, it doesn't seem so bad. If and when I spin a second
version of my DAQ daughterboard, I might try this approach.

Hope things are going well! Cheers,

- Ben

And POP memory is available from 4 different sources and you don’t have to use POP with the 35xx and the 35xx comes in a .65 BGA with a via channel array that routes like a .8mm.

If power is not an issue, the yes DDR may be easier to get depending on market conditions.

Gerald

Hi Ben,

As a matter of fact I think BeagleBoard is surprisingly flexible in
interfacing ADCs and DACs. Both I2C, McSPIs and McBSCs are bus or
multi-channel ports. And the HS USB 2.0 opens yet another multipoint
expansion dimension. Also remember that you can use the MMC2 signals
either as eight individual GPIO chip selects or via encoders to choose
one out of 256 devices.

siñ

Excerpts from Seppo Nikkilä's message of Fri Feb 19 11:30:54 -0500 2010:

Hi Ben,

As a matter of fact I think BeagleBoard is surprisingly flexible in
interfacing ADCs and DACs. Both I2C, McSPIs and McBSCs are bus or
multi-channel ports. And the HS USB 2.0 opens yet another multipoint
expansion dimension.

The issue is, almost all (price-friendly) parts are SPI. USB really
isn't suited for this sort of work, most serious converter parts aren't
available with an I2C interface. I'm not sure how one would use the
McBSC controller to drive a converter.

Also remember that you can use the MMC2 signals either as eight
individual GPIO chip selects or via encoders to choose one out of 256
devices.

This is true. I just need to incorporate support for GPIO CS pins in the
kernel's McSPI driver. I was thinking of doing this earlier, but I
really didn't want to debug the kernel, hardware, and my software all at
once. Perhaps if I do another spin of the board I'll try the GPIO CS
option.

- Ben