- Embedded Systems Architecture
- Daniele Lacamera
- 632字
- 2021-06-25 21:55:00
Connected systems
An increasing number of embedded devices designed for different markets are now capable of network communication with their peers in the surrounding area, or with gateways routing their traffic to a broader network or to the internet. The term Internet of Things (IoT) has been used to describe the networks where those embedded devices are able to communicate using internet protocols. This means that IoT devices can be addressed within the network in the same way as more complex systems, such as PCs or mobile devices, and most importantly, use the transport layer protocols typical of internet communications to exchange data. TCP/IP is a suite of protocols standardized by the IETF, and it is the fabric of the infrastructure for the internet and other self-contained, local area networks. The Internet Protocol (IP) provides network connectivity, but on the condition that the underlying link provides packet-based communication and mechanisms to control and regulate access to the physical media. Fortunately, there are many network interfaces that meet these requirements. Alternative protocol families, which are not compatible with TCP/IP, are still in use in several distributed embedded systems, but a clear advantage of using the TCP/IP standard on the target is that, in the case of communication with non-embedded systems, there is no need for a translation mechanism to route the frames outside the scope of the LAN.
Besides the types of links that are widely used in non-embedded systems, such as Ethernet or wireless LAN, embedded systems can benefit from a wide choice of technologies that are specifically designed for the requirements introduced by IoT. New standards have been researched and put into effect to provide efficient communication for constrained devices, defining communication models to cope with specific resource usage limits and energy efficiency requirements.
Recently, new link technologies have been developed in the direction of lower bitrates and power consumption for wide-area network communication. These protocols are designed to provide narrow-band, long-range communication. The frame is too small to fit IP packets, so these technologies are mostly employed to transmit small payloads, such as periodic sensor data, or device configuration parameters if a bidirectional channel is available, and they require some form of gateway to translate the communication to travel across the internet.
The interaction with the cloud services, however, requires, in most cases, to connect all the nodes in the network, and to implement the same technologies used by the servers and the IT infrastructure directly in the host. Enabling TCP/IP communication on an embedded device is not always straightforward. Even though there are several open source implementations available, system TCP/IP code is complex, big in size, and often has memory requirements that may be difficult to meet.
The same observation applies for the Secure Socket Layer (SSL) / Transport Layer Security (TLS) library. Choosing the right microcontroller for the task is again crucial, and if the system has to be connected to the internet and support secure socket communication, then the flash and RAM requirements have to be updated in the design phase to ensure integration with third-party libraries.
Designing distributed embedded systems, especially those that are based on wireless link technologies, adds a set of interesting challenges. Some of these challenges are related to:
- Selection of the correct technologies and protocols
- Limitations on bitrate, packet size, and media access
- Availability of the nodes
- Single points of failure in the topology
- Configuration of the routes
- Authentication of the hosts involved
- Confidentiality of the communication over the media
- Impact of buffering on network speed, latency, and RAM usage
- Complexity of the implementation of the protocol stacks
Chapter 9, Parallel Tasks and Scheduling, analyzes some of the link-layer technologies implemented in embedded systems to provide remote communication, integrating TCP/IP communication to the design of distributed systems integrated in IoT services.
- Windows Server 2019 Cookbook
- 大學計算機應用基礎實踐教程(Windows 7+Office 2013)
- UNIX操作系統設計
- Kali Linux滲透測試全流程詳解
- 嵌入式應用程序設計綜合教程(微課版)
- RESS Essentials
- 嵌入式實時操作系統μC/OS原理與實踐
- 8051軟核處理器設計實戰
- Dreamweaver CS5.5 Mobile and Web Development with HTML5,CSS3,and jQuery
- Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理
- μC/OS-III內核實現與應用開發實戰指南:基于STM32
- Angular權威教程
- Java EE 8 High Performance
- openEuler操作系統核心技術與行業應用實踐
- Gradle Effective Implementations Guide(Second Edition)