Homework 9: Software Design Considerations
|
|
- Silvia Hines
- 6 years ago
- Views:
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 II System Level Block Description Nick Gorajski Advisor: Professor Steven Gutschlag Bradley University ECE Department November 7, 2004 Narrative The system
More informationNetwork 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 informationkeyestudio 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 informationIntroduction 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 informationHomework 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 informationpcduino 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 informationLM3S5732 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 informationVLSI 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 informationProduct 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 informationCopyright 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 informationAVR 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 informationUnlocking 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 informationArduCAM 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 informationSmart 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 informationEmbedded 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 informationEE 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 informationInterconnects, 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 informationAvnet 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 informationHello, 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 informationARDUINO 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 informationLinkSprite 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 informationLM3S2D93 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 informationProduct 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 informationUser 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 informationAT-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 informationARDUINO 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 informationAVR 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 informationUSER 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 informationPSIM 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 informationMYD-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 informationGoal: 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 informationProduct 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 informationAVR 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 informationAN-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 informationProduct 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 informationARDUINO 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 informationApplication 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 informationmbed 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 informationProject 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 informationHZX 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 informationUniversitä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 informationUser 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 informationSmart 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 informationFreescale 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 informationApplication 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 informationDesigning 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 informationEDBG. 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 informationDeveloping 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 informationHomework 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 informationThe 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 informationEMBEDDED 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 informationINTRODUCTION 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 informationMSP430 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 informationAn 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 informationCPT-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 informationIntroduction 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 informationIntelop. *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 informationDesign 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
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 informationCoLinkEx_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 informationEMBEDDED 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 informationFAE 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 informationDT7816 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 informationUART 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 informationSPI 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 informationECE251: 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 informationECE 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 informationProject 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 information1.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 informationBLE 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 informationADQ14-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 informationExercise: 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 informationLM3S9D81 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 informationNote 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 informationBoot 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 informationEZ-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 informationTEVATRON 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 informationReMutt 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 information27 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 informationCN310 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 informationAN 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 informationArduino 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 informationInstallation 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 informationSKP16C26 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 informationQuestion 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 informationPRU 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 informationUser 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 informationDEVBOARD3 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 informationHomework 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 informationNS9360. 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 informationNuvoton 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 informationMicrocontroller 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 informationHomework 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 informationBoot 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 informationMicroprocessor 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 informationZigBee 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 informationMICROPROCESSOR 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 informationInfineon 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 informationARM 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 informationNuMicro 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