Thermal arm-wrestling. Customer game plan. Problem to be solved Customer game concept

Similar documents
Lecture (04) Arduino Microcontroller Programming and interfacing. By: Dr. Ahmed ElShafee

Introduction to Embedded Microcomputer Systems Lecture Discrete digital signal. Continuous analog signal

BASIC LINEAR DESIGN. Hank Zumbahlen Editor Analog Devices, Inc. All Rights Reserved

Introduction. ECE 153B Sensor & Peripheral Interface Design Winter 2016

Features. = +25 C, Vdd = +7V, Idd = 820 ma [1]

Power Supply and Watchdog Timer Monitoring Circuit ADM9690

6 GHz to 26 GHz, GaAs MMIC Fundamental Mixer HMC773A

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time

AL330B-DMB-A0 Digital LCD Display SOC Demo Board

DisplayPort to VGA Converter

GaAs, MMIC Fundamental Mixer, 2.5 GHz to 7.0 GHz HMC557A

10 GHz to 26 GHz, GaAs, MMIC, Double Balanced Mixer HMC260ALC3B

Data Conversion and Lab (17.368) Fall Lecture Outline

82C55A CHMOS PROGRAMMABLE PERIPHERAL INTERFACE

STA2051E VESPUCCI 32-BIT SINGLE CHIP BASEBAND CONTROLLER FOR GPS AND TELEMATIC APPLICATIONS 1 FEATURES. Figure 1. Packages

Features. = +25 C, Vs = 5V, Vpd = 5V

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

Features. Parameter Min. Typ. Max. Min. Typ. Max. Units

Features. Parameter Min. Typ. Max. Units

HMC613LC4B POWER DETECTORS - SMT. SUCCESSIVE DETECTION LOG VIDEO AMPLIFIER (SDLVA), GHz

8-BIT MCU WITH SINGLE VOLTAGE FLASH MEMORY, DATA EEPROM, ADC, TIMERS, SPI

1.5 GHz to 4.5 GHz, GaAs, MMIC, Double Balanced Mixer HMC213BMS8E

MIXED-SIGNAL AND DSP DESIGN TECHNIQUES

Features. Parameter Min. Typ. Max. Units

CVSB/ S-video/ HDMI to HDMI Scaler with 720p and 1080p Switching.

INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-12: Signal Function

PRACTICAL DESIGN TECHNIQUES FOR SENSOR SIGNAL CONDITIONING

Everything old is new again Building a Theremin using time-triggered design techniques Mike Smith and Lizie Dunling-Smith Version 14th January 2009

4, 8, 16 Port VGA/ Audio Extender / Splitter With Local Output with SPDIF Model #: VGA-C5SP-8

TOSHIBA CCD LINEAR IMAGE SENSOR CCD(Charge Coupled Device) TCD132D

TA0311 TECHNICAL ARTICLE High Temperature Electronics 1 Introduction 2 Why the need for high-temperature semiconductors?

DATASHEET ISL Features. Applications. Ordering Information. Typical Application Circuit. MMIC Silicon Bipolar Broadband Amplifier

Measure the value of water flow using water flow sensor and DC water pump 12 V interfacing with Arduino uno

Digital (5hz to 500 Khz) Frequency-Meter

VGA / Audio Extender Single CAT5 / CAT6 with RGB Delay Control & EQ

HCF4054B 4 SEGMENT LIQUID CRYSTAL DISPLAY DRIVER WITH STROBED LATCH FUNCTION

Explorer Edition FUZZY LOGIC DEVELOPMENT TOOL FOR ST6

Obsolete Product(s) - Obsolete Product(s)

4, 8, 16 Port VGA and Audio Extender / Splitter with Audio over Single CAT5

(12) Patent Application Publication (10) Pub. No.: US 2004/ A1. Kusumoto (43) Pub. Date: Oct. 7, 2004

a Engineer To Engineer Note EE-156

ST10F273M Errata sheet

Internet of Things at Bohunt School (Wokingham) Plant moisture sensing system

Part 2 -- A digital thermometer or talk I2C to your atmel microcontroller

HMC412BMS8GE MIXER - SINGLE & DOUBLE BALANCED - SMT. Typical Applications. Features. Functional Diagram. General Description

LCD Triplex Drive with COP820CJ

VGA to DVI Extender over Fiber SET

RF4432 wireless transceiver module

EMIF QCF 4 LINE LOW CAPACITANCE EMI FILTER AND ESD PROTECTION IPAD

DATASHEET ISL Features. Ordering Information. Applications. Typical Application Circuit. MMIC Silicon Bipolar Broadband Amplifier

RF4432F27 wireless transceiver module

VGA & Audio Receiver SET over Single CAT5 with RGB Delay Control

RST RST WATCHDOG TIMER N.C.

VGA & RS232 Extender SET over Single CAT5 with RGB Delay Control

C-MAX. CMM-9301-V3.1S Bluetooth 4.0 Single Mode HCI Module. Description. 1.1 Features

1x4, 1x8, 1x12, 1x16 VGA Extender / Splitter over Single CAT5

3G/HD/SD-SDI to HDMI Converter

The Admiral Type 4 family of safety light curtains is the ideal solution for the protection of the majority of high-risk industrial applications.

Maintenance/ Discontinued

STEVAL-ISA001V1. 6W Dual Output Supply using VIPer12A. Features. Blue angel. Applications

Analog-to-Digital Converter

VGA, Audio & RS232 Extender SET over Single CAT5 with RGB Delay Control & IR Pass Through

Contents on Demand Architecture and Technologies of Lui

TMS320C6000: Board Design for JTAG

EVALUATION AND HUMOROUS SPEECH CONTESTS BRIEFINGS

Tutorial Introduction

Microcontrollers. Outline. Class 4: Timer/Counters. March 28, Timer/Counter Introduction. Timers as a Timebase.

Features. = +25 C, IF = 0.5 GHz, LO = +15 dbm* Parameter Min. Typ. Max. Min. Typ. Max. Units

Maintenance/ Discontinued

TEA6425 VIDEO CELLULAR MATRIX

Analog/digital watch Multi frequency reception, 4 digit LCD, 3 hands. Preliminary Specification

Evaluation Board For ADF Integrated VCO & Frequency Synthesizer

BLDC DRIVE USING AN OPTICAL ENCODER

International Islamic University Chittagong (IIUC) Department of Electrical and Electronic Engineering (EEE)

ECE 4510/5530 Microcontroller Applications Week 3 Lab 3

Analog to Digital Conversion

Modular DAA with 2/4 Wire Convertor. XE0002D Block Diagram

Capstone Experiment Setups & Procedures PHYS 1111L/2211L

The following document contains information on Cypress products.

Obsolete Product(s) - Obsolete Product(s)

This module senses temperature and humidity. Output: Temperature and humidity display on serial monitor.

Image Acquisition Technology

AN1185 APPLICATION NOTE Designing for Compatibility between ST and AMD NOR Flash Memories

Use xtimecomposer and xscope to trace data in real-time

Check our knowledge base at

USER MANUAL FOR THE ANALOGIC GAUGE FIRMWARE VERSION 1.0

GE Interlogix Fiber Options S700V & S702V. Instruction Manual FIBER-OPTIC VIDEO TRANSMISSION SYSTEM

Lecture-47 INTEL 8085A INTERRUPT STRUCTURE

MEMS Module STMEMSDQ-EVAL1

Graduate Institute of Electronics Engineering, NTU Digital Video Recorder

VGA / Audio Extender Single CAT5 / CAT6 with RGB Delay Control & EQ

Laboratory Exercise 4

Operating Instructions

M89 FAMILY In-System Programmable (ISP) Multiple-Memory and Logic FLASH+PSD Systems for MCUs

DP8212 DP8212M 8-Bit Input Output Port

L9822E OCTAL SERIAL SOLENOID DRIVER

E X P E R I M E N T 1

GE Interlogix Fiber Options S700VT-MST. Instruction Manual FIBER-OPTIC MINIATURE VIDEO TRANSMITTER

CPE 310L EMBEDDED SYSTEM DESIGN (CPE)

Transcription:

Thermal arm-wrestling Problem to be solved Customer game concept I WIN YOU WIN Design of a video game using two programmable flags (PF) interrupts Tutorial on handling 2 Hardware interrupts from an external device that cause the same IVG12 PF- Interrupt A Has two TMP03 thermal sensors and a ready signal (LED) At the ready signal the two players have to use bio-feedback to move the cursor into the winning area Three play modes One person player moves the cursor with one sensor One person player controls the cursor with two sensors sort of EXO-Sketch mode Game mode two players Sensor reading is determined by the difference in temperature NOW compared to the temperature at the ready signal 2 / 24 + extras Customer game plan Player1_TemperatureNow, and Player1_TemperatureStart Ditto player 2 While not started { Determine Player1 Temperature( ), Player2 temperature( ) Update Game Screen (with start information ) } Cursor is centered ( ) update Game screen ( ) While nobody has won { Determine Player1 Temperature( ), Player2 temperature ( ) Determine Player1, player2 difference in temperature if player1 difference larger then decrease cursor, else cursor ++ Update Game screen Determine if somebody has won } Display winning message 3 / 24 + extras 5 Need to handle the true PF registers to generate a hardware interrupt Functions needed unsigned long int SetPFInterruptsASM(??) Returns old interrupt settings Set new settings void StartPFInterruptsASM(???) void StopPFSettingsASM(???) Hardware information Chapter 14 4 / 24 + extras

PF registers Direction, Data, Polarity and Enable all from Lab. 2 Flag Mask registers 14-11 Flag mask Interrupt data register basically which PF pins have been set to allow to cause interrupt Flag mask Interrupt Set register sets PF pin that is allowed to cause an interrupt, without the need for a read or mask write operation Flag Mask Interrupt Clear register which PF pin is no longer allowed to cause an interrupt without the need for a read and mask write operation Flag interrupt Sensitivity register (FIO_EDGE) set for edge-sensitive also need FIO_BOTH 6 Build a test to show that write the needed code (in ASM) to set up the PF interrupts Registers described in Chapter 14 Stop all interrupts for the moment CLI instruction Need to set FIO_MASKA_D bits 1 Write only needed if set using FIO_MASK_S register Need to set FIO_POLAR for active rising edge Lab 2 code 1 read then mask then 1 write Need to set FIO_INEN (R mask W) Need to set FIO_DIR (R mask W) Need to clear FIO_FLAG_D so that don t think interrupt already happened (1W if use FIO_FLAG_C register approach)) Need to set FIO_EDGE and FIO_BOTH (2R mask 2W) Restart interrupts STI instruction but with PF interrupt stopped Possibility that missing stuff since first time tried this 5 / 24 + extras 6 / 24 + extras First Test for Set up PF interrupts Need to do code review After fixing the error get this result Check code need to return old interrupt level FIO_MASKA_D that requires a read that I had not designed in change the test 7 / 24 + extras 8 / 24 + extras

Move onto setting FIO_FLAG registers Check Ability to turn off PF interrupts 9 / 24 + extras 10 / 24 + extras Test for interrupts using switches #pragma interrupt void Hardware_PF_ISR(void) ; PF interrupts active NOTHING HAPPENING SYSTEM IS HUNG Turns out missing stuff in set up IMASK -- Page 4-33 Global register allows IVG12 interrupts to occur SIC_IMASK Page 4-28 System interrupt mask especially for peripheral devices Enabling PF Interrupt A during SetUpPFInterrupts( ) fixed the problem of getting INTO interrupts but the function never came out BECAUSE Bit 11 of FIO_FLAG_D MUST BE CLEARED inside interrupt service routine clearing the interrupt bit!!!!!! 11 / 24 + extras 12 / 24 + extras

What is the necessary code for the C++ interrupt service routine to handle the PF11 interrupts? Add your code here Essentially 3 lines of code needed Add this stage Either PF11 interrupt Need both Need PF10 interrupt 13 / 24 + extras 14 / 24 + extras Core timer interrupt PF interrupt PF11 and PF10 interrupt PF interrupt Core timer interrupt SetEVT_ASM(ik_timer, CoreTimerISR) PF11 interrupt SetEVT_ASM(ik_ivg12, PF11_ISR); PF10 interrupt SetEVT_ASM(ik_ivg12, PF10_ISR); See Blackfin reference sheet If Core timer and PF11 interrupts occurred different interrupt levels If Core timer and PF10 interrupts occurred different interrupt levels If PF11 and PF10 interrupts occurred SAME interrupt level PF11 and PF10 interrupt SetEVT_ASM(ik_ivg12, PF_ISR); ISR code must look like this #pragma interrupt void PF_ISR(void) { If this interrupt was caused by PF11 interrupt then do this action CalculatePF11Temperature( ); But if this interrupt was caused by PF10 interrupt then do this action CalculatePF10Temperature( ); Clear the correct interrupt flag so the ISR can exit properly } 15 / 24 + extras 16 / 24 + extras

What hardware register can tell us which of the two PF lines caused an interrupt? See hardware manual on page 14-13 for the information What is the necessary code for the C++ interrupt service routine to handle the PF10 interrupts? Add your code here Essentially 3 lines of code needed 17 / 24 + extras 18 / 24 + extras #pragma interrupt void BothPF_ISR(void) { PF11 interrupt test PF10 test 19 / 24 + extras 20 / 24 + extras

Can handle both PF10 and PF11 interrupts but ISR can t tell the different Can handle both PF10 and PF11 interrupts but ISR CAN tell the different 21 / 24 + extras 22 / 24 + extras Information taken from Analog Devices On-line Manuals with permission http://www.analog.com/processors/resources/technicallibrary/manual s/ Information furnished by Analog Devices is believed to be accurate and reliable. However, Analog Devices assumes no responsibility for its use or for any infringement of any patent other rights of any third party which may result from its use. No license is granted by implication or otherwise under any patent or patent right of Analog Devices. Copyright Analog Devices, Inc. All rights reserved. 23 / 24 + extras