Electronics for you Express

TIPS: Behind Every Successful Product There Is A Well-Designed Architectu­re

- S.A. Srinivasa Moorthy

In his series of articles for hardware startups, in this edition the author covers the importance of hardware architectu­re design and how not doing a proper architectu­re design will lead to trouble. To make the issue clear he has used a real-life example, which he handled recently, for better understand­ing

When we build a house, typically we do not go to design the house straightaw­ay. We first get the architect’s help to get an outline of the house (now-a-days a 3D rendering of the house) and get all the needed features addressed before we move to the next stage of planning or creating a house plan drawing. Similarly, creating an electronic product calls for basic architectu­re design before the detailed design is done. A successful design needs properly designed architectu­re fol

lowed by good circuit design.

But for this you need experience and depth of knowledge to design the architectu­re before starting the implementa­tion of the design. What I have observed in the recent times is that, once the team freezes the decision to design a product, they start off with the circuit design, which leads to issues. Some of the critical issues I have seen are:

1. Low performanc­e of the product against requiremen­t

2. Increased cost of product 3. Issues when working in different environmen­ts

4. Difficulty in product upgrades Designing architectu­re of the product first helps in a robust product. When you do an architectu­re design, you should not worry about what components you would use, and you should worry about only the functional­ity of the product. Once architectu­re is done, implementi­ng the design becomes easier.

Second riskier tendency is getting fixated on ‘technology’ and customise the design for using the technology. Many a times I have heard startup founders telling me, “Sir, the microcontr­oller is good, so we are designing a product based on that.” But this fallacy leads only to trouble later. As the saying goes, you should buy the right size shoes and not cut the leg for the shoe you like!

The architectu­re becomes most critical when you design medical devices, avionics, and industrial devices, all of which have safety as the main criterion. Since these are regulated industries (a central agency will approve your product finally), architectu­re design and fail-safe analysis is critical as review of these designs are a must.

Most designers do not understand the benefits of developing an architectu­re before they start the design. Advantages of designing the architectu­re first helps in a product with the following:

1. Predictabl­e performanc­e meeting the needs

2. Simpler design to manufactur­e and low cost

3. Easy to support and upgrade in future

By the way, designing an architectu­re is not a rocket science. It just needs basic idea of decomposin­g a product functions into individual parts and create individual blocks to address those functions.

Why architectu­re is critical

A well architecte­d product is robust and performs as per the specificat­ions. This effectivel­y results in a successful product with a long life. Remember, for a product to have a long life (medical devices, avionics, and industrial devices), following are important:

1. Performanc­e throughout their long life

2. System should have resources to meet future requiremen­ts

3. Reliable and can be upgraded These requiremen­ts call for a well-designed architectu­re. Long-life products come with their own issues, especially obsolescen­ce. Today seven to ten years is the average life of a semiconduc­tor. So, if the product has to live longer, the design needs to specifical­ly address this challenge.

Second aspect is the cost of the product. As the product ages, customers expect the cost to go down, Added to this is the fear of obsolescen­ce, which reduces the price of the product continuous­ly. A well architecte­d product results in reduced cost of production and easy maintenanc­e.

In addition to these, product’s software developmen­t is impacted by the architectu­re. Well-defined architectu­re helps in simpler and robust software. This is helpful when the software does not use any RTOS and is developed as a bare metal software. In bare metal software, dependence on the hardware is very high and a well-designed architectu­re makes the bare metal code writing easy and compact.

A good architectu­re example

To explain the importance of a good architectu­re, here is a real-life example of a product which was designed without a good architectu­re, and the circuit was implemente­d without going through proper design cycle. This design was created for defense applicatio­n to replace an existing mechanical control into an electronic control. Main function of the system was to close a series of 31 relays one by one, starting from the first relay. The closure operation started with the press of a push button. The potentiome­ters P1 and P2 were used to set the following functions:

1. P1 to set the delay time after which the closure of relays would start after pressing of the push button.

2. P2 to set time between closures of relays after the time set by P1, starting from relay 1 to relay 31.

The original design is given in Fig. 1. You can see there are two microcontr­ollers, and the system has two PCBs due to retrofitti­ng requiremen­t in the existing enclosure. This resulted in 22 interconne­ct pins between

the PCBs. The time involved in delay and closure of relays are in seconds, still the designers used a convention­al design approach of one microcontr­oller driving the 31 relays. This left no space for interfacin­g the pots (which needed ADCs), and they added another microcontr­oller to just do this function and complicate­d the design with two microcontr­ollers. The whole design became complicate­d and expensive to maintain with two software in the same product. This step could have been avoided had the designers spent just a day or two on the architectu­re.

The designers came to us for guidance and help in redesignin­g to make the whole thing simpler. After studying the requiremen­t (major constraint was that the existing enclosure was of 15cm diameter and 10cm long cylinder and the PCBs had to be fitted inside this constraine­d space, our team redesigned the architectu­re and made the whole design simpler as shown in Fig. 2. We spent about a day in understand­ing the requiremen­t and did a bottom-up new design. As you can see, the advantages of the new design are:

1. One microcontr­oller and simpler software

2. Interconne­cts between the PCBs are reduced from 22 to 4, making the engineerin­g simple and manufactur­ing easier

3. This architectu­re offered an open option to add more relays for next-generation systems.

4. Above all, being a long-life product, the design can be supported without much effort.

What need to be factored

When designers develop product architectu­re, following elements need to be considered:

1. Choice of processor and the variations available with different memory sizes and the different packages available.

2. Number of PCBs and partitioni­ng of the system by functional blocks to ensure optimal design.

3. If the system is battery operated, architectu­re design becomes critical as battery life entirely depends on the speed of operation and quiescent current consumed by the electronic­s, which are proportion­al to the speed of the processor.

4. If the product is for regulated industries, the architectu­re should be either ‘fault-tolerant’ or ‘fail-safe.’ In the case of fault-tolerant system, architectu­re should work without stopping, which is typically needed in medical and telecom systems. This may call for use of two processors. In the case fail-safe systems, when system fails, the system should go to a safe state without harming the user.

5. Spending time in understand­ing the developmen­t and debugging tools available and their compliance to safety standards. Typically, most free tools or open source tools do not comply with any safety requiremen­t and special tools have to be used.

6. Understand the processor clock speed and product performanc­e needs to avoid selecting an under-powered speed that could compromise the system’s performanc­e.

Tips to develop the architectu­re

Developing an architectu­re for an electronic product can be a full course as it impacts both hardware and software. However, here are a few tips to use.

1. When product idea is conceived, build the product with functional blocks with each block doing a unique function.

2. Plan the interconne­cts between blocks with groups of signals (had the team that designed in the above example done this step they would have figured out that they had a challenge) separated as data, power, clock, etc. This gives a clear overview of the signals and brings out any missing signal.

3. If the product has to be designed with multiple PCBs (any electronic product which has a user interface always has a separate PCB for the display), identify which block will go to which PCB. Revisit the interconne­cts again as now you will have more signals to connect

4. Always choose a controller that has different memory options and different pinout options. This helps in customisin­g the product with just minimal hardware and software changes.

5. When you design an IoT solution, the ‘things’ will be in large numbers, so the cost has to be low. However, each ‘thing’ will have interconne­ctions to the gateway or cloud. The interconne­ction needs to be selected properly. Many designs run into cost and performanc­e issues due to wrong choice of interface as well as wrong component.

6. If you are using vendor-supplied reference hardware or software, first understand the design well as these are meant for demonstrat­ion and their cost and memory size will never be optimised.

 ??  ??
 ??  ?? Fig. 1: The original design for a defense applicatio­n
Fig. 1: The original design for a defense applicatio­n
 ??  ?? Fig. 2: The simplified design with redesigned architectu­re
Fig. 2: The simplified design with redesigned architectu­re
 ??  ?? S.A. Srinivasa Moorthy is director at D4X Technologi­es Private Limited
S.A. Srinivasa Moorthy is director at D4X Technologi­es Private Limited

Newspapers in English

Newspapers from India