https://www.element14.com/community/community/raspberry-pi/blog/2017/03/28/a-new-ruggedized-raspberry-pi-3-netpi
The company, Hilsher, has worked with the Raspberry Pi 3 manufacturers
in order to create an entirely new variant of the Raspberry Pi 3. After
seeing and learning about it I really want one. It is the best Pi
variant yet, ruggedized, with a decent power connector, expandable, and
capable of operating in all typical Raspberry Pi usage scenarios and
more as will be described. It is not currently available, but will be
available soon.
Real-Time
Ethernet takes traditional Ethernet but transports some protocols over
it that can be deterministic. This means that message loss is not
tolerated like in a non-industrial network. In a normal non-industrial
network there is no guarantee that a packet will not be lost. It is up
to the higher-layer protocol to re-send the packet if needed.
Transmission Control Protocol (TCP/IP) is used to relieve the
application layer (user applications) from the burden of reassembling
packets of data and requesting retransmissions but these would cause
delays that would be unacceptable in an industrial assembly line. To
take one example, known as PROFINET IO, Real-Time Ethernet solves this
typically by defining a type of ‘upper-class railway carriage’ type of
scheme where there is a regular train time and the upper-class carriage
portion of the train is never allowed to fill up with non-priority
packets. Only the deterministic packets are sent in that carriage.
There
can be different levels of determinism such as strict (which requires
packets to arrive within a certain time) or soft determinism which
doesn’t mind if the packet takes a little longer sometimes to arrive
(but it must arrive and must not be dropped) depending on the particular
type of Real-Time Ethernet that is being used. There are also
techniques to ensure that packets do not sit for very long in a buffer. A
normal (non-industrial) Ethernet interface will collect up the packet
before it is announced to the application. With Industrial Ethernet it
is possible to start serving the packet to the application (the sensor
or output node software) as it arrives on the wire. This type of
functionality is only possible with special hardware. A normal Ethernet
interface does not have this capability.
Hilscher
is a company which has developed custom chips to perform Real-Time
Ethernet capability and embedded them into different products such as:
In
essence, the Hilscher products act like a bridge between the Industrial
Ethernet world and any other hardware or software, either locally or
over networks.
A
while ago Hilscher launched a little PCB that could connect to the
Raspberry Pi using the 40-pin connector on it. The PCB had Hilscher’s
secret-sauce Real-Time Ethernet chip on it, a couple of Ethernet sockets
(some Real-Time Ethernet technologies use both ports) and talked to the
Pi using the serial peripheral interface (SPI) that allows applications
running on top of Linux on the Pi to interwork with Real-Time Ethernet.
This product allows for possibly the cheapest way for anyone to
experience Real-Time Ethernet. It would even be possible to use several
Pi’s and build up a controller and nodes and simulate a factory
basically.
Having
a high performance ARM chip opens up a lot of possibilities. Hilscher
decided to take the leap and build a custom product that would use the
heart of the Raspberry Pi but in a ruggedized industrial form-factor.
For the software stack, Raspbian wouldn’t do; a hardened Linux kernel is
needed for reliability and security. However to maintain ease-of-use
Hilscher did a clever thing and provided Raspbian in a ‘software
container’ so that software programmers still get the same Raspbian
experience if this is desired, but in a protected container. This will
be examined further below in a bit more detail.
The
end result is a product that can be used and programmed the same as any
normal Raspberry Pi in any preferred language of choice, and has
applicability for a range of functions in industrial automation. The
possibilities are immense. It could be used as a gateway, or a
controller, or it could be used to attach additional custom sensors or
actuators. It just depends on the software, and whatever users decide to
attach to the netPI’s hardware interfaces.
Check out the discussion with Hilscher at Embedded World 2017 here:
It
has the default Ethernet interface but also an extra two Ethernet
interfaces built-in; these are intended for connecting to the industrial
network. There is also a built-in real-time clock with power back-up.
What
is very cool is that there is an expansion connector slot with blanking
plate on the side and it allows for modules to be inserted and removed.
These could be additional Ethernet interfaces or other future
functionality.
The
interface is based on a mini-PCIe connector but the connections carry
general-purpose input/output (GPIO) and serial bus signals such as I2C
and SPI. The details of the expansion interface will be opened up so it
will be possible to design custom hardware to fit into the slot.
Industrial
customers could benefit from the netPI even if they do not use it for
real-time Ethernet, since it would be possible to design sensors or
control circuitry to fit into the expansion module slot. A module that
supports thermocouple probes could be a nice example.
Overall
the hardware design is very nice. The radio antenna has been designed
for good coverage by extending it beyond the metal chassis (a
non-conductive shell to enclose the antenna is not shown in the photo). I
also liked the easy-to-see LEDs, the space to install additional
functions (even though the netPI is still very compact) and the
wider-range power supply input with a more usable connector than micro
USB.
The
end result is that it is possible to run Raspbian in a container, and
upgrade it (and any applications) as required, remotely. The benefit of
this is that software developers can make use of all the familiarity
they already have with Raspbian (and can even develop apps on a
traditional Pi 3 before deploying to the netPI). Furthermore there is
reduced risk of software clashes; it is possible to add additional
containers for all your new applications, each running on a separate
Raspbian if desired. The container technology allows for safe upgrades
because one can always fall back to an earlier container if a new one
has any issues.
Hilscher
supply a ready-made Raspbian container that already has technologies
like Node-RED and all the drivers to support Real-Time Ethernet
built-in. People can directly use that, or modify it by adding their own
applications to create a new container and then deploy it remotely to
as many netPI’s as desired.
Introduction
At Embedded World 2017 I saw something that initially made me very confused. It was a rugged piece of hardware that clearly looked like it was related to the Raspberry Pi in some way but upon opening it up I couldn’t see how a Pi would fit inside. The internal connector looked interesting because it had pins instead of a socket, so how could a Pi 3 plug on top of it? And it had many Ethernet and USB ports already fitted. It took someone to explain it to me. This was actually a complete new custom design that had the Raspberry Pi 3 already inside it!What do Hilscher do?
The key to understanding the netPI is to examine the motivation for the product. Hilscher is a 30-year old company (originally established in Germany but now they are a global business) deeply involved in Real-Time Ethernet (also known as Industrial Ethernet). This technology (actually, a range of technologies – there are several standards) has become the dominant way of building automation within factories. Every time you see a robotic assembly line building a car, there will be a controller somewhere talking to many sensor devices and output devices, and all the communication between controller and such node devices is occurring over the Real-Time Ethernet connections.- Modules or Interface boards that can connect a computer (say using PCI-E) to the Real-Time Ethernet bus to perform controller or node operations depending on the specific use-case
- Interface PCBs that can connect embedded hardware (say using dual-port memory) to the Real-Time Ethernet bus
- Gateways that can perform Real-Time Ethernet operations and interwork them to traditional Ethernet and TCP/IP for sending over the network for server based applications to monitor or control or manage using protocols that function well over IP networks or the Internet, such as MQTT
- Test tools for diagnosing Real-Time Ethernet
Comments
Post a Comment