Peripheral Link Driver for ADSP In Embedded Control Application
|
|
- Lisa Montgomery
- 5 years ago
- Views:
Transcription
1 Peripheral Link Driver for ADSP In Embedded Control Application Hany Ferdinando Jurusan Teknik Elektro Universitas Kristen Petra Siwalankerto Surabaya Phone: , fax: Abstract Link driver concept proposed by Hilderink is very useful for embedded control application. The reason lies on the fact that one can use the same program in different platform by changing hardware dependent part only. This feature is in the Communicating Threads (CT) Library developed by Control Engineering group, University of Twente, the Netherlands. Therefore, it is necessary to write link drivers for all peripheral in a microcontroller. This paper discusses the implementation of peripheral link drivers for ADSP-21992, 16-bit fixed point DSP from Analog Devices, Inc. The chosen perihperals are Analog to Digital Converter (ADC), Auxiliary Pulse Width Modulation (AuxPWM) and Encoder Interfaace Unit (EIU). For the experiments, these link drivers are applied in controlling the speed of a DC motor with PID controller. The experiments show that using link driver concept, one can build embedded control application easily. Introduction Hilderink proposed separation of hardware dependent and hardware independent in the Communicating Threads (CT) Library [1]. This library is developed by Control Engineering group, University of Twente, the Netherlands. Hardware dependent part consists of two parts, i.e. context switch and link driver. Context switch relates to processor s architecture while the link driver relates to processor s peripherals. This idea is very useful for embedded application, when one wants to use the same program in different platform. One does not need to write the program from the beginning. He only writes the context switch and link driver for the new processors. Therefore, it is necessary for designer to have such a library of all link drivers for microcontroller. This library will help him to develop an embedded application fast. This paper only discusses the implementation of link driver for peripherals in the ADSP The context switch is not discussed here since it is different from the link driver. The ADSP is 16-bit fixed point DSP from Analog Devices, Inc. The link drivers are built for Analog to Digital Converter (ADC), Auxiliary Pulse Width Modulation (AuxPWM) and Encoder Interface Unit (EIU). The implementation uses C language in the VisualDSP environment with object-oriented approach. The CT Library is explained first as the main idea of this implementation. The implementation of object-oriented approach in C language is also discussed briefly. The ADSP as the microcontroller is explained to give a general overview for new user. Three peripherals and their link driver implementation are written separately in order to give detailed explanation how to build them. To try these link drivers for real
2 application, a DC motor is used with PID controller algorithm. This paper is ended with conclusion and recommendation from the implementation and experiments. The CT Library Communicating Sequential Process (CSP) as a formal algebra is very useful to analyze deadlock, livelock and starvation in the program. This concept is proposed by Hoare in 1980s [2]. The CSP programming concept is implemented in the occam programming. The target device is microprocessor, called transputer. When the transputer disappeared from the market. Several occam-like libraries are developed [3,4]. These new libraries are made in the popular programming language such as Java, C and C++. Inside the CT Library, Hilderink proposed separation between hardware dependent and hardware independent part of the program. Hardware independent part is program which does not have relation with hardware at all, e.g. mathematics calculation, bit manipulation, etc. The hardware dependent part consists of context switch and link driver. The context switch relates to processor s architecture, while the link driver relates to processor s peripherals. Therefore, a processor has one context switch and several link drivers, it depends on the number of peripheral on that processor. To move one program from one processor to another, one only changes the hardware dependent part. This is interesting since in the embedded application one can use different processor in one system. Object-oriented in C Language The C language does not support the object-oriented programming. Therefore, Hilderink mimics the behavior of this programming in C [5]. The main idea is to allocate space in memory for an object and clear that memory space when the object is not used anymore. The constructor and destructor must be called manually by the programmer. The object orientation in C only allows single inheritance. The ADSP The ADSP is 16-bit fixed point DSP from Analog Devices, Inc [6]. This chip can be driven with clock up to 160 Mhz, with single cycle per instruction. Several useful peripherals are on chip, i.e. Analog to Digital Converter (ADC), Digital to Analog Converter (DAC), Timer, Encoder Interface Unit (EIU), Auxiliary Pulse Width Modulation (AuxPWM), Digital I/O flag, Serial PORT (SPORT), Control Area Network (CAN) Controller, Serial Port Interface (SPI). Therefore, this processor is powerful not only for Digital Signal Processor (DSP) application but also for general-purpose application. The ADSP comes with an evaluation board called ADSP EZ- KIT LITE. This evaluation board is equipped with VisualDSP++ environment to write, to download and to debug the program. There is USB cable to connect the EZ-KIT LITE with PC. This experiments is carried out with the VisualDSP The EZ-KIT LITE is driver with 16 MHz clock. To use clock higher than 16 MHz, one must use software frequency multiplier. Link Driver To write a link driver for specific peripheral, one must follow the rule as written in the comment part of the link driver class (abstract) in the CT library. The main rule is derived user s link driver from that abstract class. One has to call his user s link driver from link driver class.
3 There are two main method in the link driver class, i.e. read and write. Those methods relates to input and output operation. The directions refer to system s point of view. On the implementation section, this will be explained. The programmer must analyze the peripheral from this I/O point of view. Other methods are isinputready, isoutputready and isexternal. These last three methods only return TRUE. The next step is to study the registers involved in the peripheral s operation. Usually, each peripheral has specific register for the operation. Special location for memory sometimes is also needed. Therefore one should understand the operation inside the processor clearly. The last step is to determine whether there is synchronization or not. The synchronization can use semaphore concept, proposed by Dijkstra [7]. ADCLinkDriver Implementation The output of ADC acts as input for a system. System reads something from ADC. On the other hand, system never gives output for ADC except start conversion command. This is not a value; therefore, ADC has one method only, i.e. read. The ADC in the ADSP is 14-bit ADC and has eight channels. For simplicity, only the simultaneous sampling mode is implemented. The first version of ADCLinkDriver only uses one channel. Before using the ADC, one has to initialize it. This process takes place only once. There are two parameters for setting up the ADC, i.e. clock divider and mode of operation. Last but not least, one has to initialize the interrupt of ADC. Without this interrupt, there is no signal from the ADSP that the conversion is finished. Here is the idea for read method: first, user must give command to ADC to convert its input, then this process is blocked until the ADC interrupt release it. After being released, the process continues by reading the conversion result. Listing 1 shows the complete method for read method. AuxPWMLinkDriver Implementation From the system s point of view, Auxiliary PWM (AuxPWM) receives a value from the system. It means system writes a value to this peripheral. There is no value written by AuxPWM for the system. Therefore, this link driver has only write method. The main idea of Pulse Width Modulation (PWM) is to produce DC voltage by varying the duty cycle of a signal, usually a square wave signal. System only writes a value from 0 to 100. This value indicates the duty cycle of the PWM. The initialization involved in PWM operation is only the frequency of the square wave signal. There is no interrupt in this operation since the AuxPWM unit acts as passive peripheral. AuxPWM uses no synchronization. The implementation is very simple, because system only writes duty cycle value to this peripheral. Listing 2 shows the complete write method in AuxPWMLinkDriver. EIULinkDriver Implementation The Encoder Interface Unit (EIU) receive pulse from encoder. These pulses can be used to estimate the speed of some rotary shaft, to determine the position of some pointer, to estimate the distance between two points, etc. System only reads the result from this peripheral; therefore, from the system s point of view the EIULinkDrive class only has one method, i.e. read. In this experiment, the encoder is used to estimate the speed of a rotary shaft (DC motor). Therefore, the initialization process is
4 to prepare the EIU to estimate the speed of the motor. To estimate the speed of rotary shaft, the EIU loop timer is used. This loop timer gives interrupt pulse every 1ms (user can determine this duration by himself). If there is interrupt from EIU loop timer, the interrupt service routine reads value in the EIU counter and stores it in a buffer. Listing 3 shows the complete program for read method. Implementation and Experiments To test whether those link drivers work well or not, some simple set up should be prepared. The simple plant is the DC motor with PID controller. The main idea is to control the speed of the motor. The block diagram of the system is shown in figure 1. That figure also shows how the link drivers are connected to the plant. The PIDController process reads reference signal or setting point (SP) from channel with ADCLinkDriver and actual speed of the motor or present value (PV) from channel with EIULinkDriver. The result of PID calculation is sent to channel with AuxPWMLinkDriver. Listing 4 shows part of the run method for PIDController process. The goal of the experiments carried out in this paper is to show how simple to use the user s link driver when the system moves from one platform to another one. Therefore the discussion will not go beyond this constraint since the response of the motor depends on the PID controller constants. Figure 2 shows the result of PID controller action to control the speed of the motor to certain setting point. When the PID controller constants are changed the response also changes. DC Motor Response ADCLinkDriver ADSP EIULinkDriver AuxPWMLinkDriver speed (x500 RPM) Ref H-bridge time (ms) Figure 1. Block diagram of the system This project uses CSP programming concept. There are processes, which communicate to each other via channels. There is only one process called PIDController that connects to outside world via three channels. These three channels are for ADC, encoder and PWM. The link drivers used in those channels are ADCLinkDriver, EIULinkDriver and AuxPWMLinkDriver respectively. Discussion Figure 2. Response of the DC motor In listing 4, there is no program relates to the ADSP It is only reading and writing from channels and those channels use link drivers. PIDController process does not care the link driver inside the channel. It only uses the channels directly. When the link driver is changed, the PIDController process only see
5 the channel not the detailed operation inside the channel. This feature is the advantage of using separation between hardware independent and hardware dependent part as proposed by Hilderink. This system can be used in another processor with little modification. The PIDController process remains the same but the link drivers use the link driver for the new processor. The disadvantage of this feature is that the programmer should change the framework of programming style from the old style into CSP style. Conclusions and Recommendations From this experiment, several conclusions can be drawn, i.e.: Separation between hardware independent and hardware dependent part of the program is useful when one wants to move a system from one platform to another. From embedded application point of view, the link driver concept frees user to choose the processor then to write the link driver for its peripherals. This experiment also gives recommendation as follows: It is useful to collect peripheral link drivers for one type of processor as a library. Therefore, for application with that processor, one can use the existing link drivers. The link drivers in this experiment can be developed more complex by adding some feature, e.g. to add selection of operation mode for ADC. Time Distributed Computing ISORC 2000, Newport Beach, CA, USA, [2] Hoare, C. A. R., Communicating Sequential Process, [downloaded from [3] Welch, P. H., Java Threads in the Light of occam/csp, presented at Architecture, Language and Patterns for Parallel and Distributed Applications, WoTUG-21, Amsterdam, 1998 [4] Hilderink, G. H., J. F. Broenink and A. W. P. Bakers, Communicating Threads for Java, presented at Proc 22 nd World Occam and Transputer User Group Technical Meeting, Keele, UK, 1999 [5] Hilderink, G.H. Communicating Thread for C - A White Paper [6] Analog Device Inc., ADSP EZ-KIT LITE Evaluation System Manual, Analog Device, Inc. Digital Signal Processing Division, Noordwood, MA, 2002 [7] Dijkstra E. W., Cooperating Sequential Processes. Programming Languages (F. Genuys, ed.), Academic Press, New York, 1968 Reference: [1] Hilderink, G. H., A. W. P. Bakers and J. F. Broenink, A Distributed Real-time Java System Based on CSP, Proc 3 rd IEEE Int Symp. on Object Oriented Real-
6 Listing 1. ADCLinkDriver::read and its Interrupt Service Routine void ADCLinkDriver read(adclinkdriver me, Object obj,unsigned size){ sysreg_write(sysreg_iopg,adc_page); // set to ADC page io_space_write(adc_softconvst, 1); // start conversion // wait for end of conversion interrupt Processor enteratomic(); Semaphore p(me->sem); Processor exitatomic(); // enter atomic section // wait here // exit atomic section sysreg_write(sysreg_iopg,adc_page); // set to ADC page *(me->buffer) = io_space_read(adc_data1); // read data from ADC register buff. *(int*)obj = *(me->buffer); // put data to the output void ADC0_IRQ(){ unsigned temp; sysreg_write(sysreg_iopg, ADC_Page); io_space_write(adc_stat,0x0100); Semaphore v(semadc); // set to ADC page // clear the interrupt // release the reader Listing 2. AuxPWMLinkDriver::write void AuxPWMLinkDriver write(auxpwmlinkdriver me, Object obj, unsigned size){ unsigned temp; // declare temp variable // only to change duty cycle, no lock and unlock mechanism needed me->buffer = obj; // get the value temp = (unsigned)(*(me->buffer)); // write the value to temp sysreg_write(sysreg_iopg,aux_pwm_page); // set to AuxPWM page io_space_write(aux_cha0,temp); // write the value to register Processor enteratomic(); Processor exitatomic(); // enter atomic section // exit atomic section, will allow // context switch to happen here Listing 3. EIULinkDriver::write and the Interrupt Service Routine for EIU loop timer void EIULinkDriver read(eiulinkdriver me, Object obj,unsigned size){ *(me->buffer) = encoder; // read from buffer *(int*)obj = *(me->buffer); // put the value to the output Processor enteratomic(); // enter atomic section Processor exitatomic(); // exit atomic section void EIU0_Timer(){ sysreg_write(sysreg_iopg, EIU0_Page); // set to EIU page encoder = (unsigned)io_space_read(eiu0_cnt_lo); // store value to buffer io_space_write(eiu0_stat,0x0021); io_space_write(eiu0_cnt_hi,0x0000); io_space_write(eiu0_cnt_lo,0x0000); // clear the interrupt // reset the EIU counter high // reset the EIU counter low
7 Listing 4. Part of run method in the PIDController process me->channel->read(me->channel,sp) me->channel->read(me->channel,pv) me->channel->write(me->channel,action) // PID controller calculation starts // PID controller calculation ends // read from ADC // read from encoder // write to PWM
Training Schedule. Robotic System Design using Arduino Platform
Training Schedule Robotic System Design using Arduino Platform Session - 1 Embedded System Design Basics : Scope : To introduce Embedded Systems hardware design fundamentals to students. Processor Selection
More informationDSP BASED SYSTEM FOR SYNCHRONOUS GENERATOR EXCITATION CONTROLL
DSP BASED SYSTEM FOR SYNCHRONOUS GENERATOR EXCITATION CONTROLL N. Bulic *, M. Miletic ** and I.Erceg *** Faculty of electrical engineering and computing Department of Electric Machines, Drives and Automation,
More informationDASL 120 Introduction to Microcontrollers
DASL 120 Introduction to Microcontrollers Lecture 2 Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to Atmel Atmega328
More informationDesigning with STM32F3x
Designing with STM32F3x Course Description Designing with STM32F3x is a 3 days ST official course. The course provides all necessary theoretical and practical know-how for start developing platforms based
More informationI hope you have completed Part 2 of the Experiment and is ready for Part 3.
I hope you have completed Part 2 of the Experiment and is ready for Part 3. In part 3, you are going to use the FPGA to interface with the external world through a DAC and a ADC on the add-on card. You
More informationHello, and welcome to this presentation of the FlexTimer or FTM module for Kinetis K series MCUs. In this session, you ll learn about the FTM, its
Hello, and welcome to this presentation of the FlexTimer or FTM module for Kinetis K series MCUs. In this session, you ll learn about the FTM, its main features and the application benefits of leveraging
More informationRAPID CONTROL PROTOTYPING FOR ELECTRIC DRIVES
RAPID CONTROL PROTOTYPING FOR ELECTRIC DRIVES Lukáš Pohl Doctoral Degree Programme (2), FEEC BUT E-mail: xpohll01@stud.feec.vutbr.cz Supervised by: Petr Blaha E-mail: blahap@feec.vutbr.cz Abstract: This
More informationIMPROVED DIGITAL SPEED MEASUREMENT METHOD
Preprint of the paper presented on 13 th International Conference on Electrical Drives and Power Electronics 5-7 October 1999, The High Tatras, Slovakia DOIhttp:/dx.doi.org/10.6084/m9.figshare.704804 full
More informationProgramming and Interfacing
AtmelAVR Microcontroller Primer: Programming and Interfacing Second Edition f^r**t>*-**n*c contents Preface xv AtmelAVRArchitecture Overview 1 1.1 ATmegal64 Architecture Overview 1 1.1.1 Reduced Instruction
More informationUtilizing the Trigger Routing Unit for System Level Synchronization
Engineer-to-Engineer Note EE-360 Technical notes on using Analog Devices DSPs, processors and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors
More informationExercise 3: Sound volume robot
ETH Course 40-048-00L: Electronics for Physicists II (Digital) 1: Setup uc tools, introduction : Solder SMD Arduino Nano board 3: Build application around ATmega38P 4: Design your own PCB schematic 5:
More informationIowa State University Electrical and Computer Engineering. E E 452. Electric Machines and Power Electronic Drives
Electrical and Computer Engineering E E 452. Electric Machines and Power Electronic Drives Laboratory #5 Buck Converter Embedded Code Generation Summary In this lab, you will design the control application
More informationCounter/Timers in the Mega8
Counter/Timers in the Mega8 The mega8 incorporates three counter/timer devices. These can: Be used to count the number of events that have occurred (either external or internal) Act as a clock Trigger
More informationMicrocontroller: Timers, ADC
Microcontroller: Timers, ADC Amarjeet Singh February 1, 2013 Logistics Please share the JTAG and USB cables for your assignment Lecture tomorrow by Nipun 2 Revision from last class When servicing an interrupt,
More informationMICROPROCESSOR TECHNICS II
AGH University of Science and Technology Faculty of Computer Science, Electronics and Telecommunication Department of Electronics MICROPROCESSOR TECHNICS II Tutorial 5 Combining ADC & PWM Mariusz Sokołowski
More informationELCT 912: Advanced Embedded Systems
ELCT 912: Advanced Embedded Systems Lecture 5: PIC Peripherals on Chip Dr. Mohamed Abd El Ghany, Department of Electronics and Electrical Engineering The PIC Family: Peripherals Different PICs have different
More informationSpeed Measurement Method for Digital Control System
Preprint of the paper presented on 9 th EPE European Conference on Power Electronics and Applications, 27-29 August 2001 full paper: http://www.epe-association.org/epe/documents.php?current=40 DOI : http://dx.doi.org/10.6084/m9.figshare.730619
More informationArduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K.
Arduino STEAM Academy Arduino STEM Academy Art without Engineering is dreaming. Engineering without Art is calculating. - Steven K. Roberts Page 1 See Appendix A, for Licensing Attribution information
More informationHigh-speed and High-precision Motion Controller
High-speed and High-precision Motion Controller - KSMC - Definition High-Speed Axes move fast Execute the controller ( position/velocity loop, current loop ) at high frequency High-Precision High positioning
More informationTMS320F241 DSP Boards for Power-electronics Applications
TMS320F241 DSP Boards for Power-electronics Applications Kittiphan Techakittiroj, Narong Aphiratsakun, Wuttikorn Threevithayanon and Soemoe Nyun Faculty of Engineering, Assumption University Bangkok, Thailand
More informationSerial Communication AS5132 Rotary Magnetic Position Sensor
Serial Communication AS5132 Rotary Magnetic Position Sensor Stephen Dunn 11/13/2015 The AS5132 is a rotary magnetic position sensor capable of measuring the absolute rotational angle of a magnetic field
More informationUSB4. Encoder Data Acquisition USB Device Page 1 of 8. Description. Features
USB4 Page 1 of 8 The USB4 is a data acquisition device designed to record data from 4 incremental encoders, 8 digital inputs and 4 analog input channels. In addition, the USB4 provides 8 digital outputs
More informationUsing Z8 Encore! XP MCU for RMS Calculation
Application te Using Z8 Encore! XP MCU for RMS Calculation Abstract This application note discusses an algorithm for computing the Root Mean Square (RMS) value of a sinusoidal AC input signal using the
More informationMicro Controller Based Ac Power Controller
Wireless Sensor Network, 9, 2, 61-121 doi:1.4236/wsn.9.112 Published Online July 9 (http://www.scirp.org/journal/wsn/). Micro Controller Based Ac Power Controller S. A. HARI PRASAD 1, B. S. KARIYAPPA 1,
More informationDesign and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier
Design and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier 1 Mr. Gangul M.R PG Student WIT, Solapur 2 Mr. G.P Jain Assistant Professor WIT,
More informationElectric Bike BLDC Hub Motor Control Using the Z8FMC1600 MCU
Application Note Electric Bike BLDC Hub Motor Control Using the Z8FMC1600 MCU AN026002-0608 Abstract This application note describes a controller for a 200 W, 24 V Brushless DC (BLDC) motor used to power
More information3.3V regulator. JA H-bridge. Doc: page 1 of 7
Cerebot Reference Manual Revision: February 9, 2009 Note: This document applies to REV B-E of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The
More informationEmbedded Hardware Design Lab4
Embedded Hardware Design Lab4 Objective: Controlling the speed of dc motor using light sensor (LDR). In this lab, we would want to control the speed of a DC motor with the help of light sensor. This would
More informationADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION
98 Chapter-5 ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION 99 CHAPTER-5 Chapter 5: ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION S.No Name of the Sub-Title Page
More informationMotor Control using NXP s LPC2900
Motor Control using NXP s LPC2900 Agenda LPC2900 Overview and Development tools Control of BLDC Motors using the LPC2900 CPU Load of BLDCM and PMSM Enhancing performance LPC2900 Demo BLDC motor 2 LPC2900
More informationImaging serial interface ROM
Page 1 of 6 ( 3 of 32 ) United States Patent Application 20070024904 Kind Code A1 Baer; Richard L. ; et al. February 1, 2007 Imaging serial interface ROM Abstract Imaging serial interface ROM (ISIROM).
More informationFPGA Implementation of a PID Controller with DC Motor Application
FPGA Implementation of a PID Controller with DC Motor Application Members Paul Leisher Christopher Meyers Advisors Dr. Stewart Dr. Dempsey This project aims to implement a digital PID controller by means
More informationIntroduction To Embedded Systems: Using ANSI C And The Arduino Development Environment (Synthesis Lectures On Digital Circuits And Systems) Ebooks
Introduction To Embedded Systems: Using ANSI C And The Arduino Development Environment (Synthesis Lectures On Digital Circuits And Systems) Ebooks Free Many electrical and computer engineering projects
More informationCastle Creations, INC.
Castle Link Live Communication Protocol Castle Creations, INC. 6-Feb-2012 Version 2.0 Subject to change at any time without notice or warning. Castle Link Live Communication Protocol - Page 1 1) Standard
More informationAN EFFICIENT ALGORITHM FOR THE REMOVAL OF IMPULSE NOISE IN IMAGES USING BLACKFIN PROCESSOR
AN EFFICIENT ALGORITHM FOR THE REMOVAL OF IMPULSE NOISE IN IMAGES USING BLACKFIN PROCESSOR S. Preethi 1, Ms. K. Subhashini 2 1 M.E/Embedded System Technologies, 2 Assistant professor Sri Sai Ram Engineering
More informationTotal Hours Registration through Website or for further details please visit (Refer Upcoming Events Section)
Total Hours 110-150 Registration Q R Code Registration through Website or for further details please visit http://www.rknec.edu/ (Refer Upcoming Events Section) Module 1: Basics of Microprocessor & Microcontroller
More informationA PID Controller for Real-Time DC Motor Speed Control using the C505C Microcontroller
A PID Controller for Real-Time DC Motor Speed Control using the C505C Microcontroller Sukumar Kamalasadan Division of Engineering and Computer Technology University of West Florida, Pensacola, FL, 32513
More informationPreliminary Design Report. Project Title: Search and Destroy
EEL 494 Electrical Engineering Design (Senior Design) Preliminary Design Report 9 April 0 Project Title: Search and Destroy Team Member: Name: Robert Bethea Email: bbethea88@ufl.edu Project Abstract Name:
More informationArduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett
Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Anatomy of a Program Programs written for a microcontroller have a fairly repeatable format. Slight variations exist
More informationLV-Link 3.0 Software Interface for LabVIEW
LV-Link 3.0 Software Interface for LabVIEW LV-Link Software Interface for LabVIEW LV-Link is a library of VIs (Virtual Instruments) that enable LabVIEW programmers to access the data acquisition features
More informationHello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which
Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which behaves like ADC with external analog part and configurable
More informationEVDP610 IXDP610 Digital PWM Controller IC Evaluation Board
IXDP610 Digital PWM Controller IC Evaluation Board General Description The IXDP610 Digital Pulse Width Modulator (DPWM) is a programmable CMOS LSI device, which accepts digital pulse width data from a
More informationUsing the Z8 Encore! XP Timer
Application Note Using the Z8 Encore! XP Timer AN013104-1207 Abstract Zilog s Z8 Encore! XP microcontroller consists of four 16-bit reloadable timers that can be used for timing, event counting or for
More informationAN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY
AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY J. C. Álvarez, J. Lamas, A. J. López, A. Ramil Universidade da Coruña (SPAIN) carlos.alvarez@udc.es, jlamas@udc.es, ana.xesus.lopez@udc.es,
More informationESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab
ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab The purpose of this lab is to learn about sensors and use the ADC module to digitize the sensor signals. You will use the digitized signals
More informationCourse Introduction. Content 20 pages 3 questions. Learning Time 30 minutes
Purpose The intent of this course is to provide you with information about the main features of the S08 Timer/PWM (TPM) interface module and how to configure and use it in common applications. Objectives
More informationFour Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller
Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller Rahul Baranwal 1, Omama Aftab 2, Mrs. Deepti Ojha 3 1,2, B.Tech Final Year (Electronics and Communication Engineering),
More informationReal Time Operating Systems Lecture 29.1
Real Time Operating Systems Lecture 29.1 EE345M Final Exam study guide (Spring 2014): Final is both a closed and open book exam. During the closed book part you can have a pencil, pen and eraser. During
More informationLab 5: Inverted Pendulum PID Control
Lab 5: Inverted Pendulum PID Control In this lab we will be learning about PID (Proportional Integral Derivative) control and using it to keep an inverted pendulum system upright. We chose an inverted
More informationEE 314 Spring 2003 Microprocessor Systems
EE 314 Spring 2003 Microprocessor Systems Laboratory Project #9 Closed Loop Control Overview and Introduction This project will bring together several pieces of software and draw on knowledge gained in
More informationCHAPTER 6 DEVELOPMENT OF A CONTROL ALGORITHM FOR BUCK AND BOOST DC-DC CONVERTERS USING DSP
115 CHAPTER 6 DEVELOPMENT OF A CONTROL ALGORITHM FOR BUCK AND BOOST DC-DC CONVERTERS USING DSP 6.1 INTRODUCTION Digital control of a power converter is becoming more and more common in industry today because
More informationFirmware plugin for STSW-ESC001V1 board with ST Motor Control FOC SDK
User manual Firmware plugin for STSW-ESC001V1 board with ST Motor Control FOC SDK Introduction The STSW-ESC001V1 firmware package for the STEVAL-ESC001V1 board includes the application code to support
More informationDevelopment of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers
Chapter 4 Development of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers 4.1. Introduction Data acquisition and control boards, also known as DAC boards, are used in virtually
More informationRL78 Motor Control. YRMCKITRL78G14 Starter Kit. Renesas Electronics Europe. David Parsons Application Engineering Industrial Business Group.
RL78 Motor Control YRMCKITRL78G14 Starter Kit Renesas Electronics Europe David Parsons Application Engineering Industrial Business Group July 2012 Renesas MCU for 3-phase Motor Control Control Method Brushless
More information32-bit ARM Cortex-M0, Cortex-M3 and Cortex-M4F microcontrollers
-bit ARM Cortex-, Cortex- and Cortex-MF microcontrollers Energy, gas, water and smart metering Alarm and security systems Health and fitness applications Industrial and home automation Smart accessories
More informationArduino Platform Capabilities in Multitasking. environment.
7 th International Scientific Conference Technics and Informatics in Education Faculty of Technical Sciences, Čačak, Serbia, 25-27 th May 2018 Session 3: Engineering Education and Practice UDC: 004.42
More informationLab 5 Timer Module PWM ReadMeFirst
Lab 5 Timer Module PWM ReadMeFirst Lab Folder Content 1) ReadMeFirst 2) Interrupt Vector Table 3) Pin out Summary 4) DriverLib API 5) SineTable Overview In this lab, we are going to use the output hardware
More informationSPI Slave to PWM Generation
April 2011 Introduction Reference Design RD1107 Pulse-width modulation (PWM) uses a rectangular pulse wave whose pulse width is modulated resulting in the variation of the average value of the waveform.
More informationApplication - Power Factor Correction (PFC) with XMC TM. XMC microcontrollers July 2016
Application - Power Factor Correction (PFC) with XMC TM XMC microcontrollers July 2016 Agenda 1 Key features 2 Specification 3 System block diagram 4 Software overview 5 Highlight MCU features 6 CCM PFC
More informationStandard single-purpose processors: Peripherals
3-1 Chapter 3 Standard single-purpose processors: Peripherals 3.1 Introduction A single-purpose processor is a digital system intended to solve a specific computation task. The processor may be a standard
More informationImplementation of Multiquadrant D.C. Drive Using Microcontroller
Implementation of Multiquadrant D.C. Drive Using Microcontroller Author Seema Telang M.Tech. (IV Sem.) Department of Electrical Engineering Shri Ramdeobaba College of Engineering and Management Abstract
More informationSoftware Radio Satellite Terminal: an experimental test-bed
Software Radio Satellite Terminal: an experimental test-bed TD-03 03-005-S L. Bertini,, E. Del Re, L. S. Ronga Software Radio Concept Present Implementations RF SECTION IF SECTION BASEBAND SECTION out
More informationMiniProg Users Guide and Example Projects
MiniProg Users Guide and Example Projects Cypress MicroSystems, Inc. 2700 162 nd Street SW, Building D Lynnwood, WA 98037 Phone: 800.669.0557 Fax: 425.787.4641 1 TABLE OF CONTENTS Introduction to MiniProg...
More informationOBSOLETE. Bus Compatible Digital PWM Controller, IXDP 610 IXDP 610
Bus Compatible Digital PWM Controller, IXDP 610 Description The IXDP610 Digital Pulse Width Modulator (DPWM) is a programmable CMOS LSI device which accepts digital pulse width data from a microprocessor
More informationMulti-Channel High Performance Data Acquisition System and Digital Servo Controller Module
VDSP-31 VXI MODULE Multi-Channel High Performance Data Acquisition System and Digital Servo Controller Module OVERVIEW The VDSP31 is a VXI based, multi-channel data acquisition system and digital servo
More informationGeneral Purpose Controller Software for Controls Lab
General Purpose Controller Software for Controls Lab Andrew J. Blauch School of Engineering Grand Valley State University Abstract Many industrial control compensators are implemented using microcontrollers.
More informationHardware Platforms and Sensors
Hardware Platforms and Sensors Tom Spink Including material adapted from Bjoern Franke and Michael O Boyle Hardware Platform A hardware platform describes the physical components that go to make up a particular
More informationEXPERIMENT 6: Advanced I/O Programming
EXPERIMENT 6: Advanced I/O Programming Objectives: To familiarize students with DC Motor control and Stepper Motor Interfacing. To utilize MikroC and MPLAB for Input Output Interfacing and motor control.
More informationREAL TIME DIGITAL SIGNAL PROCESSING. Introduction
REAL TIME DIGITAL SIGNAL Introduction Why Digital? A brief comparison with analog. PROCESSING Seminario de Electrónica: Sistemas Embebidos Advantages The BIG picture Flexibility. Easily modifiable and
More informationInternational Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering. (An ISO 3297: 2007 Certified Organization)
International Journal of Advanced Research in Electrical, Electronics Device Control Using Intelligent Switch Sreenivas Rao MV *, Basavanna M Associate Professor, Department of Instrumentation Technology,
More informationPWM System. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff
PWM System 1 Pulse Width Modulation (PWM) Pulses are continuously generated which have different widths but the same period between leading edges Duty cycle (% high) controls the average analog voltage
More informationνµθωερτψυιοπασδφγηϕκλζξχϖβνµθωερτ ψυιοπασδφγηϕκλζξχϖβνµθωερτψυιοπα σδφγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκ χϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµθ
θωερτψυιοπασδφγηϕκλζξχϖβνµθωερτψ υιοπασδφγηϕκλζξχϖβνµθωερτψυιοπασδ φγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκλζ ξχϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµ EE 331 Design Project Final Report θωερτψυιοπασδφγηϕκλζξχϖβνµθωερτψ
More informationTriscend E5 Support. Configurable System-on-Chip (CSoC) Triscend Development Tools Update TM
www.keil.com Triscend Development Tools Update TM Triscend E5 Support The Triscend E5 family of Configurable System-on-Chip (CSoC) devices is based on a performance accelerated 8-bit 8051 microcontroller.
More informationDesign of double loop-locked system for brush-less DC motor based on DSP
International Conference on Advanced Electronic Science and Technology (AEST 2016) Design of double loop-locked system for brush-less DC motor based on DSP Yunhong Zheng 1, a 2, Ziqiang Hua and Li Ma 3
More informationDesign of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b
nd International Conference on Machinery, Electronics and Control Simulation (MECS 17) Design of stepper motor position control system based on DSP Guan Fang Liu a, Hua Wei Li b School of Electrical Engineering,
More informationPROGRAMMABLE CONTROL SYSTEM WITH APPLICATIONS IN DIRECT CURRENT MOTORS CONTROL
PROGRAMMABLE CONTROL SYSTEM WTH APPLCATONS N DRECT CURRENT MOTORS CONTROL Andrei COZMA, Dan PTCA Applied Electronics Department, Technical University of Cluj Napoca, Romania E-mail: andrei.cozma@ael.utcluj.ro,
More informationBlackfin Online Learning & Development
Presentation Title: Introduction to VisualDSP++ Tools Presenter Name: Nicole Wright Chapter 1:Introduction 1a:Module Description 1b:CROSSCORE Products Chapter 2: ADSP-BF537 EZ-KIT Lite Configuration 2a:
More informationEmbedded Controls Final Project. Tom Hall EE /07/2011
Embedded Controls Final Project Tom Hall EE 554 12/07/2011 Introduction: The given task was to design a system that: -Uses at least one actuator and one sensor -Determine a controlled variable and suitable
More informationAC Induction Motor (ACIM) Control using a Digital Signal Controller (DSC)
Research Journal of Applied Sciences, Engineering and Technology 4(19): 3740-3745, 2012 ISSN: 2040-7467 Maxwell Scientific Organization, 2012 Submitted: March 07, 2012 Accepted: March 30, 2012 Published:
More informationMICROPROCESSORS A (17.383) Fall Lecture Outline
MICROPROCESSORS A (17.383) Fall 2010 Lecture Outline Class # 07 October 26, 2010 Dohn Bowden 1 Today s Lecture Syllabus review Microcontroller Hardware and/or Interface Finish Analog to Digital Conversion
More informationCHAPTER 4 CONTROL ALGORITHM FOR PROPOSED H-BRIDGE MULTILEVEL INVERTER
65 CHAPTER 4 CONTROL ALGORITHM FOR PROPOSED H-BRIDGE MULTILEVEL INVERTER 4.1 INTRODUCTION Many control strategies are available for the control of IMs. The Direct Torque Control (DTC) is one of the most
More informationUsing an FPGA based system for IEEE 1641 waveform generation
Using an FPGA based system for IEEE 1641 waveform generation Colin Baker EADS Test & Services (UK) Ltd 23 25 Cobham Road Wimborne, Dorset, UK colin.baker@eads-ts.com Ashley Hulme EADS Test Engineering
More informationEE445L Fall 2012 Final Version B Page 1 of 7
EE445L Fall 2012 Final Version B Page 1 of 7 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes on this answer page. When you are done, you turn in
More informationAnalog I/O. ECE 153B Sensor & Peripheral Interface Design Winter 2016
Analog I/O ECE 153B Sensor & Peripheral Interface Design Introduction Anytime we need to monitor or control analog signals with a digital system, we require analogto-digital (ADC) and digital-to-analog
More informationUnit-6 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION
M i c r o p r o c e s s o r s a n d M i c r o c o n t r o l l e r s P a g e 1 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION Microcomputer system design requires
More informationGrundlagen Microcontroller Counter/Timer. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Counter/Timer Günther Gridling Bettina Weiss 1 Counter/Timer Lecture Overview Counter Timer Prescaler Input Capture Output Compare PWM 2 important feature of microcontroller
More informationZKit-51-RD2, 8051 Development Kit
ZKit-51-RD2, 8051 Development Kit User Manual 1.1, June 2011 This work is licensed under the Creative Commons Attribution-Share Alike 2.5 India License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/in/
More informationElectronic Module of Hydraulic Damper Test Bench using ARM Microcontroller Interfacing in LabVIEW
International Journal of Scientific & Engineering Research Volume 4, Issue 1, January-2013 1 Electronic Module of Hydraulic Damper Test Bench using ARM Microcontroller Interfacing in LabVIEW Hare Ram Jha,
More informationMICROCONTROLLER TUTORIAL II TIMERS
MICROCONTROLLER TUTORIAL II TIMERS WHAT IS A TIMER? We use timers every day - the simplest one can be found on your wrist A simple clock will time the seconds, minutes and hours elapsed in a given day
More informationRX23T inverter ref. kit
RX23T inverter ref. kit Deep Dive October 2015 YROTATE-IT-RX23T kit content Page 2 YROTATE-IT-RX23T kit: 3-ph. Brushless Motor Specs Page 3 Motors & driving methods supported Brushless DC Permanent Magnet
More informationECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative
ECE 477 Digital Systems Senior Design Project Rev 8/09 Homework 5: Theory of Operation and Hardware Design Narrative Team Code Name: _ATV Group No. 3 Team Member Completing This Homework: Sebastian Hening
More informationThe Development and Application of High Compression Ratio Methanol Engine ECU
National Conference on Information Technology and Computer Science (CITCS 2012) The Development and Application of High Compression Ratio Methanol Engine ECU Hong Bin, 15922184696 hongbinlqyun@163.com
More informationGA A23281 EXTENDING DIII D NEUTRAL BEAM MODULATED OPERATIONS WITH A CAMAC BASED TOTAL ON TIME INTERLOCK
GA A23281 EXTENDING DIII D NEUTRAL BEAM MODULATED OPERATIONS WITH A CAMAC BASED TOTAL ON TIME INTERLOCK by D.S. BAGGEST, J.D. BROESCH, and J.C. PHILLIPS NOVEMBER 1999 DISCLAIMER This report was prepared
More informationMD04-24Volt 20Amp H Bridge Motor Drive
MD04-24Volt 20Amp H Bridge Motor Drive Overview The MD04 is a medium power motor driver, designed to supply power beyond that of any of the low power single chip H-Bridges that exist. Main features are
More informationUnit level 5 Credit value 15. Introduction. Learning Outcomes
Unit 46: Unit code Embedded Systems A/615/1514 Unit level 5 Credit value 15 Introduction An embedded system is a device or product which contains one or more tiny computers hidden inside it. This hidden
More informationMicroprocessor & Interfacing Lecture Programmable Interval Timer
Microprocessor & Interfacing Lecture 30 8254 Programmable Interval Timer P A R U L B A N S A L A S S T P R O F E S S O R E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E
More informationGenerating DTMF Tones Using Z8 Encore! MCU
Application Note Generating DTMF Tones Using Z8 Encore! MCU AN024802-0608 Abstract This Application Note describes how Zilog s Z8 Encore! MCU is used as a Dual-Tone Multi- (DTMF) signal encoder to generate
More informationInternational Journal of Advance Engineering and Research Development
Scientific Journal of Impact Factor (SJIF): 4.14 International Journal of Advance Engineering and Research Development Volume 3, Issue 2, February -2016 e-issn (O): 2348-4470 p-issn (P): 2348-6406 SIMULATION
More information2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin
2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control October 5, 2009 Dr. Harrison H. Chin Formal Labs 1. Microcontrollers Introduction to microcontrollers Arduino microcontroller
More information32-bit Microcontroller for Home
32-bit Microcontroller for Home Appliances This is a FUJITSU microcontroller adopting a 5V interface and a 32-bit RISC CPU as the core for application in high-function home appliances. MB91F479, the first
More information