Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

go!bus feature announcement: chained go!bus modules


  • Please log in to reply
24 replies to this topic

#21 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 18 July 2012 - 06:56 PM

Hi Nak,

Will the downstream port act as as a repeater i.e. rebuffer the signals (much like an ethernet switch or hub will do) so you can run longer leads etc.

And what would the realistic maximum length of interconnect you could use be?

I guess its a bit late now but its a shame you cant use cat5/6 as the interconnect medium as its easy to get hold of shielded cables which would help with long lead lengths in a noisey environment...

Yes, each module in the chain acts as a switch (much like Ethernet switches) and as such repeats the signal. Since each link in the chain has ECC, this ensures end-to-end message integrity.

Please note that voltage drops more over longer wires. go!bus is designed for chassis wiring (e.g. the go!bus cables), so you probably won't want to wire a chain from your basement to your second story balcony ;)

BTW, you could certainly create a module which converted the signal to cat5/6. go!bus is designed to be media independent at its core, so there's lots of possibilities there.

Chris

#22 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 21 July 2012 - 08:41 AM

BTW, chained go!bus modules will auto-discover just like modules plugged directly into a mainboard go!bus socket.

Here's an example:
// find the first seven-segment display
// this works whether attached to the mainboard or to a chain
Komodex.NETMF.SevenSegmentDisplay display = new Komodex.NETMF.SevenSegmentDisplay()
Chris

#23 Arbiter

Arbiter

    Advanced Member

  • Members
  • PipPipPip
  • 132 posts
  • LocationBrisbane, Australia

Posted 22 July 2012 - 12:05 PM

Chris based on some of the things you have said above, go!bus chaining is eerily reminiscent of token ring except it's bidirectional and the ring isn't closed. I wonder if there wouldn't be some value in treating it as a network and closing the loop? Token ring had some advantages, one of which was that every device could talk at the same time without collisions.
One day, all this too shall parse.

#24 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 23 July 2012 - 12:40 AM

Hi Arbiter,

Chris based on some of the things you have said above, go!bus chaining is eerily reminiscent of token ring except it's bidirectional and the ring isn't closed. I wonder if there wouldn't be some value in treating it as a network and closing the loop? Token ring had some advantages, one of which was that every device could talk at the same time without collisions.

Good points!

For maximum speed and to keep costs really low per module, we're using SPI via DMA: so we probably need to keep things fairly standard as far as the comm channel goes.

That said, there's definitely room for tweaking and optimizations along this line of thought. I'm glad that we're chatting about this now, before things are set in proverbial stone.

Thanks for the feedback!

Chris

#25 Arbiter

Arbiter

    Advanced Member

  • Members
  • PipPipPip
  • 132 posts
  • LocationBrisbane, Australia

Posted 23 July 2012 - 06:30 AM

Comments have been made about the BOM costs of supporting chaining. To illustrate the need for this, let me walk you through the pin-outs of my current project. D0-3 - serial ports for GPS and SM5100 GPRS D4-7 - relays (single shield) D8 - interrupt port for signal from frequency detector circuit D9-10 - PWM for servomotors controlling pressure relief valve and throttle D11 - 13 SPI for RTC I need another input for the oil pressure switch. I've heard you can use the analog inputs as digital inputs but I'm not sure you can set them up as interrupt ports. Luckily the temperature sender is analog. I think I'm going to have to ditch the relay shield and hand build support electronics for a suitable relay. In the case of this particular engine (it controls a diesel engine) I only need one relay because I can do fuel shut-off using the throttle body servomotor. However, that's because it's a Chinese knockoff with all the mechanical simplifications that only a total disregard for safety or emissions can produce. Fancier gear made in the west requires a separate fuel shut-off valve and corresponding relay. Also, I had hoped to augment the GPS with an AHDR but I don't have enough serial ports. I might be able to fake another serial port using pins freed up by ditching the relay shield, but that's messy. Luckily the board I have in mind also supports SPI which is a bus that can be shared between AHDR and the RTC. If chaining adds $20 to the cost of a module I will be very happy to pay it.
One day, all this too shall parse.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.