NEW DATABASE - 350 MILLION DATASHEETS FROM 8500 MANUFACTURERS
AN019402 MMA3201D AN0194SC01 UM0128 UM0146 UM0151 AN0132 - Datasheet Archive
Interfacing an Accelerometer with Z8 Encore! XP® MCU AN0194021207 Abstract Discussion This application note describes an
Application Note Interfacing an Accelerometer with Z8 Encore! XP® MCU AN019402 AN0194021207 Abstract Discussion This application note describes an interface between Motorola's MMA3201D MMA3201D acceleration sensor and DMAADC peripheral block of Z8F642x series of devices from Zilog's Z8 Encore! XP® family of microcontrollers. Acceleration is defined as the rate of change of velocity and is expressed in units of meters per seconds squared (m/s2). For example, the gravitational acceleration near the surface of Earth is 9.8 m/s2. The mass of a body freely falling under the influence of Earth's gravitational field experiences this acceleration. In effect, for every second of flight, the Earth's gravitational velocity increases by 9.8 m/s. This rate of acceleration is defined as 1g, which is used as the unit of measurement for acceleration. Note: The source code file associated with this application note, AN0194SC01 AN0194SC01.zip, is available for download at www.zilog.com. Family Overview Below equation is an example to measure the Earth's gravitational velocity: Z8 Encore! XP® Flash Microcontrollers Zilog's Z8 Encore! XP products are based on the new Zilog's eZ8 TM CPU and introduce Flash memory to Zilog's extensive line of 8-bit microcontrollers. Flash memory in-circuit programming capability allows 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. Featuring Zilog's eZ8 CPU, the Z8 Encore! XP microcontrollers combine a 20 MHz core with Flash memory, linear-register SRAM, and an extensive array of on-chip peripherals. These peripherals make Z8 Encore! XP MCU suitable for various applications including motor control, security systems, home appliances, personal electronic devices, and sensors. 1g = 9.8 m/s2 = 9.8 m/s/s = 0.0098 km/s/s = 35.28 kph/s = 22.05 mph/s where, kph is kilometers per hour and mph is miles per hour. From this equation, and under a gravitational pull/ force of 1g, the unit of mass of a free-falling body increases its velocity at the rate of 35.28 kph or 22.05 mph for every second of its flight. For example, a Formula 1 race car can accelerate from 0 kph to 100 kph in 2.85 seconds at an acceleration rate of 34.48 kph/s (21.05 mph/s), or about 0.95 g. A passenger car can accelerate from 0 mph to 60 mph in about 7.5 seconds, which is 8 mph/s or 0.047g. An accelerometer is a device used for measuring the acceleration of, or for detecting and measuring, vibrations. Accelerometers provide outputs that indicate the accelerations to which the accelerometers are subjected. Copyright ©2007 by Zilog®, Inc. All rights reserved. www.zilog.com Interfacing an Accelerometer with Z8 Encore! XP® MCU These devices are used in several fields of industry for vibration and impact monitoring. A low-g accelerometer device is used to study the onedimensional motion of a car (real or toy), elevator, pendulum bob, or amusement park ride. Motorola's Acceleration Sensor The MMA3201D MMA3201D acceleration sensor from Motorola consists of a signal conditioner, a 4-pole low pass filter, and a filter compensation unit. The zero offset, full-scale span is set by the factory and requires no external device or field calibration. The sensor also features full system self-test capability and a ±40 g range. The MMA3201D MMA3201D application sensor includes the following features: · Integral signal conditioning · Linear output · Ratiometric performance · 4th order bessel filter preserves pulse shape integrity · Calibrated self-test · Low voltage detect, clock monitor, and eprom parity check status · Transducer hermetically sealed at wafer level for superior reliability · Robust design, high shocks survivability An acceleration sensor's basic sensing mechanism is capacitive displacement sensing. For more details on the Motorola's application sensor, see References on page 4. Figure 1 on page 3 displays a simplified accelerometer functional block diagram. For physical details on connecting an accelerometer to the Z8F642x device's DMAADC peripheral, see Appendix B-Schematic Diagrams on page 6. AN019402 AN0194021207 Developing a Z8 Encore! XP® Based Accelerometer Application The following section discusses the hardware interface and software implementation of Z8 Encore! XP based accelerometer application. Hardware Architecture The MMA3201D MMA3201D acceleration sensor features two outputs. Each output senses acceleration in the X and Y directions and is connected to an ADC channel (ADC channels 0 and 1 at port pins PB0 and PB1, respectively) on the Z8F642x device. Actual acceleration values are computed using the digital output of these two ADC channels. Acceleration in the X and Y directions is displayed separately on the HyperTerminal in units of g. The sensor output is offset-nulled and full-scalecalibrated in the factory. The output varies from 0 to VDD as the acceleration changes from -40 g to +40 g. The sensor output is VDD ÷ 2 when there is no acceleration (zero acceleration). The sensor operates at 5 V VDD; therefore its output corresponds to 2.5 V at zero acceleration. The ADC reference voltage (VREF) is set to 2.5 V. The 0 V to 5 V range of the sensor output is then required to be reduced to a range of 0 V to 2.5 V. This 50 % attenuation is achieved by using a resistor divider arrangement that is externally connected. For other values of VREF, corresponding attenuation must be provided. A bypass capacitor is added to the divider network to filter high-frequency noise. Apart from this component, no additional hardware is required for the interface. Appendix B-Schematic Diagrams on page 6 displays the connection details between the acceleration sensor and the Z8F642x device of the Z8 Encore! XP family of microcontrollers. Page 2 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU GVDD AVDD G-CELL SENSOR INTEGRATOR GAIN TEMP COMP FILTER XOUT YOUT ST SELF-TEST CONTROL LOGIC & EPROM TRIM CIRCUITS OSCILLATOR CLOCK GEN. Vss STATUS Figure 1. Simplified Accelerometer Functional Block Diagram Note: Follow the PCB guidelines provided by the manufacturer. Software Implementation The software initializes the Analog-to-Digital Converter (ADC) to be used in conjunction with the Direct Memory Access (DMA) function. Two ADC channels are required for the basic operation of reading the acceleration in the X and Y directions. No error compensation or calibration routine is required. The use of DMA makes the process of reading the ADC outputs from the two channels simple and efficient. After the ADC completes its conversion, the DMA transfers the digital data to preinitialized locations in RAM. The main routine reads the digital data from these locations during program execution. AN019402 AN0194021207 Follow the steps below to measure acceleration using the Z8F642x MCU (see Appendix C- Flowcharts on page 7): 1. A reading is continuously performed at every fixed interval. For the accelerometer application described in this document , this interval is selected, as 5 ms for reading the accelerometer output and 30 seconds for displaying it through the UART0 port in the HyperTerminal application. 2. After a predetermined time interval of 5 ms, the DMA is enabled to read the sensor output. 3. When data is available, the DMA triggers the ADC data conversion and generates an interrupt. 4. The interrupt service routine (ISR) for this interrupt stores the data and disables the DMA. Page 3 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU 5. The DMA is enabled again after a time interval of 5 ms. 6. After another predetermined time interval of 30 seconds, the current accelerometer readings for both X and Y directions are displayed in the HyperTerminal application connected to the UART0 port (see flowcharts in Appendix C-Flowcharts on page 7). 7. This process is repeated at the intervals discussed above. These time intervals can be set as per the application requirements. Note: The sensor takes 2 ms to stabilize its output; therefore, you must set the sensor read time interval to more than 2 ms. In this application, it is set to 5 ms. 3. Wait for the sensor reading to stabilize. 4. Measure the acceleration outputs in both the X and Y directions. The result is displayed in the HyperTerminal application. Results The output of the self-test corresponds to an acceleration of 12 g, which is in compliance with Motorola's acceleration sensor data. Summary This application note describes how to interface an accelerometer with Zilog's Z8F642x device. The micromachined MMA3201D MMA3201D acceleration sensor from Motorola is used as an interface to complete a successful application. Testing References As the sensor range is very high (±40 g), the circuit was fully tested using the sensor's self-test feature. This mechanism allows you to test the functionality of both the mechanical and electronic sections. Details on this self-test feature is available in Motorola's acceleration sensor data sheet (see References). Details on Z8 Encore! XP products discussed in this application note are available in the references listed below: · eZ8TM CPU Core User Manual (UM0128 UM0128) · Z8 Encore!® Flash Microcontroller Development Kit User Manual (UM0146 UM0146) Equipment Used · Z8 Encore! XP® 64K Series Flash Microcontrollers Development Kit User Manual (UM0151 UM0151) The following equipments are used for testing: · Z8F642x Development Kit · · PC with the HyperTerminal application set to 9600 baud, 8 bits, no parity, 1 stop bit Using the Z8 Encore!® MCU for DMAADC Implementation (AN0132 AN0132) · Sensor-MMA3201 data sheet: http:// w w w. m o t o r o l a . c o m / f i l e s / s e n s o r s / d o c / data_sheet/MMA3201.pdf Procedure Follow the steps below to test the accelerometer sensor application: 1. Connect the accelerometer as shown in Appendix B-Schematic Diagrams on page 6. 2. Trigger the self-test logic input of the accelerometer. AN019402 AN0194021207 Page 4 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU Appendix A-Glossary Table 1 provides the definitions for terms and abbreviations used in this application note. Table 1. Glossary Term/Abbreviation Definition ADC Analog-to-Digital Converter. DMA Direct Memory Access. kph Kilometers per hour, a measure of velocity. m/s m/s Meters per second, an SI measure of velocity. 2 Meters per second squared, an SI measure of acceleration. MMA Micro Machined Accelerometer. mph Miles per hour, a popular measure of velocity. SI International system of units. AN019402 AN0194021207 Page 5 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU Appendix B-Schematic Diagrams Figure 2 displays the schematic diagram for the Accelerometer interface described in this application note. ACCELEROMETER INTERFACE AVDD AVDD VDD VDD U1 R1 1K ST PE0 10 9 PB0 5 6 X_OUT Accelerometer 11 VSS VDD Y_OUT AGND 20 7 8 PE1 AGND STATUS R3 1K PB1 AVDD C3 0.1uF VSS R2 1K C1 0.01uF R4 1K C2 0.01uF C4 0.1uF AGND AGND Figure 2. Schematic for Accelerometer Interface AN019402 AN0194021207 Page 6 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU Appendix C-Flowcharts This appendix provides flowcharts which step through a number of functions required for the Z8 Encore! XP® accelerometer application. Figure 3 displays the process to interface an acceleration sensor using Z8 Encore! XP MCU. START Initialize ADC, GPIO, UART No Fresh data available ? Yes Read data from ADC Convert data to Acceleration Display refresh required? No Yes Send acceleration reading to UART RESET "display refresh required" Figure 3. Flow of an Acceleration Sensor Interface Using Z8 Encore! XP MCU AN019402 AN0194021207 Page 7 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU Figure 4 and Figure 5 display the enabling and disabling of the DMAADC peripheral block with an ISR for the acceleration sensor interface application. Start timer ISR Enable DMA-ADC 3 seconds over? Set "display refresh required" IRET Figure 4. Enabling DMAADC Function with an ISR Start DMA ISR Transfer ADC reading to RAM Disable DMA-ADC IRET Figure 5. Disabling DMAADC Function with an ISR AN019402 AN0194021207 Page 8 of 9 Interfacing an Accelerometer with Z8 Encore! XP® MCU 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 ©2007 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. Z I L O G A L S O D O E S N O T A S S U M E L I A B I L I T Y F O R I N T E L L E C T U A L P R O P E RT Y 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. eZ8, 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. AN019402 AN0194021207 Page 9 of 9