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