Loading ...
Sorry, an error occurred while loading the content.
 

RE: [Electronics_101] Of electronics design decisions and design patterns

Expand Messages
  • gaurav verma
    Hi Stefan I exactly meant what you said. On the concept of modularity I understand how to divide things and how to group them into modules. I do that all the
    Message 1 of 11 , Oct 1, 2006
      Hi Stefan
      I exactly meant what you said. On the concept of
      modularity I understand how
      to divide things and how to group them into modules. I
      do that all the time.
      I see the lowest common denominator that I can build
      and test for example I
      can test my input stage independent to my amplifiers,
      which can be
      independent to my power supply and so on.

      But I can never think from an expandability point.
      Where do I leave my ports
      so that I may expand them. What end should be left
      loose. If I am leaving
      them loose to be expanded why on that particular end
      why not elsewhere. How
      to make that decision ?

      This is what I would like to learn. Any suggestions
      are welcome.
      Regards
      Gaurav

      -----Original Message-----
      From: Electronics_101@yahoogroups.com
      [mailto:Electronics_101@yahoogroups.com] On Behalf Of
      Stefan Trethan
      Sent: Sunday, October 01, 2006 3:16 PM
      To: Electronics_101@yahoogroups.com
      Subject: Re: [Electronics_101] Of electronics design
      decisions and design
      patterns

      On Sun, 01 Oct 2006 23:25:16 +0200, gaurav verma
      <gaurav_verma_mca@...> wrote:

      >
      > Problem Statement
      > Is there a similar concept of design patterns in
      electronics,if so I
      > would request to share the name of a book or a url
      for same ?
      > Do we think of extendibility when we develop
      electronics circuitsof do
      > we just intend to do the job at hand, I would
      request you to express
      > youropinion on this point ?


      In programming, things aren't real, they are virtual.
      The fake cart can
      take wares of any size.
      Electronics is the real world, you can not fit a
      mobile home in a real
      world shopping trolley of standard dimensions.
      It would be impractical to make a shopping trolley
      large enough to
      accomodate a mobile home, because the space between
      them shelves at tescos
      or walmart or whereever is not large enough.

      So you have to strike a compromise - how large am i
      going to make my
      shopping trolley? To do this, you'd look at the volume
      of the average
      shopping trip, the largest one, the smallest one.
      You'll make the trolley
      large enough, but not too large. Also, in a DIY store
      you might need
      another kind of trolley than in a drug store. You may
      even need to provide
      several different kinds of carts or baskets in a
      single store to fill all
      the different needs. In programming all those carts
      could be the same,
      because it is easier to change the size.

      The concept that you may be looking for in electronics
      is modularity.
      There are many systems out there that can be
      customized and expanded with
      modules. But the thing is, there is usually always a
      minimum practical
      system size and a maximum practical system size in any
      modular system. It
      does not make sense to include provisions for huge
      expansion in a circuit
      that is only going to do one simple job, and it is
      often not possible to
      expand systems infinitely (because of power
      limitations, adress or
      connector limitations, time constraints, ...)

      You are always going to have to make design decisions
      here, modularity and
      expandability is usually good for future developments,
      but bad for cost
      and effort. In other situations it can break a product
      line if you don't
      allow for additions.
      There are many examples of designs that were great
      because of modularity -
      think of the tek 7000 or TM500 series, or the PC.
      There are also a great
      many modular systems that were never ever changed,
      expanded, or anything
      connected, sometimes even never ever anything designed
      to fit those
      interfaces meant for expandability. And it is not
      unheard of that there
      are expansion ports added to a design that have no
      function at all other
      than marketing.
      Usually people are not going to mind so much if there
      are extra ports, or
      the device you have designed uses a modular system and
      they don't even
      know, but if you aren't careful you may have rocketing
      cost and
      reliability issues if you do that unnecessarily.

      Some things do extremely well with modularity (e.g.
      LED video screens -
      they consist of little modules grouped into larger
      modules grouped into
      huge screens), and some things simply do not need or
      can not afford
      modularity.

      If you are thinking more on a design level than
      hardware, you will usually
      have your "standard circuits" and circuit elements
      that you are going to
      use again and again in your designs. You may of course
      use complete
      circuit blocks from one project in the next just like
      with software. I'm
      not sure if that's what you meant.

      ST



      Yahoo! Groups Links




      mailto:Electronics_101-fullfeatured@yahoogroups.com










      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
    • Stefan Trethan
      On Mon, 02 Oct 2006 00:26:43 +0200, gaurav verma ... That s a very tricky thing. I can only recommend try to add the expansion options where you do not need to
      Message 2 of 11 , Oct 1, 2006
        On Mon, 02 Oct 2006 00:26:43 +0200, gaurav verma
        <gaurav_verma_mca@...> wrote:

        >
        > But I can never think from an expandability point.
        > Where do I leave my ports
        > so that I may expand them. What end should be left
        > loose. If I am leaving
        > them loose to be expanded why on that particular end
        > why not elsewhere. How
        > to make that decision ?
        > This is what I would like to learn. Any suggestions
        > are welcome.
        > Regards
        > Gaurav


        That's a very tricky thing. I can only recommend try to add the expansion
        options where you do not need to put in much extra effort. For example, if
        you use an internal bus system, allow access to that via expansion sockets.
        Or if you are say for example designing a television, you'd allow
        expansion via SCART input for audio and video signals.
        You need to consider what sort of connections are already conveniently
        there to tie into, and what sort of signals at minimum you need to allow
        access to in order to make future additions possible.
        You can rarely allow access to all or even most signals, but it is usually
        good to add power so small expansions do not require external power, and
        of course the signals required to communicate/interact (fully or
        basically) with your system.

        Don't forget your immediate function comes first and foremost, so if you
        build that amplifier make sure you build a good amplifier. It doesn't do
        at all to make a universal amplifier that is easy to customize but is poor
        in the application you need most. Don't get too tied up in features and
        ideas and whatnot, if you make a good amplifier you will still always have
        a good amplifier - even if you need to make a completely new design for
        the next application. If you got tangled up worrying which components and
        connections to make optional and replaceable you might not ever finish
        with your design - that happens all the time.

        To stick with your example of amplifier - it could be good to allow for
        different components in the feedback section, or different biasing
        options, or optional preamp, or whatever. It is relatively easy to have
        additional pads and solder bridges on a PCB. I once designed a LED meter
        that should accept all kinds of input signals. It had a universal input
        stage consisting of a opamp that could be used differential, single ended,
        inverting, non-inverting, with offset, amplification, attenuation, or
        completely bridged - simply by adding a couple of extra SMD pads and a few
        solder bridges.
        I suggest to look at what requirements you have right now for this
        circuit, and then spend some time thinking up likely situations that might
        come in handy and are not difficult to accomodate. This way you will have
        made a reasonable effort allowing for future developments, but don't grow
        a long beard mulling over it, nobody can see into the future.
        In my book a well working circuit that does what it was designed to do
        well is more valuable than a badly working circuit that could potentially
        do much more.

        A teacher of mine once told me a story, he had asked his own teacher what
        profession he should take up, and the old wise teacher answered: "become a
        street sweeper, but become a good one.". It is the same in electronics. It
        is perfectly fine to make the most basic, simple circuit, as long as it
        works well. Bells and whistles may make the marketing people happy, but
        you'll always know better.

        Be reasonable with your design goals, chances that you do never need
        options you included are at least as high as chances of you missing
        something. I like to keep lotsa options open, but i have wasted much time
        taking provisions i never even came close to needing.

        ST
      • Roy J. Tellason
        ... That s exactly the word that came to mind for me, too. ... True, but there are ways to deal with a great many of those issues. ... Yes, connectors and
        Message 3 of 11 , Oct 1, 2006
          On Sunday 01 October 2006 06:15 pm, Stefan Trethan wrote:
          > The concept that you may be looking for in electronics is modularity.

          That's exactly the word that came to mind for me, too.

          > There are many systems out there that can be customized and expanded with
          > modules. But the thing is, there is usually always a minimum practical
          > system size and a maximum practical system size in any modular system. It
          > does not make sense to include provisions for huge expansion in a circuit
          > that is only going to do one simple job, and it is often not possible to
          > expand systems infinitely (because of power limitations, adress or
          > connector limitations, time constraints, ...)

          True, but there are ways to deal with a great many of those issues.

          > You are always going to have to make design decisions here, modularity and
          > expandability is usually good for future developments, but bad for cost
          > and effort. In other situations it can break a product line if you don't
          > allow for additions.

          Yes, connectors and separate enclosures and such all add to the cost.

          <...>
          > Usually people are not going to mind so much if there are extra ports, or
          > the device you have designed uses a modular system and they don't even
          > know, but if you aren't careful you may have rocketing cost and
          > reliability issues if you do that unnecessarily.

          And if we're talking product design then there's competetive pressures to deal
          with as well.

          <...>
          > If you are thinking more on a design level than hardware, you will usually
          > have your "standard circuits" and circuit elements that you are going to
          > use again and again in your designs. You may of course use complete
          > circuit blocks from one project in the next just like with software. I'm
          > not sure if that's what you meant.

          That's a part of it. But then there's standard (or at least common) power,
          like the ubiquitous +5V/+12V in so much stuff, the bipolar 15V that's so
          common for op amps, and so forth. And the standard levels, like audio
          "line level" and similar standards in other things like video, and so on.
          It seems to me that most RF stuff is designed to do 50 ohm impedances at
          input and output, and I'm not sure why that is, either.

          Lots of modularity possibilities out there. I just haven't settled on one and
          built a bunch of stuff with it.

          There are also a couple of them that are pretty widely used for music
          synthesizers, in terms of physical formats. And things like 1Volt/Octave
          for things like pitch, filter frequency, and other settings.

          --
          Member of the toughest, meanest, deadliest, most unrelenting -- and
          ablest -- form of life in this section of space, a critter that can
          be killed but can't be tamed. --Robert A. Heinlein, "The Puppet Masters"
          -
          Information is more dangerous than cannon to a society ruled by lies. --James
          M Dakin
        • Roy J. Tellason
          ... It s all tradeoffs. You make any decision in any of this stuff and you re closing off some avenues, and opening up others... -- Member of the toughest,
          Message 4 of 11 , Oct 1, 2006
            On Sunday 01 October 2006 06:26 pm, gaurav verma wrote:
            > How to make that decision ?

            It's all tradeoffs. You make any decision in any of this stuff and you're
            closing off some avenues, and opening up others...

            --
            Member of the toughest, meanest, deadliest, most unrelenting -- and
            ablest -- form of life in this section of space, a critter that can
            be killed but can't be tamed. --Robert A. Heinlein, "The Puppet Masters"
            -
            Information is more dangerous than cannon to a society ruled by lies. --James
            M Dakin
          • Ross McKenzie
            And of course you are always contsrained by the old iron triangle of time/cost/quality (performance) whereby you can only select any two and sacrifice the
            Message 5 of 11 , Oct 1, 2006
              And of course you are always contsrained by the old iron triangle of
              time/cost/quality (performance) whereby you can only select any two and
              sacrifice the third <g>.

              Regards,

              Ross McKenzie
              ValuSoft
              Melbourne Australia


              Roy J. Tellason wrote:

              > On Sunday 01 October 2006 06:26 pm, gaurav verma wrote:
              > > How to make that decision ?
              >
              > It's all tradeoffs. You make any decision in any of this stuff and you're
              > closing off some avenues, and opening up others...
              >
              > --
              > Member of the toughest, meanest, deadliest, most unrelenting -- and
              > ablest -- form of life in this section of space, a critter that can
              > be killed but can't be tamed. --Robert A. Heinlein, "The Puppet Masters"
              > -
              > Information is more dangerous than cannon to a society ruled by lies.
              > --James
              > M Dakin
              >
              >
            • rtstofer
              In the analog end of things, amplifiers used to be designed with discrete components. Perhaps power amplifiers still are. But many small signal amplifiers
              Message 6 of 11 , Oct 1, 2006
                In the analog end of things, amplifiers used to be designed with
                discrete components. Perhaps power amplifiers still are. But many
                small signal amplifiers are using op amps; a modular approach that
                simplifies things like gain and offset. Integrators and
                differentiators are just extensions of this idea. Change a few
                resistors and perhaps a capacitor or two and the simple amplifier
                becomes an analog computer.

                On the digital side, we started with simple OR and AND gates with
                diode circuits (I'll skip the vacuum tube stuff). We moved to small
                scale integration (SSI) with RTL and DTL logic composed of relatively
                simple things like NOR and NAND gates. Shortly after we had D, RS and
                JK flip flops as part of the logic family.

                Then along comes TTL and medium scale integration. Now we have
                adders, counters, shift registers. All things that were built
                previously with simple gates and flops.

                All of these enhancements were nothing but drop-in modules.

                But, once wired, the design was fixed. We couldn't turn a shift
                register into a parallel adder. The parts were what they were.

                Then came the microcomputer and microcontroller. Both were just
                higher level modules. In most cases they were controlled by some
                combination of firmware and software.

                But the modern FPGA is at the top of the heap for digital circuits.
                You can describe just about anything and a few seconds later you can
                see if it works. Where a hobbyist might have a limit of, say, 100 DIP
                packages before wire-wrapping became a full time job, the FPGA can
                easily replace several hundred DIP packages without a single piece of
                wire. Need a million gates? No problem, FPGAs of this capacity are
                cheap. The ultimate plug-in module.

                And in FPGA design it is quite reasonable to add stubs for future
                expansion. In fact, when designing a bus oriented computer with an
                FPGA, it is a simple matter to drop in a serial port, an SPI interface
                or just about anything that might come up.

                Richard
              • Bob Hyland-PMP
                ... *snip* ... Yes. This is the part where us software weanies get interested. *snip* ... The patterns he mentions are not so much functions (or directly
                Message 7 of 11 , Oct 2, 2006
                  --- "rtstofer" <rstofer@...> wrote:
                  *snip*
                  > Then came the microcomputer and microcontroller. Both were just
                  > higher level modules. In most cases they were controlled by some
                  > combination of firmware and software.

                  Yes. This is the part where us software weanies get interested.

                  *snip*

                  > And in FPGA design it is quite reasonable to add stubs for future
                  > expansion. In fact, when designing a bus oriented computer with an
                  > FPGA, it is a simple matter to drop in a serial port, an SPI
                  > interface or just about anything that might come up.

                  The patterns he mentions are not so much functions (or directly
                  reusable code) as much as they are types of functions. The closest
                  hardware equivalents I have found might be something like "common
                  collector" or "totem-pole outputs" or "schmidt triggers." So, if
                  someone wants to know the 'accepted' method for having a transistor
                  output be able to source or sink current, without having to reinvent
                  the wheel, someone might choose a totem-pole configuration for a
                  given application.

                  > Richard

                  When applied to FPGA's, and similar devices, software patterns can be
                  quite useful. Although using patterns will not result in the
                  absolutely fastest code, it does encourage reuse and allows engineers
                  to compile catalogs of functions they can pop into an application
                  with minimal customization. However, as with a good schematic,
                  writing good code is essential to creating something that can be
                  maintained and fixed.

                  Also, for my fellow software weanies: there are "patterns" that
                  electronic engineers use. However, they are not referred to as such.
                  One good reference for habits when making schematics can be found in
                  this excerpt from The Art of Electronics by Paul Horowitz and
                  Winfield Hill:

                  http://xcircuit.ece.jhu.edu/goodschem/goodschem.html

                  Bob H.

                  (Hope this bridges the gap a little)
                Your message has been successfully submitted and would be delivered to recipients shortly.