One of the biggest challenges with deploying intelligence at the edge is keeping power consumption in check. Making smart decisions can take a lot of processing, which can burn a lot of power.
The Intel® Quark™ SE microcontroller C1000 tackles this dilemma with an innovative pattern-matching engine and a smart sensor subsystem. Figure 1 shows a diagram of the processor with the pattern-matching engine and sensor subsystem highlighted in orange.
Figure 1. The Intel® Quark™ SE microcontroller includes a pattern-matching engine and sensor subsystem.
With its new pattern-matching engine, the Intel Quark SE microcontroller can perform simple pattern detection on sensor data without engaging the main processor core. Inputs like vibration, temperature, or current can be passed directly from the sensor subsystem to the pattern-matching engine. If the engine finds a pattern it has been looking for, it can trigger a wakeup event to the main processor. The processor can then take whatever action is needed—such as starting up a piece of equipment or sending a message to maintenance staff.
The sensor subsystem also can operate independently of the main core. The heart of this system is a 32-bit ARC EM DSP core that can offload sensor processing from the main core. This allows the main core to stay in sleep mode until the sensor processing is complete.
The DSP core has hardware support for operations like multiply-accumulate, fractional arithmetic, floating point, divide, square root, and trigonometric functions. These arithmetic capabilities enable the core to perform initial signal processing and signal-conditioning functions like sensor fusion, data averaging, filtering, artifact rejection, and error correction.
Inside the Pattern-Matching Engine
While the sensor subsystem will be familiar to anyone who has programmed a DSP, the pattern-matching engine is more novel. The pattern-matching engine features 128 neurons that can perform two types of pattern recognition: K-nearest neighbor (KNN), where the input consists of the K-closest training examples, and radial basis function (RBF), which depends on the distance from the origin to correctly classify new instances.
Upon processing a pattern, the engine returns one of three states: identification, uncertain, or unknown. Up to 32,768 identification categories can be programmed.
When it comes to programming, neurons can have three states in the chain: IDLE, Ready To Learn (RTL), or Committed (see Figure 2). It becomes Committed as soon as it learns a pattern. A control line then changes its status from Ready To Learn to Committed. The next neuron in the chain then becomes the Ready To Learn neuron. The contents of Committed neurons, a representation of the knowledge they have built autonomously via learning examples, can be saved and restored.
Figure 2. Neurons exist in one of three states. (Source: General Vision)
Neurons are trained by example and decide autonomously when it is necessary to commit new neurons and/or correct existing ones. In the course of learning, only novelty—new information—results in a new committed neuron.
When a new example is presented for learning, the neural network first attempts to recognize it. If the example is recognized by one or more neurons, and they all agree on its category, the new example is discarded since it does not add any new information to the existing knowledge base. If the example is not recognized by any existing neurons, a new neuron is automatically added to the network to store the new example and its value.
Edge Intelligence in Action
One company taking advantages of these capabilities is Dublin-based Firmwave, which uses the processor in its Edge 3.0 wireless sensor platform (Figure 3). The Firmwave* Edge supports Zigbee*, Thread, RFID, NFC, Wi-Fi, Bluetooth*, LoRa*, SIGFOX*, and cellular connectivity. It comes with a host of on-board sensors, including temperature, humidity, light, pressure, position, and acceleration as well as a 36-pin expansion connector providing flexibility and extensibility.
Figure 3. Firmwave’s Edge wireless sensor platform is optimized for low power.
Adrian Burns, CTO and co-founder at Firmwave, notes that his company’s interest in Intel Quark SE microcontroller is in leveraging its on-board sensor subsystem to do data classification on the fly, offloading tasks from the core and enabling the processor to stay in low-power mode longer. He says, “We wake up the processor only when we want to do data connectivity to the cloud or gateway, allowing Firmwave Edge customers to reduce energy use.”
Burns notes that many of the company’s engineering efforts are centered on power optimization. When they see an opportunity to reduce power consumption, as the Intel Quark SE microcontroller does, “we have to be all over it,” he says.
A Smarter Way to Do Intelligence at the Edge
The Intel Quark SE microcontroller is in many ways a remarkable departure from Intel’s traditional approach. Adding the pattern-matching engine and DSP core in the sensor subsystem offload a considerable amount of processing from the main core, where Intel would traditionally focus its efforts. But it is clear that this new approach has resulted in high intelligence at low power. It will be interesting to see how the new capabilities will be deployed in the field.