THANGJAM105/MAPLD1 EFFICIENT FPGA IMPLEMENTATION OF PWM CORE.

Slides:



Advertisements
Similar presentations
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Advertisements

More fun with Timer/Counters
Programmable Interval Timer
Storey: Electrical & Electronic Systems © Pearson Education Limited 2004 OHT 10.1 Sequential Logic  Introduction  Bistables  Memory Registers  Shift.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Motor Control Lab Using Altera Nano FPGA
Chapter 10 – Digital System Projects Using HDL Copyright © 2011, 2007, 2004, 2001, 1998 by Pearson Education, Inc. Upper Saddle River, New Jersey
Counter Circuits and VHDL State Machines
Design of a Control Workstation for Controller Algorithm Testing Aaron Mahaffey Dave Tastsides Dr. Dempsey.
Class AB - Protection A short circuit output causes the current demand to rise beyond the design limit. In practice, it rises just far enough to destroy.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
COMP3221: Microprocessors and Embedded Systems Lecture 20: Analog Output Lecturer: Hui Wu Session 2, 2004.
DC-DC Converters Convert a fixed DC Source into a Variable DC Source
CS370 Counters. Overview °Counter: A register that goes through a prescribed series of states °Counters are important components in computers. °Counters.
Department of Electrical Engineering Southern Taiwan University of Science and Technology Robot and Servo Drive Lab. 2015/7/2 Digital Control Strategy.
Electronic Instrumentation 1 Experiment 7 Digital Logic Devices and the 555 Timer Part A: Basic Logic Gates Part B: Flip Flops Part C: Counters Part D:
Pulse Width Modulation Professor: Dr. Miguel Alonso Jr.
Pulse Width Modulation (PWM) LED Dimmer Circuit
LECTURE 9 INTRO TO POWER ELECTRONICS
Pulse Width Modulation (PWM) LED Dimmer Circuit
Introduction to Counter in VHDL
Digital Fundamentals Floyd Chapter 1 Tenth Edition
Flip Flop
ECE-L304 Lecture 6 Review of Step 5 Introduction to Step 6 and 7 Final Lecture Quiz Next Week.
8254 Programmable Interval Timer
7/23 Timers in Coldfire Processor Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
PIT: Programmable Interval Timer
8254 Counter/Timer Counter Each of the three counter has 3 pins associated CLK: input clock frequency- 8 MHz OUT GATE: Enable (high) or disable.
Timers ELEC 330 Digital Systems Engineering Dr. Ron Hayne
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
PIT Programming Examples Working with the modes of PIT.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals with PLD Programming.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
By: Khalid Hawari Muath Nijim Thaer shaikh Ibrahim Supervisor: Dr. Jamal Kharousheh Dr. Nasser Hamad 27 December 2010.
PWM Circuit Based on the 555 Timer. Introduction In applications LED Brightness Control we may want to vary voltage given to it. Most often we use a variable.
Floyd, Digital Fundamentals, 10 th ed Slide 1 Digital Fundamentals Tenth Edition Floyd © 2008 Pearson Education Chapter 1.
Astable Multivibrators ©Paul Godin Created February 2007 Modified March 2015 Oscillator Basics Technician Series.
CCP MODULES  The CCP module (Capture/Compare/PWM) is a peripheral which allows the user to time and control different events.  Capture Mode provides.
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
CHAPTER-2 Fundamentals of Digital Logic. Digital Logic Digital electronic circuits are used to build computer hardware as well as other products (digital.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
8254 Timer.
ECE VHDL Microprocessor Design Final Student Project August 14 th, 2012 Emily Kan Erik Lee Edward Jones.
Floyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd © 2008 Pearson Education Chapter 1.
Sequential logic circuits
Microcontroller Applications ELEC 421 Dr. Ron Hayne Images Courtesy of Ramesh Gaonkar and Delmar Learning.
Counters and Registers Synchronous Counters. 7-7 Synchronous Down and Up/Down Counters  In the previous lecture, we’ve learned how synchronous counters.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights Reserved Floyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
ECE VHDL Microprocessor Design Final Student Project August 14 th, 2012 Emily Kan Erik Lee Edward Jones.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Teaching Digital Logic courses with Altera Technology
In practice, it is often required to make or break an electric al circuit in many operations. In some applications, it is desirable that this make and.
PULSE WIDITH MODULATION EE 587 Presented by Viswanadha Kakarlapudi.
Guide Presented by Mr.M Cheenya V.Abhinav Kumar 11E31A0422 Asst.Professor K.Shiva Kumar 11E31A0423 K.Rajashekhar 11E31A0424 K.Chaithanya Sree 11E31A0428.
BLDC Motor Speed Control with RPM Display. Introduction BLDC Motor Speed Control with RPM Display  The main objective of this.
Istituto Tecnico Industriale A.Monaco EURLAB Moving a robot simple example program to control a DC-Motor Next - Press the button (left)
Pulse-Width Modulation: Simulating variable DC output
Copyright ©2009 by Pearson Higher Education, Inc. Upper Saddle River, New Jersey All rights reserved. Digital Fundamentals, Tenth Edition Thomas.
EKT124 Digital Electronics 1 Introduction to Digital Electronics
Timers and Event Counters
An FPGA Implementation of a Brushless DC Motor Speed Controller
Digital Fundamentals Floyd Chapter 1 Digital concepts Tenth Edition
Programmable Interval Timer
Programmable Interval Timer
Programmable Interval Timer 8254 LECTURE 3
Pulse Width Modulation (PWM)
Programmable Interval timer 8253 / 8254
Programmable Interval timer 8253 / 8254
Digital Fundamentals Floyd Chapter 1 Tenth Edition
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Presentation transcript:

THANGJAM105/MAPLD1 EFFICIENT FPGA IMPLEMENTATION OF PWM CORE

THANGJAM105/MAPLD2 INTRODUCTION Two undeniable trends pervade today's semiconductor design industry: -shrinking process geometries -the increasing adoption of system-on-a-chip (IP) blocks As semiconductors increase in density, growing trend toward moving complete systems from the board level to the chip level.

THANGJAM105/MAPLD3 Shrinking design cycle times are putting pressure on system designers to use existing chips and differentiate their products at the system level. Virtually impossible for a single design team to create completely new intellectual property (IP) with each chip. Greater focus on design reuse, where IP from earlier designs is utilized and reused in later designs.

THANGJAM105/MAPLD4 IP, EDA and Library vendors design various sophisticated IP cores to fulfill application- specific needs. Each IP core needs silicon technology support to ensure that the IP core is reusable and verified. The integrated-circuit industry is entering a system-on-chip era in which IP cores will be the key to enhancing design productivity and meeting the product road map.

THANGJAM105/MAPLD5 The following sections describe the implementation of a Pulse Width Modulation (PWM) core on a Xilinx 4003E FPGA using CAD tool WorkView Office from Synopsis. The core is designed to operate at a clock frequency of 4Mhz. The PWM core developed can be used in many diverse and complex applications like robotics, motor and motion control, microprocessor- controlled data acquisition system etc.

THANGJAM105/MAPLD6 FUNCTIONAL DESCRIPTION A PWM circuit works by making a pulsating DC square wave with a variable on-to-off ratio. The average on time may be varied from 0 to 100 percent. The widths of the pulses are proportional to the input signal. When the signal is small, a series of narrow pulses is generated. When the signal is large, a series of wide pulses is generated.

THANGJAM105/MAPLD7 In many of the applications, the single bit digital output is subject to a low-pass filter that results in an analog output level. The output level is the analog equivalent of the digital PWM’s duty-cycle.

THANGJAM105/MAPLD8 Functional Block Diagram

THANGJAM105/MAPLD9 Basic principle: a register to store the value which is loaded on to the Up/Down Counter whenever the counter reaches its terminal count. The terminal counter is used to generate the pulse width modulation.

THANGJAM105/MAPLD10 A data register: to store the value for the counter. Value determines the pulse width. The Up/Down Counter: loaded with a new value from the data register when the counter reaches its terminal count. Toggle Flip-flop generates the PWM output

THANGJAM105/MAPLD11 When data value is first loaded, counter counts down from data value to 0. Terminal count and PWM signals are Low. When counter goes through 0 transition, terminal count is generated. Triggers Toggle Flip-flop to drive PWM signal High. Data value is re-loaded and counting proceeds up to maximum value. Terminal count generated again when counter reaches its maximum value. Drives PWM signal to toggle from High to Low. Data value is re-loaded and cycle repeats.

THANGJAM105/MAPLD12 Direction of counter controlled by PWM signal: counter is set to count down when PWM is Low, and count up when PWM is High. Terminal count controls data value loaded to counter from data register. Data is loaded when terminal count is High. Duty cycle of the PWM signal is controlled by data value loaded to the up/down counter. Higher the data value, higher the duty cycle.

THANGJAM105/MAPLD13 Sample PWM Output Waveform Mark Period Frame Period Data Value*Tclock 2 n *Tclock

THANGJAM105/MAPLD14 Duty Cycle = Mark Period/Frame Period = Data Value/2 n Mark Period = Data value*Tclock Frame Period=Tclock*2 n For a 16-bit PWM core, n=16 and an on-board 4Mhz clock gives the value of the Tclock=250nsec. Mark Period = ( Data Value *250nsec ) Frame Period = 250nsec*2 16 Duty cycle = (Data value/2 16 )

THANGJAM105/MAPLD15 Data Values for different Duty Cycles Data valueDuty Cycles(%)

THANGJAM105/MAPLD16 IMPLEMENTATION OF THE PWM CORE The functional description of the PWM core was synthesized using VHDL model and simulated using Fusion, the WorkView Office simulator The simulation results are displayed in the form of waveforms using Vwaves display tool.

THANGJAM105/MAPLD17 Simulation Waveforms for 50% DutyCycle

THANGJAM105/MAPLD18 The VHDL model was implemented on XC4003E and optimized for area. The data value is loaded by the user using switches connected to the input pins of the XC4003E. The optimized implementation was found to consume 33 flip-flops on the CLBs, i.e., 16% of the total available flip-flops. Implementation results also indicate a maximum working frequency of Mhz. The PWM output is taken out on one of the output pins of the XC4003E and can be observed on an oscilloscope.

THANGJAM105/MAPLD19 CONCLUSION A resource efficient implementation of a PWM core on FPGAs has been studied. The choice of the device depends upon the complexity of the system to be designed. Finding cores with the appropriate functionality, quality level and support can be quite challenging. So, the core can also be made available as part of an SOC platform and used in those applications where PWM is essential. The designed PWM core can be used in many applications like motor and motion control, microprocessor-controlled data acquisition system so that a complete SOC can be designed