System on Module
We all use personal computers in daily life for variety of tasks. Personal computers are designed as general purpose computers. When a computer is designed for specific task/tasks it is called Embedded Computer. The specific tasks may include controlling an automatic washing machine, controlling the functionalities of a microwave oven and even controlling an automated industrial plant and so on.
Embedded Computers have many types according to their processing capabilities and physical size. They may consist of a single chip only called Microcontroller, the complete computer with all standard connectors for input/output on a single circuit board called Single-board-computer or only main components like Processor, RAM and ROM mounted on a single board called Computer-on-module.
Physical size, called form factor, is a very important factor in embedded world and it should be as small as possible in majority of cases. While Microcontrollers are usually smallest in all types of embedded computers as they have RAM, ROM and processor all fabricated on a single chip, they lack processing power as compared to Single board computers and System on modules. Microcontrollers are used where very small amount of RAM, ROM and processing power of the processor is required. Single board computers have large amount of RAM and ROM and high processing powers at the cost of relatively higher form factors. System on modules lies in between Microcontrollers and System on modules both performance wise and with respect to form factor. Systems on modules are highly integrated and have a dedicated connector to be plugged in a carrier board.
A significant advantage of using System on modules is that it makes the embedded system design a modular design. By modular it means that the carrier board can be customized independently from System on module board according to a particular design requirement. For example, in an industry a particular embedded system require a large number of input/output connectors to log plant’s data. This number of input/output connectors may be as high as 1000. This much number of input/output connectors is usually not available in single board computers. In this case, a customized carrier board with a series of connectors, using multiplexers of course, can be designed and then this carrier board can be connected to the system on module as processing engine. This technique greatly simplifies the design. If a complete customized board is designed using microprocessor, RAM and ROM plus a series of input/output connectors and other required circuitry then it would require a great engineering effort in making complex PCBs, writing device drivers and configuring OS kernel according to a particular design.