Embedded Systems and Software

Size: px
Start display at page:

Download "Embedded Systems and Software"

Transcription

1 Embedded Systems and Software Lab 5 Considerations Lab 5 Considerations Slide 1

2 Big Picture Keypad Mag-Stripe Card Reader User PINs are stored in μμμμ FLASH memory Swipe Card LCD Lab 5 Considerations Slide 2

3 Major Elements Read User-IDs from Mag Stripe reader Read PINs from Keypad Compare the entered USER-IDs and PINs to values stored in FLASH Display text on LCD Central Issues Where to Start? o Timers o Keypad, Mag-Stripe o Interrupts Usually a good idea to consider timing constraints first This will dictate the overall structure of the application Lab 5 Considerations Slide 3

4 Mag Stripe Reader Lab 5 Timing Constraints Nominal data rate: 1.5 ms/bit (= 667 Hz) Data must be sampled within ~ 0.75 ms after leading edge of strobe Lab 5 Considerations Slide 4

5 Keypad Lab 5 Timing Constraints Switch debounce requires sampling keypad at ~ 10 ms intervals Variation of a few ms in either direction can be tolerated LCD Writing a character to the LCD requires known time Need to insure that programmed delays don t interfere with servicing of other devices e.g., How long does it take to write 16 characters to the LCD? Lab 5 Considerations Slide 5

6 Main Program Loop: How Should Lab 5 be Structured? Authorize Users: check entered User-ID/PIN against values stored in FLASH Service LCD Mag Stripe Reader Service via external interrupt Should be OK to trigger interrupts on leading edge of strobe Keypad Service via periodic timer interrupt 10 ms period should work OK Lab 5 Considerations Slide 6

7 One Possible Structure of Program Main Program Loop Authorize Users: check entered User-ID/PIN against values stored in FLASH Service LCD Mag Stripe Reader Should be OK to trigger interrupts on leading edge of strobe Service via external interrupt Service via periodic timer interrupt 10 ms period should work OK Keypad Lab 5 Considerations Slide 7

8 One Possible Structure of Program Timer ISR Reads keypad on rollover, every 10 ms Main Program Authenticates IDs/PINs Services LCD External Interrupt ISR Reads Mag-Stripe Data ISR is invoked at leading-edge of each strobe cycle (approx. the middle of each data bit period) from the mag-stripe reader ISR must sample the data line from the mag-stripe reader and assemble and store digits read from track 2 Lab 5 Considerations Slide 8

9 Track 2 Format Odd Parity b3 b2 b1 b0 Meaning of Group Track 2 data characters are 4 bits + parity. Must be numeric: 0x0 0x9) Lab 5 Considerations Slide 9

10 Track 2 Format Odd Parity b3 b2 b1 b0 Meaning of Group Characters are recorded LSb first with parity at the end i.e., right to left in this diagram Lab 5 Considerations Slide 10

11 Track 2 Format Odd Parity b3 b2 b1 b0 Meaning of Group The data output from the stripe reader is inverted. Logical zeros will be read as high values, logical ones as low. Lab 5 Considerations Slide 11

12 Mag-Stripe Reader ISR Game Plan Identify the beginning of the start sentinel Assemble next four bits into a digit and store in an array Read the parity bit and discard (or verify correct parity) Continue to assemble and store digits as above until the 10-digit User-ID, stop sentinel, and LRC character have been read But, remember, this behavior takes place over many invocations of the ISR the ISR is invoked once for each bit-time on the card Lab 5 Considerations Slide 12

13 Useful Tool Finite State Machine data = 0 (high) S0 Waiting for Start Sentinel Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 13

14 Useful Tool Finite State Machine data = 0 (high) S0 Waiting for Start Sentinel data = 1 (low) S1 First bit of char read Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 14

15 Useful Tool Finite State Machine data = 0 (high) S0 S1 S2 Waiting for Start Sentinel data = 1 (low) First bit of char read data = x Second bit of char read Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 15

16 Useful Tool Finite State Machine data = 0 (high) S0 S1 S2 Waiting for Start Sentinel data = 1 (low) First bit of char read data = x Second bit of char read data = x S3 Third bit of char read Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 16

17 Useful Tool Finite State Machine data = 0 (high) S0 S1 S2 Waiting for Start Sentinel data = 1 (low) First bit of char read data = x Second bit of char read data = x data = x S4 Fourth bit of char read data = x S3 Third bit of char read Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 17

18 Useful Tool Finite State Machine data = 0 (high) S0 S1 S2 Waiting for Start Sentinel data = 1 (low) First bit of char read data = x Second bit of char read last char (LRC) has been read S5 Parity bit read data = x data = x; last char was not LRC S4 Fourth bit of char read data = x S3 Third bit of char read data = x Structure the Mag-reader ISR as a FSM one state transition per invocation Lab 5 Considerations Slide 18

19 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Implementing FSM ISR is invoked for each bit the reader sees Mag_Stripe_ISR() { current_bit = next_bit next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Lab 5 Considerations Slide 19

20 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Implementing FSM #define for the states Mag_Stripe_ISR() { current_bit = next_bit; next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Lab 5 Considerations Slide 20

21 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Mag_Stripe_ISR() { current_bit = next_bit; next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Implementing FSM Read bit value (1 or 0) from the card reader Lab 5 Considerations Slide 21

22 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Mag_Stripe_ISR() { current_bit = next_bit; next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Implementing FSM Do different things depending of what state we are at Lab 5 Considerations Slide 22

23 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Mag_Stripe_ISR() { current-bit = next_bit; next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Implementing FSM Do state 0 s work here Lab 5 Considerations Slide 23

24 #define S0 0 #define S1 1 #define S2 2 #define S3 3 #define S4 4 #define S5 5 char next_state = S0; char current_bit; char next_bit; char ch; char User_ID[12]; Mag_Stripe_ISR() { current-bit = next_bit next_bit = /* read Mag stripe data */ switch (next_state){ S0: if (next_bit == 0) next_ state = S0; else next_state = S1; break; S1: next_state = S2; break;. : S5: if (/* 12 chars have been read */) next_state = S0; else next_state = S1; } } Implementing FSM Do state 2 s work here Lab 5 Considerations Slide 24

25 Possible Lab 5 Program Structure External Interrupt ISR Mag-Stripe Main Loop Authenticates IDs/PINs Services LCD Timer ISR Reads Keypad Lab 5 Considerations Slide 25

26 Possible Lab 5 Program Structure char Card_Swiped External Interrupt ISR Mag-Stripe char ID[10] Main Loop Authenticates IDs/PINs Services LCD Timer ISR Reads Keypad Lab 5 Considerations Slide 26

27 Possible Lab 5 Program Structure char Card_Swiped External Interrupt ISR Mag-Stripe char ID[10] Main Loop Authenticates IDs/PINs Services LCD Timer ISR Reads Keypad ISR sets Card_Swiped to indicate that a complete User-ID has been read from a card. The User-ID is placed by the ISR into the array ID Lab 5 Considerations Slide 27

28 Possible Lab 5 Program Structure char Card_Swiped char PIN_Entered External Interrupt ISR Mag-Stripe char ID[10] Main Loop Authenticates IDs/PINs Services LCD char PIN[4] Timer ISR Reads Keypad ISR sets Card_Swiped to indicate that a complete User-ID has been read from a card. The User-ID is placed by the ISR into the array ID Lab 5 Considerations Slide 28

29 Possible Lab 5 Program Structure char Card_Swiped char PIN_Entered External Interrupt ISR Mag-Stripe char ID[10] Main Loop Authenticates IDs/PINs Services LCD char PIN[4] Timer ISR Reads Keypad ISR sets Card_Swiped to indicate that a complete User-ID has been read from a card. The User-ID is placed by the ISR into the array ID ISR sets PIN_Entered to indicate that a complete PIN has been read from the keypad. The PIN is placed by the ISR into the array PIN Lab 5 Considerations Slide 29

30 Main Program as a FSM!(Card_Swiped) A_IDLE Lab 5 Considerations Slide 30

31 Main Program as a FSM!(Card_Swiped) CHECK_ID A_IDLE invalid ID Lab 5 Considerations Slide 31

32 Main Program as a FSM!(Card_Swiped)!(PIN_Entered) CHECK_ID valid ID GET_PIN A_IDLE invalid ID Lab 5 Considerations Slide 32

33 Main Program as a FSM!(Card_Swiped)!(PIN_Entered) CHECK_ID valid ID GET_PIN A_IDLE invalid ID bad PIN PIN_Entered CHECK_PIN Lab 5 Considerations Slide 33

34 Main Program as a FSM!(Card_Swiped)!(PIN_Entered) CHECK_ID valid ID GET_PIN A_IDLE invalid ID bad PIN PIN_Entered AUTHORIZE valid PIN CHECK_PIN < five seconds Lab 5 Considerations Slide 34

35 Main Program as a FSM!(Card_Swiped)!(PIN_Entered) CHECK_ID valid ID GET_PIN A_IDLE invalid ID bad PIN PIN_Entered five seconds elapsed AUTHORIZE valid PIN CHECK_PIN < five seconds Lab 5 Considerations Slide 35

36 Pseudo-Code for Main FSM states main () { //Initialization Goes Here while(1) switch (Auth_Next_State) { A_IDLE: /* A_IDLE State Stuff Goes Here */ break; CHECK_ID: /* CHECK_ID State Stuff Goes Here */ break; GET_PIN: /* GET_PIN State Stuff Goes Here */ break; CHECK_PIN: /* CHECK_PIN State Stuff Goes Here */ break; AUTHORIZE: /* AUTHORIZE State Stuff Goes Here */ } Lab 5 Considerations Slide 36

37 Pseudo-Code for Main FSM states Initialization: Display Swipe Card on LCD; Turn off Authorization LED; Card_Swiped = false; PIN_Entered = false; Auth_Next_State = A_IDLE; IDLE: if (Card_Swiped) Auth_Next_State = CHECK_ID; else Auth_Next_State = A_IDLE; break; Lab 5 Considerations Slide 37

38 Pseudo-Code for Main FSM states CHECK_ID: Reset Card_Swiped; if (ID matches a stored User-ID) { Stored_PIN = PIN of matching stored User-ID; Display Enter PIN on LCD; Auth_Next_State = GET_PIN; } else { Display Invalid ID on LCD Auth_Next_State=A_IDLE; } break; GET_PIN: if (PIN_Entered) Auth_Next_State = CHECK_PIN; else Auth_Next_State = GET_PIN; break; Lab 5 Considerations Slide 38

39 Pseudo-Code for Main FSM states AUTHORIZE: if ( less than five seconds have elapsed since entering this state) Auth_Next_State = AUTHORIZE; else { Turn off authorization LED; Display Swipe Card on LCD; Auth_Next_State = A_IDLE; } break: CHECK_PIN: if (PIN == Stored_PIN) { Turn on Authorization LED; Display Door is Unlocked on LCD; Auth_Next_State = Authorize; } else { Display Re-enter PIN on LCD; Auth_Next_State = GET_PIN; } break; Lab 5 Considerations Slide 39

40 Lab 5 Considerations Slide 40

Lab 6 Overview. Lab 6 Considerations. Lab 6 Hardware. Lab 6 Hardware

Lab 6 Overview. Lab 6 Considerations. Lab 6 Hardware. Lab 6 Hardware Lab 6 Overview Lab 6 Considerations 55:036 Embedded Systems and System Software Develop a simple time clock Employees can clock-in and clock-out by swiping their ID-card When someone clocks in or out a

More information

Program Modeling Concepts:

Program Modeling Concepts: Program Modeling Concepts: Lesson-6: FSM STATE TABLE AND ITS APPLICATIONS 1 FSM State Table A state table can then be designed for representation of every state in its rows. The following six columns are

More information

Interrupts and Timers

Interrupts and Timers Indian Institute of Technology Bombay CS684/CS308 Embedded Systems Interrupts and Timers E.R.T.S. Lab 1 Lab Objective This lab will introduce you to the use of Timers and Interrupts on the TM4C123GH6PM.

More information

Configuring Door and Device Templates

Configuring Door and Device Templates CHAPTER 8 This chapter describes how to create and modify door and device templates. Device templates define common settings for device types, such as Gateways, readers and locks. Door templates define

More information

BioPointe Finger/Card Presentation

BioPointe Finger/Card Presentation This guide is made available for distribution to anyone who will have occasion to enter through a door controlled by a Fingerprint Identification unit. Some units are designed to read Proximity cards in

More information

ECE 476 LABORATORY 3 SECURITY SYSTEM WEDNESDAY, MARCH 7, 2007

ECE 476 LABORATORY 3 SECURITY SYSTEM WEDNESDAY, MARCH 7, 2007 ECE 476 LABORATORY 3 SECURITY SYSTEM WEDNESDAY, MARCH 7, 2007 ADRIAN WONG BHAVIN ROKAD AW259 BKR24 INTRODUCTION AND PROBLEM FORMULATION The purpose of this lab is to create a security system using a keypad,

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

Data paths and control logic

Data paths and control logic Data paths and control logic! Building larger digital systems " Include data, not just control inputs! An example! Building up toward project - MasterMind Autumn 2014 CSE390C - IX - Data Paths and Control

More information

I also provide a purpose-built ADC/DAC board to support the lab experiment. This analogue I/O board in only needed for Part 3 and 4 of VERI.

I also provide a purpose-built ADC/DAC board to support the lab experiment. This analogue I/O board in only needed for Part 3 and 4 of VERI. 1 2 I also provide a purpose-built ADC/DAC board to support the lab experiment. This analogue I/O board in only needed for Part 3 and 4 of VERI. However I will now be examining the digital serial interface

More information

12.1. Unit 12. Exceptions & Interrupts

12.1. Unit 12. Exceptions & Interrupts 12.1 Unit 12 Exceptions & Interrupts 12.2 Disclaimer 1 This is just an introduction to the topic of interrupts. You are not meant to master these right now but just start to use them We will cover more

More information

Inteset INT422-3 Programming Technical Document

Inteset INT422-3 Programming Technical Document This document is meant to inform the sophisticated user of our remote of some of the technical aspects, features and capabilities of our remote. Our User Guide provides the same information but in a simplified

More information

Computer Peripherals

Computer Peripherals Computer Peripherals School of Computer Engineering Nanyang Technological University Singapore These notes are part of a 3rd year undergraduate course called "Computer Peripherals", taught at Nanyang Technological

More information

Configuring Areas and Doors

Configuring Areas and Doors Configuring Areas and Doors 18 Configuring Continuum for Security and Access Control This chapter provides an overview of Continuum security and access control components and describes how they work together.

More information

SYSTEM DESIGN SPECIFICATIONS ZIGBEE BASIC SYSTEM

SYSTEM DESIGN SPECIFICATIONS ZIGBEE BASIC SYSTEM SYSTEM DESCRIPTION This specification describes and defines the basic requirements of the CE3200 ZigBee temperature sensor mote. The ZigBee temperature sensor mote awakens from powerdown idle every two

More information

2. ENTR Description. ENTR User Manual. 2.1 ENTR User Interface. Knob. OK (Green) Manual Mode (Green) Mute (Green) Indications. Error (Red) Touchpad

2. ENTR Description. ENTR User Manual. 2.1 ENTR User Interface. Knob. OK (Green) Manual Mode (Green) Mute (Green) Indications. Error (Red) Touchpad 2. ENTR Description 2. ENTR User Interface Knob OK (Green) Manual Mode (Green) Indications Mute (Green) Touchpad Error (Red) Battery status (Green/Red) Door not closed (Red) ON/OFF switch 9 2.3 ON/OFF

More information

DT400 Series Software Utility Manual Last Updated: May 23, 2013

DT400 Series Software Utility Manual Last Updated: May 23, 2013 For Windows Mobile 6 Using the System Utility The System Utility program can be launched by pressing the front button to allow user enable/disable WiFi, Bluetooth, RFID, MSR and Scanner, adjust the LCD

More information

Magstripe Interfacing - A Lost Art By Acidus

Magstripe Interfacing - A Lost Art By Acidus Magstripe Interfacing - A Lost Art By Acidus (acidus@yak.net www.yak.net/acidus) -- Intro Just like Sun Microsystems, people have been forecasting the death of magstripes for years. Yet they are still

More information

I2C Master-Slave Connection

I2C Master-Slave Connection ZBasic Application Note AN-219 Implementing I2C and SPI Slaves Introduction With the introduction of native mode ZX devices it became possible to implement a broader range of applications, notable among

More information

427 Class Notes Lab2: Real-Time Clock Lab

427 Class Notes Lab2: Real-Time Clock Lab This document will lead you through the steps of creating a new hardware base system that contains the necessary components and connections for the Real-Time Clock Lab. 1. Start up Xilinx Platform Studio

More information

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs

More information

Interfacing a PS/2 Keyboard

Interfacing a PS/2 Keyboard Lab 3 in SMD52 Interfacing a PS/2 Keyboard Introduction In this lab you will interface a PS/2 keyboard (standard PC keyboard) with the XSB board. Scan codes will be received from the keyboard and displayed

More information

C:\CYGNAL\Examples\C8051F02x\C\Edu_Board_Source_Code\Magcard.c

C:\CYGNAL\Examples\C8051F02x\C\Edu_Board_Source_Code\Magcard.c Magcard.c Author: Baylor Electromechanical Systems Operates on an external 18.432 MHz oscillator. Target: Cygnal Educational Development Board / C8051F020 Tool chain: KEIL C51 6.03 / KEIL EVAL C51 This

More information

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Chapter 15 General Purpose Programmable Peripheral Devices by Rahul Patel, Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar Microprocessor & Interfacing (140701) Rahul Patel 1

More information

MSR606. Programmer s Manual. Magnetic Stripe Card Reader/Writer (High & Low Coercivity) Revision B

MSR606. Programmer s Manual. Magnetic Stripe Card Reader/Writer (High & Low Coercivity) Revision B MSR606 Magnetic Stripe Card Reader/Writer (High & Low Coercivity) Programmer s Manual Revision B 009-06-0 0 Table of Contents SECTION INTRODUCTION... Accessories of MSR606... Warranty... SECTION GENERAL

More information

SENTRY HPS / HTS COMMUNICATION PROTOCOL

SENTRY HPS / HTS COMMUNICATION PROTOCOL SENTRY HPS / HTS COMMUNICATION PROTOCOL Rev. 1.00 - October 1996-1 - The communication with Sentry.RPS uses RS232 serial line connection with: - only 3 wires TX, RX and GND; - 8 bits; - no parity; - 1

More information

LCD Display. Other I/O. LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC. 2-line, 16 character LCD display

LCD Display. Other I/O. LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC. 2-line, 16 character LCD display Other I/O LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC LCD Display 2-line, 16 character LCD display 4-bit interface Relatively easy to use once you have it mapped into your processor

More information

MSR206. Programmer s Manual

MSR206. Programmer s Manual MSR206 Magnetic Stripe Card Reader/Writer (High & Low Coercivity) Programmer s Manual Document PM017-U Revision C.1 09 Oct. 2003 Table of Contents 2003/10/9 Table of Contents Section 1 Introduction 1!

More information

StoryStylus Scripting Help

StoryStylus Scripting Help StoryStylus Scripting Help Version 0.9.6 Monday, June 29, 2015 One More Story Games, Inc. 2015 Contents Versions... 3 Scripting User Interface... 4 Script Triggers... 5 If-Then Scripting Language... 6

More information

PowerShield SNMP Adaptor

PowerShield SNMP Adaptor PowerShield SNMP Adaptor This manual describes the setup and operation of the PowerShield SNMP adaptor for the Sentinel battery monitoring system Published: April 2015 6300-079 SNMP User Manual Page 1

More information

UNIVERSITY OF CONNECTICUT. ECE 3411 Microprocessor Application Lab: Fall Quiz III

UNIVERSITY OF CONNECTICUT. ECE 3411 Microprocessor Application Lab: Fall Quiz III Department of Electrical and Computing Engineering UNIVERSITY OF CONNECTICUT ECE 3411 Microprocessor Application Lab: Fall 2015 Quiz III There are 5 questions in this quiz. There are 11 pages in this quiz

More information

Computer Managed Products User Products Manual Programming Guide

Computer Managed Products User Products Manual Programming Guide Computer Managed Products 1000 User Products Manual Programming Guide 57001-C Page 1 08-2009 Manually Program User Credentials Manually Program User Credentials Important things to keep in mind: a) A Code:

More information

Topics. Interfacing chips

Topics. Interfacing chips 8086 Interfacing ICs 2 Topics Interfacing chips Programmable Communication Interface PCI (8251) Programmable Interval Timer (8253) Programmable Peripheral Interfacing - PPI (8255) Programmable DMA controller

More information

Real Time & Embedded Systems. Final Exam - Review

Real Time & Embedded Systems. Final Exam - Review Real Time & Embedded Systems Final Exam - Review Final Exam Review Topics Finite State Machines RTOS Context switching Process states Mutex - purpose and application Blocking versus non-blocking Synchronous

More information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Lab 6 Considerations Lab 6 Considerations, Slide 1 Big Picture Connect to internal ADC + 0-5 V - Sensor To COM port on PC LCD RTC Optional: LCD display Lab 6 Considerations,

More information

DATA LINK LAYER UNIT 7.

DATA LINK LAYER UNIT 7. DATA LINK LAYER UNIT 7 1 Data Link Layer Design Issues: 1. Service provided to network layer. 2. Determining how the bits of the physical layer are grouped into frames (FRAMING). 3. Dealing with transmission

More information

Application Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission

Application Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission Application Note One Wire Digital Output 1 Introduction The pressure transmitter automatically outputs pressure data, and when appropriate temperature data, in a fixed interval. The host simply waits for

More information

EE251: Thursday November 30

EE251: Thursday November 30 EE251: Thursday November 30 Course Evaluation Forms-fill out Memory Subsystem continued Timing requirements Adding memory beyond 4 Gbyte Time Allowing: Begin Review for Final Exam Homework due next Tuesday,

More information

8051 I/O and 8051 Interrupts

8051 I/O and 8051 Interrupts 8051 I/O and 8051 Interrupts Class 7 EE4380 Fall 2002 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Agenda 8051 I/O Interfacing Scanned LED displays LCD displays

More information

These three counters can be programmed for either binary or BCD count.

These three counters can be programmed for either binary or BCD count. S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.

More information

Registers Format. 4.1 I/O Port Address

Registers Format. 4.1 I/O Port Address 4 Registers Format The detailed descriptions of the register format and structure of the ACL- 8112 are specified in this chapter. This information is quite useful for the programmer who wish to handle

More information

Interfacing a Hyper Terminal to the Flight 86 Kit

Interfacing a Hyper Terminal to the Flight 86 Kit Experiment 6 Interfacing a Hyper Terminal to the Flight 86 Kit Objective The aim of this lab experiment is to interface a Hyper Terminal to 8086 processor by programming the 8251 USART. Equipment Flight

More information

Understanding Door Configuration

Understanding Door Configuration CHAPTER 5 This chapter describes the concepts used to configure doors and templates. A door configuration is a collection of devices, such as locks and readers, connected to a Cisco Physical Access Gateway

More information

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name

Magic 8 Ball. Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name MPS Magic 8 Ball Lab Exercise Magic 8 Ball Student's name & ID (1): Partner's name & ID (2): Your Section number & TA's name Notes: You must work on this assignment with your partner. Hand in a printer

More information

ECE 354 Introduction to Lab 2. February 23 rd, 2003

ECE 354 Introduction to Lab 2. February 23 rd, 2003 ECE 354 Introduction to Lab 2 February 23 rd, 2003 Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system supervisors

More information

AVT-718 SDM-AOS Support

AVT-718 SDM-AOS Support ADVANCED VEHICLE TECHNOLOGIES, Inc. AV Inc. AVT-718 SDM-AOS Support 4 September 2003 This document describes the so - called SDM mode of operation for the AVT-718 unit. SDM mode support was first released

More information

HP 48 I/O Technical Interfacing Guide

HP 48 I/O Technical Interfacing Guide HP 48 I/O Technical Interfacing Guide HP 48 I/0 Technical Interfacing Guide CONTENTS INTRODUCTION... 3 WIRED SERIAL I/O HARDWARE... 3 CABLE WIRING... 3 SERIAL FORMAT... 5 Example: an 'H' (48 hex)... 5

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 04 Timer Interrupts Goals: Learn about Timer Interrupts. Learn how to

More information

Embedded Controller Programming II. I/O Device Programming in C Part 1: Input and Interrupts

Embedded Controller Programming II. I/O Device Programming in C Part 1: Input and Interrupts Discovery.com Embedded Controller Programming II I/O Device Programming in C Part 1: Input and Interrupts Ken Arnold Copyright (c)2006 Ken Arnold 051221 1 Overview Basic Input Devices Switch Input Matrix

More information

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ece2049_labs.html You do not need to keep

More information

MCS-51 Serial Port A T 8 9 C 5 2 1

MCS-51 Serial Port A T 8 9 C 5 2 1 MCS-51 Serial Port AT89C52 1 Introduction to Serial Communications Serial vs. Parallel transfer of data Simplex, Duplex and half-duplex modes Synchronous, Asynchronous UART Universal Asynchronous Receiver/Transmitter.

More information

EE 109 Unit 15 State Machines 15.1

EE 109 Unit 15 State Machines 15.1 EE 109 Unit 15 State Machines 15.1 15.2 What is state? You see delicious looking potato salad in the cafeteria? Do you eat it? Ate potato salad as a kid As a teen, ate potato salad at a picnic after a

More information

8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization

8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization 8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization between two devices. So it is very useful chip. The

More information

EE251: Tuesday December 4

EE251: Tuesday December 4 EE251: Tuesday December 4 Memory Subsystem continued Timing requirements Adding memory beyond 4 Gbyte Time Allowing: Begin Review for Final Exam Homework #9 due Thursday at beginning of class Friday is

More information

Tongta Inverter TDS-F8

Tongta Inverter TDS-F8 Tongta Inverter TDS-F8 MODBUS Communication Application Manual Please ensure the user gets this manual, for the optimal use of this device. 1. Introduction: TEK-DRIVE / TDS-F8 INVERTER MODBUS Communication

More information

LarvaLight User Manual

LarvaLight User Manual LarvaLight User Manual LarvaLight is a simple tool enabling the user to succinctly specify monitors which trigger upon events of an underlying Java system, namely method calls and returns. If the events

More information

Lab #2: Building the System

Lab #2: Building the System Lab #: Building the System Goal: In this second lab exercise, you will design and build a minimal microprocessor system, consisting of the processor, an EPROM chip for the program, necessary logic chips

More information

IS2000. Administrative Operator s Guide

IS2000. Administrative Operator s Guide IS2000 Administrative Operator s Guide Table of Contents Logging Off... 7 Event Manager... 7 HARDWARE MANAGER... 8 Maneuvering the Hardware Tree... 8 Unlocking the Module... 8 Viewing the Hardware Tree...

More information

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful

More information

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need to keep the same partner from

More information

University of Florida EEL 4744 Spring 2014 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering 1 April Apr-14 9:03 AM

University of Florida EEL 4744 Spring 2014 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering 1 April Apr-14 9:03 AM Page 1/15 Exam 2 Instructions: Turn off cell phones beepers and other noise making devices. BEAT UCONN! Show all work on the front of the test papers. If you need more room make a clearly indicated note

More information

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O ELEC 3040/3050 Lab 5 Matrix Keypad Interface Using Parallel I/O Goals of this lab exercise Control a real device with the microcontroller Coordinate parallel I/O ports to control and access a device Implement

More information

SmartFPV RC Camera Control v2. User Guide (RCCC v2 without option to power cameras from RC receiver)

SmartFPV RC Camera Control v2. User Guide (RCCC v2 without option to power cameras from RC receiver) SmartFPV RC Camera Control v2 User Guide (RCCC v2 without option to power cameras from RC receiver) 6/9/2013 INTRODUCTION SmartFPV RC Camera Control board (RCCC) is multifunctional RC control board designed

More information

13-1. This chapter explains how to use different objects.

13-1. This chapter explains how to use different objects. 13-1 13.Objects This chapter explains how to use different objects. 13.1. Bit Lamp... 13-3 13.2. Word Lamp... 13-5 13.3. Set Bit... 13-10 13.4. Set Word... 13-13 13.5. Function Key... 13-21 13.6. Toggle

More information

School of Computer Science Faculty of Engineering and Computer Science Student ID Number. Lab Cover Page. Lab Date and Time:

School of Computer Science Faculty of Engineering and Computer Science Student ID Number. Lab Cover Page. Lab Date and Time: Student Information First Name School of Computer Science Faculty of Engineering and Computer Science Last Name Student ID Number Lab Cover Page Please complete all fields: Course Name: Structure and Application

More information

GETTING STARTED. Installing the System 2000 Hardware. Configuring Your System 2000 Hardware. Troubleshooting. Configuring Your System 2000 Network

GETTING STARTED. Installing the System 2000 Hardware. Configuring Your System 2000 Hardware. Troubleshooting. Configuring Your System 2000 Network SYSTEM 2000 GETTING STARTED Installing the System 2000 Hardware Whether you are upgrade an existing System 2, or this is a brand new installation, there will be some hardware installation involved. We

More information

of the numerical value of 54Hex ASCII is that 54 consists of 5 (35Hex) and 4(34 Hex).

of the numerical value of 54Hex ASCII is that 54 consists of 5 (35Hex) and 4(34 Hex). of the numerical value of 54Hex ASCII is that 54 consists of 5 (35Hex) and 4(34 Hex). 1. Definition of coding Communication agreement belongs to hexadecimal system, of which each character represents the

More information

Block Data is the data transferred to or from the device using SCT Command Transport feature set capabilities.

Block Data is the data transferred to or from the device using SCT Command Transport feature set capabilities. 1. Add the following terms to the glossary: 3.1.x Block Data Block Data is the data transferred to or from the device using SCT Command Transport feature set capabilities. 3.1.x SCT command SCT commands

More information

Mobile POS Tablet. Barcode Scanner DATA CAPTURE MODULE OPERATION GUIDE. Peripheral Scanning Tool. To Connect Barcode Scanner Module

Mobile POS Tablet. Barcode Scanner DATA CAPTURE MODULE OPERATION GUIDE. Peripheral Scanning Tool. To Connect Barcode Scanner Module Barcode Scanner Follow below steps to check the scanner module with. 1. Click Start All Programs Utilities Peripheral Scanning Tool. 2. Select POS Tab. 3. Check the Scan Scanner from checkbox.. Press Auto

More information

Set-up of ZK RFID Pin Pad

Set-up of ZK RFID Pin Pad Set-up of ZK RFID Pin Pad Version 0. 1 Prepared by: Shaun Laas Softcon Software Control Services (Pty) Ltd. 7 March 2017 Revision History Name Date Reason For Changes Version SL SL 26-Jan- 2016 26-Jan-

More information

Page 1. Logistics. Introduction to Embedded Systems. Last Time. ES Software Design. Labs start Wed CS/ECE 6780/5780. Al Davis

Page 1. Logistics. Introduction to Embedded Systems. Last Time. ES Software Design. Labs start Wed CS/ECE 6780/5780. Al Davis Logistics Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: logistics - minor synopsis of last lecture software desig finite state machine based control Labs start Wed make sure

More information

Test ROM for Zaccaria 1B1165 CPU Board

Test ROM for Zaccaria 1B1165 CPU Board Introduction Test ROM for Zaccaria 1B1165 CPU Board Version 1.2 13 June 2008 David Gersic http://www.zaccaria pinball.com One of the challenges to working on an unknown CPU board is that Zaccaria's software

More information

By the end of Class. Outline. Homework 5. C8051F020 Block Diagram (pg 18) Pseudo-code for Lab 1-2 due as part of prelab

By the end of Class. Outline. Homework 5. C8051F020 Block Diagram (pg 18) Pseudo-code for Lab 1-2 due as part of prelab By the end of Class Pseudo-code for Lab 1-2 due as part of prelab Homework #5 on website due before next class Outline Introduce Lab 1-2 Counting Timers on C8051 Interrupts Laboratory Worksheet #05 Copy

More information

Serial Communication. Simplex Half-Duplex Duplex

Serial Communication. Simplex Half-Duplex Duplex 1.5. I/O 135 Serial Communication Simplex Half-Duplex Duplex 136 Serial Communication Master-Slave Master Master-Multi-Slave Master Slave Slave Slave (Multi-)Master Multi-Slave Master Slave Slave Slave

More information

OEM Proximity Reader with Keypad Manual REV1

OEM Proximity Reader with Keypad Manual REV1 484-52 OEM Proximity Reader with Keypad Manual REV1 Overview The 484-52 proximity keypad reader provides pin code identification to be used together with a proximity identification card. The 484-52 consists

More information

ACR31 Swipe Card Reader

ACR31 Swipe Card Reader ACR31 Swipe Card Reader Reference Manual V1.00 Subject to change without prior notice Table of Contents 1.0. Introduction... 3 2.0. Features... 4 3.0. System Block Design... 5 4.0. Hardware Design... 6

More information

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!!

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! Design and implementation details on the way to a valid SPI-LCD interface driver Slides 3 to 13 are old versions of

More information

Announcements! P1 part 1 due next Tuesday P1 part 2 due next Friday

Announcements! P1 part 1 due next Tuesday P1 part 2 due next Friday Announcements! P1 part 1 due next Tuesday P1 part 2 due next Friday 1 Finite-state machines CS 536 Last time! A compiler is a recognizer of language S (Source) a translator from S to T (Target) a program

More information

AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision )

AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision ) AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision 8-27-08) Changes from Version 9.2 1. The communication baud rate is raised to 9600. 2. Testing with

More information

BHD-8000 Access Control Keypad and Card Reader. Wiring Diagram

BHD-8000 Access Control Keypad and Card Reader. Wiring Diagram BHD-8000 Access Control Keypad and Card Reader Wiring Diagram Frontal View Main Technical Specifications Item Operating Voltage Unlock Relay Operating Temperature Value 12VDC+12%/1.2A 12VDC/2A Normal Operation:

More information

ECE 354 Computer Systems Lab II. Interrupts, Strings, and Busses

ECE 354 Computer Systems Lab II. Interrupts, Strings, and Busses ECE 354 Computer Systems Lab II Interrupts, Strings, and Busses Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system

More information

Lab 9: On-Board Time Generation and Interrupts

Lab 9: On-Board Time Generation and Interrupts Lab 9: On-Board Time Generation and Interrupts Summary: Develop a program and hardware interface that will utilize externally triggered interrupts and the onboard timer functions of the 68HC12. Learning

More information

An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal)

An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal) An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal) OR A Software-generated CALL (internally derived from the execution of an instruction or by some other internal

More information

Lab Overview. Lab Details. ECEN 4613/5613 Embedded System Design Week #7 Spring 2005 Lab #4 2/23/2005

Lab Overview. Lab Details. ECEN 4613/5613 Embedded System Design Week #7 Spring 2005 Lab #4 2/23/2005 ECEN 4613/5613 Embedded System Design Week #7 Spring 2005 Lab #4 2/23/2005 Lab Overview In this lab assignment, you will do the following: Add a serial EEPROM and an LCD to the hardware developed in Labs

More information

Laboratory Finite State Machines and Serial Communication

Laboratory Finite State Machines and Serial Communication Laboratory 11 11. Finite State Machines and Serial Communication 11.1. Objectives Study, design, implement and test Finite State Machines Serial Communication Familiarize the students with Xilinx ISE WebPack

More information

The 8255A: Programmable Peripheral Interface

The 8255A: Programmable Peripheral Interface CMP:885 Peripherals Summary- EE39: Computer Organization, rchitecture and MicroProcessors http://www.ee.iitb.ac.in/ sumantra/courses/up/up.html The 855: Programmable Peripheral Interface PROGRMMER S VIEW

More information

Embedded Systems and Software

Embedded Systems and Software Embedded Systems and Software Serial Communication Serial Communication, Slide 1 Lab 5 Administrative Students should start working on this LCD issues Caution on using Reset Line on AVR Project Posted

More information

CREATING PANEL APPLICATIONS

CREATING PANEL APPLICATIONS CREATING PANEL APPLICATIONS 3.1. Setting up the Panel Application... 1 3.1.1. General Settings...2 3.1.2. Custom Settings...5 3.1.3. Activating Multiple Overlapped Buttons by One Touch...7 3.1.4. Specifying

More information

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O

ELEC 3040/3050 Lab 5. Matrix Keypad Interface Using Parallel I/O ELEC 3040/3050 Lab 5 Matrix Keypad Interface Using Parallel I/O Goals of this lab exercise Control a real device with the microcontroller Coordinate parallel I/O ports to control and access a device Implement

More information

Y. Rekhter T.J. Watson Research Center, IBM Corp. June 1989

Y. Rekhter T.J. Watson Research Center, IBM Corp. June 1989 Network Working Group Request for Comments: 1105 K. Lougheed cisco Systems Y. Rekhter T.J. Watson Research Center, IBM Corp. June 1989 A Border Gateway Protocol (BGP) Status of this Memo This RFC outlines

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

MSRW-206 Manual Swipe Magnetic Card Reader/Writer Encoder High Coercivity / Low Coercivity Dual Mode

MSRW-206 Manual Swipe Magnetic Card Reader/Writer Encoder High Coercivity / Low Coercivity Dual Mode MSRW-206 Manual Swipe Magnetic Card Reader/Writer Encoder High Coercivity / Low Coercivity Dual Mode PROGRAM MANUAL VERSION 1.1.5 August 18 th, 2007 1 INDEX 1. Introduction 2. Packing List 3. Technical

More information

Reading: Davies , 8.3-4, , MSP430x55xx User's Guide Ch. 5,17

Reading: Davies , 8.3-4, , MSP430x55xx User's Guide Ch. 5,17 ECE2049 Homework #3 Clocks & Timers (Due Tuesday 9/19/17 At the BEGINNING of class) Your homework should be neat and professional looking. You will loose points if your HW is not properly submitted (by

More information

Serial I-O for Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai (version 14/10/07)

Serial I-O for Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai (version 14/10/07) Serial I-O for 8051 Dinesh K. Sharma Electrical Engineering Department I.I.T. Bombay Mumbai 400 076 (version 14/10/07) 1 Motivation Serial communications means sending data a single bit at a time. But

More information

Integra32 Release Notes. 2 Automatic Road, Suite 108 Brampton, Ontario Canada L6S 6K IRC Downgrade firmware 100+ to version 78.

Integra32 Release Notes. 2 Automatic Road, Suite 108 Brampton, Ontario Canada L6S 6K IRC Downgrade firmware 100+ to version 78. Integra32 Release Notes 2 Automatic Road, Suite 108 Brampton, Ontario Canada L6S 6K8 Firmware Access Control Software Firmware Panel Comments 3.0-3.4 7.x-9.9 IRC2000-2 IRC2000-3 URC2000 does not work with

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #29 Arrays in C (Refer Slide Time: 00:08) This session will learn about arrays in C. Now, what is the word array

More information

2 IDS LCD Keypad User Manual C Issued March 2009

2 IDS LCD Keypad User Manual C Issued March 2009 2 3 4 Contents 1. Introduction to the IDS LCD Digital Keypad...8 2. Arming the Control Panel...8 2.1 Away Arming...8 2.1.1 How to Away Arm...8 2.1.2 Quick Away Arm Shortcut Key...8 2.2 Stay Arming...9

More information

INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2)

INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2) INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: MICROSOFT POWERPOINT (Part 2) Adding a Text Box 1. Select Insert on the menu bar and click on Text Box. Notice that the cursor changes shape. 2. Draw the

More information

ARM: Microcontroller Touch-switch Design & Test (Part 1)

ARM: Microcontroller Touch-switch Design & Test (Part 1) ARM: Microcontroller Touch-switch Design & Test (Part 1) 2 nd Year Electronics Lab IMPERIAL COLLEGE LONDON v2.00 Table of Contents Equipment... 2 Aims... 2 Objectives... 2 Recommended Timetable... 2 Introduction

More information

Chapter 10. case studies in sequential logic design

Chapter 10. case studies in sequential logic design Chapter. case studies in sequential logic design This is the last chapter of this course. So far, we have designed several sequential systems. What is the general procedure? The most difficult part would

More information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information