ConnectCard i.MX28

Transcription

ConnectCard i.MX28
Buenos Aires, ARG
Digi ConnectCard i.MX28
(Aula 201)
August 2013 – Rev A
Paolo Chiarlone
Senior Sales Engineer
Hello… I am….
Pleased to meet you.
Hope you guessed my name.
Digi International
• M2M Solutions Expert
• Profitable, Financially
Stable, Global,
Public Company
• Device Cloud Innovator
and Leader
• Leader in Wireless
Page 3
More About Digi International
•
•
•
•
•
•
•
•
•
Founded in 1984 – Public Company for 25 years
NASDAQ since 1989: DGII
HQ in Minnetonka, MN
Offices Worldwide (US, Europe, Asia)
Growth by acquisition: 8 companies in 8 years
670 employees
$200M+ of revenues in FY2012, $100M in cash
Named best of SmartGrid companies for 2011
Products Families:
–
–
–
–
–
–
–
–
–
–
Digi Terminal servers and Gateways; Embedded Systems
NetSilicon 32-bit Processors and Modules
FsForth Linux and Windows CE OS
Rabbit 8/16-bit Processors and Modules
Inside Out Networks USB products
MaxStream Radio, RF and ZigBee products
Sarian Systems IP Routers for critical applications
Spectrum Design HW/SW custom designs
MobiApps M2M Communications (Satellite, Cellular)
Etherios Device Cloud Connectivity
Agenda
Welcome
Digi Embedded Solutions
Markets and Focus
ConnectCard i.MX28
Mechanical & Pinout
Wireless and Certifications
Digi DevKits (Linux and Android)
HW&SW Setup
Bootloader and BusyBox
Digi ESP
Examples of Applications
Reference and Documentation
Demos
Digi Embedded
Solutions
What is an Embedded System?
• Small device that can be “embedded” into
another device or enclosure
• Often does not have a direct user interaction
• Low power consumption
• Usually has a low cost
• Combine common HW components such as:
– Microprocessor
– Memory (SDRAM and Flash)
– I/O peripherals (UART, USB, GPIO, etc.)
• Pre-integrated software support
• Development Kit with Software Tools
• Add-on Application Kits
Page 7
Why it is different from a “Box”?
• It needs more things than a “box” does:
– design a carrier/support board
– stabilized power supply
– connectors, level shifters, etc.
– might need an enclosure
• But it is better because:
– has a much lower cost
– more suitable for very high volume (1K30K)
– easier to customize/expand
Page 8
Value Proposition
•
•
•
•
•
•
Fast design integration
ready-made solution for rapid deployment
Ease-of-use
standard environment, tools and OS
Future-safe design & Investment protection
future growth with continuous enhancements
Industrial and Medical solution
long term availability (5-10+ years)
Complete Solution
including Hardware, Software, tools, support,
design reviews, custom services (SW and HW)
Partners and Distributors
Local partners help speeding up development and
support
Page 9
Security / Surveillance
Key Applications
and Market Focus
Example Application
Medical / Healthcare
Fitness / Wellness
Renewable Energy
Utilities
Transportation
Agriculture /
Irrigation
Security
Surveillance
Page 10
A Full Family
• The Digi Connect family includes several
high performance embedded modules such
as:
Connect ME-9210
Connect WiME-9210
ConnectCard Wi-i.MX28
ConnectCore Wi-i.MX51
ConnectCore Wi-i.MX53
• The Digi modules share HW peripherals, SW
libraries and support common Operating
Systems for easier development and future
compatibility
Page 11
Digi ConnectCard
for i.MX28
ConnectCard i.MX28
NEW
Processor 32-bit Freescale i.MX28x @ 454 MHz
Embedded very small SOM, similar to Rabbit MiniCore
Memory: up to 2 GB Flash, up to 256 MB DDR2
Advanced Power Management with internal PMU
Integrated 10/100 Ethernet
Integrated 802.11 a/b/g/n WiFi
1x or 2x U.FL antenna connectors on-board
Bluetooth 4.0 (Host Controller Interface)
Extended peripheral list:
4 + 1x UART, SPI, 2x I2C, SAIF/I2S (audio), USB Host, USB
OTG
4x PWM, 1-wire, 30x GPIO, RTC, SD/SDIO/MMC
FlexCAN 2.0 interface
LCD (max resolution 800x480 18/24bpp) with
TouchScreen
AES 128-bit HW acceleration engine
Extended Temperature Range: -40°C to +65°C
Edge connector 52 pin, standard PCIe Mini Card
connector
Kits available with:
Digi Embedded Linux 5.x
Android (SEP 2013)
Page 13
ConnectCard i.MX28 Specifications
Specification
RF Data Rate
CCCC-i.MX28
1 to 72 Mbps
Transmit Power
10.5 to 13 dBm
Receive Sensitivity
-90 to -86 dBm
Max Current (Transmit 5
GHz)
600 mA
Max Current (Transmit 2.4
GHz)
475 mA
Max Current (Receive 2.4
GHz)
325 mA
Standby (CPU on)
Deep Sleep
Supply Voltage
Battery Supply Voltage
8 mA
112 uA
4.75 to 5.25 V
3.4 to 4.2 V
*Operating
temperatures
above 65C may require additional thermal
management
Operating
Temp
-40 to
+85 C* considerations
Page 14
Block Diagram CC-i.MX28
i.MX28
Page 15
Block Diagram Freescale i.MX28
Page 16
Mechanical Dimension
Page 17
Edge Connector
- The ConnectCard Wi-i.MX28 I/O interfaces are all
available (except LCD and JTAG) on the Edge
Connector
- The Edge Connector is a PCIe 52-pin Mini Card form
factor
- It is a 0.8 mm pitch, 51 mm x 35 mm x 3 mm
- It can match a locking latch connector, as per the table
PCIe Connector
Latch Connector
below
Pinrex 984-63-052202
FOXCONN AS0B226-S68K-7F
FOXCONN AS0B226-S68N-7F
Same as above
FOXCONN AS0B221-S68Q-7H
Same as above
Molex 67910-0002
Molex 48099-4000
Page 18
Pinout
LCD Connector
- The ConnectCard Wi-i.MX28 LCD signals are available
on
a 31-pin ZIF Connector on top of the module
- The cable used in the DevKit is a
Nicomatic 050P331K0076-406406
- Touchscreen control (4/5 wires) is supported via the
ADC signals (LRADC 2-6)
ZIF Connector
FCI SFV31R-1STE1HLF
FCI SFV31R-1STE1LF
TYCO 3-1734839-1
Page 20
ConnectCard i.MX28 Variants
i.MX28
• The ConnectCard
Wi-i.MX28 is offered in
variants based on either
the i.MX280 and
i.MX287 processor
models
• Design could supports
other i.MX28 models
(SPR-driven)
Page 21
Wireless Security
and Certifications
Digi WiFi Security
Design with security in mind!!!
• Digi offers an extensive list of security standards:
•
Security
Encrypti
on
Authenticatio
n
Description
Digi
None
None
Open
No security
Bad Security
Yes
WEP
WEP
Pre-shared key
Weak security,
mostly obsolete
Yes
WPA-Personal
and WPA-Enterprise
TKIP
Pre-shared key
and 802.1X
Good security
Yes
WPA2-Personal
and WPA-Enterprise
AES-CCMP
Pre-shared key
and 802.1X
Best security
Yes
•
Server Authentications supported:
•
Support for encryption algorithms:
TTLS, TLS, LEAP, PEAP (Cisco and RSA)
CHAP, MD5, OPT, PAP (TTLS and PEAP)
Microsoft, Cisco, Radius authentication
DES and 3DES with 64/128-bit, AES (CCMP) with 256-bit
(FIPS 197)
Page 23
Digi Certifications
Digi pre-certified products allow a faster product deployment
IC, CE, VCCI, UL/UR certified
FCC Class B (modular), North American, Canada, Europe
approved
Japan and Mexico (COFETEL) for some modules
NEMA Vibration/Shock
WiFi logo and CCXv4 ready
NIST certification of AES encryption algorithm
Federal Information Processing Standard - FIPS 197
Applies to the many
Certification applies
Digi products
to Government agencies, Banking, etc.
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Page 24
Digi Development Kits
(JSK)
Development Kits Content
• All Digi Development Kits (or JSK) contain everything
needed to start developing the SW application and
to connect external HW peripherals:
One Embedded Module (can be used for production)
Hardware Development Platform
Schematics for Development Board
Software toolset (Compiler, Linker, Debugger)
Eclipse Development environment
BSP and drivers in source code
Cables (serial, Ethernet, etc.)
HW and SW Manuals
Examples
Optional:
SW Technical Support
HW design review
Page 26
Digi SW Development
Classic Embedded Development Process
Hardware
Development
Create
low-level
drivers
Application
Development
Digi Development Process
SW Application
Development
Hardware
Development
Integration
and
debugging
Reduce the Time To
Market!!
Develop and test
the application in
the Digi JSK
Create custom
baseboard
starting
with Digi JSK
Deployment
on the
market!
***
*** = Integration
Page 27
Software Platforms
LINUX
• Medium to large memory
footprint
• C/C++ application development
• Multitude of application
programming language options
• Based on current standard
kernel
development/ improvements
• Wide range of GUI support
packages/options available
• Broad community support
• Comprehensive and up-to-date
Linux open source library
• Source code available
• Royalty-free but with potential
GPL related licensing and other
IP licensing implications
• Platform release cadence
relatively fast but overall stable
• Medium to large memory
footprint
• Java (1.2) application
development
• Native C/C++ coding supported
when additional perf required
• Built on top of underlying
Linux foundation
• Full GUI and multimedia
framework is integral part of
platform
• Broad community support
• Comprehensive Java based
software library
• Source code available
• Royalty-free, with non-”copyleft”
based Apache Software License
• Platform release cadence
relatively fast but overall stable
• Medium to large memory
footprint
• Fully componentized and
complete
offering of high-level Windows
components w/GUI and
multimedia
• Visual Studio development tools
for C/C++ and managed code
• Real-time kernel support
• Source code available through
Microsoft Shared Source
program
• Microsoft provides complete IP
indemnification for platform
• Per-unit product royalties
(“shared
success”) depending on volume
and software components
required
• Slow release cadence and
Introduction to Linux
• Open Source OS, GPL or LGPL licenses (no cost)
• Developed in 1991 by Linus Torvalds (hence the
name)
• Based on Unix, but almost completely re-written
• It is maintained by thousands of contributors around
the world, not just one company!
• Plenty of ready-to-go source code available on the
Internet
• Many vendors offer drivers in source code
• Extreme portability of application code
• It is becoming a ‘standard de facto’
Page 30
Digi Embedded Linux
•
•
•
•
•
Supported on Digi ARM9 and Digi Freescale modules
Digi’s embedded, Real-Time Linux distribution
Based on 2.6 kernel (Kubuntu)
Royalty-free
Full featured BSP and drivers
–
–
–
–
–
–
–
–
–
–
–
Web servers (Cherokee and HTTP)
Ethernet and Wireless 802.11
FTP server
Full TCP/IP IPv4 and IPv6
Strong security with Dropbear SSH, OpenSSL, AES256 encryption
Telnet server
QT library for graphical applications
SNMP/MIB
SQLite
Python engine
U-Boot bootloader
• Full Source Code included – ANSI C
• Examples applications included in the kit
Page 31
Introduction to Android
• Android was developed by the Open Handset Alliance
• Effort led by Google
• What makes Android special?
Free development platform based on Linux
Open Source, Apache license
Component-based architecture
Availability of built-in services out of the box
High quality graphics and sound
SW portability across a wide range of hardware
Standard de-facto for cellular application development
SW development is done in Java
Page 33
Digi Android
•
•
•
•
•
•
Supported on Digi Freescale modules
Built on Android 2.3 GingerBread
Upcoming Android 4.x JellyBean (1Q2014)
Royalty-free
Application Development Kit, not full kernel/OS
Allows creating embedded applications with
–
–
–
–
–
–
–
Full TCP/IP IPv4 and IPv6
Ethernet and Wireless 802.11
Serial Port, USB
Audio, LCD, Touchscreen, Camera
SSL, SQLite
Android Browser for internet access
OpenGL/ES library for graphical applications
• Digi adds Embedded APIs extensions to Android!
• Any standard Android package can be installed
• Examples applications included in the kit
Page 34
Android System architecture
Page 35
Etherios Cloud
for Embedded
Device Cloud for Embedded
• You can now integrate *ANY* Embedded platforms
with *ANY* OS (or no OS at all) via the Etherios
Connector
• The following OS support already the Connector
libraries:
–
–
–
–
Linux
Android
WindowsCE
MQX
• Source Code is included in the kit
• Great platform to quick and easily integrate your
embedded system with a powerful cloud solution
• It is available at NO CHARGE
Page 37
Etherios Cloud Connector features
– Provides messaging from device to cloud
– Control device via reboot and software download
functions
– Web Services API provides access to device data and
control functions
Push Data to Cloud
Enhanced
Device
Protocol
Web Services
API
User
Applications
Update Firmware
Reboot Device
Page 38
Webservices Example
• Contents of Web Services call
WRITE:
<rci_request version="1.1">
<do_command target="user_defined">
<led_write number="1" control="on"/>
<led_write number="2" control="off"/>
</do_command>
</rci_request>
Regular iDigi
SCI/RCI request
Control target:
To be defined
by user
application
READ:
Called Function:
<rci_request version="1.1">
To be
<do_command target="user_defined">
implemented by
<led_read number="1"/>
the user
<led_read number="2"/>
</do_command>
Function Parameters:
</rci_request>
void led_read(String
number)
Page 39
CC-Wi-i.MX28 Launch
and Logistics
ConnectCard i.MX28 Launch Plan
March 2013
• Digi Embedded Linux Kit and
prototyping modules released
• Partner training webinars
• Order initial modules and kits
• Registered Opportunities
April 2013
•Market Launch 1 April 2013
•Additional modules released
•Provide customer training
•Promote products
September 2013 (Target)
• Initial Android JumpStart Kit
release
Page 41
ConnectCard i.MX28 P/N
Part Number
Description
CC-WMX-PE47-JT
Wi-i.MX280, 128/128 MB, 1xEthernet, 802.11abgn, JTAG
CC-WMX-PF58-QK
Wi-i.MX287, 256/256 MB, 2xEthernet, 802.11abgn, BT4.0, LCD, JTAG,
CAN
CC-WMX-PF47-VM
Wi-i.MX287, 128/128 MB, 1xEthernet, 802.11abgn, LCD, JTAG, CAN
CC-MX-PF47-ZM
i.MX287, 128/128 MB, 1xEthernet, LCD, JTAG, CAN
CC-MX-PE47-ZM
Wi-i.MX287, 256/256 MB, 2xEthernet, 802.11abgn, BT4.0, LCD, JTAG,
CAN
CC-MX-PF58-ZK
i.MX287, 256/256 MB, 2xEthernet, LCD, JTAG, CAN
CC-MX-PF47-ZK
i.MX287, 128/128 MB, 2xEthernet, LCD, JTAG, CAN
Page 42
Digi HW & SW Setup
ConnectCard i.MX28 HW Setup
Page 44
Simple Diagnostics
•
•
•
•
•
•
Connect the DevKit as per the previous slide
Launch a Terminal Emulator
Examples: TeraTerm, PuTTY, HyperTerm (Windows), MiniCom (Linux)
Setup the parameters as 115000,8,N,1
Power-on the DevKit
The U-Boot messages and printout should be showing
•
HV – Prints the HW version of the module
NOTE: in AT mode, remember to type +++ first!!
Page 45
Digi Embedded Startup
Digi Bootloader: U-Boot
• What does a bootloader do?
–
–
–
–
–
–
–
Initialize hardware
(optional) Splash screen image support
Uncompress data/code from FLASH to memory
Establish basic networking functionalities
Start OS (WinCE, Linux, NET+OS)
Allow firmware updates – erase and program FLASH
Customization of settings
• Das U-Boot is an open-source, cross-platform bootloader
that support many embedded boards and CPUs
• Allows extensions for easy tailoring
• Digi bootloader is based on U-Boot-1.5.x
• NOTE: U-Boot does not support IPv6 and there is no
plan to add it for now
• http://www.denx.de/wiki/U-Boot
Page 47
U-Boot Screenshot
Battery Voltage = 4.29V
5V source detected. Booting from 5V. Battery powered operation disabled.
U-Boot 2009.08 - dub-1.5.1.2 - (Mar 11 2013 - 19:42:23) - GCC 4.4.6
for ConnectCard Wi-i.MX28
Freescale i.MX28 family
CPU:
454 MHz
BUS:
151 MHz
EMI:
205 MHz
GPMI:
24 MHz
NAND: 256 MiB
MMC:
IMX_SSP_MMC: 0
DRAM: 256 MB
In:
serial
Out:
serial
Err:
serial
Net:
FEC0 [PRIME]
Hit any key to stop autoboot:
0
CCARDWMX28 #
Page 48
BusyBox
• Once Digi DEL has booted fully, the BusyBox will
show up
• BusyBox combines tiny versions of many common
Linux utilities into a single small executable
• The commands included are rebuilt specifically for
small and embedded system (size and resources
optimized)
• It is also modular so users can easily include or
exclude commands (or features)
• It is basically a “Bourne shell on a diet”!!!
• NOTE: Our pre-built binary has IPv6 support
DISABLED Customers wanting to use IPv6 on
busybox need to enable and rebuild busybox
• http://www.busybox.net/about.html
Page 49
BusyBox Screenshot
BusyBox v1.20.2 (2013-02-22 14:55:13 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
~ #
~ # help
Built-in commands:
-----------------. : [ [[ alias bg break cd chdir continue echo eval exec exit
export false fg getopts hash help jobs kill let local printf
pwd read readonly return set shift source test times trap true
type ulimit umask unalias unset wait
~ #
~ # ls /
bin
etc
dev
home
~ #
lib
media
mnt
nfs
opt
proc
root
sbin
sys
tmp
usr
var
Page 50
Development
Environment
The Digi ESP
• Based on Eclipse 3.4.1 (Ganymede)
and CDT 5.0.1 (C/C++ support)
http://wiki.eclipse.org/CDT/User/NewIn50
• Refresh and minor enhancements in most plugin
• New console plugin with serial/telnet/SSH support
• New QT development plugin to facilitate the
development of graphic applications
• Shortens the learning curve
• Easy editing and navigating through source code
• Integrated debugging
• Includes all cross-development operations
Page 52
Launch Digi ESP
Launch ESP by clicking on the icon
Then select the default workspace (first time only)
You should select a user directory for the
workspace, i.e. /home/<user>/workspace
Page 53
Workbench with Open Project
Page 54
Package Manager
With the Package Manager, the Digi ESP and the
target BSP are automatically updated
Page 55
Services, Applications, Daemons
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Alsa library/utils (v1.0.19)
BlueZ (v4.98)
Bridge utils (v1.4)
Busybox (v1.19.4)
Httpd (busybox) webserver
Cherokee web server (v1.2.101)
Dropbear SSH server and client
(v2012.55)
Ethtool (v2.6.36)
Glib (v2.32.1)
mii-tool (v1.9.1.1)
Module init tools, only modinfo (v3.2.2)
mtd utils, flash tools for NAND and NOR
flashes (v1.2.0)
Net-SNMP (v5.4.2.1)
OpenNTPD (v3.9p1)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Openssl library (v1.0.1c)
PCMCIA utils (v015)
pppd and chat (v2.4.4)
Python (v2.7.1)
QT-embedded-linux-opensource (v4.7.2)
Sqlite (v3.6.6)
Strace (v4.5.18)
Stunnel (v4.35)
tslib for touch screen support (v1.0)
uClibc library (v0.9.30)
usbutils (v002)
Very Secure FTP server vsftpd (v2.0.7)
wireless_tools (v29)
wpa_supplicant (v0.6.10)
Page 56
Cherokee Webserver
• The other webserver is called Cherokee:
– http://www.cherokee-project.com
• It supports: FastCGI, SCGI, PHP, CGI, SSI, TLS
and SSL encrypted connections, Virtual hosts,
Video Streaming and much more
• To obtain help: cherokee -h
• The configuration file is
/etc/cherokee/cherokee.conf
• HTML, images, and all the web pages, by default,
are located in /usr/share/www
• To start and stop the webserver:
/etc/init.d/S80cherokee.sh start
/etc/init.d/S80cherokee.sh stop
Page 57
Project Wizard and Examples
Page 58
Code Examples
Page 59
Examples of Applications
Energy
Example Application
Customer
USA
Vertical
Energy
Application
Solar Power Inverter
Product
LINUX
iDigi
i.MX28
ConnectCard Wi-i.MX28
Why Digi?
Long-term product availability
Small form factor
Wi-Fi and Ethernet connectivity
LCD controller option, networking
Digi Embedded Linux
Volume
5-10k/year
Page 61
Key Applications
Security
/ Surveillance
Transportation
Example
Application
Target Applications
Digi Focus Products
Digi Key Success Factors
- Parking Systems
- Asset Management
- Railway Connectivity
- Precision Ag
- ConnectCore for i.MX51/i.MX53
- ConnectCard for i.MX28
- Wireless (802.11a/b/g/n) connectivity options
- Extended operating temperature
- Reliability testing and warranty
- Customization services (conformal coating)
- iDigi Device Cloud
Page 62
Transportation
Railway Car Connectivity
Customer
Russia
Vertical
Transportation
Application
Railway Car Connectivity
Product
ConnectCard Wi-i.MX28
Why Digi?
Process and quality controls
Product Customization (Conformal Coating)
802.11abgn Wi-Fi integration
Access Point Mode option
IEC reliability testing
Volume
2-4k/year
LINUX
i.MX28
Page 63
Medical / Healthcare
Automated External Defibrillator (AED)
Customer
USA
Vertical
Medical/Healthcare
Application
Defibrillator
Product
ConnectCard Wi-i.MX28
Why Digi?
Quick time-to-market
Product change control
Long-term product availability
802.11abgn Wi-Fi integration and security
Small form factor
Digi Embedded Linux
Volume
5-10k/year
LINUX
i.MX28
Page 64
Medical / Healthcare
IV Pump
Customer
USA
Vertical
Medical/Healthcare
Application
Infusion Pump (Syringe)
Product
ConnectCard Wi-i.MX28
Why Digi?
802.11abgn + Ethernet connectivity
Complete Wi-Fi security options
Small form factor, low power
Product change control
Long-term product availability
Process and quality controls
Digi Embedded Linux
Volume
5-10k/year
LINUX
i.MX28
Page 65
Support and Learning
Support
• Tech Support by Digi:
– Support Ticket:
http://www.digi.com/login?ReturnUrl=%2fsupport%2feservice%2flogin
– Email: [email protected]
– Web: http://www.digi.com/support
– Phone: +1 (877) 912-3444
• Support by local Digi distributor/partner !!!
• Plenty of newsgroups (Google: Linux)
• Newsgroups are a big factor on learning
Page 67
Reference & Documentation
• The Linux Kernel Archives
http://www.kernel.org
• Homepage of the U-Boot Loader
http://www.denx.de/wiki/U-Boot
• Ubuntu Guide
http://ubuntuguide.org/wiki/Ubuntu:Maverick
• uclibc homepage
http://www.uclibc.org
• Nokia QT graphic libraries (formerly Trolltech)
http://qt.nokia.com/products/
• Free online courses by Prof. Allan B. Cruse
– http://www.cs.usfca.edu/~cruse
• http://www.cs.usfca.edu/~cruse/cs635f07
• http://www.cs.usfca.edu/~cruse/cs630f08/
• Linux Man Pages
– http://www.linuxmanpages.com/
• Shell Command Reference
– http://linux.about.com/od/commands/l/blcmds.htm
Page 68
Books
• Linux Device Drivers
3rd Edition, by J.Corbet, A.Rubini, and
G.Kroah-Hartman, ISBN 0-596-00590-3
• Embedded Linux System Design and
Development
by P.Raghavan, ISBN 0-849-34058-6
• Building Embedded Linux Systems
by K.Yaghmour, ISBN 0-596-00222-X
• Understanding the Linux Kernel
by D.P.Bovet and M.Cesati, ISBN 0-596-00565-2
• The C Programming Language
by B.Kernighan & D.Ritchie, ISBN 0-131-10362-8
Page 69
Demos