TigerSHARC processor and evaluation board Different capabilities Different functionality.

Slides:



Advertisements
Similar presentations
Internet of Things with Intel Edison GPIO on Edison
Advertisements

What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
Embedded DSP Spectrum Analyzer May 0104 April 25, 2001 Teradyne Corp Julie Dickerson Bill Black Prihamdhani AmranEE Ryan ButlerCprE Aaron DelaneyEE Nicky.
MotoHawk Training Model-Based Design of Embedded Systems.
TigerSHARC processor and evaluation board Different capabilities Different functionality.
1 FIT for Embedded System Test Development PRESENTER : Jingwen Chen.
6/2/2015 Concept of Test Driven Development applied to Embedded Systems M. Smith University of Calgary, Canada 1 Automated Testing Environment Concepts.
Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
TigerSHARC Laboratory Setting up the HPP-ICE environment ICT 318 / 320 Running versions of the Audio-talk-through program.
A look at interrupts What are interrupts and why are they needed in an embedded system? Equally as important – how are these ideas handled on the Blackfin.
Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
Electrical and Computer Engineering iLights Nick Wittemen, EE Chris Merola, EE José Figueroa, EE Matt Ryder, EE Comprehensive Design Review.
TigerSHARC CLU Closer look at the XCORRS M. Smith, University of Calgary, Canada
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
Getting the O in I/O to work on a typical microcontroller Ideas of how to send output signals to the radio controlled car. The theory behind the LED controller.
Laboratory 1 – ENCM415 Familiarization with the Analog Devices’ VisualDSP++ Integrated Development Environment.
Microcontrollers Lecture L12.2 Section Microcontrollers Microcontrollers vs. Microprocessors Two standard architectures PIC microcontroller 68HC12.
Getting the O in I/O to work on a typical microcontroller Activating a FLASH memory “output line” Part 1 Main part of Laboratory 1 Also needed for “voice.
Just enough information to program a Blackfin Familiarization assignment for the Analog Devices’ VisualDSP++ Integrated Development Environment.
Background Telemetry Channel (BTC) on the BlackFin Presented by Alan Martin Winter ENCM 515.
7/14/20151 Introduction toVisual DSP Kernel VDK for Multi-threaded environment ENCM491 – Real Time (in 1 hour) M. Smith, Electrical and Computer Engineering,
ASPPRATECH.
TigerSHARC processor and evaluation board Different capabilities Different functionality.
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
Optical Heart Monitor/Jump Drive Sponsor: Calit2 Mentor: Paul Blair Ph.D. Team: Matt Chandrangsu, Jeffrey Chi, Kari Nip ECE 191 – Group 6 Fall 2008.
1 © Unitec New Zealand Embedded Hardware ETEC 6416 Date: - 10 Aug,2011.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Peripherals and their Control An overview of industrially available “peripheral devices” that use “pulse-width modulation” for information passing. Review.
Ultra sound solution Impact of C++ DSP optimization techniques.
Modems Chapter 17. Basic Knowledge  Modems are little devices to use the telephone to talk to other computers.  Modem is an abbreviation for Modulator/
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Averaging Filter Comparing performance of C++ and ‘our’ ASM Example of program development on SHARC using C++ and assembly Planned for Tuesday 7 rd October.
TigerSHARC Laboratory Setting up the HPP-ICE environment ICT 318 / 320 Running versions of the Audio-talk-through program.
Lab. 4 Demonstrating and understanding multi-processor boot TigerSHARC multi-processor system.
Ultra sound solution Profiles and other optimizations.
Blackfin Array Handling Part 1 Making an array of Zeros void MakeZeroASM(int foo[ ], int N);
Over-view of Lab. 1 See the Lab. 1 web-site and the lecture notes for more details.
Multi-threaded projects Services and Drivers Alternate ways of doing Labs 1, 2, 3 and 4.
12/14/2015 Concept of Test Driven Development applied to Embedded Systems M. Smith University of Calgary, Canada 1 Automated Testing Environment Concepts.
ECE 3551 MICROCOMPUTER SYSTEMS 1 Introduction to Visual DSP++
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
By Noordiana Kasim. MODERN I/O DEVICES 1. PRINTER 2. MONITOR 3. KEYBOARD 4. AUDIO SPEAKER 5. DVD DRIVE.
A first attempt at learning about optimizing the TigerSHARC code TigerSHARC assembly syntax.
Lab. 1 – GPIO Pin control Using information ENEL353 and ENCM369 text books combined with Blackfin DATA manual.
Sub- Nyquist Sampling System Hardware Implementation System Architecture Group – Shai & Yaron Data Transfer, System Integration and Debug Environment Part.
Over-view of Lab. 1 See the Lab. 1 web-site and latter lecture notes for more details.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
Microcontroller Applications
PC Mouse operated Electrical Load Control Using VB Application
Introduction to Test Driven Development
Automated Testing Environment
Developing a multi-thread product -- Introduction
Overview of SHARC processor ADSP Program Flow and other stuff
TigerSHARC processor and evaluation board
CSCI1600: Embedded and Real Time Software
VisualDSP++ and Test Driven Development What happened last lecture?
Single Value Processing Multi-Threaded Process
See the Lab. 1 web-site and later lecture notes for more details
Getting serious about “going fast” on the TigerSHARC
Concept of TDD Test Driven Development
Explaining issues with DCremoval( )
CSCI1600: Embedded and Real Time Software
A first attempt at learning about optimizing the TigerSHARC code
Building tests and code for a “software radio”
Presentation transcript:

TigerSHARC processor and evaluation board Different capabilities Different functionality

2 / 26 Concepts tackled Differences between “processor” and “evaluation board” Functionality present on TigerSHARC evaluation board TigerSHARC is NOT a microcontroller.  A/D and D/A added simply to give evaluation board “something to process” The “project” for the term.  Learn about TigerSHARC processor architecture  Learn basics of how assembly code and architecture interact  Set up a project (mainly in) in “C++” to capture a signal  Do some signal processing in “C++”  Work through optimizing “one” subroutine into assembly code using more and more parallel processor features

3 / 26 TS201S Evaluation board contains 2 processors P0 (DSPA) and P1 (DSPB) TWO TS201S processors Error messages when linking about P0 and P1 mean problems with code on specific processor

4 / 26 Evaluation board – Link Ports Designed for “star” Configuration – Up to 8 processors working together P0 to P7 (selectable by switches on back of evaluation board (Never tried – Don’t destroy link ports)

5 / 26 JTAG debug ONLY AVALIABLE IN 3 rd floor labs ICT318 TigerSHARC (some stations). ICT320 Blackfin (some stations). Some boards available for home use of USB connector. Lower speed communication rates than JTAG (factor of ). Discuss deposit issues for home loan. Audio connectors. Max input voltage around 1 V p-p with no DC. Too great a voltage destroys the board Use MPEG or other players Keep Volume down Damage and distortion issues

6 / 26 Buttons and LEDs split between processors Much “stuff” on the board shared between processors (but NOT all) Will be using IRQ lines IRQ0 –button switch on panel IRQ1 – digital signal from light sensor Demonstrate “SIMPLE” dual processing

7 / 26 Evaluation Board Architecture P0 P1

8 / 26 Two processor operations in ENCM515 Lab. 1, 2 and 3  During TESTS only 1 processor will be used as we check the functionality of various functions written in C++ (Lab. 1), partially optimized assembly code (Lab. 2), highly optimized but not ultimate optimization of assembly code (Lab. 3). Other processor is halted  WARNING: Make sure that you “run” the processor that you loaded the code into – my favourite “defect”  When running the code, one processor is “idle” Lab. 4  Plans to have the work load split between two processors.  CONCEPTS only (to say we can do it). Essentially processor 1 takes data, processor processes it – same code as other Labs.

9 / 26 Processors can share EXTERNAL memory Memory allocation depends on ID # Processors can access each other’s INTERNAL memory and registers

10 / 26 Note – labeled processor A and B rather than processor 0 and 1

11 / 26 Note – labeled processor A and B rather than processor 0 and 1 Will be using IRQ lines IRQ0 –button switch on panel IRQ1 – digital signal from light sensor Demonstrate “SIMPLE” dual processing

12 / 26 How to use the evaluation board capability Read a lot in the hardware manual Modify some of the example programs provided in C:\Program Files\Analog Devices\VisualDSP 4.5\TS\Examples\ADSP-TS201 EZ-Kit Lite and then read a lot in the hardware manual

CONCEPT OF ENCM515 LABS Signal processing demonstrated through the development of algorithms for an improved doctors “stethoscope” and associated equipment. Demonstration rather than commercial exploitation of TigerSHARC’s highly parallel processing capability.  Basically looking for something reasonably easy, but non-trivial, to hang the lectures and laboratories on. 13 / 26

TSL230R-Based Pulse Oximeter A small section of plastic electrical conduit houses both the TSL230R sensor and the red and IR LEDs. The TSL230R registers the amount of light passing through the inside diameter of the conduit, which, in this case, is through a patient’s finger. Adapted from print/1204/Bachiochi173/4.htm 14 / 26

What to we expect to see? As blood flows through the circulatory system, it changes density because of the heart’s pumping pressure. This change also changes the absorption rate of light, effectively modulating the light absorption. The total light absorption is a combination of modulated and constant absorption, which is similar to a small AC noise riding atop a DC voltage. Adapted from print/1204/Bachiochi173/4.htmwww.circuitcellar.com/library/ 15 / 26

How we far will go in the laboratory is your choice Study the absorption relationship of oxygen levels in the blood for the red and IR wavelengths. Notice how the oxygen level affects the absorption rate at the red wavelength while it remains almost constant at IR wavelengths. Adapted from print/1204/Bachiochi173/4.htm 16 / 26

Details from Circuit Cellar Article The TSL230R’s frequency output displayed on my oscilloscope shows a slow frequency jitter marked by the vertical cursors. The output frequency shifts with the varying amount of light absorption because of the blood pulsing within the light’s path. Adapted from print/1204/Bachiochi173/5.htm 17 / 26

Period of light sensor from article – can we do better? This Excel chart displays imported sample values over time. Samples of the output frequency (30 samples per second formatted in microseconds) were sent out the serial port and captured to a file by HyperTerminal. Adapted from print/1204/Bachiochi173/7.htm 18 / 26

Labs. Check article for how “determine heart rate” was handled in original article. Can we pick out a more accurate heart beat / signal using a DSP convolution / correlation approach?  These are numerical methods involving much memory use, adds and multiplications. Typical DSP stuff.  Straight forward optimization show TigerSHARC capability 19 / 26

20 / 26 ECE-ADI-Project Was asked to develop (as part of Analog Devices University Ambassadorship) to develop demonstration programs and place on the web Have now developed  SHARC – ADSP (Previous 515) Audio project utilities  Blackfin – ADSP-BF533 (Current ENCM415, ENCM511 in 2008) Audio project utilities, Video Project utilities  Blackfin – ADSP-BF533 (Current ENCM491 – Nygren) Real time operating systems  TigerSHARC – ADSP-TS201 (Current ENCM515, ENCM619.23)  Embedded Test Driven Development Environment (E-TDD) Blackfin, TigerSHARC, SHARC, Microsoft studio Find at ECE-ADI-Project/Index/index.htm

21 / 26 Laboratory 1 – Written in C++ Review of interrupts Set up light sensor to come in on TigerSHARC FLAG? Line.  Use internal timer to read values – WAIT TILL READY approach to check when light output sensor changes. Set up light sensor to come in on TigerSHARC IRQ? Line  Read internal timer each time interrupt occurs, Interrupt approach to check when light output sensor changes. Timing data stored in an array – convert to frequency – light intensity Develop correlation algorithm -- 6 lines of code in C++  Done in time domain Use highly custom TigerSHARC FFT algorithm to do correlation  Done in frequency domain  Understand how FFT uses TigerSHARC architecture “later in the course” Use results to find heart beat – output information.

22 / 31 Standard development method Waterfall method Heavy on documentation, light on testing TLD -- IDAA Test Last Development (if done at all)

23 / 26 TESTS EXPRESS DESIGN INTENT TDD approach to develop C++ code CUSTOMER DEVELOPER Work with customer to check that the TESTS PROPERLY EXPRESS WHAT CUSTOME WANTS DONE Iterative process with customer “heavily involved” – “Agile” methodology.

Some embedded stuff on test driven development in the literature Examine in more detail as part of “individual” presentation? 24 / 26

25 / 26 Rule #1 of assembly code programming Don’t use assembly code programming What speed improvements occur when you turn on the “C++ optimizer” – use Embedded Unit “Timing features”? Later, NOT IN THIS LAB, we will look at the code in detail to understand how the compiler is taking advantage of TigerSHARC processor to get code optimization.  For now we will “look” at that code and say “oh my!” Speed improvements when we use the “C++” optimizer

26 / 26 Concepts tackled Differences between “processor” and “evaluation board” Functionality present on TigerSHARC evaluation board Software development process  Waterfall versus “Agile” lifecycle Concepts behind Lab. 1  Simply a simply C++ framework to “get some (non- trivial) data” for the TigerSHARC to process