element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum Design suggestion for a bus
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 33 replies
  • Subscribers 320 subscribers
  • Views 3041 views
  • Users 0 members are here
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

Design suggestion for a bus

amgalbu
amgalbu over 10 years ago

Hello

I need to develop a custom board (hardware + software) to drive a set pneumatic valves. The requirements are

  • the boards can be stacked (up to 18 boards can be stacked, but I expect this number to be increased in the future)
  • the boards must be configuration-free (no dip-switches to set the board address)
  • the bus must be fault-tolerant: if a board in the stack breaks, the other boards should continue to work properly
  • pneumatic valves are "digital", so the bus must convey only on/off commands

An external board communicates with the stacked boards through the bus and drives each pneumatic valve indivudually

 

The only solution I can think of is to have two serial buses: the first one is an in-out bus used only to configure the address of each board in the stack and is used only when the system is switched on. The second bus connects all the boards in parallel, thus providing the required fault-tolerance

 

However, this solution is far from being elegant... Does somebody have a better idea?

 

Cheers

Ambrogio

  • Sign in to reply
  • Cancel

Top Replies

  • crjeder
    crjeder over 10 years ago in reply to Robert Peter Oakes +1
    I2C adressability is an issue. E. g. a suitable device could be TPS22993 Quad Channel Load Switch with GPIO and I2C Control but it features only 3 adress pins for a max of 8 devices. But each can operate…
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago +1
    Then by that measure, using a device like a 23017 http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf would give 16 valves on a board and re duce the count of boards considerably and only needs…
  • amgalbu
    amgalbu over 10 years ago in reply to michaelkellett

    Hi Michael!

    definitely the solution should be based on a RS485 bus to simplify wiring

    The customer just requires that, in case the board does not power on due to -typically- board's power supply failure, the communication continue to work.There is no safety-critical concerns there. I don't have an idea of the price he expects, but the production volume is about 20k pieces/year

     

    Cheers

    Ambrogio

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • amgalbu
    amgalbu over 10 years ago in reply to amgalbu

    Comment to myself image

    The dual ring unfortunately does not cover the "more-than-one-board-broken" condition!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • peterjcs23
    peterjcs23 over 10 years ago in reply to crjeder

    Yes, was thinking the same. But that (allone) would not faciliate the failover capability. (unless I missed something)

     

    It's not too difficult to protect the bus, use a fault tolerant drive such as LT1791.

     

    If you need to detect which board is faulty, you can provide an ACK feedback bus.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago in reply to amgalbu

    This would fail if a single board fails and the ring is re-initialized

     

    you say each board has an actuator of some kind attached and I assume each one is for a specefic purpose, so if one fails and re-initialization occures then assignements are now changed, unless all valves serve the same purpose, you must know the address of each valve in order to correctly control it

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago

    I2C only supports 127 Devices on a single bus, without I2C switches etc, you will not be able to change this, also it would be quite complex to make this fault tollerant . Also I2C devices have factory assigned addresses within a range, some can be changed enough to provide say 16 devices of the same make and brand on a bus but not much more. I2C probably is not your answer if you need 80++ boards stacked, all uniquely controllable and fault tollerant.

     

    RS485 as mentioned earlier would be better, it is cheap, can easily cover the distance and number of devices and can be made into a ring, dual rings etc with little cost.

     

    None of this though willl address how each board will self configure and allow the control master know who is who for specefic control purpose

     

    Does each one need to be uniquely identified and controlled ?, can you say the purpose of the solution with a little more detail ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • crjeder
    crjeder over 10 years ago in reply to Robert Peter Oakes

    I2C adressability is an issue. E. g. a suitable device could be TPS22993 Quad Channel Load Switch with GPIO and I2C Control but it features only 3 adress pins for a max of 8 devices. But each can operate 4 on / off valves. This would meet the stated requirements.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 10 years ago

    Then by that measure, using a device like a 23017  http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf  would give 16 valves on a board and reduce the count of boards considerably and only needs a couple of OCTAL Driver chips to interface to relays / Solenoids

     

    I suspect this is compacting the control too much though but this is not known as your description does not provide too much of the operational details and is quite vague

     

    If you can provide more details of how this will be configured and what it is controling we can advise better

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • amgalbu
    amgalbu over 10 years ago in reply to Robert Peter Oakes

    Hi Peter

    I will try to explain the problem

    I have pneumatic valves that can be placed side-by-side as shown in this picture. You can (currently) have up to 38 valves

     

    image

    I need a board that controls these valves using a serial bus. There are two requirements:

    1. If (let's say) the central board does not switch on, all the remaining valves must continue to work normally

    2. The board must be "plug-and-play": when a board breaks down, the maintenance person take a spare part from the box, replace it and that's all

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 10 years ago in reply to amgalbu

    The obvious way to do this is to use Devicenet

     

    https://www.google.co.uk/search?q=device+net+idc&ie=utf-8&oe=utf-8&gws_rd=cr&ei=8mO0VvPDI4fEOvCvgsAO

     

    If actual Devicenet is too expensive you could trawl the extensive literature for ideas.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • amgalbu
    amgalbu over 10 years ago in reply to michaelkellett

    Hi Michael

    The obvious way to do this is to use Devicenet

    Not sure why this is the obvious choice, since the devices will require a commissioning phase before installation and there are tens of industrial buses out there that are more widely used than DeviceNet

     

    If actual Devicenet is too expensive you could trawl the extensive literature for ideas.

    Yes, of course there is Google out there that can provide all the answers, but may be this community could provide suggestions based on hands-on experiences

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube