ECE 362 Lab Verification / Evaluation Form Experiment 3
|
|
- Kimberly Park
- 6 years ago
- Views:
Transcription
1 ECE 362 Lab Verification / Evaluation Form Experiment 3 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab perior. All work for this experiment must be demonstrated and verified by your lab instructor before the end of your scheduled lab period. STEP DESCRIPTION MAX SCORE 4.0 Prelab Questions Digital Outputs Digital Inputs A Simple Embedded System 5 TOTAL 25 Signature of Evaluator: Student Name: Class #: - Signature: Date: Page 1 of 11
2 1.0 Introduction Experiment 3: Embedded Hardware Over the past few lab sessions, students have learned about the microcontroller assembly language of the STM32F0, reading and writing simple segments of assembly code for performing functions. But microcontrollers are more than glorified simulation devices, and the purview of embedded programming is more than simple logical abstractions! In this experiment, students will learn how to use microcontroller I/O, the inputs and outputs, to sense and actuate devices in the world outside the chip. 2.0 Objectives 1. Flash an LED using STM32F0 outputs 2. Investigate button presses using STM32F0 inputs 3. Create a simple GPIO-based LED flasher 3.0 Equipment and Software 1. Standard ECE362 Software Toolchain (Installation instructions available in Experiment 0: Getting Started) 2. STM32F0-DISCOVERY development board (For procurement instructions, see Experiment 0: Getting Started) 4.0 Prelab 4.1 Read section 5 of this document for background information 4.2 Which document contains detailed descriptions of the registers used to configure I/O for the course microcontroller? Which section? 4.3 Which document contains specific implementation details for the course microcontroller, including device pinouts and electrical characteristics? 4.4 For general purpose I/O, what are the voltage limits of a microcontroller pin? How much current is the microcontroller able to sink (or source) over a single I/O pin? What is the maximum current rating for the entire device? 4.5 Which document contains details about the development board used by the course, including electrical schematics? 4.6 Which microcontroller pins are connected to the user output LEDs (LD3 and LD4) on the course development board? Which pin is connected to the user pushbutton (B1)? 4.7 Describe, in pseudocode, the series of steps needed to configure the I/O on the course microcontroller to interface to the user pushbutton (B1) and the user output LEDS (LD3 and LD4). Page 2 of 11
3 Be sure to include which registers need to be written, their addresses, and what values need to be written to these registers. 5.0 Background 5.1 Cores, Microcontrollers, Development Boards, and Beyond For some ECE students, ECE362 in general (and this lab in particular) provides a student with their first experience with programmable embedded hardware. Embedded systems can be modeled as hierarchical designs composed of multiple levels, or layers of abstraction. With this in mind, it is useful at this point to take a step back and look at the embedded systems used in this course from the viewpoint of some of its layers of abstraction The Processor Core At the lowest level of the hardware hierarchy lies the processor, or core of the microcontroller. The processor is a collection of hardware whose function is to execute instructions written for it in a programming language (at the processor level, instructions are in the form of machine code; various software tools are used to convert from the assembly, C, and other programming languages to machine code). The processor core is the focus of the previous experiments of this course. For ECE362, the course microcontroller uses an ARM Cortex-M0 as its processor core The Microcontroller An engine is a useful mechanical module, capable of generating output power and torque. On its own, an engine does not perform useful work; it is only by wrapping the engine in a frame, adding wheels and other components to create a car, a complete mechanical system capable of performing tasks. In a similar fashion, various hardware subsystems and modules (memory, debugging circuitry, peripherals, I/O) are wrapped around the processor core to create the basic computing system known as the microcontroller. At the time of this writing, ECE362 uses the STM32F051R8T6 microcontroller, made by STMicroelectronics. This experiment will require students to interface to hardware modules outside of the Cortex-M0 processor core The Circuit Board A microcontroller is a computing system, with all of the modules and systems capable of performing useful computational work. That said, microcontrollers are seldom used as standalone devices. They are usually interfaced with various other electronic devices, including sensors, input devices (buttons, switches, knobs, levers, etc.), output devices (LEDs, LCDs, speakers, etc.), and more. Connections to these devices are usually done on a copper clad substrate material, the circuit board. At the time of this writing, ECE362 experiments use the STM32F0DISCOVERY development board for experiments. Putting the whole picture together, the ECE362 hardware model looks something like that shown in the figure below: Page 3 of 11
4 5.2 Reset and Clock Control (RCC) Fig. 1. Course Embedded Hardware Overview Power conservation is one of the major objectives of ARM Cortex-series chips, and the STM32F0 series devices are no exception. To this end, many of the microcontroller's onboard systems are disabled (i.e. not provided a clocking signal) until such time as the clock is enabled to a given system in software. For STM32F0 devices, all GPIO interfaces are unclocked until such time as a clock signal is enabled to them. This is handled through a microcontroller system known as Reset and Clock Control, or RCC. RCC is described in detail in section 7 of the STM32F0x1 Family Reference manual, provided on the course website. Clock enable signals for the STM32F0 GPIO peripherals are provided in the AHB peripheral clock enable register, RCC_AHBENR. Writing a 1 to the corresponding I/O port clock enable bit will enable the clocking signal for the port. This is a necessary step in GPIO port configuration and should be the first step in the GPIO configuration process for a given port. 5.3 Microcontroller Inputs and Outputs Every microcontroller features a number of pins. Some pins have specialized functions, including providing the internal microcontroller circuitry with power and ground (supply pins), programming the device or providing debugging features (programming pins), and providing the microcontroller with clocking signals from external sources (clocking pins). The remaining pins on a given microcontroller are capable of taking on a wide variety of functions. One of the most basic of these functions, is what is referred to as general purpose input/output (GPIO). The circuitry associated with providing GPIO to a given group, or bank, of pins is referred to as a GPIO port. Page 4 of 11
5 A GPIO pin (hereafter simply referred to as GPIO), is a pin which provides a simple digital input or output. A functional diagram for an STM32F0 GPIO port is shown in figure 2, below: Fig. 2. GPIO Functional Diagram From figure 2, it can be seen that GPIO ports control a number of important functions. A more thorough explanation of the STM32F0 microcontroller being used in this course (and other microcontrollers within the same device family) is given in the GPIO section of the STM32F0x1 Family Reference datasheet, given on the course website. Major GPIO functionality and associated registers are described below: Direction: Direction involves specifying the flow of data through a given GPIO; each pin is able to be configured as either an input or output. Direction is controlled via the GPIOx_MODER register (x indicates which port is being chosen). Four choices are available: input, output, alternate function (AF), or analog. Drive Type: Drive type can be thought of as how strongly a pin is being driven. Drive type is controlled by the GPIOx_OTYPER register. Two options are available: open drain (a transistor is connected to the logic low voltage, useful for connecting to large numbers of logical gates together with a pull-up resistor) or push-pull (transistors are connected to the logic low and high voltages, useful for 'strongly' driving a given I/O pin). Speed: Depending on the application, a GPIO can be configured as a high-speed input or output. This is controlled by the GPIOx_SPEEDR register. Pull-up/Pull-down: Many GPIO connections will be used to interface to other logic. In these applications situations may arrive where no circuitry is driving a given line or bus; the line is said to be floating. Floating lines can behave unpredictably; one solution is to use pull-up Page 5 of 11
6 or pull-down resistors. These are high-valued resistors which provide a very low current path to Vdd or Ground. When a line is left floating, the resistors pull the floating line to a supply rail (Vdd or Ground). Pull-up resistors are controlled via the GPIOx_PUPDR register. In addition to these GPIO configuration features and registers, there are 3 additional functions and registers for GPIO that are worthy of consideration: Input Data Register: If a given GPIO port pin has been configured as a digital input, there needs to be a place in software where the value on the digital input is stored and available for use by the processor. This place is the GPIOx_IDR register. The lower 16 bits of this register are readonly bits containing the input values of the GPIO pins for a given port. Output Data Register: Once a given GPIO port pin has been configured as a digital output, the output value of that pin can be controlled in software. This is done through the GPIOx_ODR register. The lower 16 bits of this register can be read or written to by software. Writing a 0 or 1 to one of the bits in the GPIOx_ODR register outputs a logic 0 or 1 on the corresponding GPIO port pin. Port Bit Set/Reset Register: Configuring GPIO port output values using the GPIOx_ODR register works out acceptably in many situations. At the assembly level, however, when an individual pin needs to be set or cleared (reset), the following sequence of operations must be followed: Read in value of GPIOx_ODR regster Perform a logical AND or OR of the register with a given bit mask Write the new value back to the GPIOx_ODR register This requires 3 assembly instructions to perform. In applications where high-speed toggling of GPIO pins is required, or in situations where frequent interrupts are a possibility, this 3-step read-modify-write process may not be acceptable. For these contingencies, STM provides the GPIO port bit set/reset (GPIOx_BSRR) registers, which allow for atomic bit set and reset. Atomic means that the whole process occurs in one indivisible step; once one of the reset (bits 31:16) or set (bits 15:0) of this register have been modified, the set or reset of the associated ODR bit occurs quickly and automatically, and cannot be interrupted by software. 5.4 Example: ARM Cortex M0 Registers Given all of the registers described in the previous sections, an important implementation detail arises: how are these registers accessed by software to manipulate GPIO and other peripherals? The answer to this question lies in two important pieces of documentation: the memory map and the peripheral register documentation. The memory map is a piece of documentation which details where in memory allocations are made for various microcontroller systems. The memory map for the STM32F0 microcontroller used in ECE362 is detailed in section 2.2 (Memory Organization) of the STM32F0x1 Family Reference manual. A portion of the memory map is shown below: Page 6 of 11
7 Fig. 3. Partial STM32F0 Memory Map Address locations and sector sizes within memory for various microcontroller systems are described in the memory map. Suppose, for example, that we wish to configure the clocking interface for one of the GPIO ports (GPIOB). As detailed in section 5.2, that functionality falls under the domain of the RCC. From the memory map, we can see that 1kB of memory space, starting at address 0x , is reserved for the RCC. Once the microcontroller system of interest is known, the documentation for that system is further described within its own section in the device Family Reference Manual. For the RCC, this is described in section 7 of the manual. Going to that section provides abundant notes and information about the system, its configuration and usage. Section 7.4 (RCC Registers) provides a complete listing of the various registers used in configuration and operation of the RCC. The documentation for the register of interest (RCC_AHBENR) is provided below: Page 7 of 11
8 Fig. 4. Register Documentation Example This register entry is rife with useful content. Starting from the top, the register's address offset (0x14) within the RCC's memory space is provided. Next, the initial value of the register following system reset is detailed. If there are any special caveats to accessing the register, they are provided in the Access section. Special notes are given following that. The meat of the register documentation follows, with a full breakdown of all 32 bits of the register, along with names of the bits and whether they can be read, written, or both by software. Following the table are descriptions of every bit in the register and their functions. Putting all of this together, some pseudocode for configuring the clock to GPIOB is provided below: Page 8 of 11
9 Constant: RCC, #0x Constant: AHBENR, #0x14 1. Load register A with RCC memory address 2. Load register B with AHBENR memory address offset //RCC peripheral starting memory address //AHBENR register address offset from starting address 3. Load register C with value of register RCC_AHBENR (located at address RCC + AHBENR) 4. Load register D with a bitmask containing the bits that need to be set (or cleared) in register C 5. Perform logical operation (logical OR for bit sets, logical AND for bit clears) between registers C and D, store result to register C 6. Store modified value of RCC_AHBENR (register C) to memory location of register RCC_AHBENR (located at address pointed to by register A + register B) 6.0 Experiment 6.1 Digital Outputs Based on the information contained in section 5 and the pseudocode written in the prelab exercises, create a code segment which performs the function described below. Demonstrate the completed code segment to your TA. Description: Write a piece of code which configures the microcontroller pin corresponding to LD4 (blue LED) on the STM32F0 discovery board as a standard digital output. Once configured, output a logic 1 on this pin, lighting up the blue LED. Useful Assembly Instructions and Directives: (See ARMv6-M Architecture Manual for details).equ (Used by GNU assembler to define constants) LDR (literal) LDR (register) ORR (register) STR (register) Other Hints: When debugging your code, in addition to knowing the values of the various processor registers, it will be helpful to be able to examine the values of the various peripheral registers utilized by the microcontroller. For this purpose, consult the I/O Registers tab in the Monitor window. This tab provides a hierarchical listing of all of the various peripherals utilized by the microcontroller and their sub-registers. By default their values are not shown; double clicking on a given entry will cause the debugger to track the values of that entry and its lower elements. Use this to confirm that the various registers you are writing to are taking on the values which you expect. An example of this is shown in figure 5, below: Page 9 of 11
10 Fig. 5. I/O Registers View 6.2 Digital Inputs Based on the information contained in section 5 and the pseudocode written in the prelab exercises, create a code segment which performs the function described below. Demonstrate the completed code segment to your TA. Description: Write a piece of code which configures the microcontroller pin corresponding to B1 (the blue button) as a standard digital input. When running, the GPIOx_IDR bit corresponding to your button pin should change value when the button is pressed (see the I/O registers view). Useful Assembly Instructions and Directives: (See ARMv6-M Architecture Manual for details).equ (Used by GNU assembler to define constants) LDR (literal) LDR (register) ORR (register) STR (register) Other Hints: Consult the circuit diagram for the STM32F0 discovery board, noting the implementation Page 10 of 11
11 of button B1. What value does PA0 expect when the button is not pressed? When the button is pressed? 6.3 A Simple Embedded System Combining the knowledge of lab sections 6.1 and 6.2, create a code segment which performs the function described below. Demonstrate the completed code segment to your TA. Description: Write a piece of code which configures the microcontroller pins for B1 (blue button) as a standard digital input, and LD3 and LD4 (the blue and green LEDs) as standard digital outputs. Once done, your code segment should activate the blue LED when button B1 is not pressed (green LED should not be lit). When button B1 is pressed, the blue LED should be turned off and the green LED should be turned on. Useful Assembly Instructions and Directives: (See ARMv6-M Architecture Manual for details) B Other Hints: This code segment requires conditional execution with the branch command to work properly. See section A6.3 (Conditional Execution) of the ARMv6-M Architecture Manual for additional information regarding conditional execution and how it is used. 7.0 Sources Cited [1] Understanding the STM32F0's GPIO part 1. [Online] Available: gpio-tutorial-part-1.html Page 11 of 11
ECE 362 Experiment 3: General Purpose I/O
ECE 362 Experiment 3: General Purpose I/O 1.0 Introduction In this experiment, you will learn how to attach simple input devices (pushbuttons) and simple output devices (LEDs) to an STM32 development board.
More informationECE 362 Lab Verification / Evaluation Form Experiment 5
ECE 362 Lab Verification / Evaluation Form Experiment 5 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab perior. All work for this experiment must be demonstrated and
More informationGeneral Purpose I/O ARM University Program Copyright ARM Ltd
General Purpose I/O 1 Overview How do we make a program light up LEDs in response to a switch? GPIO Basic Concepts Port Circuitry Control Registers Accessing Hardware Registers in C Clocking and Muxing
More informationECE 362 Experiment 4: Interrupts
ECE 362 Experiment 4: Interrupts 1.0 Introduction Microprocessors consistently follow a straight sequence of instructions, and you have likely only worked with this kind of programming until now. In this
More informationSTM32 MICROCONTROLLER
STM32 MICROCONTROLLER Lecture 2 Prof. Yasser Mostafa Kadah Harvard and von Neumann Architectures Harvard Architecture a type of computer architecture where the instructions (program code) and data are
More informationARM Cortex M3 & General Purpose Input/Output (GPIO)
ARM Cortex M3 & General Purpose Input/Output (GPIO) ผศ.ดร.ส ร นทร ก ตต ธรก ล และ อ.สรย ทธ กลมกล อม ภาคว ชาว ศวกรรมคอมพ วเตอร คณะว ศวกรรมศาสตร สถาบ นเทคโนโลย พระจอมเกล าเจ าค ณทหารลาดกระบ ง STM32F10x &
More informationLab #4: GPIOs in Assembly Language Week of 18 February 2019
ECE271: Microcomputer Architecture and Applications University of Maine Lab #4: GPIOs in Assembly Language Week of 18 February 2019 Goals 1. Learn Thumb-2 Assembly Language Pre-lab 1. Complete the pre-lab
More informationDigital Input and Output
1 Digital Input and Output Module Syllabus Digital Input and Output Voltages and Logic Values GPIO Controller Using Pointer to Access GPIO Define Data Structure for Peripherals Digital IO Examples Using
More informationHello, and welcome to this presentation of the STM32 general-purpose IO interface. It covers the general-purpose input and output interface and how
Hello, and welcome to this presentation of the STM32 general-purpose IO interface. It covers the general-purpose input and output interface and how it allows connectivity to the environment around the
More informationDeveloping and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller
Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller ELCE 3040/3050 Lab Session 2 (write-up on course web page) Important References (on course web page): Tutorial: C programming
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 informationELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller
LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller The objective of this laboratory session is to become more familiar with the process for creating, executing and
More informationSTM32: Peripherals. Alberto Bosio November 29, Univeristé de Montpellier
STM32: Peripherals Alberto Bosio bosio@lirmm.fr Univeristé de Montpellier November 29, 2017 System Architecture 2 System Architecture S0: I-bus: This bus connects the Instruction bus of the Cortex-M4 core
More informationHello, and welcome to this presentation of the STM32 Touch Sensing Controller (TSC) which enables the designer to simply add touch sensing
Hello, and welcome to this presentation of the STM32 Touch Sensing Controller (TSC) which enables the designer to simply add touch sensing functionality to any application. 1 Over recent years, Touch Sensing
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 informationLocktronics PICmicro getting started guide
Page 2 getting started guide What you need to follow this course 2 Using the built-in programs 3 Create your own programs 4 Using Flowcode - your first program 5 A second program 7 A third program 8 Other
More informationParallel I/O and Keyboard Scanning
4 4.1 Objectives: Microprocessors can monitor the outside world using input ports. They can also control it using output ports. The TM4C123G (Tiva) performs I/O using 6 ports. Computer keyboards are typically
More informationUsing the Special Function Registers of the Digital I/O interface of STM32
Using the Special Function Registers of the Digital I/O interface of STM32 ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it
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 informationLab #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 informationOUTLINE. STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and Pipelining Cortex-M0 Programming Model Toolchain and Project Structure
ARCHITECTURE AND PROGRAMMING George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners OUTLINE STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and
More informationUsing the Special Function Registers of the Digital I/O interface of STM32
Using the Special Function Registers of the Digital I/O interface of STM32 ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it
More informationECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O
ECE2049-E17 Lecture 4 1 ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O Administrivia Homework 1: Due today by 7pm o Either place in box in ECE office or give to me o Office hours tonight!
More informationEMBEDDED SYSTEMS COURSE CURRICULUM
On a Mission to Transform Talent EMBEDDED SYSTEMS COURSE CURRICULUM Table of Contents Module 1: Basic Electronics and PCB Software Overview (Duration: 1 Week)...2 Module 2: Embedded C Programming (Duration:
More informationEECE 2411/2211-Introduction to Electrical and Computer Engineering Lab. Lab 3
EECE 2411/2211-Introduction to Electrical and Computer Engineering Lab Lab 3 Building Multi-Gate Logic Circuits Introduction: In this lab we will look at combining the simple logic gates we used in the
More informationFinite State Machine Lab
Finite State Machine Module: Lab Procedures Goal: The goal of this experiment is to reinforce state machine concepts by having students design and implement a state machine using simple chips and a protoboard.
More informationP-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery Data brief. Features. Description
STM32 Nucleo pack for USB Type-C and Power Delivery Data brief Features Two DRP USB Type-C receptacles USB 2.0 FS data communication interface as peripheral V BUS load and discharge switches V CONN switches
More informationCSCE 312 Lab manual. Instructor: Dr. Ki HwanYum. Prepared by. Dr. Rabi Mahapatra. Suneil Mohan & Amitava Biswas. Fall 2016
CSCE 312 Lab manual Lab-3 - Sequential logic design Instructor: Dr. Ki HwanYum Prepared by Dr. Rabi Mahapatra. Suneil Mohan & Amitava Biswas Fall 2016 Department of Computer Science & Engineering Texas
More informationINDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD
MODULE-1 C Programming Language Introduction to C Objectives of C Applications of C Relational and logical operators Bit wise operators The assignment statement Intermixing of data types type conversion
More informationAll information, including contact information, is available on our web site Feel free also to explore our alternative products.
_ V1.3 POD Hardware Reference Zilog Z180 POD rev. C Ordering code IC81012-20 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should any
More informationNXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session. Sergio Scaglia (NXP Semiconductors) August 2012
NXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session Sergio Scaglia (NXP Semiconductors) August 2012 Agenda NXP Microcontroller Portfolio Cortex M0 LPC1100L Family Support/Resources
More informationCSC 258 lab notes, Fall 2003
CSC 258 lab notes, Fall 2003 Instructor: E. R. C. Hehner Lab demonstrators: Nicolas Kokkalis, Andrés Lagar Cavilla Successful completion of the three graded labs in this course involves a significant amount
More informationCOMP2121 Experiment 4
COMP2121 Experiment 4 1. Objectives In this lab, you will learn AVR programming on Parallel input/output; Some typical input/output devices; and Interrupts 2. Preparation Before coming to the laboratory,
More informationAll information, including contact information, is available on our web site Feel free also to explore our alternative products.
_ V1.1 POD Hardware Reference Intel 80186 EA POD POD rev. D Ordering code IC20011-1 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should
More informationHYDRA-X23/X23S. Power Application Controllers. PAC HYDRA-X User s Guide. Copyright 2014 Active-Semi, Inc.
HYDRA-X23/X23S Power Application Controllers PAC5223 - HYDRA-X User s Guide www.active-semi.com Copyright 2014 Active-Semi, Inc. CONTENTS Contents...2 Overview...3 HYDRA-X23/X23S Body Resources...5 Header
More informationSTM32F3 Hands-On Workshop
STM32F3 Hands-On Workshop Ensure you picked-up Welcome Hands-On 2 USB Flash Drive with STM32F3 Discovery Kit Contents USB Cable STM32F3-Discovery Kit will be provided after software is loaded Keil uvision
More informationEngr 355 Embedded Systems Design. mbed and LPC11U24 Overview. Dr. Curtis Nelson* *Original lecture written by Tim Kyle ARM
Engr 355 Embedded Systems Design mbed and LPC11U24 Overview Dr. Curtis Nelson* *Original lecture written by Tim Kyle ARM Produces 32-bit processor core designs Licenses cores to fabrication companies (Freescale,
More informationLaboratory Exercise 4
Laboratory Exercise Input/Output in an Embedded System The purpose of this exercise is to investigate the use of devices that provide input and output capabilities for a processor. There are two basic
More informationLaboratory: Introduction to Mechatronics. Instructor TA: Edgar Martinez Soberanes Lab 1.
Laboratory: Introduction to Mechatronics Instructor TA: Edgar Martinez Soberanes (eem370@mail.usask.ca) 2017-01-12 Lab 1. Introduction Lab Sessions Lab 1. Introduction to the equipment and tools to be
More informationEE251: Thursday September 20
EE251: Thursday September 20 Parallel I/O aka General Purpose I/O aka GPIO Common Devices: Switches, LEDs, Keypads Read Lab 4 carefully, and Chapter 14 in text Think about what you would like to review
More informationSTM32 F0 Value Line. Entry-level MCUs
STM32 F0 Value Line Entry-level MCUs Key Messages 2 STM32 F0: Is the Cortex -M0 core generated with ST s STM32 DNA, for cost sensitive designs. The STM32 F0 is benefiting of STM32 DNA, providing the essential
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 informationCOMPUTER ENGINEERING PROGRAM
COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 169 Experiment 1 Introduction to Basic Logic and the Digilent Development Board Learning Objectives 1. CPE 169 Hardware and Software
More informationSTM32F100RB processor GPIO notes rev 2
STM32F100RB processor GPIO notes rev 2 ST Microelectronics company ARM based processors are considered microcontrollers because in addition to the CPU and memory they include timer functions and extensive
More informationFiO Lite Datasheet FEATURES SAMPLE APPLICATIONS. FiO Lite
FiO Lite Datasheet FEATURES Built-in RapidSTM native-support bootloader. ARM -bits Cortex TM M Processor (STMF0R) - 0MIPS maximum speed - 0 KBytes SRAM - 5 GPIO - channels -bit, µs ADC - USART, SPI, I
More informationREQUIRED MATERIALS Epiphany-DAQ board Wire Jumpers Switch LED Resistors Breadboard Multimeter (if needed)
Page 1/6 Lab 1: Intro to Microcontroller Development, 06-Jan-16 OBJECTIVES This lab will introduce you to the concept of developing with a microcontroller while focusing on the use of General Purpose Input/Output
More informationUSB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on the STUSB1602
P-NUCLEO-USB002 Data brief USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on the STUSB1602 Features 32-bit ARM Cortex -M0-based microcontroller STM32F072RB with 128
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 informationECE383: Microcomputers Lab 2 PIC24 System Schematic Creation in PCB Artist
ECE383: Microcomputers Lab 2 PIC24 System Schematic Creation in PCB Artist Goals: The goals of this lab are to introduce students to the creation of a partial PIC24-based schematic and printed circuit
More informationP-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery. Features. Description
STM32 Nucleo pack for USB Type-C and Power Delivery Data brief Features Two DRP USB Type-C receptacles USB 2.0 full-speed data communication interface as peripheral V BUS load and discharge switches V
More informationE85 Lab 8: Assembly Language
E85 Lab 8: Assembly Language E85 Spring 2016 Due: 4/6/16 Overview: This lab is focused on assembly programming. Assembly language serves as a bridge between the machine code we will need to understand
More informationRenesas 78K/78K0R/RL78 Family In-Circuit Emulation
_ Technical Notes V9.12.225 Renesas 78K/78K0R/RL78 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document
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 information_ V1.3. Motorola 68HC11 AE/AS POD rev. F. POD Hardware Reference
_ V1.3 POD Hardware Reference Motorola 68HC11 AE/AS POD rev. F Ordering code IC81049 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should
More informationMicrobee Technology FTM-3SE
Microbee Technology FTM-3SE Freescale Tower System Compatible Field Programmable Gate Array Module TWR-K70 Demo Quick Start Guide The flexibility that programmable logic brings to hardware design has now
More informationEmbedded Systems Laboratory Manual ARM 9 TDMI
Embedded Systems Laboratory Manual ARM 9 TDMI 1. Laboratory Rules a) Laboratory assessment: Presence during the laboratory is mandatory. One time unexcused absence is allowed within the semester. Students
More informationNEC 78K0- Family On-Chip Emulation
_ Technical Notes V9.9.86 NEC 78K0- Family On-Chip Emulation Contents Contents... 1 1 Introduction... 2 2 Emulation options... 3 2.1 Hardware Options... 3 3 CPU Setup... 6 3.1 General Options... 6 3.2
More informationFreescale Semiconductor Inc. Microcontroller Solutions Group. FRDM-KL46Z User s Manual FRDM-KL46Z-UM Rev. 1.0
Freescale Semiconductor Inc. Microcontroller Solutions Group FRDM-KL46Z User s Manual FRDM-KL46Z-UM Rev. 1.0 Table of Contents 1 FRDM-KL46Z Overview... 3 2 References documents... 3 3 Getting started...
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 informationUSB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on STUSB1602. Description
USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on STUSB1602 Data brief Specifications USB type-c cable and connector spec. (rev 1.2) USB Power Delivery spec. (rev 2.0)
More informationBasic Input/Output Operations
Basic Input/Output Operations Posted on May 9, 2008, by Ibrahim KAMAL, in Micro-controllers, tagged In this third part of the 89s52 tutorial, we are going to study the basic structure and configuration
More informationAN4311 Application note
Application note Assessing STM32L1 Series current consumption Introduction The STMicroelectronics ARM Cortex -M3 based STM32L1 series uses ST s proprietary ultra-low-leakage process technology with an
More informationMercury Baseboard Reference Manual
Mercury Baseboard Reference Manual www.micro-nova.com OVERVIEW The Baseboard is a great addition to the Mercury Module, providing a host of on-board components that can be used to design and test a wide
More information_ V1.1. Motorola 6809 B POD rev. C. POD Hardware Reference
_ V1.1 POD Hardware Reference Motorola 6809 B POD rev. C Ordering code IC81060 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should
More informationECE 372 Microcontroller Design
!! "! E.g. Port A, Port B "! Used to interface with many devices!! Switches!! LEDs!! LCD!! Keypads!! Relays!! Stepper Motors "! Interface with digital IO requires us to connect the devices correctly and
More informationI Introduction to Real-time Applications By Prawat Nagvajara
Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and
More informationUSB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter
C8051F38X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F38x Development Kit contains the following items: C8051F380 Target Board C8051Fxxx Development Kit Quick-start Guide Silicon Laboratories
More informationP&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA
P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA TEL: (617) 353-9206 FAX: (617) 353-9205 http://www.pemicro.com USB-ML-MON08 Rev D Technical Summary Document # PE3357, Version 1.01
More informationLab 4: Digital Electronics BMEn 2151 Introductory Medical Device Prototyping Prof. Steven S. Saliterman
Lab 4: Digital Electronics BMEn 2151 Introductory Medical Device Prototyping Prof. Steven S. Saliterman Exercise 4-1: Familiarization with Lab Box Contents & Reference Books 4-1-1 CMOS Cookbook (In the
More informationGEORGIA INSTITUTE OF TECHNOLOGY School of Electrical and Computer Engineering ECE 2020 Fall 2017 Lab #1: Digital Logic Module
GEORGIA INSTITUTE OF TECHNOLOGY School of Electrical and Computer Engineering ECE 2020 Fall 2017 Lab #1: Digital Logic Module GOAL To introduce the physical implementation of digital logic circuits including
More informationCOMPUTER ENGINEERING PROGRAM
COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 169 Experiment 1 Introduction to Basic Logic and the Digilent Development Board Learning Objectives 1. CPE 169 Hardware and Software
More informationAutomation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack
Automation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack Course Syllabus: Chapter# Topic Covered Duration MODULE 1 INTRO TO EMBEDDED SYSTEMS 2-1
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 informationPCB-STM32-F3U. Development baseboard for the STMicro Discovery-F3 module (STMicro part# STM32F3DISCOVERY)
PCB-STM32-F3U Development baseboard for the STMicro Discovery-F3 module (STMicro part# STM32F3DISCOVERY) Part Number: PCB-STM32-F3U (unpopulated PCB with Discovery module sockets, no other parts) STM32-F3U
More informationGetting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05
Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop Version 1.05 Agenda Introduction to ARM Cortex Cortex -M4F M4F and Peripherals Code Composer Studio Introduction to StellarisWare, I iti
More informationFigure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick
TOOLSTICK UNIVERSITY DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent
More informationIntroduction to the SX Microcontroller
CSUS EEE174 Lab Introduction to the SX Microcontroller 599 Menlo Drive, Suite 100 Rocklin, California 95765, USA Office/Tech Support: (916) 624-8333 Fax: (916) 624-8003 Author: Andrew Lindsay / Dennis
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 informationHYDRA-X10. Power Application Controllers TM. PAC HYDRA-X User s Guide. Copyright 2014 Active-Semi, Inc.
HYDRA-X10 Power Application Controllers TM PAC5210 - HYDRA-X User s Guide www.active-semi.com Copyright 2014 Active-Semi, Inc. CONTENTS Contents...2 Overview...3 HYDRA-X10 Body Resources...5 Header Descriptions...5
More informationThe Freescale MC908JL16 Microcontroller
Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory The Freescale MC908JL16 Microcontroller by Allan G. Weber 1 Introduction The Freescale MC908JL16 (also called
More informationARM Cortex core microcontrollers 3. Cortex-M0, M4, M7
ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 Trends of 32-bit microcontrollers
More informationInput/Output Programming
Input/Output Programming Chapter 3: Section 3.1, 3.2 Input and output (I/O) programming Communicating with I/O devices Busy-wait I/O Interrupt-driven I/O I/O devices Devices may include digital and non-digital
More informationUniversität Dortmund. ARM Architecture
ARM Architecture The RISC Philosophy Original RISC design (e.g. MIPS) aims for high performance through o reduced number of instruction classes o large general-purpose register set o load-store architecture
More informationComputer Hardware Requirements for Real-Time Applications
Lecture (4) Computer Hardware Requirements for Real-Time Applications Prof. Kasim M. Al-Aubidy Computer Engineering Department Philadelphia University Real-Time Systems, Prof. Kasim Al-Aubidy 1 Lecture
More informationLecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT
1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug
More informationModule 003: Introduction to the Arduino/RedBoard
Name/NetID: Points: /5 Module 003: Introduction to the Arduino/RedBoard Module Outline In this module you will be introduced to the microcontroller board included in your kit. You bought either An Arduino
More informationPUSH BUTTON. Revision Class. Instructor / Professor LICENSE
CME-11E9 EVBU LAB EXPERIMENT PUSH BUTTON Revision 04.02.11 Class Instructor / Professor LICENSE You may use, copy, modify and distribute this document freely as long as you include this license and the
More information_ V1.2. Motorola 68HC08 JL POD rev. D1. POD Hardware Reference
_ V1.2 POD Hardware Reference Motorola 68HC08 JL POD rev. D1 Ordering code IC20075 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should
More informationPart Number: PCB-STM32-F4B1 (unpopulated PCB with Discovery module sockets, no other parts) STM32-F4B1 (assembled board, not presently available)
PCB-STM32-F4B1 Development baseboard for the STMicro Discovery-F4 module (STMicro part# STM32F4DISCOVERY) PCB Rev 1.00 shown. PCB Rev 1.20 has on-board RS232 drivers. Part Number: PCB-STM32-F4B1 (unpopulated
More informationLab3: I/O Port Expansion
Page 1/5 Revision 2 6-Oct-15 OBJECTIVES Explore and understand the implementation of memory-mapped I/O. Add an 8-bit input port and an 8-bit output port. REQUIRED MATERIALS EEL 3744 (upad and upad Proto
More informationL2 - C language for Embedded MCUs
Formation C language for Embedded MCUs: Learning how to program a Microcontroller (especially the Cortex-M based ones) - Programmation: Langages L2 - C language for Embedded MCUs Learning how to program
More informationOperational Amplifiers: Temperature-Controlled Fan
SECTION FOUR Operational Amplifiers: Temperature-Controlled Fan 2006 Oregon State University ECE 322 Manual Page 45 SECTION OVERVIEW In this section, you will resume the task of building your power supply.
More information09/05/2014. Engaging electronics for the new D&T curriculum. Geoff Hampson Managing Director of Kitronik. Presentation overview
Presentation overview Engaging electronics for the new D&T curriculum Geoff Hampson Managing Director of Kitronik What to include Free web resources Electronic project ideas Using programmable components
More informationTimers and Pulse Accumulator
7 7.1 Objectives: Tiva is equipped with six General Purpose Timer Modules named TIMERn. Additionally, each TIMERn consists of two 16 bit timers (A and B). Most GPIO pins can be assigned a TIMERn as an
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 informationSTM32 Ecosystem workshop. T.O.M.A.S Team
STM32 Ecosystem workshop T.O.M.A.S Team 2 Now it is a right time for some slides We will present briefly what is STM32CubeMX and the structure of the Cube library What it is STM32CubeMX? STM32CubeMX application
More information_ V ST STM8 Family On-Chip Emulation. Contents. Technical Notes
_ V9.12. 225 Technical Notes ST STM8 Family On-Chip Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge
More informationHello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory.
Hello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory. 1 STM32F7 microcontrollers embed up to 2 Mbytes of Flash memory.
More informationLab3: I/O Port Expansion
Page 1/6 Revision 0 26-Jan-16 OBJECTIVES Explore and understand the implementation of memory-mapped I/O. Add an 8-bit input port and an 8-bit output port. REQUIRED MATERIALS EEL 3744 (upad and upad Proto
More informationProduct Overview -A 16 bit Micro Experimenter for Solderless Breadboards
Product Overview -A 16 bit Micro Experimenter for Solderless Breadboards 1.0 Introduction The 16 Bit Micro Experimenter is an innovative solderless breadboard kit solution developed by a Microchip Academic
More information