Smart World of IoT Part 9. Putting it all together
December 19, 2019
We have covered many techniques in the domain of IoT in this series so far, including analog sensor interfaces, connectivity, programmable digital, integrated peripherals, and cost optimization.
We have covered many techniques in the domain of IoT in this series so far, including analog sensor interfaces, connectivity, programmable digital, integrated peripherals, and cost optimization. In this column, we’ll show how to put all these together using a Smart Lock system as an example.
Figure 1 shows a system-level implementation of a Smart Lock
The embedded system inside a high-end Smart Lock needs to handle multiple tasks, including display driving, touch sensing, fingerprint sensing, proximity detection, motor control, lock status/tamper detection, Wi-Fi and BLE connectivity, security, and processing. To speed development and lower manufacturing costs, designers are moving towards SoCs that integrate these capabilities within a flexible and ultra-low-power architecture. An integrated approach also enables OEMs to more easily keep designs up to date as standards continue to change. Let’s take a look at the individual functions taken care of by such an integrated SoC.
- BLE: BLE helps with provisioning the lock, resetting it, and remote authentication. BLE is a must-have for all connected Smart Locks, and SoCs with built-in BLE can help reduce the cost, size, and design complexity of a system dramatically.
- WiFi: In addition to being able to communicate with a mobile phone or smartwatch, an advanced Smart Lock also needs to be able to communicate with the rest of the smart home. WiFi connectivity allows advanced features like viewing the entry and exit logs in real-time, as well as extensive user control of the lock over the Internet. Also, given the speed with which IoT standards are evolving, secure over-the-air (OTA) capabilities with a secure-boot process are needed to keep appliances up to date.
- Display: High-end smart locks come with a TFT or OLED display. Typically, small, low-cost displays use a parallel RGB interface (also known as Intel 8080 interface). An RGB interface can drive medium to large displays at reasonable refresh rates compared to other interfaces. Using a smart combination of PWMs, DMA, and programmable digital I/O (i.e., “smart” I/O), parallel displays can be driven without requiring a more expensive MCU that has integrated dedicated graphics hardware engines.
- User Inputs: Code-based access also requires receiving inputs from users. Physical buttons take up additional space and affect the longevity of the Smart Lock. Therefore, a capacitive sensing-based touch screen can be implemented along with the display driving to create an integrated user interface.
- Data Security: Security is of paramount importance since user fingerprint data is stored in the device. An embedded system designed for smart lock applications needs to provide secure storage, secure operation, and secure communication to protect such sensitive information. Providing security in a reliable and cost-effective manner requires on-chip cryptographic capabilities, integrated secure wireless connectivity, and mechanisms for securing personal data in both internal and external memory.
- Fingerprint Sensing and Proximity Detection: As an alternative to code-based entry, secure access can be provided using fingerprint authentication. However, continuously scanning the fingerprint sensor for touches is inefficient in terms of energy conservation. To minimize scanning time, proximity detection using capacitive sensing provides a power-efficient approach. Specifically, a capacitive proximity sensor around the fingerprint sensor enables the system to detect a finger approaching the pad from several centimeters away. This enables the system to power down the fingerprint sensor and the associated circuitry entirely while in idle mode. When a finger is detected by the proximity sensor, the system has sufficient time to power up the fingerprint sensor and prepare to capture a touch.
- Mechanical Security Using Inductive Sensing: Inductive sensing can sense proximity to metals. This comes in handy in several scenarios, for example, detecting whether or not the deadbolt is securely in place. Inductive sensing can also be used to detect any attempt to tamper with the lock, such as forcefully removing the slider or deforming the body of the lock. When tampering is detected by the inductive sensor, an alarm or an online alert can be sent to the owner.
A power-efficient CPU core such as the Arm Cortex-M4 is required to handle all processing, including
- Processing sensor data
- Managing communication with a fingerprint module through interfaces such as SPI.
- Complete fingerprint processing, including matching and enrollment algorithms
- Capacitive sensing scanning and processing
- System management including security tasks and sensors control
- Displaying graphics such as drawing text, images, shapes, etc.
- Managing the BLE link layer controller maintaining BLE connections and advertisements and BLE host layer tasks, which include all the services, profiles, and connection authentication
Remote control of the lock requires a motor to move the deadbolt. This task is typically done with a BLDC motor and associated control circuitry. Motor control can be integrated into the SoC using programmable logic and analog to reduce component count while working independently of the CPU.
The number of devices in the new IoT era and the previous PC and Smartphone era differ by several orders of magnitude. Thus, IoT devises must be tiny and cheap to proliferate their intended markets. In the next column, we will take an in-depth look at a small, inexpensive connected device design for smart homes.
Jaya Bindra works as a Sr Manager Applications Engr at Cypress Semiconductor Corporation where she is managing the Embedded Applications Group and Solutions Development using the PSoC and WiFi/BT platform. She has 15+ years of experience in the Semiconductor Industry. She earned her executive management credential from IIM, Bangalore and holds a bachelor’s degree in Electronics Engineering from the Kurukshetra University. Jaya can be reached at [email protected].
Nidhin MS works as a Staff Applications Engineer at Cypress Semiconductor Corporation. He has eight years of technical experience with analog, power electronics, touch sensing, embedded computing and connectivity and holds a bachelor’s degree in Electronics and Communication Engineering.