Vinculum II Product Training

Slides:



Advertisements
Similar presentations
Author: Texas Instruments ®, Sitara™ ARM ® Processors Building Blocks for PRU Development Module 2 PRU Firmware Development This session covers how to.
Advertisements

Cortex-M3 Debugging System
Silicon Labs ToolStick Development Platform
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
Using the PSoC USB March 17, 2012 Lloyd Moore, President/Owner.
Topics Introduction Hardware and Software How Computers Store Data
Multimedia & Communications ATMEL Bluetooth Background information on Bluetooth technology ATMEL implementation of Bluetooth spec.
ECE Lecture 1 Microcontroller Concepts. Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device Data.
Owner : SAYD Cypress Confidential Sales Training 2/21/ FTDI FT232R vs. USB Serial CY7C65213 USB - UART Converter Cable USB to UART Conversion at.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computer Organization & Assembly Language © by DR. M. Amer.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
ChibiOS/RT Demo A free embedded RTOS
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Embedded Systems Design with Qsys and Altera Monitor Program
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
Introduction to Operating Systems Concepts
ENERGY METER TO INDICATE BILLING IN RUPEES FOR LOAD WISE OR DAY WISE
Voice Controlled Robot by Cell Phone with Android App
Chapter 1: Introduction to the Personal Computer
Cypress Roadmap: Platform PSoC®
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Vinculum II Software Development Toolchain
Chapter 6 Input/Output Organization
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Lab 1: Using NIOS II processor for code execution on FPGA
Vinculum II Development Modules
PROPELLER DISPLAY OF MESSAGE BY VIRTUAL LEDS
Microcontrollers & GPIO
PRE-PROGRAMMED DIGITAL SCROLLING MESSAGE
Computer Hardware – System Unit
Topics Introduction Hardware and Software How Computers Store Data
Microcontroller Applications
Vinculum II Device Hardware
FTDI Press Conference 2nd March 2010, Embedded World Vinculum VNC2
PC Mouse operated Electrical Load Control Using VB Application
UNIT – Microcontroller.
Basic Computer Hardware & Software
Java programming lecture one
CS703 - Advanced Operating Systems
Chapter III Desktop Imaging Systems & Issues
IRQ, DMA and I/O Ports - Introduction -
Instructor Materials Chapter 1: Introduction to the Personal Computer
Getting Started with Programmable Logic
Introduction to Microprocessors and Microcontrollers
CSCI 315 Operating Systems Design
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
CIS16 Application Development – Programming with Visual Basic
Topics Introduction Hardware and Software How Computers Store Data
Today’s agenda Hardware architecture and runtime system
ChipScope Pro Software
Greg Bell Business Development Mgr Industrial & Security Markets
I/O BUSES.
Five Key Computer Components
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
ChipScope Pro Software
Wireless Embedded Systems
JTAG, Multi-ICE and Angel
Introduction to Single Board Computer
Universal Serial Bus (USB)
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Course Code 114 Introduction to Computer Science
Introducing MagicInfo 6
Presentation transcript:

Vinculum II Product Training FAE Training – June 2010

Agenda Day 1 10:30 – 10:45 Introduction and housekeeping 10:45 – 11:45 VNC2 Introduction Kulraj Purewal Lunch 12:30 – 13:45 VNC2 Hardware 14:00 – 15:00 VNC2 Software Tool Chain and demo 15:15- 16:30 VNC2 Firmware – RTOS, drivers and VNC1L Firmware Support 16:30 – 17:15 VNC2 evaluation modules. Day 2 9:00 – 9:15 Vinculum II tool chain installation Gordon Lunn 9:15 – 11:00 Lab demos Break 11:15 – 12:30 Continue with Lab work. 13:00 – 14:00 Sales collateral. Key sales messages, FAQs. Wrap-up. 14:00 – 16:00 Open session.

Vinculum II Product Overview FAE Training – June 2010

Contents Vinculum II (VNC2) Firmware & Tools VNC2 Applications Evaluation Boards Summary

VNC2: Product Introduction VNC2 is a programmable USB Host / Slave controller with embedded microprocessor core. Designed to provide powerful, programmable USB Host / Slave capability within embedded applications. VNC2 is FTDI’s 2nd generation of dual USB Host / Slave controllers. Enhanced features and capabilities over VNC1L: Upgraded CPU offering increased the processing power. Programmability, supports user customised firmware. Hardware acceleration of USB processing. Multiple interfaces Software design tools and development resources to enable faster time to market, as well as provide a low-risk easy to adopt solution. Information in VNC2 Data Sheet: Vinculum II Embedded USB Host Controller IC 16 bit uC as opposed to 8 bit uC. 256k Flash as opposed to 64k Flash 16k RAM as opposed to 4k RAM

VNC2: Architecture Two independent USB Host / Slave interfaces. 16-bit Harvard architecture MCU core. 48MHz Operation 256KBytes Flash Memory for firmware storage. 16KBytes RAM. Interrupt and timer interfaces

VNC2: Architecture Interfaces: UART SPI Slave SPI Master FIFO mode 8 PWM blocks GPIO Debug Interface 4 DMA engines for managing I/O transfers UART – Traditional interface for communicating with an embedded CPU device. Supports transfers up to 6MBaud SPI – 2x SPI slave. 4-wire interface, popular device interconnect. SPI can be used to drive display controllers. SPI master can also be used for SD card type interfaces Supports following modes: Full duplex, half duplex, half duplex (3-bits), and unmanaged mode. 1 SPI master port – Supports full and half duplex communications. 1 slave select pin. FIFO – Fast data communication interface, connects to PLD to FPGA type devices. ‘245’ implementation similar to other FTDI products. - Asynchronous and synchronous modes supported. - Asynchronous mode: 10Mbps max transfer rate - Synchronous mode: 48MBytes/s PWM – Pulse width modulation. Traditionally used to control motors. Allows the device to be used to connect to motorised or mechanical devices. - 8 PWM channels - 16-bit counter, trigger inputs. - Interrupt control - Generate 4 outputs with output enable. GPIO – Connect input / output devices to VNC2. Support up to 40 GPIO. Can be used with interrupts. Debug Interface – Single pin, supports half duplex operation at 1Mbps. UART style interface 8 data bits, 1 start bit and 1 stop bit. DMA Engines – Designed to manage data transfers between interfaces and memory and memory to memory. 4 DMA engines allow 2 interfaces to be used at the same time where 1 engine is used for TX and another for RX. Limited internal buffer memory within the device.

VNC2: USB Support VNC2 has two independent USB Host / Slave interfaces USB 1.1 & USB 2.0 compliant interfaces. Supports 1.5Mb/s (Low Speed) and 12Mb/s (Full Speed) transactions. Supports 4 transfer types of the USB specification. Interrupt transfers: Bulk: Isochronous: Control USB Host capability Modelled on OHCI Host controller specification. Provides capability comparable to USB Host controller found on a PC. Very powerful, autonomous host engine, uses minimal CPU resources. Timely, reliable transfers, eg keyboard and mouse. Large blocks of data less time critical eg Printers, FT232R. Defined bandwidth & latency eg. Webcams. Used for device configuration and enumeration. Slide detailing USB support. 2 independent USB Host / Slave channels. Both channels are independent and therefore one port can be used as a host while the other can be used a slave. USB Transfers – Main change is the introduction of isochronous transfers opening up the use of the device for web cam or similar types of applications. USB Host capability OHCI host controller used, which is comparable to the type of USB host controller found in a PC. The advantage of this type of controller is that the USB processing is done in the controller, thus freeing up the CPU for user application processing. USB controller is not fully OHCI compliant, so customers cannot integrate their own OHCI drivers. Discussed later.

VNC2: Power Operation Low power operation. 4 Power modes. Operating Mode Power Mode Power Consumption 48 MHz Normal 25mA 24 MHz Low-power 12-14mA (est) 12 MHz Lowest-power mode 8mA Fourth mode is a suspend mode, consuming ~150uA. I/O multiplexing, enables different interfaces to be supported on device I/O pins, providing added device flexibility. 48MHz / 25mA 12MHz / 8mA

VNC2: Packages  LQFP and QFN have same pin assignments. Device/Package VNC1 VNC2 Comments LQFP – 32 pin  LQFP – 48 pin See app note AN_118 on migrating from VNC1L to VNC2 LQFP – 64 pin QFN – 32 pin QFN – 48 pin QFN – 64 PIN No sync FIFO in 32 pin package. LQFP and QFN have same pin assignments. The groupings are used by the IO_MUX to define the actual pin functionality. 2 USB ports, power and ground are available on all packages

VNC2 to VNC1L Summary Feature VNC1L VNC2 USB Mode 2 x USB 2.0 Host / Slave Transfer Modes Bulk / Interrupt Bulk / Interrupt / Isochronous CPU 8-bit Harvard architecture 16-bit Harvard architecture Memory RAM 4KBytes 16KBytes E-FLASH 64KBytes 256KBytes Interfaces UART, SPI slave, FIFO UART, 2 x SPI (slave), SPI (master), FIFO, PWM, Debug Pre-compiled firmware Yes Tools for creating own firmware No Configuration Ports UART, USB (after initial programming) UART or Debug port. Package 48-pin LQFP 32 pin LQFP/QFN, 48-pin LQFP/ QFN, 64-pin LQFP, QFN USB processing moved to hardware, freeing up CPU cycles 48-pin LQFP backwards compatible with VNC1L

Vinculum II Firmware

Introduction Major new feature of VNC2 is ability to support user developed firmware. Opens up many new potential uses and applications for VNC2. A new firmware development model has been adopted for VNC2. Based on a modular, layered architecture for maintainability and ease of use. Model split into 4 categories: VNC2 real-time operating system (RTOS) VNC2 device drivers. User applications – Tool Chain. Precompiled Firmware (same as VNC1L). Firmware model is consistent with traditional embedded systems design approach. Introduction on VNC2 firmware. Main point is that VNC2 supports user developed firmware. In order to support this FTDI have developed a new firmware support model which is based around an RTOS, device drivers, tool chain for user application development and pre-compiled firmware as in VNC1L. With the exception of the pre-compiled firmware the FTDI approach is consistent with the approach used when designing with traditional embedded processor systems. Developers of the VNC2 will be comfortable with the concept of an RTOS and device drivers.

(IDE, C Language Development) Architecture FTDI Supplied Content User Application Math Stdio Stdlib Libraries Device Manager (IDE, C Language Development) Vinculum II Toolchain FS Upper Level Drivers FS Kernel Services SD Card BOMS HID HUB CDC This diagram shows the modular design of Vinculum II firmware. FTDI supplies drivers for all hardware interfaces available on Vinculum II. In addition, FTDI provides drivers for many standard USB device classes such as BOMS, HID, HUB, CDC and more. FS = File System (e.g. FAT, exFAT, ext2, ….. ) Tightly integrated with Drivers for performance FT232 Hardware Interface Drivers SPI Slave SPI Master USB Host USB Slave UART FIFO Vinculum II Hardware 14

Traditional embedded systems architecture. VNC2 Firmware RTOS VNC2 RTOS provides a range of low-level management services to a firmware application. Functions: managing multiple threads, scheduling, interrupt handling, monitor application and CPU usage. Device Manager Manages access to device interfaces via drivers. Provides common interface for accessing interfaces. User application development via Vinculum II Toolchain Traditional embedded systems architecture.

Vinculum II Development Tools

Software Development Tool Chain VinL VinC Firmware & Libraries Tool chain VinAsm VinDbg Source Files Vinculum II Chip Here is the block diagram for the IDE. As you can see in the diagram it acts as the mediator between the different components of software development. It gets the source files of the user and using the tools compile, assemble and link it together with the firmware and libraries (if necessary) to create the final executable ROM file and by using the debugger, programs and debugs the Vinculum II hardware. This is done with the least amount of user intervention as possible thus expediting the software development process VinIDE

Integrated Development Environment Provides the environment to develop Vinculum II-based applications Easy-to-use GUI based environment, incorporates ability to edit, build and debug projects. Command line tools available. Integrates RTOS and drivers. Has many of the features of commercial IDEs used in the industry today The IDE is developed specifically for the Vinculum II chip to make it easier for those who want to develop software for the chip. It provides a handy user interface for faster and easier development rather than to write lengthy and sometimes difficult scripts to build your projects. The IDE allows you to do all that with just a click of your mouse. It takes from the developer the burden of having to configure the tools as well as the firmware thus making it easier to focus more on their applications The IDE provides most of the functionalities that are available with the other IDEs for the customer to use

VinIDE Ribbon Toolbar Watch Window Project Manager Source Editor Memory Window Here is a screenshot of the main window of the IDE with the major components. The following slide will discuss these components and what they do Breakpoint Window Messages Window

Software Development Flow Typical development flow: *.bin/*.rom file IDE *.obj file *.asm file V2CL Linker Assembler COMPILER Takes output from previous and generates file to be loaded into device. VinL Code is translated into low-level device commands. VinASM User writes code in ‘C’ language. VinC Debugger Code running in device. Verify code operation on device. VinDbg

Vinculum II Software VinC VinASM VinL ANSI C compatible compiler with extended language features for VNC2 device. Carries out validation and compilation of C programs. ANSI C library support. VinASM Assembler tool used to convert compiler generated assembly code into object code. Disassembly used during code debug. VinL Linker, carries out code linking and code optimisation functions. Generates ROM/Binary output for device. ELF / DWARF2 compatible reports generated for external tool analysis. Vinculum II comes with a C language compiler known as VinC. VinC is an ANSI C compatible compiler with few customizations to provide better memory utilization. In addition, VinC also support some language level enhancement of ANSI C: to support Harvard memory architecture, to access and modify hardware I/O Ports, to support for Bit-Operations with ports and variables, to support for Inline Assembly. VinC implements validation of input c programs for syntax, semantics and type errors and reports them to the user. It proceeds with the compilation only when the validation is successful. VinC defines a formal calling convention; this allows creating projects with C, ASM programs and call them from one another

Vinculum II Software VinDbg – Debugger Tool Allows debug of software code running on VNC2 device, via device Debug pin Supports standard code debugger features. Set and clear breakpoints. Walk-through code: Step-in, step-out, step-over and single step through code. Halt the program from executing. On screen editing of data value. Debugger requires hardware debug circuitry on VNC2 hardware. Breakpoints: One of the many basic feature of a debugger are Setting and Clearing a breakpoint. Breakpoints are intentional stopping or pausing place in a program where the user can inspect the program to find out whether the it functions as expected. Program Flow Control: Next are the Program flow controls. Program flow controls are controls where the user can go thru the source codes line-by-line and can inspect the values of the variables as the user steps thru the codes. It can also inform the user if the program executes or goes thru the expected lines of code. Step-in into a function will single-steps through instructions in the program, and enters each function call that is encountered. Step-out a function will execute the program out of a function call, and stops on the instruction immediately following the call to the function. Using this command, you can quickly finish executing the current function after determining that a bug is not present in the function. Step-over a function. If this command is used when you reach a function call, the function is executed without stepping through the function instructions. Single Stepping of code will single-steps through instructions in the program Halt the program from executing: At any desired point, the user can halt the program execution and inspect the program whether it functions as expected by examining the values of the variable and checking if it steps-thru the expected line of code. Support for On-Screen Editing of data-value: While on debugging mode or at halt, the user can manually change the value of the variables. It will give the developer an opportunity to observe an alternate program outcome by changing the value of the variables. Support for Multi-Level Debugging: Vinculum II Debugger support multi-level debugging. It will allow the user to debug both in C and assembly language code.

Pre-compiled Firmware Range of VNC1L style firmware images will be released for VNC2. V2DAP: Disk and peripherals. Currently in development. V2MUSIC: planned V2DPS: planned Firmware will be supplied as a full source project as an application example. Number of additional examples: GPS Logger HelloWorld StillImage Capture Generic USB Host USB Slave Kitt LED demo Philosophers, multithread example. HID class

Vinculum II Applications

Vinculum Target Applications VNC2 is targeted to provide programmable USB capability for embedded applications. Typical applications Adding USB Host capability to an embedded product. Connect a USB Flash drive to MCU/PLD/FPGA – data storage and firmware updates. USB Flash drive / SD card interfaces. Data backup/copier, eg Flash disk to Flash disk / SD card. Target applications in consumer, communications industrial and medical applications.

VNC2: Typical Applications Consumer Electronics USB Flash drive data storage or firmware updates. Digital camera to USB Flash drive or similar USB client device interface. MP3 Player to USB Flash drive or other USB client device interface. Provide connectivity to iPOD / iPhone style devices. TV, PVR, Set Top Box – USB Flash drive. USB webcam. Flash drive to SD Card data transfer. Health monitors – Sports watches, training aids.

VNC2: Typical Applications Communications Wireless Interfaces – 3G / Bluetooth. USB wireless process controller. Telecom system calls logging to replace printer log. Mobile phone to USB Flash drive. GPS to mobile phone interface. GPS tracker with USB Flash disk storage. Geo-tagging of photos – GPS location linked to image. Industrial & Medical Instrumentation USB Flash drive. Smart meters. Data-logger USB Flash drive. Scanners and cameras. …… more

VNC2 Application Examples VMUSIC - VNC1L based design. MCU can reads music files from flash disk via VNC1L MCU controls playback via VNC1L via SPI interface. Support via VMSC firmware

VNC2 Application Examples VMUSIC – VNC2 Upgraded Design. VNC2 replaces VNC1L and MCU to provide music playback and control New interfaces add extra capability, eg OLED display. VNC2 replaces VNC1L and MCU.

VNC2 Application Examples GPS Module Design. VNC2 connects to GPS receiver. GPS data can be sent to USB Flash disk or to a PC for analysis using Map software. Other USB connection can be used for communications connectivity. GPS Logging featured in Vinculum Software Examples

Vinculum II Evaluation Boards

VNC2 Development Modules V2-EVAL Complete evaluation and prototyping kit. 2 x USB type ‘A’ connectors, headers for access to interfaces, external power supply and prototyping area. VNC2 accessed via daughterboard site. V2DIP1/V2DIP2 Modules Compact, easy-to-integrate modules 0.1” pitch headers provide access to VNC2 device interfaces. VNC2 Debug Module Designed for loading and debugging firmware on VNC2

SUMMARY

Device Schedule VNC2 Rev A devices samples available now. Errata TN_118: SPI slave unmanaged mode only available. Evaluation boards stock: V2_EVAL board with various daughter boards. V2DIP1 / V2DIP2 modules. VNC2 Debug module. VNC2 Rev B devices available in August.

Technical Collateral VNC2 Chip VNC2 evaluation modules Datasheet. Errata. AN_118 Migration Guide. TN_108 VNC Chipset Comparison. VNC2 evaluation modules V2-EVAL datasheet. V2DIP1-32, V2DIP1-48, V2DIP1-64 datasheets. V2DIP2-32, V2DIP2-48, V2DIP2-64 datasheets. VNC2 Debug Module datasheet. Vinculum II Toolchain version 1.04 available. Contains many example projects. AN_137 IO Cell Description. AN_138 Debug Interface Description. AN_139 IOMUX Explained. AN_140 PWM Example.

Summary VNC2 is the second generation of FTDI’s Vinculum family of dual USB Host Controllers VNC2 handles the USB Host Interface and data transfer functions Encapsulates the USB device classes due to the inbuilt MCU and embedded Flash memory VNC2 handles the FAT File structure communicating via UART, SPI or parallel FIFO interfaces via a simple to implement command set when interfacing to mass storage devices such as USB Flash drives

Summary VNC2 provides a new cost effective solution for providing USB Host capability into products that previously did not have the hardware resources available VNC2 is available in Pb-free (RoHS compliant) compact 64-Lead LQFP, 64-Lead QFN, 48-Lead LQFP, 48-Lead QFN, 32-Lead LQFP and 32-Lead QFN packages. VNC2 comes with an extensive set of Tools, Firmware and Libraries (all FOC). VNC2 customer evaluation boards plus single and dual USB channel development modules are available to enable rapid development. Information in VNC2 Data Sheet: Chapter 4: Function Description