The Base Board (BB) is the Mercury System’s main component, as it is the user programmable element and it provides all the interfaces to the rest of the system. The purpose of the Base Board is to act as system master, interface the Modem Board and Slave Boards and runs the system user application. Moreover, the Base Board provides a simple power supply system (up to 1A) and single LiPo cell recharge unit, in order to satisfy the power requirement of small applications, even if battery powered. The Base Board contains two main interface connectors: the Standard Mercury Connector and the Mercury Modem Connector. By using these two connectors the Base Board can be interfaced with all the MS Slave Board, expansion Board, Brain-Less Board and Power Board (Mercury Connector) and to the Modem Board (Mercury Modem Connector). |
|
The Base Board is equipped with the following main components |
- A microcontroller with internal Bootloader (USB programmable),
- A power supply circuit with LiPo battery recharge unit,
- A full-speed USB interface with USB mini connector,
- An on-board non-volatile EEPROM memory,
- An internal RTCC (Real-Time clock and calendar) fed with a low-power oscillator,
- Three on-board user LEDs and one user Button,
- A Standard Mercury Connector (with I2C, UART, externa interrupts lines and up to 11 I/Os),
- A Mercury Modem Connector,
- A main ON/OFF switch.
|
Hardware details |
|
|
- Power supply: 4,2 to 5,5 volt
- Comsumption: Normal 1 mA / Peak 20 mA / Low Power 100 nA
- Start time: 100 mS
- Microcontroller: PIC18F46J50
- Main oscillator: 8 MHz
- EEPROM I2C
- Voltage regulation: 3,3 volt 1 A
- Oscillator Low Power 32 kHz for internal RTCC
- 3 user LED for general use
- User botton for general use
- 106731USB 2.0 Full-Speed connector
- Mercury connector interface for Mercury Slave board
- Modem connector
- ON/OFF switch
- Single-cell LiPo battery charger
- Connector for external LiPo battery
|
|
Block diagram BB110 |
|
|
|
The Mercury System |
|
The Mercury System (MS in short) is a modular system for the development of connectivity and IoT applications. The system uses various type of electronic boards (logic unit, modems, slave boards equipped with sensors and actuators, power boards...) and a complete SW framework to allow the realization of complex applications. Scalability, ease of use and modularity are key factors and are allowed by the use of a heterogeneous set of components that allow to assemble the system like a construction made with LEGO© bricks.
The board set which composes the system is made up by the following “families”:
- Base Board (BB): It’s the “brain” of the system and contains the main logic unit as well as different communication buses and connectors to interfaces the slaves. It also contains a simple power supply system and a recharge unit for a single LiPo cell (it can satisfy the power requirements of simpler systems). It can exist in different variants, depending on the employed microcontroller unit.
- Modem Board (MB): it’s the board that allows network connectivity. It can exist in different variant, depending on the network interface (GSM/GPRS, Wi-Fi, BT, Radio…). It’s interfaced to the Base Board with a dedicated communication line.
- Power Board (PB): it’s the board that allows to satisfy the particular power requirements of the system, when it’s necessary. They can vary, depending on the particular power requirement to satisfy (high power, solar harvesting, piezo harvesting, etc.).
- Slave Board (SB): these are the system’s peripherals, and they vary depending on the specific mounted sensor or actuator. Typical examples are SBs with relays, temperature sensors, RGB LED controllers, servo controllers, accelerometers, etc. They communicate with the BB with I2C or UART channels and a dedicated command set.
- Expansion Board (EB): these are the boards that allow planar connection of Mercury System. There are variants which can contains Displays, battery socket, etc.
- Brain-Less Board (BL): these are the controller-less boards. They in general contain really simple sensors or actuators that don’t need the bus interface. There are meant as an alternative to slave boards for cost-sensitive applications.
Slave Boards and Modem Board are provided pre-programmed with a FW which implements a dedicated command set for a high-level management of the board, while the Base Boards are provided with a SW framework which encapsulates all the low-level services (operative system, device drivers, system services, etc.), leaving to the user the development of application level logic only. Moreover, the Base Board comes with an USB bootloader, so it can be programmed without the need of an external programmer.
|
|
|
|
Mercury System Framework |
|
The Mercury System Framework (MSF) is a layered SW framework specifically designed to support application development with Mercury System. It provides to the user a complete set of base functionalities to easily interface MS Slave Boards (SB) and Modem Boards (MB) as well as some infrastructural and system services. Figure 12 shows the layered Architecture of the MSF.
|
|
|
|
The framework is made up by the following components:
HAL (Hardware Abstraction Layer): the purpose of this layer is to abstract the HW dependencies to the upper layers.
SML (System Management Layer): the purpose of this layer is to provide services for the management of communication buses (I2C, UART) and for the management of Mercury System’s Modem Board (WiFi, BT, GSM/GPRS). It also provides a set of System Services, like System Power Management, RTCC, USB terminal, etc. It’s divided in two main components:
- PML: Peripheral Management Layer,
- SSL: System Services Layer.
OSL (Operative System Layer): this layer is made up by a lightweight RTOS that provides basic services to the system, like scheduling tables for the various tasks, Events, SW Timers, Alarms, etc…
|
|
|
|
Download |
|
|