Often a complete embedded design is split into smaller modules for more flexibility. In this way, the system can be upgraded only by upgrading one of its required part. The best practice is to split the design into two major parts:
- Base board or the carrier board or an expansion board
- Processor board or plugin module
The base board if often designed with maximum peripherals and IO options to be used in future applications. The common peripherals like Ethernet, USB, RS485; storage like flash, microSD and other options are populated. A common connector interface through headers is provided where the Processor board seats. Here is an example of such a system. A good base board for simple automation and control applications may contain:
- Serial such as RS232/485
- microSD slot
- Flash memory with an interface like SPI
- Stereo input/output
- On-board temperature sensor
- Power supply unit
- A display like LCD, OLED or TFT
- Clock/calendar chip on I2C bus
- Some relays
- Digital and/or analog outputs
- Output power for IOs like sensors
The processor board, as the name describes, carries the main CPU like a microcontroller and is the brain of the system. The designer can change the processor board as the requirement changes.
The major disadvantage of this kind of scheme is the production cost as an application may carry un-necessary on-board components. This approach is, though, great for small production, prototyping and for a range of products which shares similar features. For example an industrial controller with variety of options in different versions can be offered to customers. It is easier to maintain for small companies and can relatively easily be modified.
The other idea, which is very different from above one, is to use a back-plane like those used in PLC. The idea is use a common serial bus and connect/attach all the system modules on the very bus. The system modules may include power supply unit, main CPU unit, IO unit, communication module and several others as per requirement. In this way the user can control his cost by selecting appropriate set of modules. This also frees the manufacturer from repetitive system revision, rather the vendor only upgrades, or provide better option than the existing one.