General Purpose Input Output GPIO ECE 699: Lecture 4.

Slides:



Advertisements
Similar presentations
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Advertisements

Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
PROGRAMMABLE PERIPHERAL INTERFACE -8255
OUTPUT INTERFACE – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati.
COMP3221: Microprocessors and Embedded Systems Lecture 17: Computer Buses and Parallel Input/Output (I) Lecturer: Hui.
I/O Unit.
ECE 699: Lecture 4 Interrupts AXI GPIO and AXI Timer.
General Purpose Input Output GPIO ECE 699: Lecture 3.
ECE 699: Lecture 1 Introduction to Zynq.
Configurable System-on-Chip: Xilinx EDK
Coordinate Based Tracking System
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Chapter 7 Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats.
Lab4 Writing Basic Software Applications Lab: MicroBlaze.
Lab5 Advanced Software Writing Lab : MicroBlaze. for EDK 6.3i1 Objectives Utilize the OPB timer. Assign an interrupt handler to the OBP timer. Develop.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
Cortex-M3 Debugging System
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
Project – Video manipulator (based on Zed Board) Final presentation
Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng.
LPC2148 Programming Using BLUEBOARD
3-1 Digital I/O A group of I/O pins is called a PORT  A port is where data enters/leaves the system. Digital I/O pins are usually grouped into 8,16 or.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
ECS642U Embedded Systems Digital I/O William Marsh.
I/O Interfacing A lot of handshaking is required between the CPU and most I/O devices. All I/O devices operate asynchronously with respect to the CPU.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
ECS642U Embedded Systems Cyclic Execution and Polling William Marsh.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
ECE 424 Embedded Systems Design Lecture 5: Platform Architecture Ning Weng.
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Survey of Reconfigurable Logic Technologies
بسم الله الرحمن الرحيم MEMORY AND I/O.
Embedded Systems Design with Qsys and Altera Monitor Program
Final Presentation Hardware DLL Real Time Partial Reconfiguration Management of FPGA by OS Submitters:Alon ReznikAnton Vainer Supervisors:Ina RivkinOz.
ECE 699: Lecture 6 AXI Interfacing Using DMA & AXI4-Stream.
Design with Vivado IP Integrator
Tutorial 9 Module 8 – 8.1,8.2,8.3. Question 1 Distinguish between vectored and non-vectored interrupts with an example Build a hardware circuit that can.
ECE 699: Lecture 2 Introduction to Zynq.
Zynq Book Tutorials II. Zynq Processor System - GPIO. The xgpiops.h header file is shown on the Outline pane. All #define statements (Macro definitions)
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
Maj Jeffrey Falkinburg Room 2E46E
Computer System Structures
CS4101 嵌入式系統概論 General Purpose IO
I/O Systems.
TI ARM I/O Programming Chapter 2
Integrated Logic Analyzer
Refer to Chapter 10 in the reference book
CS4101 嵌入式系統概論 General Purpose IO
ENG3050 Embedded Reconfigurable Computing Systems
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
Overview of Embedded SoC Systems
The Arduino Microcontroller: Atmel AVR Atmega 328
Introduction to Microprocessors and Microcontrollers
STM Arm I/O Programming
FPro Bus Protocol and MMIO Slot Specification
Introducing the PIC Mid-Range Family and the 16F84A
Lab4 Writing Basic Software Applications Lab: MicroBlaze
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. An-Yeu Wu 吳安宇教授
Presentation transcript:

General Purpose Input Output GPIO ECE 699: Lecture 4

Required Reading Chapter 2: The Zynq Device (“What is it?) The ZYNQ Book Tutorial 1: First Designs on ZYNQ The ZYNQ Book Tutorials Section 13: Basic I/O ZYBO Reference Manual LogiCORE IP AXI GPIO Product Specification LogiCORE IP AXI GPIO v2.0 Product Guide

ZYBO Board Source: ZYBO Reference Manual

ZYBO Board Components Source: ZYBO Reference Manual

Source: The Zynq Book Tutorials

ZYBO General Purpose Input Output (GPIO) Source: ZYBO Reference Manual

Mapping of an Embedded SoC Hardware Architecture to Zynq Source: Xilinx White Paper: Extensible Processing Platform

Mapping of an Embedded SoC Hardware Architecture to Zynq Source: The Zynq Book

A Simplified Model of the Zynq Architecture Source: The Zynq Book

Source: The Zynq Book Tutorials

ZYBO Board Source: ZYBO Reference Manual

ZYBO Board Components Source: ZYBO Reference Manual

The Zynq Processing System Source: The Zynq Book

Simplified Block Diagram of the Application Processing Unit (APU) Source: The Zynq Book

AXI GPIO Features Configurable single or dual GPIO channel(s) Each channel configurable to have from 1 to 32 bits Dynamic programming of each GPIO bit as input or output Individual configuration of each channel Independent reset values for each bit of all registers Optional interrupt request generation AXI4-Lite interface to Processing System

Block Diagram of AXI GPIO IPIC – IP Interconnect interface enabled only when the C_INTERRUPT_PRESENT generic set to 1 Source: LogiCORE IP AXI GPIO: Product Specification

GPIO Core Source: LogiCORE IP AXI GPIO: Product Specification

GPIO Core Parameters

Setting GPIO Core Parameters in Vivado

GPIO_DATA and GPIO2_DATA Registers Source: LogiCORE IP AXI GPIO: Product Specification

GPIO_TRI and GPIO2_TRI Registers Source: LogiCORE IP AXI GPIO: Product Specification

C_HIGHADDR – C_BASEADDR ≥ 0xFFF AXI GPIO System Parameters Source: LogiCORE IP AXI GPIO: Product Specification

Addresses of AXI GPIO Registers

Address Editor in Vivado

AXI Interconnects and Interfaces Source: The Zynq Book

/* Definitions for driver GPIO */ #define XPAR_XGPIO_NUM_INSTANCES 1 /* Definitions for peripheral AXI_GPIO_0 */ #define XPAR_AXI_GPIO_0_BASEADDR 0x #define XPAR_AXI_GPIO_0_HIGHADDR 0x4120FFFF #define XPAR_AXI_GPIO_0_DEVICE_ID 0 #define XPAR_AXI_GPIO_0_INTERRUPT_PRESENT 0 #define XPAR_AXI_GPIO_0_IS_DUAL 0 xparameters.h

/* Include Files */ #include "xparameters.h" #include "xgpio.h" #include "xstatus.h" #include "xil_printf.h" /* Definitions */ #define GPIO_DEVICE_ID XPAR_AXI_GPIO_0_DEVICE_ID /* GPIO device that LEDs are connected to */ #define LED 0x03/* Initial LED value */ #define LED_DELAY /* Software delay length */ #define LED_CHANNEL 1/* GPIO port for LEDs */ #define printf xil_printf/* smaller, optimized printf */ C Program (1)

XGpio Gpio;/* GPIO Device driver instance */ int LEDOutputExample(void) { volatile int Delay; int Status; int led = LED; /* Hold current LED value. Initialize to LED definition */ /* GPIO driver initialization */ Status = XGpio_Initialize(&Gpio, GPIO_DEVICE_ID); if (Status != XST_SUCCESS) { return XST_FAILURE; } /*Set the direction for the LEDs to output. */ XGpio_SetDataDirection(&Gpio, LED_CHANNEL, 0x00); C Program (2)

/* Loop forever blinking the LED. */ while (1) { /* Write output to the LEDs. */ XGpio_DiscreteWrite(&Gpio, LED_CHANNEL, led); /* Flip LEDs. */ led = ~led; /* Wait a small amount of time so that the LED blinking is visible. */ for (Delay = 0; Delay < LED_DELAY; Delay++); } return XST_SUCCESS; /* Ideally unreachable */ } C Program (3)

/* Main function. */ int main(void){ int Status; /* Execute the LED output. */ Status = LEDOutputExample(); if (Status != XST_SUCCESS) { xil_printf("GPIO output to the LEDs failed!\r\n"); } return 0; } C Program (4)

Source: LogiCORE IP AXI GPIO: Product Specification