Blog:
Introducing modularity in embedded design
The concept of modularity is widely used in various industries. I am sure you are familiar with modular kitchens that are widely used in houses nowadays. Software developers also leverage the concept of modularity by splitting their software stack into small modules. The benefits in both these cases are parallel development of modules leading to less development time, easy customization based on requirements, portability to adapt to future requirements, and cost advantage in terms of less development time and reduced risk.
In this post, I will be introducing modularity in embedded design. An embedded platform consists of hardware including CPU, memory, I/Os, power circuitry, PCB, and many more, and in terms of software: Operating system, BSPs, device drivers, UI, application, etc. We can split this entire platform in the following manner:
This ‘Application specific’ part constitutes both the hardware and software, depending on the end-application and OEMs requirements. OEMs can differentiate their products from those of their competitors by adding value to this part, as this is the part that users can interact and experience.
The ‘Application agnostic’ part consists of essential design commodities, including the processing & memory requirements. This part may not differ much whether the end-product is a medical device or retail PoS device, assuming the processing and memory requirements are somewhat similar.
Usually, the entire embedded platform is designed and developed from scratch, and this leads to multiple issues, as mentioned in my earlier blog post. There are also constraints in using off-the-shelf platform such as Single Board Computer (SBC); few of the constraints of SBC are mentioned in this other blog post. A Computer on Module (CoM) or System on Module (SoM) can come quite handy for efficient embedded design.
The revamped embedded architecture after introducing modularity by using a CoM can be represented as below:
A Computer on Module (CoM) or System on Module (SoM) is a cost-effective, reliable and ready-to-use computing solution that consists of the application-agnostic hardware and software. System developers can focus on the application-specific part by using an off-the-shelf CoM, and thus accelerate time-to-market without compromising on product development cost and risk.
The combination of an off-the-shelf Computer on Module (CoM) and an application-specific carrier board, offers a complete platform for building any end-products for diverse applications such as medical, industrial automation, aerospace, robotics, etc.
An example carrier board along with the various I/Os is shown below:
A combination of a CoM and a compatible carrier board offers a complete embedded development platform to build various end-products.
Toradex offers Computer on Modules powered by leading Arm based SoCs, at variety of price, performance, power, and interface support. These extensive series of CoMs addresses the diverse demands of embedded applications in areas of medical, industrial automation, building automation, robotics, automobiles, marine, aerospace, and many more. Check out my next blog to know how a Computer on Module addresses the constraints (mentioned in the blog) of chip-based or development from scratch of embedded products.