A more in depth look (XUF TQ128)

Slides:



Advertisements
Similar presentations
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
Advertisements

Proximity Sensor Board: Final Report Sarat Bhogavalli Nathan Ellefsen Ryan Fig Michel Kinsy Mentor: John Winters.
Better Debugging of Embedded via a Debug Port ECE152.
Initial Position Orientation Tracking System (IPOTS) Group Members: Keiichi McGuireHenry Pham Marc TakamoriScott Spiro.
Better Debugging of Embedded via a Debug Port ECE152.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Introduction.
Asst. Prof. Dr. Alper ŞİŞMAN
Robotics Research Laboratory Louisiana State University.
Programming & Development of Mobile & Embedded Systems Lin Zhong ELEC424, Fall 2010.
3-1 System peripherals & Bus Structure Memory map of the LPC2300 device is one contiguous 32-bit address range. However, the device itself is made up of.
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
AVR  Modern RISC architecture: Compact and FAST.  Tuned for high level languages.  Consistent architecture across entire line.  Small AVR are subsets.
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.
ICMetrics Experimental Platform Jenya Kovalchuk University of Essex 27 January 2012 Ecole Centrale of Lille 1 Part-financed by the European Regional Development.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
MICE III 68000/20/30 MICETEK International Inc. CPU MICEIII MICEView Examples Contents Part 1: An introduction to the MC68000,MC68020 and Part.
ADAM46P20 Simulator V User’s Manual ETA Chips, Co., Kr., 2011 By W.S.YOU.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
TRIPS – An EDGE Instruction Set Architecture Chirag Shah April 24, 2008.
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
Team 6 DOODLE DRIVE Alexander Curtis Peachanok Lertkajornkitti | Jun Pan | Edward Kidarsa |
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
INTRODUCTION TO PIC MICROCONTROLLER. Overview and Features The term PIC stands for Peripheral Interface Controller. Microchip Technology, USA. Basically.
Humble Hubble Team 18 Tim Brown. Abstract The proposed project is a self-aiming telescope. This telescope will obtain its global position and the local.
Debugging TI RTOS TEAM 4 JORGE JIMENEZ JHONY MEDRANO ALBIEN FEZGA.
System Software Design Review.  MCU: NXP LPC2378 ARM7 32-bit  512 KB Flash, 8KB EEPROM and SRAM  Bus Frequency: 20 MHz  Approximate Memory requirements:
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
ChibiOS/RT Demo A free embedded RTOS
Robocon 2007, Hong Kong University of Science & Technology Robocon 2007 Electronics Quickstart! Session 1 Hello! Microcontroller. Prepared by KI Chi Keung.
CSE466 - Fall What is an Embedded System  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)  Lacks some or.
Microcontroller basics Embedded systems for mortals.
NAM S.B MDLAB. Electronic Engineering, Kangwon National University 1.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
Embedded Real-Time Systems
USING TV REMOTE AS A CORDLESS MOUSE FOR THE COMPUTER
CORDLESS MOUSE FEATURES BY TV REMOTE USING PIC MICROCONTROLLER
Arduino.
Voice Controlled Robot by Cell Phone with Android App
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
Obstacle avoiding robot { pixel }
Scrolling LCD using Arduino.
Programming and Debugging with the Dragon and JTAG
HISTORY OF MICROPROCESSORS
Lab 1: Using NIOS II processor for code execution on FPGA
Microprocessors Personal Computers Embedded Systems Programmable Logic
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
USB The topics covered, in order, are USB background
Interrupts and signals
Computer System Laboratory
Automatic human detector garbage can.
Implementation of Embedded OS
Microcontroller Applications
CoBo - Different Boundaries & Different Options of
Arduino Part 1 Topics: Microcontrollers Programming Basics
‘SONAR’ using Arduino & ultrasonic distance sensor
Project Title EVM IN PIC Under the Guidance of Submitted by.
Microcomputer Systems 1
The Arduino Microcontroller: Atmel AVR Atmega 328
Describe how NASA remotely controls equipment in space.
Introduction to Microprocessors and Microcontrollers
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Computer System Laboratory
Introduction to Arduino
Presentation transcript:

A more in depth look (XUF216-512-TQ128) XMOS Powered Car A more in depth look (XUF216-512-TQ128)

XMOS MCU Overview 16 Cores across 2 Tiles 512K single cycle SRAM Each tile shares 256K of 512K Single cycle instructions(except divide) Entirely deterministic, no cache, no flash pages 2MB on-chip flash memory Core speeds from 62.5 MHz up to 100 MHz (100 MHz up to 5 threads, 500/N_cores MHz beyond 5)

In actuality… Dual core 500 MHz RISC MCU Hardware task scheduler Provides 0 overhead context switching 8 sets of internal registers Event driven as opposed to interrupt driven Uses Xc a very C-like language No FPU, but is 32-bit

Pros Many threads running at the same time Can daisy chain multiple MCU’s for expansion Xc provides C++-like type checking Buffered, timed, and flexible I/O ports 10ns event response time Able to debug over USB via XTAG (Custom JTAG) Flexible thread placement, or automatic placement All software, pick your own peripherals

Cons All software, pick your own peripherals Exceptions built-in to keep all your hacks in check Tools are not without issues, including compiler Pointer and array semantics are very strict Xc requires some ugliness as a template SRAM is shared for Stack, Code, and Data I/O only 1.0V - 3.3V compatible Physical board layout not straight forward, timing requirements for I/O and core voltages, PLL noise

Thread() { While (1) { Select { Case my_func() -> int ret_val: { //Some Code }

Main() { Iface1 myIface1; Iface2 myIface2[2]; Par { thread1(myIface1, myIface2); thread2(myIface1, myIface2[0]); thread3(myIface2[1]); }

USB XTAG The board Reset 24MHz MEMS LED 1.0V / 3.3V

New reset circuit

Hardware Setup Hardware setup Serial 1.2Mbps I2C I2C I2C PWM PWM

Teensy 3.6 Software Manages bluetooth messaging Manages all data logging Data logged is different between manual and auto Receives structure of data from XMOS during runtime Controls headlights via bluetooth or button

XMOS Software Reads wheel sensors which provide speed and distance Reads data from IMU which provides orientation In manual mode reads PWM values from receiver and sends them to ESC/Steering servo In automatic mode manages ESC/Steering through PID control. Provides car state to Teensy for logging over I2C Manages recording/driving/auto states

PC Software Allows Path viewing and editing Compare driven path to intended path OpenGL based, written in C++ All pathing files must be local, no remote car access Allows taking screenshots for sharing Auto-scale path window for maximum resolution Properly scales for high DPI screens