<< Chapter < Page Chapter >> Page >
Using the MSP-EXP430FG4618 Development Tool and the MSP430FG4618 device analyse the MSP430’s performance when makes a multiplication operation without the hardware multiplier. The execution time is measured with an oscilloscope.

Laboratory hardware multiplier: lab1 - multiplication without hardware multiplier

Introduction

This laboratory explores the hardware multiplier peripheral. It is composed of three different tasks, each of which evaluates a different characteristic of the hardware multiplier peripheral:

- Multiplication operation execution time, with and without the hardware multiplier.

-Differences between the use of the operator “*” and direct write to the hardware multiplier registers.

- Task operational analysis, in which the active power and the RMS value of an electrical system are calculated.

Overview

This laboratory explores and analyses the MSP430’s performance when it performs multiply operations without the hardware multiplier. The execution time is measured using an oscilloscope.

Resources

This laboratory only uses Port P2.1 connected to LED2 in order to measure the execution time of the multiply operation when it is performed by a software routine.

The default configuration of the FLL+ is used. All the clock signals required for the operation of the components of this device take their default values.

Software application organization

- The application starts by stopping the Watchdog Timer;

- Port P2.1 is configured as an output with the pin at a low level;

- The variables a and b to be multiplied are initialized;

- The multiplication of the two variables is performed between toggle P2.1 instructions;

- This application ends by putting the device into low power mode LPM4.

System configuration

Go to Properties>TI Debug Settings and select the Target tab. Uncheck the automatically step over functions without debug information when source stepping in order to allow stepping into the multiply routine;

Go to Properties>C/C++ Build>Linker MSP430 Linker v3.0>General options and choose the option None at the Link in hardware version of RTS mpy routine . With this linker option, the application ( Lab1_HM.c ) will be built without the hardware multiplier and all multiplication operations will be performed by the software routine.

Rebuild the project and download it to the target.

Analysis of operation

Software multiplication routine analysis

- Connect the oscilloscope probe to port P2.1 available on Header 4 pin 2;

- Put the cursor at line of code 51 {c = a*b} and Run to line ;

- Go to Disassembly view and switch to mixed disassembly view in order to show both C and Assembly code;

- Observe that the variables a and b are passed by registers and the #__mpyi routine is called;

- Run the code step-by-step with the Disassembly view active. This action will lead to the software multiply routine;

- As the software multiply routine source code is not available, switch to Assembly view only;

- Run the application step-by-step until the RETA instruction;

- This multiplication is a time-consuming CPU operation.

Measurement of the multiply operation execution time

- Restart the application. It will run from the beginning;

- Put the cursor on line of code 56 {_BIS_SR(LPM4) } and Run to line ;

- Measure the time pulse time width using the oscilloscope;

- This software multiply operation takes around 54 μsec.

This example and many others are available on the MSP430 Teaching ROM.

Request this ROM, and our other Teaching Materials here (External Link)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials. OpenStax CNX. May 19, 2009 Download for free at http://cnx.org/content/col10706/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials' conversation and receive update notifications?

Ask