Using Z8 Encore! XP MCU for RMS Calculation

Similar documents
Generating DTMF Tones Using Z8 Encore! MCU

Using the Z8 Encore! XP Timer

DTMF Signal Detection Using Z8 Encore! XP F64xx Series MCUs

Technique for Measuring System Temperature Using the On-chip Temperature Sensor of the Z8 Encore! XP

Electric Bike BLDC Hub Motor Control Using the Z8FMC1600 MCU

Crystal Oscillator/Resonator Guidelines for ez80 and ez80acclaim! Devices

Servo Sequencer Servo Robot motion controller & General Purpose microcontroller board

BLDC Motor Control on Z8FMC16 Series MCUs Using Sensored Sinusoidal PWM Modulation

A Unipolar Stepper Motor Drive Using the Z8 Encore! MCU

Project Final Report: Directional Remote Control

AN3332 Application note

UM0791 User manual. Demonstration firmware for the DMX-512 communication protocol receiver based on the STM32F103Zx. Introduction

XC83x AP Application Note. Microcontrollers. intouch Application Kit - Touch Sliders V1.0,

AN4014 Application Note Adjustable LED blinking frequency using a potentiometer and STM8SVLDISCOVERY Application overview

ZKit-51-RD2, 8051 Development Kit

Training Schedule. Robotic System Design using Arduino Platform

Hello and welcome to this Renesas Interactive Course that provides an overview of the timers found on RL78 MCUs.

AN Low Frequency RFID Card Reader. Application Note Abstract. Introduction. Working Principle of LF RFID Reader

RL78 Motor Control. YRMCKITRL78G14 Starter Kit. Renesas Electronics Europe. David Parsons Application Engineering Industrial Business Group.

RX23T inverter ref. kit

CHAPTER-5 DESIGN OF DIRECT TORQUE CONTROLLED INDUCTION MOTOR DRIVE

AN2979 Application note

AN4379 Application note

AN4507 Application note

AP CANmotion. Evaluation Platform with BLDC Motor featuring XC886CM Flash Microcontroller Version 2007/10. Microcontrollers

Single Phase Two-Channel Interleaved PFC Operating in CrM Using the MC56F82xxx Family of Digital Signal Controllers

LP3943/LP3944 as a GPIO Expander

AN3252 Application note

Normal Oscillator Behavior (Device A) Figure 1. Normal Oscillator Behavior (Device A) ft = f0 1 + TC1 T T0

AN1449 Application note

ZNEO Z16F Series. High Performance Microcontrollers. Product Specification PS PRELIMINARY

Slim Series SIR Top Look Transceiver

General-Purpose OTP MCU with 14 I/O LInes

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

THIS SPEC IS OBSOLETE

AN1756 Application note

Dual FOC Servo Motor Control on i.mx RT

Overview of the STM32F103xx ACIM and PMSM motor control software libraries release 2.0

NuMicro N76E003 Brushless DC Motor Control User Manual

LCC-10 Product manual

Index Terms IR communication; MSP430; TFDU4101; Pre setter

32-bit Microcontroller for Home

32-bit ARM Cortex-M0, Cortex-M3 and Cortex-M4F microcontrollers

AT15291: Migrating QTouch Designs from SAM D MCUs to SAM C MCUs. Scope. Features. QTouch APPLICATION NOTE

EE 314 Spring 2003 Microprocessor Systems

Edition Published by Infineon Technologies AG Munich, Germany 2010 Infineon Technologies AG All Rights Reserved.

Implementation of Multiquadrant D.C. Drive Using Microcontroller

Motor Control using NXP s LPC2900

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

AN3258 Application note

Firmware plugin for STSW-ESC001V1 board with ST Motor Control FOC SDK

AN3134 Application note

AN2446 Application note

Brian Hanna Meteor IP 2007 Microcontroller

Programming and Interfacing

APPLICATION NOTE. AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I. Introduction. Features.

AN4999 Application note

CALIFORNIA SOFTWARE LABS

M16C/26 APPLICATION NOTE. Using The M16C/26 Timer in PWM Mode. 1.0 Abstract. 2.0 Introduction

Freescale Semiconductor, I

Figure 1. C805193x/92x Capacitive Touch Sense Development Platform

M16C/26 APPLICATION NOTE. Using Timer A in One-Shot Mode. 1.0 Abstract. 2.0 Introduction

Real Time Embedded Systems. Lecture 1 January 17, 2012

AN2668 Application note

FlexTimer and ADC Synchronization

CDM10V programming user manual describes the COOLDIM_PRG_BOARD burner board usage, the UART protocol handling and the fusing details.

2.0 Discussion: 2.1 Approach:

Application - Power Factor Correction (PFC) with XMC TM. XMC microcontrollers July 2016

Ultra Small, Low Power Consumption Voltage Detector

Successive approximation (capacitive coupling amplifier)

Using the HCS08 TPM Module In Motor Control Applications

Preliminary Design Report. Project Title: Search and Destroy

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

Z86116 CMOS Z8 PN MODULATOR WIRELESS CONTROLLER CUSTOMER PROCUREMENT SPECIFICATION FEATURES GENERAL DESCRIPTION Z86116 CP95WRL0501 PRELIMINARY

3.3V regulator. JA H-bridge. Doc: page 1 of 7

This user manual describes the features of the emotion Kit, and explains how use the kit to perform generic speed control of DC and BLDC motors.

AN2581 Application note

AN4112 Application note

Adaptive dryer based on LDR and water brick sensor: Case study at household industrial application

Standard single-purpose processors: Peripherals

Brushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge

Sensorless Vector Control with RL78G14

CHAPTER 2 VSI FED INDUCTION MOTOR DRIVE

Design of double loop-locked system for brush-less DC motor based on DSP

ELCT 912: Advanced Embedded Systems

Tarocco Closed Loop Motor Controller

Microcontrollers. Serial Communication Interface. EECE 218 Microcontrollers 1

AN1336 Application note

SUNSTAR 传感与控制 TEL: FAX: Humidity and temperature measurement system using a

Lifetime Power Energy Harvesting Development Kit for Wireless Sensors User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology

AN EFFICIENT ALGORITHM FOR THE REMOVAL OF IMPULSE NOISE IN IMAGES USING BLACKFIN PROCESSOR

Serial Communication AS5132 Rotary Magnetic Position Sensor

AN Industrial Stepper Motor Driver. Application Note Abstract. Introduction. Stepper Motor Control Method

Sensorless PMSM Field-Oriented Control on Kinetis KV and KE

CHAPTER 4 FUZZY BASED DYNAMIC PWM CONTROL

Wide Range Voltage to Frequency Converter using PSoC3 Microcontroller

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which

Application Note, V1.0, Oct 2006 AP08019 XC866. Sensorless Brushless DC Motor Control Using Infineon 8-bit XC866 Microcontroller.

PLC ON A CHIP EZ LADDER CONFIGURATOON. EZ LADDER Configurations for PLC on a Chip & PLC on a Chip Module REV 3

Evaluation Board for DC Motor Control with the IFX9201. This board user manual provides a basic introduction to the hardware of the H-Bridge Kit 2Go.

Transcription:

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 Z8 Encore! XP MCU. The RMS application uses the internal oscillator of the Z8 Encore! XP MCU as the system clock. The computed RMS value is displayed in a Hyper- Terminal application. The source code file associated with this application note, AN0216-SC01, is available on www.zilog.com. Z8 Encore! XP 4K Series Flash Microcontrollers Zilog s Z8 Encore! products are based on the new ez8 CPU and introduce Flash memory to Zilog s extensive line of 8-bit microcontrollers. Flash memory in-circuit programming capability allows for faster development time and program changes in the field. The high-performance register-to-register based architecture of the ez8 core maintains backward compatibility with Zilog s popular Z8 MCU. Z8 Encore! MCUs combine a 20 MHz core with Flash memory, linear-register SRAM, and an extensive array of on-chip peripherals. The Z8 Encore! XP 4K Series of devices support up to 4 KB of Flash program memory and 1 KB register RAM. An on-chip temperature sensor allows temperature measurement over a range of 40ºC to +105 ºC. These devices include two enhanced 16-bit timer blocks featuring PWM and Capture and Compare capabilities. An on-chip Internal Precision Oscillator (5 MHz/32 khz) can be used as a trimmable clock source requiring no external components. The Z8 Encore! XP devices include 128 bytes of n Volatile Data Storage (NVDS) memory where individual bytes can be written or read. The fullduplex UART, in addition to providing serial communications and IrDA encoding and decoding capability, also supports multidrop address processing in hardware. The rich set of on-chip peripherals make the Z8 Encore! XP MCUs suitable for a variety of applications including motor control, security systems, home appliances, personal electronic devices, and sensors. Discussion Measurement of voltage in an AC circuit can be complicated as compared to voltage measurement in a DC circuit. RMS is a common mathematical method used to define the effective voltage of an AC signal. In general, the RMS value is defined as the square root of the sum of squares of a set of quantities divided by the total number of quantities. The RMS algorithm discussed in this application note calculates the square root of the sum of squares of the samples of a sinusoidal AC input signal divided by the total number of samples. Accurate calculation of the RMS value depends on the number of samples involved in the calculation. For better accuracy, a greater number of samples must be considered for calculating the RMS value of an input AC signal. There is a trade-off between accuracy and time, because the time required to calculate the RMS value of an input signal increases with the increase in the number of samples. Theory of Operation Figure 1 on page 2 illustrates the flow of the RMS algorithm discussed in this application note. The RMS value of a sinusoidal AC input signal is Copyright 2008 by Zilog, Inc. All rights reserved. www.zilog.com

obtained by computing the square root of the average input signal over a period of the AC signal. The following equation is used to compute the RMS value: RMS = Square Root((V 1 *V 1 + V 2 *V 2 + V 3 *V 3 +... + V (n-1) *V (n-1) + V n *V n )/n) where n is the number of samples V 1, V 2, V 3,...,V n are the input samples As described earlier, there is a trade-off between the processing speed of the microcontroller and the output accuracy, as the time required to compute the RMS value increases with the increase in the number of samples. VIN V1 V2 V3 V4 --- --- Vn-1 Vn RMS Algorithm RMS Value Figure 1. RMS Algorithm Flow Description of Components This section lists the external hardware components used in the RMS application, and describes their functionality in detail. Step-Down Transformer The RMS application uses a step-down transformer to step-down the input AC voltage. The input to this transformer is line AC, and the output of this transformer is the required step-down AC voltage. Bridge Rectifier The RMS application uses a bridge rectifier to convert the sinusoidal AC input wave to a rectified full wave. Figure 2 on page 2 illustrates the output of the bridge rectifier. Voltage VMAX --------- 10 msec Time Figure 2. Output of Bridge Rectifier Page 2 of 13

Potential Divider Network A potential divider circuit is a network comprising of two resistors, R 1 and R 2, connected in series. Figure 3 on page 3 illustrates a basic potential divider network. R 1 is a fixed resistance, and R 2 is a variable resistance. To fine-tune the output voltage and for better output accuracy, R 2 must be variable. If the output voltage is not critical to the application, then R 2 can be a fixed resistance. Hardware Architecture Figure 4 on page 3 illustrates a basic block diagram for the RMS application. The application uses a stepdown transformer to step-down the line AC input of 0.0-110.0 volts. The output of the step-down transformer is a peak AC voltage of 0.0-6.0 volt. A pulseshaping block, comprising a bridge rectifier and a potential divider network, converts the negative halfcycle of the step-down output signal to positive. In particular, the potential divider is used to fine-tune the output. AC Input R1 R2 AC Output The on-chip ADC peripheral of the Z8 Encore! XP MCU samples the output of the pulse-shaping block. The Z8 Encore! XP MCU uses these samples to compute the RMS value of the input AC signal. The computed RMS value of the applied AC voltage is consequently displayed in a HyperTerminal application. Figure 3. Potential Divider Circuit Developing the RMS Application with the Z8 Encore! XP MCU This section discusses the hardware architecture and software implementation of the RMS application in detail. Refer to the schematic provided in Schematic Diagram on page 8 for a detailed connection diagram of the external circuitry. AC Mains Step-Down Transformer Bridge Rectifier and Potential Divider Z8 Encore! XP Development Board HyperTerminal Displaying RMS Value Z8F042A Input (0-110 V) AC RMS (0.0-6.0 V) AC Peak Voltage (0.0-2.0 V) AC Peak Voltage VREF(EXT) = 2.0 V Figure 4. Block Diagram Illustrating the RMS Application Hardware Setup Page 3 of 13

Software Implementation The software program for the RMS application is implemented in four modules: the data sampling module, the data acquisition module, the RMS calculation module, and the RMS display module. Refer to the source code, AN0216-SC01, available on www.zilog.com Data Sampling Module In the application described in this document, the onchip ADC peripheral of the Z8 Encore! XP MCU samples the rectified AC input signal (i.e., the output of the pulse-shaping block). The ADC operates in the continuous mode of operation, and generates samples at the rate of 450 us. To synchronize the speed of the RMS calculation algorithm with the ADC peripheral, the data acquisition module reads only 64 samples per cycle (i.e., the module reads every 8 th sample). The next ADC sample to be read is specified using the following define statement: #define READ_SAMPLE_NO 8 The total number of ADC samples read per cycle is specified using the following define statement: #define N 63 The right shift value depends on the total number of ADC samples N, and is specified using the following define statement: #define RSHIFT 6 The value of RSHIFT depends on the value of N (size of buffer). For example, if N is 127, then RSHIFT is 7 N is 63, then RSHIFT is 6 The ratio between N and RSHIFT is N:2 RSHIFT. Users can modify all of the above define statements to suit application requirements. Figure 8 on page 10 is a flowchart illustrating the ADC Interrupt Service Routine (ISR). Data Acquisition Module The data acquisition module reads data from the ADC High and Low registers, converts this data into one byte, and alternately stores this byte in the even and odd buffers. The buffer size varies in powers of 2 (1 2, 2 2, 4 2, 8 2, etc.), and depends on the number of samples used for RMS calculation. The buffer size, in powers of 2, facilitates the reduction of the processing time required for mathematical operations (multiplication and division, specifically). The number of samples considered in the application described in this document is 8 2, or 64. Figure 9 on page 11 is a flowchart illustrating the read operation of the ADC samples. RMS Calculation Module The RMS calculation module reads the stored samples in the even and odd buffers, alternatively. The RMS calculation module performs the following operations on the ADC samples: 1. Squares the read sample. 2. Divides the squared value by the number of samples (using right shift operation). 3. Adds the value obtained in step 2 to the previous sum. Example: sum=sum+new sample 4. Repeats the above steps for all of the buffer contents. 5. Computes the square root of the final value. The total time required to calculate the RMS value is less than 14 ms at a frequency of 5.5 MHz. Page 4 of 13

Figure 10 on page 12 is a flowchart illustrating the RMS calculation algorithm. RMS Display Module The RMS display module converts the calculated RMS value to ASCII, and displays this value in the HyperTerminal application. Testing This section lists the setup and equipment used to test the RMS application. The test results obtained are also listed in Table 1 on page 6. Setup A basic setup to test the RMS algorithm using the Z8 Encore! XP MCU is illustrated in Figure 5 on page 5. The setup comprises of the input block, the Z8 Encore! XP 4K Series Development Kit (Z8F04A28100KIT), and the HyperTerminal application. The input block consists of a step-down transformer, a bridge rectifier, and a potential divider network. Refer to the schematic provided in Schematic Diagram on page 8 for a detailed connection diagram of the input block. Z8 Encore!XP Development Board Z8F042A Input Block ADC IN J2-1 CONSOLE (P2) RS-232 HyperTerminal COM2 Figure 5. Test Setup for the RMS Application Equipment Used Z8 Encore! XP 4K Series Development Kit (28-pin) with full ANSI C Compiler (Z8F04A28100KIT) Zilog Developer Studio II - Z8 Encore! (ZDS II-IDE) A PC equipped with the HyperTerminal application configured to the following settings: 38400 bps baud rate 8 data bits parity One stop bit flow control Results Table 1 on page 6 lists the readings of the input AC (RMS) voltage, the output AC (RMS) voltage, and the percentage error in the calculation of the RMS value using the Z8 Encore! XP MCU. A variable transformer was used to vary the input AC voltage, and the corresponding output was measured. The percentage error in the computation of the RMS value was found to be negligible. The performance was as expected. Page 5 of 13

. Table 1. Observation Table Input AC (RMS) in Volts Output AC (RMS) in Volts Percentage Error (%) 120 120 0.0 115 115 0.0 110 110 0.0 105 105 0.9 100 100 0.0 95 95 0.0 90 90 0.0 85 84 1.1 80 79 1.2 75 74 1.3 70 69 1.4 65 64 1.5 60 59 1.6 55 54 1.8 te: The percentage error in the calculation of the RMS value can be further minimized by using improved circuitry at the ADC end. The voltage drop in the AC main must vary linearly with the input to the ADC for zero percent error. In the application described in this document, the ADC peripheral of the Z8 Encore! XP MCU operates in the continuous mode of operation, and produces a final RMS value based on 8-bit data at a frequency of 5.5 MHz. The RMS algorithm is very simple, and uses the Root Mean Square mathematical method to calculate the voltage of a sinusoidal AC input signal. Summary The Z8 Encore! XP MCU features the UART and the ADC ports for communication. The modulebased software implementation allows users to directly use the code or modify the code with ease. The software modules are modifiable, and are usable with other microcontrollers of the Z8 Encore! family. Page 6 of 13

Appendix A References Further details about the Z8 Encore! products can be found in the references listed in Table 2. Table 2. List of References Topic ez8 CPU Z8 Encore! XP 4K Series Microcontrollers ZDS II-IDE Document Name ez8 CPU User Manual (UM0128) Z8 Encore! XP 8K and 4K Series Product Specification (PS0228) Z8 Encore! XP F042A Series Development Kit User Manual (UM0166) Zilog Developer Studio ll-z8 Encore! User Manual (UM0130) Page 7 of 13

Appendix B Schematic Diagram Figure 6 illustrates a schematic diagram for the RMS application interface described in this application note. 5 4 3 2 1 D D C V1 T1 1 3 - D3 ~ D1 + C 110 AC 2 4 110 : 6V RMS D4 D2 ~ D1 to D4 1N5818 R1 100k 2 V Peak GND B B A A Title RMS Voltage measurement ( Input block scheatic ) Size Document Number Rev A schematic 1.0 5 4 3 Date: Tuesday, December 21, 2004 Sheet 1 of 1 2 1 Figure 6. Schematic Illustrating RMS Application Interface Page 8 of 13

Appendix C Flowcharts This appendix provides flowcharts for the RMS application described in this document. Figure 7 is a flowchart for the main routine of the RMS algorithm in which the calculated RMS value is displayed in the HyperTerminal application. Start Initialize Internal Clock, ADC, and UART Read Input Sample Are the Even and Odd Buffers Full? Calculate RMS Value and Store RMS Value into the RMS Array Is the RMS Array Full? Calculate the Average of the RMS Array Display the Average RMS Value in HyperTerminal Figure 7. Main Routine Page 9 of 13

Figure 8 is flowchart illustrating the ADC interrupt service routine. Start Disable Interrupt Is the Skipped Sample the Correct One? Read ADC Data and Enable Interrupt End Figure 8. ADC Interrupt Service Routine Page 10 of 13

Figure 9 is a flowchart to read the ADC samples. Start Read ADC High and Low Data and Convert to 8-Bit Data Is it the Odd Empty Buffer? Is it the Even Empty Buffer? Write Data into Odd Buffer Write Data into Even Buffer Is it the End of Odd Buffer? Is it the End of Even Buffer? Set Even Buffer Full Flag Set Odd Buffer Flag Reset Sample Counter Set Odd Buffer Full Flag Set Even Buffer Flag Reset Sample Counter End Figure 9. Routine to Read ADC Samples Page 11 of 13

Figure 10 illustrates the RMS calculation algorithm in which the RMS mathematical method is applied to the input data stored in either the odd or the even buffer. Start Is it Odd Buffer? Read Input Data (VEVEN) VSQR=V*V VDIV=VSQR/N Read Input Data (VODD) VSQR=V*V VDIV=VSQR/N VAvg=VAvg+V2 VAvg=VAvg+V2 Is it End of Even Buffer? Is it End of Odd Buffer? Set Even Buffer Empty Flag Set Odd Buffer Empty Flag Compute the Square Root of VAvg Return RMS Value Figure 10. RMS Calculation Algorithm Page 12 of 13

Warning: DO NOT USE IN LIFE SUPPORT LIFE SUPPORT POLICY ZILOG'S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF THE PRESIDENT AND GENERAL COUNSEL OF ZILOG CORPORATION. As used herein Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b) support or sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling can be reasonably expected to result in a significant injury to the user. A critical component is any component in a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system or to affect its safety or effectiveness. Document Disclaimer 2008 by Zilog, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZILOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZILOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. The information contained within this document has been verified according to the general principles of electrical and mechanical engineering. Z8, Z8 Encore!, and Z8 Encore! XP are registered trademarks of Zilog, Inc. All other product or service names are the property of their respective owners. 13 Page 13 of 13