Design Concept: Ethernet Controller For Embedded IoT Systems And Automotive Networking
We at Copperhill Technologies have plans to create gateways for automotive networking, which includes serial protocols such as Automotive Ethernet, CAN (Controller Area Network), and LIN (Local Interconnect Network). The following focusses on the Ethernet part of the concept, where Ethernet also applies to Internet-of-Things (IoT) and Industrial-Internet-of-Things (IIoT) applications.
The basic idea is to build a generic hardware module that receives and transmits Ethernet data and communicates with an embedded system either per UART or SPI port. The module will complement embedded solutions, for instance, for the development of a CAN-to-Ethernet gateway.
Furthermore, this approach allows us flexibility regarding the Ethernet hardware-layer, may it be standard PHY or BroadR-Reach.
And yes, there are solutions already available in the marketplace, but they don't meet another one of our mandatory goals: Made in the USA. Such a requirement would allow us to expand our market reach to include sensitive markets, for instance, automotive and military applications.
Currently, there are only a few options available in the marketplace that would meet our technical requirements, most importantly, an extended operating temperature range of -40C to + 80C (An extended temperature range is mandatory for automotive and military applications).
The options are:
- WIZnet W6100
The W6100 is a hardwired Internet controller chip supporting IPv4/IPv6 dual-stack. It supports TCP/IP protocols such as TCP, UDP, IPv6, IPv4, ICMPv6, ICMPv4, IGMP, ARP, and PPPoE. The W6100 also includes 10Base-T / 10Base-Te / 100Base-TX Ethernet PHY and Ethernet MAC Controller, which makes it suitable for embedded internet-enabled devices.
The USR-TCP232-ED2 is a serial TTL to Ethernet module, used for transparent data transmission. It is a triple serial ethernet module, which supports 3 TTL ports working concurrently. It is based on the Cortex-M4 processor, and its primary frequency is up to 120MHz. The module integrates TCP/IP protocol stack.
Both WIZnet and USR offer a variety of their modules, but the devices, as mentioned above, represent their top of the line products. They also come closest to our technical requirements.
While both modules would be suitable for integration into Copperhill products, they come with a few disadvantages:
- Sample code for the W6100 is only available for the WIZnet programming environment, i.e. there is no support/documentation for embedded systems that utilize, for instance, the NXP LPC17xx series (currently our preferred choice). Also, the W6100 supports only SPI.
- The USR-TCP232-ED2 supports only UART up to 1024 Kbps, and it does not support IPv6. The documentation is sub-standard (to put it diplomatically).
- Both devices originate in China, and that is not a good selling point if we plan to sell our gateways to American carmakers or the military.
A few side notes:
- Another Wiznet controller, the W5500, is now incorporated on the Arduino Ethernet Shield 2, guaranteeing product continuity. Nevertheless, the Arduino platform does not meet any industrial requirements.
- Another business, MikroElektronica - based in Belgrade, Serbia, but maintaining International distribution - offers its BroadR-Reach Click. This Ethernet module utilizes the Wiznet W3150+ controller, and it is designed directly for Automotive Ethernet.
- We briefly considered the use of off-the-shelf Linux-based systems such as those offered by Technologic Systems out of Arizona. Their embedded systems support an extended temperature range and boot-up times within a few seconds. The advantage here is the presence of full Ethernet protocol support and, by selecting the right hardware, flexibility regarding the Ethernet hardware layer, standard PHY, or BroadR-Reach. However, their hardware comes from China, and we would have to change our development strategy. All of their embedded systems come with a myriad of peripherals, including CAN Bus ports.
- The Ethernut (not a spelling error) Project was a close second place in our decision process, due to its vast resources, firmware and hardware. The hardware is available through egnite, a German company.
However, after a long research process, we have chosen the NetBurner ARM Embedded IoT Development Kit MODM7AE70. It is an IoT device containing everything required to combine industrial-quality network control, monitoring, and processing in nearly any device. The easy-to-use development suite includes everything needed to learn quickly, code, test, and deploy an industrial-strength embedded solution.
Besides the ARM platform hardware, the system provides custom RTOS, drivers, and libraries for SSL/TLS v1.2, networking, and industrial protocols. We can quickly and easily create network-enabled devices with 10/100 Ethernet, including those requiring digital, analog and serial control, and much more. A programming IDE, over 100 code samples and applications, plus in-house support, are included. The MODM7AE70 module provides several peripherals, including CAN FD, SPI, UART, and more.
At this point, we see the NetBurner product as the first step toward Ethernet developments. The hardware is very well suitable for a variety of protocol gateways when we build the corresponding mainboard containing all necessary hardware drivers (transceivers).
Embedded Software for the IoT
Even the most conservative estimates show the Internet of Things (IoT) will be a vast market where innovation is essential and where programmers are and will be in high demand. The challenge is that programming the IoT spans many knowledge domains.
This book will provide the fundamentals of embedded programming to programmers and allow them to reach their full potential. Embedded Software for the IoT helps the reader understand the details in the technologies behind the devices used in the Internet of Things.
It provides an overview of IoT, parameters of designing an embedded system, and good practice concerning code, version control, and defect-tracking needed to build and maintain a connected embedded system. After presenting a discussion on the history of the internet and the world wide web, the book introduces modern CPUs and operating systems.
The author then delves into an in-depth view of core IoT domains, including:
- Wired and wireless networking
- Digital filters
- Security in embedded and networked systems
- Statistical process control for Industry 4.0
This book will benefit software developers moving into the embedded realm as well as developers already working with embedded systems.