Homework 9: Software Design Considerations

Size: px
Start display at page:

Download "Homework 9: Software Design Considerations"

Transcription

1 Homework 9: Software Design Considerations Team Code Name: Mind Readers Group No. 2 Team Member Completing This Homework: Richard Schuman Address of Team Member: purdue.edu Evaluation: SEC DESCRIPTION MAX SCORE 1.0 Introduction Software Design Considerations Software Design Narrative Summary List of References 10 App A Flowchart/Pseudo-code for Main Program 10 App B Hierarchical Block Diagram of Code Organization 10 TOTAL 100 Comments:

2 Introduction The Mind Reader is a mobile brain-to-computer interface. The main function of the project is to navigate through an interface overlaid on a live video feed by tracking eye movements via an EOG, and reading concentration levels from an EEG. The main interface program will be running on a Beagleboard-xM computer, which will be obtaining a live stream from a USB webcam, and the receiving the navigation data from a separate microcontroller. The microcontroller will be used mainly to control information flow by interfacing with a multiple off-chip Analog-to-Digital Converters, an Artificial Neural Network on an FPGA, and then packing the data to be sent to the Beagleboard. The ADCs will be converting signals from the two separate EOG sensors placed near the eyes. The EEG signal will be read in through a UART connection found on both the microcontroller and dongle, then passed through an FFT function on the microcontroller. 2.0 Software Design Considerations There are four main devices guiding the total design of the software package. These are the Beagleboard-xM, the DLP FPGA, the DSPIC microcontroller, and the TI ADC. Each of these devices have limitations that need to be considered when developing the software to perform their individual tasks. The Beagleboard uses an ARM Cortex A8 processor that runs around 1 GHz and contains 512 MB of RAM [7]. As a result, the main interface program needs be optimized to take full advantage of what little memory is available. For the live stream video capture, the frames will have to be drawn to the screen at a minimum rate of 30 Hz in one of two ways. The first consideration is using the GtK GUI windows provided by the OpenCV libraries. Unfortunately, this library requires the use of window manager such as the Ubuntu Desktop GUI, which severely cuts back on the amount of RAM and processing time available. The second option currently being researched is drawing the frames directly to the screen from the bare terminal, in order to fully utilize the RAM. The USB 2.0 webcam will be transferring frames at speeds near 35 MB/s, so the frame size needs to be limited to 640x480 in order to achieve the minimum refresh rate. The single board computer will also be obtaining the EOG and EEG data from the microcontroller through an SPI interface. The SPI interface can run at a max speed of 48 MHz and contains a 16-bit shift register [6]. However, the SPI on the microcontroller is limited to a speed of around 1 MHz which will bottleneck the total packet transfer speed [5]. -1-

3 Since 2 bytes of each packet will be sent a time, the way the data is shifted in will need to be considered as well. Currently, the ARM Cortex processor is configured as a little endian addressing mode, where the processor reads data from a low address to a high address [7]. An example of this is if the 16-bit memory location contains the value 03E8, the processor will read it as E803. As a result, extra processing may be necessary to place the bytes in the correct order. The DSPIC microcontroller is the main communication component of the project. In order to communicate with the other devices, the microcontroller will be using 3 SPI modules to communicate with the two external ADC modules and the Beagleboard. It will also utilize a UART connection in order to receive the data off the EEG dongle. Many things needed to be considered when designing the software for microcontroller. For the ADC modules, the SPI on the microcontroller will be communicating with a small SPI module on the ADC. Since the ADC has a 1 MHz transfer limit, the registers must be set to either match or go below this [4]. To accomplish this, the SPI will be running off of an external 7.37 MHz oscillator and the internal register configuration will set the SPRE and PPRE bits to 6 and 2 in order to divide the clock by 8, yielding a 0.92 MHz clocking signal [5]. While the shift register limit is 16-bits for the Beagleboard and 4 bytes for the ADC, the microcontroller contains an 8 word FIFO for each available SPI block, so shift memory won t be an issue [5]. Our The ADC also has an active low DRDY pin which is toggled low when the converted data is ready [4]. The microcontroller will run the SPI using an interrupt based on this pin. When communicating with the Beagleboard, the microcontroller will act as an SPI slave, and simply transfer the shift the data accumulated in the FIFO 16-bits at a time. The Beagleboard will be configured to read the data in the FIFO at a rate slightly faster than its being entered so as not to overflow the FIFO buffer. The micro will also be talking with the EEG via an interrupt based UART connection. In order to effectively talk with it, the UART settings need to be adjusted to a baud rate of , 1 stop bit, no parity, and 8 data bits [3]. Total memory usage is estimated to be 5kb for the program and 2kb for the data out of the 512 KB Flash and 52 KB RAM on the microcontroller [5]. 3.0 Software Design Narrative Upon power up, the microcontroller will immediately set up the on-chip peripheral registers. Two of the SPI modules will be set as masters for the external ADC chips and the clock will be assigned to the ~1 MHz rate. The third SPI will be set as a slave to the Beagleboard with a clock -2-

4 rate of ~1 MHz as well and then the register will be cleared. The UART will be set to the baud rate and bit configuration setup. Afterwards, the micro will send the configuration bits to the ADCs. Following Appendix G chart, the microcontroller will send out the 8-bit instruction code to tell the ADC that it wants to configure it. This will then be followed by a 32-bit write cycle following the same chart to set up the ADC modules with the correct sampling rate and conversion configurations. The ADCs will then be set into a continuous read mode where the data will be placed into the SPI register for the micro to read instead of needing the micro to request it [4]. The next boot step for the micro is to initiate the handshake with the EEG dongle. Following the chart on Appendix C, the microcontroller will send an AutoConnect byte (0xC2) to the dongle and expect a (0xAAAA04D1) back from the set [3]. If a different set of bytes are received as outlined in the chart, the micro will need to send a Disconnect byte (0xC1) and start over [3]. Once the connection has been established, the micro will poll the SPI slave register from the Beagle to see if it is active. If the register is still cleared, then the Beagle is still loading. Once the superfluous handshake data has been shifted in, the micro will enable its interrupt generation and begin its data operations on the EOG and EEG data. While the micro is performing its initialization setup, the Beagle should be loading its kernel. Once the kernel is loaded and ready, it will start the main program automatically. At the start of the program, the Beagle will access and load all of the pre-determined GUI components such as the icons into RAM. Using the OpenCV libraries, it will also establish a connection with the USB camera and prepare the master SPI module on the extension header [1]. Once the initialization is complete, the Beagle will send a 0x01 to the micro to signal that it is on. After delaying a second or two, the Beagle will read off the micro SPI to see if new data has been placed inside. If so, then the connection has been established, otherwise it ll continue to send out the 0x01 until it is ready. At this point and time, the initialization has been planned but not yet written or tested for the micro or Beagle. Once the setup is complete, the micro and the Beagle will be running multiple independent tasks. The micro will mainly be waiting for an interrupt from either the ADCs or the EEG. For the ADC, the interrupt will be triggered when the DRDY signal is set low. Using the chart on Appendix H, the micro will read off the digital EOG values and convert them to a 10-bit output on the GPIO lines to the FPGA. After a yet-to-be-determined delay based on the critical -3-

5 path of the ANN, the micro will then read in the 4 bit GPIO output and create a 16-bit EOG packet to be placed in the Beagle SPI FIFO. The packet will be a 0x01 followed by a 3-bit code determining the eye direction or error code. (See Appendix I for more details). Another interrupt will be generated from the EEG dongle UART. Following the chart on Appendix D, the micro will look for a 0xAAAAAA. If so, it will read in the length and data bytes then run a checksum check on it. If an error occurs, then the packet will be dropped and the process will restart. Otherwise, the data will be parsed according to the chart found on Appendix E. [3] If an error occurs, the packet will be dropped. Afterwards, the gathered data will run through 3 functions in the FFT library to do a Fourier Transform on the data. Once the data is transformed, the data will be compiled into a 16-bit EEG concentration packet and a raw EEG data packet. For the raw EEG packet, the MSB will be set to one and then other 15 bits will be the raw data. For the concentration packet, the first byte will contain a (0x02) signifying it s a Concentration packet and the last 6 bits will be the concentration level off the dongle. Both packets will be shifted into the Beagle SPI FIFO for reading later. On the Beagleboard, once the handshake with the micro is complete, the program will spawn 4 separate threads to perform the needed tasks. The first thread is the live-stream overlay thread. Using the OpenCV library code, a single frame from the webcam will be extracted and placed as the background in the frame buffer [1]. The thread will then obtain a lock on the EEG data values, the concentration levels, and the EOG eye coordinates. It will then use this data to compute the overlay graphics. The raw EEG values will be plotted on a mini graph on the bottom of the screen. The eye coordinates will be used to highlight an application icon from the main menu. The EEG concentration levels will then be used to update the concentration gauge on the selected application. These graphics will then be overlaid on the live frame in the buffer. The lock on the data will then be lifted. The buffer afterwards will be drawn as a single picture to the video glasses. A 17 ms delay will then be implemented to give other threads substantial processing time. The communication thread will read in 16 bits from the SPI register shifted in from the micro. The beagle will then decode the data using the by examining certain bits in the first byte to determine what packet it is and where the desired data is. The thread will then obtain a lock variables associated with the type of packet that it is. Once the data has been updated, the lock will be lifted and another small delay around 1 ms will be implemented to allow other threads to -4-

6 have access to the core. The application thread will activate when an app has been fully selected as determined by the communication thread. The app will then read utilize the necessary data from the EEG and EOG as its respective function needs. Every app will have an option to return to the home screen in which the data will be used to select other applications. For the main program code, only a live stream frame with facial recognition has been fully written and tested. No progress has yet to be made on the apps or the microcontroller. For error detection, the Beagle will send a handshake packet if it reads a 0x00 from the SPI register and display warnings to the user if an error code arrives. There is also the fourth SPI watchdog thread which follows the chart found on Appendix F. The thread will read data from SPI and check to see if it is the same value as the previous one found. If so, a counter will be accumulated until a 3 sec threshold is reached at which point an error will be set prompting a reset of the micro. The microcontroller will handle errors for onboard debugging by placing yetto-be-determined error codes within the proper packets. So far, the only error codes that have been determined are within the EOG packet since EEG data from the UART is dropped during an error. The 3 bit error code for EOG is as follows. If a 101 is read, then no signal was received from the horizontal EOG, a 110 is no signal from the vertical EOG, and a 111 is no signal from either. 4.0 Summary The software for the Mind Reader needs to consider many factors during development. The maximum clock for the ADC and the minimum clock scalars on the microcontroller put a large limit on the SPI speed. The Beagleboard s limited RAM and CPU speed also are a substantial hurdle to overcome. Overall, the code flow is broken down into as simple and independent tasks as possible to fully utilize the core s power and limited space. The microcontroller will gather its data through interrupts while the Beagleboard will read and use the data during pre-defined, optimized intervals. Code for errors and debugging has also been considered and planned in order help speed the final design along to completion. -5-

7 5.0 List of References [1] OpenCV, OpenCV Documentation, October [Online]. Available: [2] NeuroSky, "MindSet Communications Protocol", June 28, [Online]. Available: [3] NeuroSky, "MindWave Dongle Communication Protocol", May 24, [Online]. Available: rnal.pdf [4] Texas Instruments, ADS1210, September [Online] Available: [5] Microchip, DSPIC33EP512MU10, November 2011 [Online] Available: [6] Brian s Life. SPI Bus on the Beagleboard-xM, February 2012 [Online] Available: [7] ARM. ARM Cortex A8, May 2010 [Online] Available: m.pdf -6-

8 Appendix A: Flowchart/Pseudo-code for Main Program -7-

9 Appendix B: Hierarchical Block Diagram of Code Organization -8-

10 Appendix C: EEG Connection Flowchart -9-

11 Appendix D: EEG Data Packet Receive Flowchart -10-

12 Appendix E: Data Packet Parsing Flowchart -11-

13 Appendix F: Beagleboard-Micro Watchdog Flowchart -12-

14 Appendix G: External ADC SPI Write Flowchart -13-

15 Appendix H: External ADC SPI Read Flowchart -14-

16 Appendix I: SPI Data Packet Table Packet/ Bit EOG EOG EOG EOG EEG Raw EEG Concen. 1 Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw Raw EEG Conc EEG Conc EEG Conc EEG Conc EEG Conc EEG Conc EEG Conc Raw 15 bit signed int EEG Conc. 7 bit unsigned int EOG CMD Nothing 001 Go up 010 Go down 011 Go left 100 Go Right 101 Lost hor. signal 110 Lost ver. signal 111 Lost both signal -15-

80C31 Microcontroller Driven Electroluminescent Display II. System Level Block Description

80C31 Microcontroller Driven Electroluminescent Display II. System Level Block Description 80C31 Microcontroller Driven Electroluminescent II System Level Block Description Nick Gorajski Advisor: Professor Steven Gutschlag Bradley University ECE Department November 7, 2004 Narrative The system

More information

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang, Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete

More information

keyestudio Keyestudio MEGA 2560 R3 Board

keyestudio Keyestudio MEGA 2560 R3 Board Keyestudio MEGA 2560 R3 Board Introduction: Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU, fully compatible with ARDUINO MEGA 2560 REV3. It has 54 digital input/output

More information

Introduction to ARM LPC2148 Microcontroller

Introduction to ARM LPC2148 Microcontroller Introduction to ARM LPC2148 Microcontroller Dr.R.Sundaramurthy Department of EIE Pondicherry Engineering College Features of LPC2148 in a Nut Shell CPU = ARM 7 Core Word Length = 32 Bit ROM = 512 KB RAM

More information

Homework 9: Software Design Considerations

Homework 9: Software Design Considerations ECE 477 Digital Systems Senior Design Project Rev 8/09 Homework 9: Software Design Considerations Team Code Name: 2D-MPR Group No. _12_ Team Member Completing This Homework: _Alex Bridge E-mail Address

More information

pcduino V3B XC4350 User Manual

pcduino V3B XC4350 User Manual pcduino V3B XC4350 User Manual 1 User Manual Contents Board Overview...2 System Features...3 Single-Board Computer Configuration......3 Pin Assignments...4 Single-Board Computer Setup...6 Required Hardware...6

More information

LM3S5732 ROM USER S GUIDE ROM-LM3S5732-UG-461. Copyright Texas Instruments Incorporated

LM3S5732 ROM USER S GUIDE ROM-LM3S5732-UG-461. Copyright Texas Instruments Incorporated LM3S5732 ROM USER S GUIDE ROM-LM3S5732-UG-461 Copyright 2008-2011 Texas Instruments Incorporated Copyright Copyright 2008-2011 Texas Instruments Incorporated. All rights reserved. Stellaris and StellarisWare

More information

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab AVR Training Board-I V., Konkuk Univ. Yong Beom Cho ybcho@konkuk.ac.kr What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor

More information

Product Technical Brief S3C2416 May 2008

Product Technical Brief S3C2416 May 2008 Product Technical Brief S3C2416 May 2008 Overview SAMSUNG's S3C2416 is a 32/16-bit RISC cost-effective, low power, high performance micro-processor solution for general applications including the GPS Navigation

More information

Copyright 2016 Xilinx

Copyright 2016 Xilinx Zynq Architecture Zynq Vivado 2015.4 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Identify the basic building

More information

AVR Microcontrollers Architecture

AVR Microcontrollers Architecture ก ก There are two fundamental architectures to access memory 1. Von Neumann Architecture 2. Harvard Architecture 2 1 Harvard Architecture The term originated from the Harvard Mark 1 relay-based computer,

More information

Unlocking the Potential of Your Microcontroller

Unlocking the Potential of Your Microcontroller Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest

More information

ArduCAM CC3200 UNO board

ArduCAM CC3200 UNO board ArduCAM CC3200 UNO board User Guide Rev 1.2, Mar 2017 Table of Contents 1 Introduction... 2 2 Features... 3 3 Pin Definition... 4 4 Getting Started CC3200 with Energia... 5 4.1 Out of the Box Test... 5

More information

Smart Plug Software Design Reference Manual

Smart Plug Software Design Reference Manual NXP Semiconductors Document Number: DRM158 Design Reference Manual Rev. 0, 03/2017 Smart Plug Software Design Reference Manual 1. Introduction This design reference manual describes a solution for a smart

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

EE 354 Fall 2015 Lecture 1 Architecture and Introduction EE 354 Fall 2015 Lecture 1 Architecture and Introduction Note: Much of these notes are taken from the book: The definitive Guide to ARM Cortex M3 and Cortex M4 Processors by Joseph Yiu, third edition,

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

Avnet S6LX16 Evaluation Board and Maxim DAC/ADC FMC Module Reference Design

Avnet S6LX16 Evaluation Board and Maxim DAC/ADC FMC Module Reference Design Avnet S6LX16 Evaluation Board and Maxim DAC/ADC FMC Module Reference Design By Nasser Poureh, Avnet Technical Marketing Manager Mohammad Qazi, Maxim Application Engineer, SP&C Version 1.0 August 2010 1

More information

Hello, and welcome to this presentation of the STM32L4 System Configuration Controller.

Hello, and welcome to this presentation of the STM32L4 System Configuration Controller. Hello, and welcome to this presentation of the STM32L4 System Configuration Controller. 1 Please note that this presentation has been written for STM32L47x/48x devices. The key differences with other devices

More information

ARDUINO YÚN MINI Code: A000108

ARDUINO YÚN MINI Code: A000108 ARDUINO YÚN MINI Code: A000108 The Arduino Yún Mini is a compact version of the Arduino YUN OVERVIEW: Arduino Yún Mini is a breadboard PCB developed with ATmega 32u4 MCU and QCA MIPS 24K SoC CPU operating

More information

LinkSprite Technologies,.Inc. pcduino V2

LinkSprite Technologies,.Inc. pcduino V2 1 2 Contents Board Overview...3 System Features...4 Single-Board Computer Configuration...5 Pin Assignments...7 Single-Board Computer Setup...9 Required Hardware...9 Optional Hardware...9 Adjusting Screen

More information

LM3S2D93 ROM USER S GUIDE ROM-LM3S2D93-UG-461. Copyright Texas Instruments Incorporated

LM3S2D93 ROM USER S GUIDE ROM-LM3S2D93-UG-461. Copyright Texas Instruments Incorporated LM3S2D93 ROM USER S GUIDE ROM-LM3S2D93-UG-461 Copyright 2008-2011 Texas Instruments Incorporated Copyright Copyright 2008-2011 Texas Instruments Incorporated. All rights reserved. Stellaris and StellarisWare

More information

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Overview SAMSUNG's S3C2412 is a Derivative product of S3C2410A. S3C2412 is designed to provide hand-held devices and general applications with cost-effective,

More information

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based

More information

AT-501 Cortex-A5 System On Module Product Brief

AT-501 Cortex-A5 System On Module Product Brief AT-501 Cortex-A5 System On Module Product Brief 1. Scope The following document provides a brief description of the AT-501 System on Module (SOM) its features and ordering options. For more details please

More information

ARDUINO YÚN Code: A000008

ARDUINO YÚN Code: A000008 ARDUINO YÚN Code: A000008 Arduino YÚN is the perfect board to use when designing connected devices and, more in general, Internet of Things projects. It combines the power of Linux with the ease of use

More information

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab AVR Training Board-I V., Konkuk Univ. Tae Pyeong Kim What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small

More information

USER GUIDE EDBG. Description

USER GUIDE EDBG. Description USER GUIDE EDBG Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging support through Atmel

More information

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SPI in F2833x Target February 2013-1 - Powersim Inc. With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that use TI F2833x

More information

MYD-C437X-PRU Development Board

MYD-C437X-PRU Development Board MYD-C437X-PRU Development Board MYC-C437X CPU Module as Controller Board Two 0.8mm pitch 100-pin Connectors for Board-to-Board Connections Up to 1GHz TI AM437x Series ARM Cortex-A9 Processors 512MB DDR3

More information

Goal: We want to build an autonomous vehicle (robot)

Goal: We want to build an autonomous vehicle (robot) Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically

More information

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 S3C2440X is a derivative product of Samsung s S3C24XXX family of microprocessors for mobile communication market. The S3C2440X s main enhancement

More information

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction. AVR XMEGA TM Product Introduction 32-bit AVR UC3 AVR Flash Microcontrollers The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaavr The world s most successful

More information

AN-1025 APPLICATION NOTE

AN-1025 APPLICATION NOTE APPLICATION NOTE One Technology Way PO Box 9106 Norwood, MA 02062-9106, USA Tel: 7813294700 Fax: 7814613113 wwwanalogcom Utilization of the First In, First Out (FIFO) Buffer in Analog Devices, Inc Digital

More information

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006 Product Technical Brief Rev 2.2, Apr. 2006 Overview SAMSUNG's is a Derivative product of S3C2410A. is designed to provide hand-held devices and general applications with cost-effective, low-power, and

More information

ARDUINO MEGA INTRODUCTION

ARDUINO MEGA INTRODUCTION ARDUINO MEGA INTRODUCTION The Arduino MEGA 2560 is designed for projects that require more I/O llines, more sketch memory and more RAM. With 54 digital I/O pins, 16 analog inputs so it is suitable for

More information

Application Note. Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date:

Application Note. Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date: Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date: 2014-08-04 1. Background This document shall describe how a user can create the Graphical User Interface of a high-end digital

More information

mbed Kit User Guide of NQ62x daughter board

mbed Kit User Guide of NQ62x daughter board mbed Kit User Guide of NQ62x daughter board mbed Kit User Guide Sheet 1 of 10 Nov 17, 2016 Index: 1. Introduction... 4 1.1 Minimum Requirements... 4 2. Kit Content... 4 2.1 DELTA DFXE-SM001 mbed kit hardware

More information

Project Final Report Bluetooth Camera Sensor. Project Abstract. Status. Specification

Project Final Report Bluetooth Camera Sensor. Project Abstract. Status. Specification Project Final Report Bluetooth Camera Sensor 04/21/2011 Yichao Yu Project Abstract There are many ways to control a robot. I m thinking why we cannot just use a common portable device as a remote controller

More information

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet HZX-51822-16N03 Bluetooth 4.0 Low Energy Module Datasheet SHEN ZHEN HUAZHIXIN TECHNOLOGY LTD 2017.7 NAME : Bluetooth 4.0 Low Energy Module MODEL NO. : HZX-51822-16N03 VERSION : V1.0 1.Revision History

More information

Universität Dortmund. IO and Peripheral Interfaces

Universität Dortmund. IO and Peripheral Interfaces IO and Peripheral Interfaces Microcontroller System Architecture Each MCU (micro-controller unit) is characterized by: Microprocessor 8,16,32 bit architecture Usually simple in-order microarchitecture,

More information

User Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents

User Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents User Manual LPC-StickView V3.0 for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick Contents 1 What is the LPC-Stick? 2 2 System Components 2 3 Installation 3 4 Updates 3 5 Starting the LPC-Stick View Software

More information

Smart Card Bridge to Full-Speed USB, SPI, and UART Interfaces

Smart Card Bridge to Full-Speed USB, SPI, and UART Interfaces SEC00/SEC200 Bridge to Full-Speed USB, SPI, and UART Interfaces PRODUCT FEATURES Data Brief General Description The SEC00 and SEC200 provide a single-chip solution for a bridge to USB, SPI, and UART interfaces.

More information

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their S08 Highlighted Features Why Do I Need a Slave LIN Interface Controller (SLIC)? Design Challenges Slave synchronization Slave synchronizing to LIN messaging requires a cost versus resource trade-off. Your

More information

Application Note: AN00144 xcore-xa - xcore ARM Boot Library

Application Note: AN00144 xcore-xa - xcore ARM Boot Library Application Note: AN00144 xcore-xa - xcore ARM Boot Library This application note shows how to create a simple application which targets the XMOS xcore-xa device and demonstrates how to build and run this

More information

Designing with ALTERA SoC Hardware

Designing with ALTERA SoC Hardware Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory

More information

EDBG. Description. Programmers and Debuggers USER GUIDE

EDBG. Description. Programmers and Debuggers USER GUIDE Programmers and Debuggers EDBG USER GUIDE Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging

More information

Developing Reusable Device Drivers for MCU's

Developing Reusable Device Drivers for MCU's Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog

More information

Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, October 3, at NOON

Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, October 3, at NOON Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, October 3, at NOON Team Code Name: ECE Grande Group No. 3 Team Member Completing This Homework: Ashley Callaway e-mail Address

More information

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite. EMBEDDED ARM TRAINING SUITE ARM SUITE INCLUDES ARM 7 TRAINER KIT COMPILER AND DEBUGGER THROUGH JTAG INTERFACE PROJECT DEVELOPMENT SOLUTION FOR ARM 7 e-linux LAB FOR ARM 9 TRAINING PROGRAM INTRODUCTION

More information

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015 EMBEDDED SYSTEMS: INTRODUCTION TO THE MSP432 MICROCONTROLLER Volume 1 First Edition June 2015 Jonathan W. Valvano ii Jonathan Valvano First edition 3 rd printing June 2015 The true engineering experience

More information

INTRODUCTION TO FLEXIO

INTRODUCTION TO FLEXIO INTRODUCTION TO FLEXIO Osvaldo Romero Applications Engineer EXTERNAL USE Agenda Introduction to FlexIO FlexIO Main Features FlexIO Applications Freescale Products with FlexIO Collaterals\Tools for FlexIO

More information

MSP430 Microcontroller Basics

MSP430 Microcontroller Basics MSP430 Microcontroller Basics John H. Davies AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of Elsevier N WPIGS Contents Preface

More information

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus Application Note An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus AN012703-0608 Abstract This Application Note provides an overview of Zilog s Z8 Encore! Serial Peripheral Interface (SPI)

More information

CPT-DA Texas Instruments TMS320F28377D controlcard compatible. DA Series Interface Card. Technical Brief

CPT-DA Texas Instruments TMS320F28377D controlcard compatible. DA Series Interface Card. Technical Brief CPT-DA28377 Texas Instruments TMS320F28377D controlcard compatible DA Series Interface Card Technical Brief May 2015 Manual Release 1 Card Version 1.0 Copyright 2015 Creative Power Technologies P/L P.O.

More information

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform. Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform www.sierraradio.net www.hamstack.com Topics Introduction Hardware options Software development HamStack project

More information

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info. A FPGA based development platform as part of an EDK is available to target intelop provided IPs or other standard IPs. The platform with Virtex-4 FX12 Evaluation Kit provides a complete hardware environment

More information

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Microcontroller It is essentially a small computer on a chip Like any computer, it has memory,

More information

参考資料. LinkSprite.com. pcduino V2

参考資料. LinkSprite.com. pcduino V2 pcduino V2 1 Contents Board Overview...3 System Features...4 Single-Board Computer Configuration......5 Pin Assignments...7 Single-Board Computer Setup......9 Required Hardware......9 Optional Hardware......9

More information

CoLinkEx_LPC11C14 EVB Kit User Guide

CoLinkEx_LPC11C14 EVB Kit User Guide CoLinkEx_LPC11C14 EVB Kit User Guide Rev. 1.0 Release: 2012-05-07 Website: http://www.coocox.org Forum: http://www.coocox.org/forum/forum.php?id=1 Techinal: master@coocox.com Market: market@coocox.com

More information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications

More information

FAE Summit Interfacing the ADS8361 to the MSP430F449 Low Power Micro Controller

FAE Summit Interfacing the ADS8361 to the MSP430F449 Low Power Micro Controller FAE Summit February 2004 FAE Summit 2004 - Interfacing the ADS8361 to the MSP430F449 Low Power Micro Controller Tom Hendrick High Performance Analog - Data Acquisition Products Group LAB OBJECTIVES This

More information

DT7816 Linux Data Acquisition Real-Time High Performance ARM Module for Embedded Applications

DT7816 Linux Data Acquisition Real-Time High Performance ARM Module for Embedded Applications DT7816 Linux Data Acquisition Real-Time High Performance ARM Module for Embedded Applications The DT7816 is a high performance, System on Module (SOM) for data acquisition, featuring an embedded Cortex-A8

More information

UART TO SPI SPECIFICATION

UART TO SPI SPECIFICATION UART TO SPI SPECIFICATION Author: Dinesh Annayya dinesha@opencores.org Table of Contents Preface... 3 Scope... 3 Revision History... 3 Abbreviations... 3 Introduction... 3 Architecture... 4 Baud-rate generator

More information

SPI Universal Serial Communication Interface SPI Mode

SPI Universal Serial Communication Interface SPI Mode SPI Universal Serial Communication Interface SPI Mode Serial Peripheral Interface (SPI) is not really a protocol, but more of a general idea. It s the bare-minimum way to transfer a lot of data between

More information

ECE251: Thursday November 8

ECE251: Thursday November 8 ECE251: Thursday November 8 Universal Asynchronous Receiver & Transmitter Text Chapter 22, Sections 22.1.1-22.1.4-read carefully TM4C Data Sheet Section 14-no need to read this A key topic but not a lab

More information

ECE 598 Advanced Operating Systems Lecture 4

ECE 598 Advanced Operating Systems Lecture 4 ECE 598 Advanced Operating Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 January 2016 Announcements HW#1 was due HW#2 was posted, will be tricky Let me know

More information

Project Title: Design and Implementation of IPTV System Project Supervisor: Dr. Khaled Fouad Elsayed

Project Title: Design and Implementation of IPTV System Project Supervisor: Dr. Khaled Fouad Elsayed Project Title: Design and Implementation of IPTV System Project Supervisor: Dr. Khaled Fouad Elsayed What's IPTV? In brief IPTV is a method of distributing television content over IP that enables a more

More information

1.0 The System Architecture and Design Features

1.0 The System Architecture and Design Features 1.0 The System Architecture and Design Features Figure 1. System Architecture The overall guiding design philosophy behind the Data Capture and Logging System Architecture is to have a clean design that

More information

BLE MODULE SPECIFICATIONS

BLE MODULE SPECIFICATIONS WIRELESS-TAG BLE MODULE SPECIFICATIONS nrf51-01/02/dk Bluetooth Low Energy (BLE) module of nrf51-01/02 is the next generation BLE module released by SEMITRION electronics. The modules use nrf51822 from

More information

ADQ14-FWATD. User Guide. Author(s): SP Devices Document no.: Classification: Public Revision: PA7 Date:

ADQ14-FWATD. User Guide. Author(s): SP Devices Document no.: Classification: Public Revision: PA7 Date: ADQ14-FWATD User Guide Author(s: SP Devices Document no.: 16-1849 Classification: Revision: Date: 2018-03-02 Contents 1 Introduction 3 1.1 Definitions & Abbreviations...................................

More information

Exercise: PWM Generation using the N2HET

Exercise: PWM Generation using the N2HET Exercise: PWM Generation using the N2HET 1 Overview In this exercise we will: Create a new HALCoGen Project Configure HALCoGen to generate A basic PWM with a period of 1 second and a duty cycle of 75%

More information

LM3S9D81 ROM USER S GUIDE ROM-LM3S9D81-UG-461. Copyright Texas Instruments Incorporated

LM3S9D81 ROM USER S GUIDE ROM-LM3S9D81-UG-461. Copyright Texas Instruments Incorporated LM3S9D81 ROM USER S GUIDE ROM-LM3S9D81-UG-461 Copyright 2008-2011 Texas Instruments Incorporated Copyright Copyright 2008-2011 Texas Instruments Incorporated. All rights reserved. Stellaris and StellarisWare

More information

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission.

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission. INTRODUCTION This manual will guide you through the first steps of getting the SE-8051ICD running with the Crossware 8051 Development Suite and the Atmel Flexible In-System Programming system (FLIP). The

More information

Boot Loader for the Z51F6412 MCU

Boot Loader for the Z51F6412 MCU Boot Loader for the Z51F6412 MCU AN037701-0215 Abstract This application note discusses how to create a boot loader program for the Z51F6412 microcontroller, a member of Zilog s Z8051 Family of Microcontrollers.

More information

EZ-Bv4 Datasheet v0.7

EZ-Bv4 Datasheet v0.7 EZ-Bv4 Datasheet v0.7 Table of Contents Introduction... 2 Electrical Characteristics... 3 Regulated and Unregulated Power Pins... 4 Low Battery Warning... 4 Hardware Features Main CPU... 5 Fuse Protection...

More information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software! Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer

More information

ReMutt Control. Critical Design Review

ReMutt Control. Critical Design Review ReMutt Control Critical Design Review The Team Team Leader: Steven Guan Team Members: Eric Brunnett, Daniel Kwak, Joon Hee Lee, Alex Chepilev What is the ReMutt Control? Remote pet feeding system operated

More information

27 March 2018 Mikael Arguedas and Morgan Quigley

27 March 2018 Mikael Arguedas and Morgan Quigley 27 March 2018 Mikael Arguedas and Morgan Quigley Separate devices: (prototypes 0-3) Unified camera: (prototypes 4-5) Unified system: (prototypes 6+) USB3 USB Host USB3 USB2 USB3 USB Host PCIe root

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

AN HI-3200 Avionics Data Management Engine Evaluation Board Software Guide

AN HI-3200 Avionics Data Management Engine Evaluation Board Software Guide August 12, 2011 AN - 166 HI-3200 Avionics Data Management Engine Evaluation Board Software Guide Introduction This application note provides more detail on the HI-3200 demo software provided in the Holt

More information

Arduino Uno R3 INTRODUCTION

Arduino Uno R3 INTRODUCTION Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running

More information

Installation and operation manual ReciFlow Gas

Installation and operation manual ReciFlow Gas Installation and operation manual ReciFlow Gas 1 1. Measurement principle... 3 2. Installation... 5 3. Operation... 7 4. Electrical interfaces... 11 5. Communication protocol... 14 6. Software update and

More information

SKP16C26 Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

SKP16C26 Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc. SKP16C26 Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance

More information

Question Bank Microprocessor and Microcontroller

Question Bank Microprocessor and Microcontroller QUESTION BANK - 2 PART A 1. What is cycle stealing? (K1-CO3) During any given bus cycle, one of the system components connected to the system bus is given control of the bus. This component is said to

More information

PRU Hardware Overview. Building Blocks for PRU Development: Module 1

PRU Hardware Overview. Building Blocks for PRU Development: Module 1 PRU Hardware Overview Building Blocks for PRU Development: Module 1 Agenda SoC Architecture PRU Submodules Example Applications 2 SoC Architecture Building Blocks for PRU Development: PRU Hardware Overview

More information

User Manual. LPC-StickView V1.1. for LPC-Stick. Contents

User Manual. LPC-StickView V1.1. for LPC-Stick. Contents User Manual LPC-StickView V1.1 for LPC-Stick Contents 1 What is LPC-Stick? 2 2 System Components 2 3 Installation 2 4 Updates 3 5 Starting the LPC-Stick View Software 4 6 Operating the LPC-Stick 6 7 Start

More information

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP DEVBOARD3 DATASHEET 10Mbits Ethernet & SD card PIC18F67J60 MICROCHIP Version 1.0 - March 2009 DEVBOARD3 Version 1.0 March 2009 Page 1 of 7 The DEVBOARD3 is a proto-typing board used to quickly and easily

More information

Homework 3: Design Constraint Analysis and Component Selection Rationale

Homework 3: Design Constraint Analysis and Component Selection Rationale Homework 3: Design Constraint Analysis and Component Selection Rationale Team Code Name: 2D-MPR Group No. 12 Team Member Completing This Homework: James Phillips E-mail Address of Team Member: jephilli@

More information

NS9360. Errata _F. Release date: March 2008

NS9360. Errata _F. Release date: March 2008 NS9360 Unused USB module can cause failures SPI boot fails intermittently - updated SPI slave data output high impedance control UART gap timer UART CTS-related transmit data errors Ethernet receive data

More information

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual 4T 8051 8-bit Microcontroller Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual The information described in this document is the exclusive intellectual property of Nuvoton Technology

More information

Microcontroller basics

Microcontroller basics FYS3240 PC-based instrumentation and microcontrollers Microcontroller basics Spring 2017 Lecture #4 Bekkeng, 30.01.2017 Lab: AVR Studio Microcontrollers can be programmed using Assembly or C language In

More information

Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, February 15, at NOON

Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, February 15, at NOON Homework 5: Theory of Operation and Hardware Design Narrative Due: Friday, February 15, at NOON Team Code Name: _Agatha Group No. _4 Team Member Completing This Homework: _Eric Yee e-mail Address of Team

More information

Boot ROM Design Specification

Boot ROM Design Specification MediaTek Design Specification Documents Number: Revision: 2.00 Release Date: June, 16, 2006 Revision History Revision Date Author Comments 1.01 06/27/2002 Jensen Hu Draft version 1.02 07/23/2002 Jensen

More information

Microprocessor Systems

Microprocessor Systems Microprocessor Systems Networks and Embedded Software Module 4.1.1 by Wolfgang Neff Components (1) Microprocessor System Microprocessor (CPU) Memory Peripherals Control Bus Address Bus Data Bus 2 Components(2)

More information

ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE Standard. DATA SHEET Version B

ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE Standard. DATA SHEET Version B ZMD400-A01 ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE 802.15.4 Standard DATA SHEET Version B Quan International Co., Ltd., ZMD400 Features Fully compliant 802.15.4 Standard

More information

MICROPROCESSOR BASED SYSTEM DESIGN

MICROPROCESSOR BASED SYSTEM DESIGN MICROPROCESSOR BASED SYSTEM DESIGN Lecture 5 Xmega 128 B1: Architecture MUHAMMAD AMIR YOUSAF VON NEUMAN ARCHITECTURE CPU Memory Execution unit ALU Registers Both data and instructions at the same system

More information

Infineon C167CR microcontroller, 256 kb external. RAM and 256 kb external (Flash) EEPROM. - Small single-board computer (SBC) with an

Infineon C167CR microcontroller, 256 kb external. RAM and 256 kb external (Flash) EEPROM. - Small single-board computer (SBC) with an Microcontroller Basics MP2-1 week lecture topics 2 Microcontroller basics - Clock generation, PLL - Address space, addressing modes - Central Processing Unit (CPU) - General Purpose Input/Output (GPIO)

More information

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management ARM Powered SoCs OpenEmbedded: a framework for toolchain generation and rootfs management jacopo @ Admstaff Reloaded 12-2010 An overview on commercial ARM-Powered SOCs Many low-cost ARM powered devices

More information

NuMicro Mini51 DE Series Product Brief

NuMicro Mini51 DE Series Product Brief ARM Cortex -M0 32-BIT MICROCONTROLLER NuMicro Mini51 DE Series Product Brief The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall

More information