ni - national instruments southern africasouthafrica.ni.com/sites/default/files/introducing...
TRANSCRIPT
1 ni.com
ni.com
Exploring the RIO Architecture and Introducing the Newest Member of
the CompactRIO Family
Jacques Cilliers Application Engineer
3 ni.com
The CompactRIO System
I/O Backplane Processor
4 ni.com
Defining a Distributed System
System that uses two or more processors to solve an application
• Distributed systems can be physically located on a single board, box, or rack; or spatially distributed in separate devices or systems on a network
• Processors can be of mixed architectures including MPUs, DSPs, or FPGAs
MPU FPGA
Ad hoc networks Multi-processors in single box Heterogeneous processors on single board
5 ni.com
Typical Distributed Application
• PCs, PACs, PLCs • Control
• Monitoring
• Motion
• Vision
• Communication • .NET
• OPC
• Database logging
6 ni.com
LabVIEW RIO Architecture
Highly Productive LabVIEW Graphical Programming Environment for Programming Host, FPGA, I/O, and Bus Interfaces
Processor Real-Time or
PC-Based
FPGA Modular I/O for Any Signal
Processor
Real-time OS Application software Networking and
peripheral I/O drivers DMA, interrupt, and
bus control drivers
FPGA
Application IP Control IP DSP IP Specialized I/O drivers
and interface DMA controller
Analog I/O
Digital I/O
Specialized I/O
Custom I/O
Bus Protocols
7 ni.com
NI CompactRIO
LabVIEW Real-Time Controler
LabVIEW Real-Time
Backplane
I/O
Mo
du
les
RIO Scan Interface
NI Scan Engine
I/O memory table
I/O Variables
I/O
Mo
du
les
LabVIEW FPGA VI
FPGA Host Interface
Programming Models for cRIO
8 ni.com
NI CompactRIO
Processor Modular I/O
Highly Productive LabVIEW Graphical Programming Environment for Programming Host, FPGA, I/O, and Bus Interfaces
Extreme Ruggedness: -40 to 70 °C temperature range; 50 g shock, 5 g vibration
High Performance: Up to 1.33 GHz, dual-core i7 processor
Comprehensive I/O: Analog, digital, custom, specialty, bus communication
FPGA
9 ni.com
The Redesigned CompactRIO System
NI LabVIEW System Design Program with LabVIEW Real-Time and LabVIEW FPGA modules Quickly port existing LabVIEW applications
Ultra Rugged
-40 to 70° C operating temperature range 50 g shock and 5 g vibration tolerance
High Performance and Throughput Dual-Core ARM 667 MHz processor Xilinx 7 Series FPGA fabric with 85k logic cells 16 DMA FIFO channels for data streaming
Community and Code Reuse
NI Linux Real-Time Operating System Integrate existing applications and libraries Develop, debug, and deploy C/C++ code
10 ni.com
Performance
Ultra Rugged
High Performance
cRIO-9068 Product Position
Value 1 Price subject to change
cRIO-9068
11 ni.com
LabVIEW RIO Hardware
CompactRIO and NI Single-Board RIO
Value
Value Ultra Rugged Performance
PXI, PC RIO (R Series, NI FlexRIO)
High Performance
Expansion I/O
MXI-Express RIO Ethernet RIO Wireless EtherCAT RIO
12 ni.com
The New cRIO-9068
667 MHz Dual-Core ARM Processor
512MB DDR3 RAM
1GB Storage
Artix-7 FPGA 2x Gigabit Ethernet
RS-232
RS-485
31.3cm USB 2.0
9-30 VDC Dual Input
8x C Series IO
13 ni.com
What is ZYNQ?
Processor
I/O
I/O
Specialty I/O
FPGA
• ARM Cortex-A9 Processor • 667 MHz Dual Core • 7.9 billion ARM devices sold in 2011 alone
• Artix-7 FPGA • 85K Logic Cells • 220 DSP Slices
14 ni.com
Advanced RISC Machine
• Started in 1985
• Licensed IP Cores
• 7.9 billion devices sold in 2011 alone
• Dominating embedded processor market
• Large growth potential in desktop and server market
• Full embedded roadmap
15 ni.com
cRIO-9068 Under the Hood
Flash
Dual Core ARM FPGA
DDR3 Slot 1
Slot 2
Slot 3
Slot 4
Slot 5
Slot 6
Slot 7
Slot 8
Real Time Clock
ENET 1
ENET 2
USB
Temp Sensor
USB
ENET MAC 1
ENET MAC 2
Custom UARTs
Serial Drivers
LabVIEW FPGA
LabVIEW Real-Time
RS-232 COM1
RS-232 COM2
RS-485 COM3
ZYNQ
1GB Flash 512MB DDR3
+/- 5ppm RTC (0.432 Seconds/Day) 300 MB/s throughput
16 DMA Channels
Over 100 C Series modules
16 ni.com
Performance Benchmarks
The cRIO-9068 has 4 times the performance of a similar 8 slot value CompactRIO system.
11%
72%
0% 20% 40% 60% 80% 100%
cRIO-9068
cRIO-9074
Processor Utilization
Control Application Benchmark
7%
46%
0% 20% 40% 60% 80% 100%
cRIO-9068
cRIO-9074
Processor Utilization
Streaming Task Benchmark
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
16
00
1700
Pro
cess
or
Uti
lizatio
n
Loop Rate (Hz)
Complex Application Benchmark
cRIO-9074 cRIO-9068
17 ni.com
Mechanical Design
• Rugged specifications • Shock and Vibration • -40 to 70 degrees C
• No “Fins”
ni.com
Demo
19 ni.com
Linux Operating System NI Linux Real-Time Operating System
20 ni.com
Linux Operating System Background
• Operating system created under the model of free and open source software development and distribution
• First released in 1991 for x86 but has been ported to other computer hardware platforms including ARM
• Common OS for servers and big mainframes
• Linux is used in a wide breath of embedded systems including:
• Mobile phones (Android)
• Tablets
• Network routers
• Televisions
• Video game consoles
21 ni.com
What makes our Linux flavor unique?
Pre-emption offered through RT scheduler to make Linux deterministic
Jitter is on the same order of magnitude as other RTOSs
Loop Rate performance is substantially improved over current value cRIO
Kernel
Hardware
Device Drivers
System Call Interface
Jill’s User Application
Jack’s User Application
22 ni.com
Linux Operating System NI Linux Real-Time Operating System
Community
Applications and
Libraries
23 ni.com
Raima
MySQL
SQLite
MongoDB
CouchDB
OpenVPN
IP Tables
System Logging
fail2ban
denyhost
C/C++
Shell scripting
Python
Ruby
Perl
Isshd
IPv6
SNMP
NTP
netstat
Database Security Code Re-
use Connectivity
Linux Ecosystem
24 ni.com
S.E.A Structural Monitoring
“By leveraging the open Linux-based real-time operating system on a commercial off-the-shelf controller, we could port our existing Linux software components in a very short time. That saved
us at least four months of development time.”
- Wolfram Koerver, executive director of S.E.A.
25 ni.com
Linux Operating System NI Linux Real-Time Operating System
C/C++ Community
Applications and
Libraries
26 ni.com
Reusing External Code in LabVIEW Now on NI Linux Real-Time
1. Call Library Function Node • Creating LabVIEW API using wrappers
• Algorithms
2. System Exec calls • Most Linux app will have command line interface
27 ni.com
Flexible Software Integration
Modular I/O FPGA
Real-Time Processor
28 ni.com
What is Eclipse?
• Free development environment for C, C++ and other languages
• De facto standard tool for Embedded Development
• We provide Eclipse installer on ni.com for easy access
Project Explorer
Editor
Terminal
Output
Outline
29 ni.com
Linux Operating System NI Linux Real-Time Operating System
C/C++ Community
Applications and
Libraries
30 ni.com
LocalGrid Power Monitoring
“Within 24 hours of receiving a cRIO-9068 controller, we ran our existing LabVIEW application software without any problems.”
– Bob Leigh, CEO of LocalGrid™
31 ni.com
Summary
ni.com
Questions