ECE 300 Microprocessor Project Using The Texas Instruments MSP 430F449PZ Controller
ECE 300 Microprocessor Project Using The Texas Instruments MSP 430F449PZ Controller
ECE 300 Microprocessor Project Using The Texas Instruments MSP 430F449PZ Controller
Prepared By
Walter Green, Professor, and Sidd Develapalli, Graduate Student
Version 1.0
January, 2004
University of Tennessee
Electrical and Computer Engineering Department
Knoxville, Tennessee
Table of Contents
Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Board Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
On Soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Project Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
FET 430P440 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1
A Microprocessor Project
Background:
This project is a supplement to the regular laboratory experiments in basic circuits, ECE
300. It does not play a significant role in determining your grade for the course. The
regular laboratory work (6 labs) will count 15% toward your grade. This project will
count 5% toward your grade. For this project you will be divided into groups. Each
group will have from 3 to 4 members. You will have approximately two months to
complete your work. At the end of the project you will demonstrate the performance of
your board. Additionally, each group will be responsible for preparing and presenting a
10 minute power point presentation on your project. Each group will be given a kit of
hardware components for the project. You will obtain the kit from our Supply Store.
The cost of the kit is $14.00. You will be able to check-out a microscope and a soldering
station that will aid you in building your project. Also, each group will checkout a Flash
Emulation Tool (FET) kit (purchased from Texas Instruments) that allows you to connect
from your PC, where you develop your software, to the board you construct. Basically,
you will download or “Flash” your program to the CPU of the MSP 430. You can find
out more information about this microprocessor and related material at the Texas
Instrument web site; http://www.ti.com. Under Products click on Analog & Mixed
Signal /MSP430 Ultra-Low-Power MCU. You are encouraged to explore the site. The
Flash Emulation Tool-kit also contains a CD that gives all the software for the MSP430
chip series.
Basically, the kit of parts from the ECE Supply Store will allow you to build a circuit
board with the microcomputer on-board, along with an lcd 7-segment display device.
The programs to drive the micro (MSP430F449PZ) are mostly developed in the C
programming language with the aid of a software package provided by IAR.
After you have constructed your board you will be given the software to flash a message
to the lcd such as “HELLO”. After you have developed some familiarity with the system
you will be responsible for connecting a sensor to the board and writing the software that
will allow you to display the sensor reading on the lcd. You will be given some help with
the program for reading and displaying the sensor voltage but you will be responsible for
part of this program.
2
As the saying goes “the ball is now in your court.” This project is intended for you to
have fun and for you to learn how several things come together to make a useful tool. To
a degree, what you get from this project will depend on how much you put into it. You
are not expected to learn the fine details of embedded processors. The intention is to
stimulate your interest so that when you study this material later in your junior and senior
years you will have this project as a foundation to build upon.
Introduction:
• You will select a sensor and learn the characteristics of the sensor.
• You will write a program that allows you to read the analog voltage
of your sensor into the MSP430F449 and display your signal in
appropriate units on the board lcd.
3
• You will prepare a power point presentation to be given to the
class on the outcome of your project.
• The expected outcome from this project is that you will become
familiar, at a first level, on how several aspects of engineering
(hardware construction, software development, sensors) are
brought together to form a useful system.
Board Construction:
The kit from the ECE Supply Store contains the items shown in Table 1. Be sure to
take an inventory of your kit to assure you have the listed items.
There are 5 soldering stations and 5 microscopes available for the project. Solder, flux,
and tinning paste will be provided with the soldering stations. A soldering station and a
microscope can be checked out to a group for one week. This should give you time to
practice soldering and then build your board.
These items can be checked out from FH 503. The next 5 groups will then check out the
soldering stations and microscopes for their work. A microscope is necessary to see how
to do the soldering work. You will realize this as you start your solder practice.
The groups that are not working on their boards should be getting familiar with the MSP
430F449PX at the Texas Instrument web site and also examining the IAR software.
Each person in a group is expected to do some soldering on the practice board. Each
person is expected to solder 2 surface mounted 0.1 uf capacitors to the practice board.
In addition, each person is expected to solder one side, 25 connection points, of the MSP
430 chip to the board.
4
Item # Description (Digikey) Quanity
8 399-1551 - 1- ND 10 uf SM capacitor 3
* The micro computer comes as a free item with the kit. You are requested
to order samples to replace these units.
5
On Soldering: Avoid breathing the fumes from the solder. The solder is rosin core with
a certain percentage of lead (about 2%). It is not healthy to breath these fumes. For no
more soldering that you will be doing this should not present a problem. Read the label
on the soldering tube provided with the soldering station and use the precautions given on
the label.
Set the temperature of the soldering station to 800 F. After the tip has reached this
temperature, dip the tip of the iron into the tinning paste. Clean the tip with the sponge
that comes with the station (add water to the sponge). After this step you may want to
take a knife blade and lightly scrape the tip of the iron. Repeat dipping the tip in the
tinning past and cleaning the tip on the sponge until the lower ¼ inch of the tip is
“silvered.” A clean silvered tip is the first indication that the tool has passed the first
necessary step toward being properly tinned. Next, touch a strand of solder to the tip. If
the solder balls up and drops from the tip, then the tip is not properly tinned. Repeat the
above steps until the solder will stick to the tip. At that point the tip is properly tinned
and ready for use. Another thing; when you are through soldering, always clean the tip
before turning off the station. You might want to take the edge of a knife blade and
lightly scrape the tip. Be careful when using the soldering iron. Soldering iron burns
hurt! So does melted solder that splashes on you!
6
The board pads are thin and most often do not provide enough solder for connecting the
SM component. Before placing the SM component on the board, you should flux and
lightly tint each tab. To do this, take a toothpick or similar object and deposit and ever so
slight amount of flux on each pad. Next, place the tip of the soldering iron in the tinning
paste, remove and clean on the sponge. Now touch the tip to a strand of solder and tin-up
the tip of the iron. Using the microscope, focus in on the tabs and bring the tip of the iron
over one of the tabs. Touch the tip of the iron to the tab and slight rub the tip over the tab
to deposit a thin layer of solder that should bond with the board tab. Do this to each tap.
Now take a pair of tweezers and hold the SM component in place. Using the
microscope, bring the tip of the iron to one edge of the tab and melt the solder. See
Figure 2.
soldering tip
SM Component
component thin
solder layer
(all around)
board solder
pad
Do not touch the tip to the SM component. As the solder on the tab melts so will the
solder on the tip of the SM component. You will need the microscope to see all this. My
preference is to have the microscope set at 10X. Remove the tip of the iron but hold the
component in place, momentarily, for the solder to cool and set. Remove the tweezers
and repeat the process at the other end of the component. Most often there is a good
bond and no further soldering is required.
7
Please note that the 10uf capacitors in the kit are tantalum and are polarized. There is a
slight change in the procedure for mounting polarized capacitors. This slight change is
illustrated in Figure 3.
component: board:
thin solder layer solder pad
top only
+ _
ananode cathode
Also, on many polarized capacitors the two small solder tabs have the same size. In this
case the backside of the capacitor will have a small stripe to indicate the + (positive)
terminal of the capacitor. This is the method used for the 10 uf capacitors used in this
project. One should always check the source catalog for this information if it is not clear
which side is positive.
The following web site gives a more detailed procedure for soldering SM components to
a board. However, being able to carry out the steps of making concave pockets of solder
at the intersection of the SM component and the board tab as described in the paper is
unrealistic. The web site does give some very good fundamental information and you are
encouraged to read the material.
8
Soldering Microchip To Board: The MSP 430F499PZ is a very fine-pitch chip. That
is, the connect point to the chip are numerous and very close together. There are 25
connect points on each side of the chip. The chip is roughly ½ inch on each side. So you
are looking at 25 connect points spread over ½ of an inch. To mount the chip to the
board will require some tedious soldering work.
Start by placing the board on the microscope with the base light and top light of the
microscope turned on. This will provide heat to the board that will be helpful in the
fluxing process. Consider the diagram of Figure 3 that represents the portion of the board
where the chip will be mounted.
Add Flux
You should take a toothpick, or similar object. with flux on the end and place the flux in
the shaded areas shown on the circuit traces of Figure 4. Next, using 5X on the
9
microscope, place the chip on the trace pattern above with the chip centered all-around.
This will take a little time. Be careful to align the connect points to the board completely
around the chip. This is illustrated in Figure 4. Change the microscope to 10X and shift
the board so that the right side of the chip is in direct view.
soldering iron
tip
pin 50
circuit board
traces
pin 25
MSP 430F499PZ
Chip
pin 75 • pin 1
chip connect
points pin 100
10
With all the connect points of the chip on top of the corresponding circuit traces, hold
things in place and use the soldering iron to tack a connect point of the chip to a trace at
pins 25 and 1 as shown above. DO NOT ADD ANY SOLDER TO THE TIP OF THE
SOLDERING IRON! Set things up as shown in Figure 5. With the microscope set on
5X, take a toothpick and apply a touch of flux to the tip of each microchip pin.
soldering iron
tip
chip
circuit board
Side View trace
At pin 25, shown in Figure 6, continue to hold the chip in place. Place the tip of the
soldering iron on the circuit trace as shown above. The solder on the trace will melt.
This should temporarily tack the circuit connect point to the trace. Allow the solder joint
to cool for about 5 seconds. Continue to hold the chip in place. Move to another corner
point on the chip (pin 1) and repeat the above process. At this point the chip should be
tacked to the traces and lined up properly. Now move to another connect point (pin 24)
and place the tip of a xacto knife on top of the chip connect point as shown in Figure 7.
Apply the tip of the soldering iron to the corresponding circuit trace and allowing the
11
solder on the trace to flow. Place the tip of the exacto knife on top of the connect point to
the board; remove the soldering iron tip and apply a small pressure (with the exacto
knife) to hold the connect point down; allow the junction to cool for a few seconds.
xacto
knife
soldering iron
tip
chip
circuit board
Side View trace
Continue the above process as you move around the board. A good idea is to tack down
connect pin 2 then move to pin 23. This allows connect point at pin 2 to cool for a few
seconds before coming back to solder at pin 23: and so on. If at some point there does
not seem to be enough solder on the traces to bond to the connect point, try placing the
soldering iron tip in the tinning paste. Clean on the sponge. There is usually a slight
amount of solder left on the tip. This can be used to add a little solder to the trace. Be
careful.
After soldering all the pins to the board you should check your connections. A good way
to do this is to place the tip of your exacto blade to the edge of each pin. Apply a slight
amount of pressure to the pin. If the pin moves you know you have a faulty solder
connection. Clean and flux the tip of your iron two or three times. With the aid of 10X
on the scope, re-do the solder joint.
12
Soldering the chip to the board is a very tedious process. You must take your time and be
patient. You should use the practice board to develop your procedure for performing the
work. If one person in the group is more skilled with soldering let that person put in the
chip.
Mounting the lcd Display: You will note that the lcd display unit has 20 pins on each
slide. It is quite tedious to get these points into the small holes on the circuit board. The
following procedure is one way to mounting the unit to the board. You may develop a
better procedure.
The lcd unit is electrostatic sensitive. Be sure that you are free of electrostatic charge
before you handle the unit. The small notch at one end of the lcd should be on the left
side when lining up pins on the board. Place the pins on one side of the unit over the
corresponding holes on the board. Slightly jiggle the unit until you can get the one side
to slide into the holes. Do not try to force the pins into the holes. It is fairly easy to get
one side of the unit to go into the board. Where the pins emerge from the bottom of the
board, keep the tips about flush with the board. Now put the board under the microscope
and line things up with the other slide of the lcd. Start at one end and use the tip of a
xacto knife to move each pin over the corresponding hole. Continue to do this. After
lining up 6 or 8 pins, apply a slight pressure on top of the lcd. Continue to move down
the pin line and line up the pins with the holes. Be patient. Once you have things lined
up, the second side will fit in place. Push the lcd in place with the pins protruding from
the back of the board. Flip the board over and with the aid of the microscope solder the
pins to the board. To do this bring the solder tip next to a pin; touch the pin with the
strand of solder. The solder more or less “sucks” down into the hole on the board.
The remaining components are relatively easy to mount to the board. In mounting the
switches it is a good idea to apply a small amount of flux to the solder pads and even tin
the tips of the switches with a slight amount of solder. This will make it easier to solder
the switches to the board.
The board that you have for this project was designed to serve the needs of several
projects at UNF. Therefore, the board is populated according to the particular project.
The lettering on the board identifies the surface mounted capacitors for this project with
one exception. The identification is given below:
13
C1 0.1 uf
C2 0.1 uf
C3 10 uf (polarized)
C4 0.1 uf
C5 0.1 uf
C6 10 uf (polarized) board says 0.1 uf: use 10 uf
C9 1.0 uf
C10 0.1 uf
Also, R5 47 kohms
You will need to determine the proper polarities for 10 uf capacitors on the board.
If you have any questions on locating the proper location for soldering components to the
board see the lab instructor or come by FH 503.
Most all industries support students in their quest for learning about particular products
from their company. Within reason, companies will provide samples of devices for
students to use in their projects. There are at least two reasons that come to mind as to
why they want to provide this support. First, they support education. Engineers, with
good educations, are the foundation or backbone of their company. Second, if you
become familiar with their products you are more likely to place orders with them during
your professional career.
MSP430F499PZ Samples: This is the micro computer chip that you will be using in
this project. You will be provided with two samples in your kit. The chips are free to
you. We ask that you request a sample package of 3 of these chips to replace the ones
you are being furnished. In this way we will have the chips ready in the kits at the first of
the semester without you having to wait for a delivery. The following Texas Instrument
14
URL is where you can order a 3-lot sample of the msp430f499pz. Just follow the
instructions. Be sure to give a mailing address where UPS/FedEx or order delivery
services can deliver a package to you. You cannot use P. O. boxes. In filling out the
request form for parts indicate as necessary that you are a student working on an
embedded microcomputer project.
http://focus.ti.com/docs/prod/folders/print/msp430f449.html#samples
Sensors: After you have constructed your board and you know that you can flash a
message to the lcd, the next part is for you to select a sensor for application with the
board you have built. In particular, you are to connect the output voltage from a sensor
you select to an input port to the Analog to Digital converter of the chip. You might
select a temperature sensor, a force sensor, a magnetic field measurement sensor and so
on. The choice of sensor will for the most part be left up to you. However, you must
find a sensor you want to use and you must order a free sample(s). It will be your
responsibility to learn about how to use the sensor and demonstrate that you can display
the output of the sensor on the lcd of your embedded processor board.
There are a number of companies that manufacture sensors. One company is Analog
Devices. Their web address is
http://www.analog.com
You might start by entering sensor in the search box. There are several temperature
sensors that look interesting: AD590 series, and TMP04F5 are examples. The
AD22151G is a sensor for measuring magnetic field strength.
Project Software:
The CD that comes in the FET kit contains software related to Texas Instrument’s
MSPf430 series. After you unzip the information packed on the CD you can go to
Start/Programs/IAR Systems/IAR Embedded Workbench for MSP430 KickStart/FET
Documentation. Within the documentation you are interested in material related to the
MSP-FET430P440. You will find the software from both IAR and TI that supports the
Flash Emulation Tool. You are encouraged to spend some time looking over this
material. You may want to download some of it.
15
You can also follow the following path: Start/Programs/IAR Systems/IAR Embedded
Workbench for MSP430 KickStart/Readme IAR EW430 KickStart. This will take you to
a yellow background page. An outline to the information provided here is given below.
This is the information about the IAR systems software. Do not be alarmed! You do not
need to know all of this to do this project. However, you should spend some time
browsing over the sources.
###############
This is the readme file for the complete product package. Here you will find links to individual
readme files for each component, such as compiler, linker etc. If you upgrade from a Kickstart
version 1.24A or older, you need to make a BUILD ALL of your project before you can use it in
this new version of the debugger.
It is highly recommended that you read these files as they contain information about new
features, program corrections, known problems and various information issued after realease
of the user guides.
The date format used through out these files is: dd/Mmm/YYYY.
• Highlights
• Readme files for individual components
• General information
• Product contents
• User guides
• Trademarks
Highlights
• A new library tool, IAR XAR Library Builder, is now included in the EW430 product. For
more information, see the IAR Linker and Library Tools Reference Guide.
• IAR Launcher is an application that searches your computer for installed IAR applications and
then displays them in a practical menu for quick access. IAR Launcher resides in your system
tray as an icon until you activate it by clicking on it. Please see the separate readme file in the
Start Menu for more information.
• Support for the Flash Emulation Tool is now included in the product. The newest version can be
found at http://www.ti.com/sc/msp430
16
Readme files for individual components
General information
The IAR KickStart is a special low-priced starter-kit/evaluation version of the IAR Embedded
Workbench with limitations both in performance and in the service and support that is provided.
o The IAR KickStart C compiler supports a maximum of 4kb generated code and has no
support for floating-point arithmetic. It will not generate any assembly code output.
o The IAR Assembler delivered is the full version without any restrictions.
o The IAR XLINK Linker will link a maximum of 4kb originating from C souce code, but
an unlimited amount of code originating from assembly code.
o The IAR KickStart C-SPY Simulator will read a maximum of 400 lines of C code but is
unlimited in the amount of assembly code read.
Note: The limitation in size also applies to the functions in the C standard library. For instance,
the regular formatter used by printf, is too large to be used with the KickStart edition. However,
the reduced version, _small_write, is small enough. The example linker files (Lnk430ks.xcl and
Lnk430ksm.xcl) use _small_write as default formatter.
User guides
17
IAR Embedded Workbench Tutorials T430-1
MSP430 IAR Embedded Workbench Tutorials Tutorial I, very good!
Trademarks
IAR and C-SPY are registered trademarks of IAR Systems. IAR Embedded Workbench, IAR XLINK
Linker, and IAR XLIB Librarian are trademarks of IAR Systems. Microsoft is a registered trademark, and
Windows is a trademark of Microsoft Corporation. Intel and Pentium are registered trademarks of Intel
Corporation. All other product names are trademarks or registered trademarks of their respective owners.
You may want to go to the tutorial software and do Tutorial 1. This tutorial will cover
some of the steps for using the software that are explained below. I highly recommend
that at some point you spend some time with Tutorial 1.
The above relates to the IAR system software. If you want information on the
MSR430F449 Users Guide (the chip itself), you should go to the following web site.
http://focus.ti.com/analog/docs/analogtechdoc.tsp?navSection=user_guides&templateId=
5246&familyId=342
Click on the information under the MSP430x4xx Family User’s Guide. This provides a
354-page document on software related to the MSP430 series. If you want to download it
I would recommend 4 pages to the sheet.
18
Programming the MSP430F449PZ: We now explain how to use the above tool to
exercise the embedded processor board so that that the lcd displays the message,
“HELLO.”
First connect the 27-pin cable connecter of the FET to the printer port of your PC.
Connect the 14-pin connector to the JTAG port on your board. Be sure this cable is
connected in the “Up” position. Now proceed to the following:
Step 2: Take the following path on you PC: Start / Programs / IAR Systems /
IAR Embedded Workbench for MSP430 KickStart/IAR /
Embedded Workbench. This will open the screen shown in Figure 8
after you have select File and drag down to New.
Step 3: Now click on New and you will see the screen shown in Figure 9 after
you have highlighted Project.
Step 4: Now click on Project / New and you will see the screen shown in Figure 10.
Step 5: Since we want to look at the lcd for our “Hello” message, select (click on)
LcdDisplay and then click on create. Click yes for replacing the existing
.prj file. This will produce the screen shown in Figure 11 after you click
Project.
Step 6: Now click on Files and you will see the screen shown in Figure 12. You
should be at C: \msp work \software to see this screen, with software
sitting in the Look in: slot.
Step 7: In successive order, double click (or click one and hit Add) on delay,
demo, and lcd. This will produce the screen shown in Figure 13.
Step 8: Select Done (at the bottom of the Project Files window shown in Figure 13,
after you click on Project) to produce the screen in Figure 14.
19
Step 9: Select Project /Build all from Figure 14 to produce the screen shown in
Figure 15, provided there are no errors in the compile/linking stage.
Step 10: In Figure 15 click on Project /Debugger to produce the screen shown in
Figure 16. Do not be concerned about the “fatal error” message. Go ahead
and click OK.
Step 11: Click on OK in Figure 15 will produce the screen of Figure 17 after clicking
Clicking on File.
Step 12: From Figure 17, click on File /Open to produce the window of Figure 18.
Step 13: From Figure 18 click on lcdDisplay and then Open to produce the window of
Figure 19.
Step 14: In Figure 19 select (click on) f430p and OK. Provided that the FET cable
Is inserted to your PC printer port and the JTAG plug on you processor
board and provided you have built your board correctly, you will see the
screen go through a stage of showing that the board is being erased and
then show it being programmed. After the programming stage is complete,
depress and release the push button just to the right of the JTAG connector.
You should see some +/- 1.8888 type stuff scroll across your lcd and then
you should see HELLO scroll across the lcd. Congratulations!!
You can change the HELLO message to another message of your choice by opening the
demo file and find the code line that has ---- lcd_scroll(“HELLO”) and replace HELLO
with your new message. Try 888808888 to make sure all the segments on you lcd are
working. If they are not working it is probably because you do not have a good solder
joint between the pin and trace that connects to that segment. Take the edge of you finger
nail and remove around the top portion of the chip where most of the pins to the lcd are
connected and gently press on the pins until the in-operative segment comes alive. Then
fix the solder joint.
You are now ready to connect your sensor to the board. As a group, study the best way
to connect to the board. You will probably want to place a unity gain op-amp between
your sensor and the board as a buffer. You may want to build a small circuit module that
20
will allow you to connect the op-amp and your sensor. You will need an external voltage
supply for this. This is an important part of your “engineering” on the project.
The software will need some slight modification to accommodate your sensor. First, in
Step 5 above select (click on) analog rather than lcdDisplay. Next, in Step 7 replace
demo with sensor. The sensor file must be your sensor file that you developed by
modifying the original sensor file. Follow the entire previous steps to program the
MSP430 for your sensor operation.
21
Figure 8: Showing procedure in building software, Step 2.
22
Figure 9: Showing procedure in building software, Step 3.
23
Figure 10: Showing procedure in building software, Step 4.
24
Figure 11: Showing procedure in building software, Step 5.
25
Figure 12: Showing procedure in building software, Step 6.
26
Figure 13: Showing procedure in building software, Step 7.
27
Figure 14: Showing procedure in building software, Step 8.
28
Figure 15: Showing procedure in building software, Step 9.
29
Figure 15: Showing procedure in building software, Step 10.
30
Figure 17: Showing procedure in building software, Step 11.
31
Figure 18: Showing procedure in building software, Step 12.
32
Figure 19: Showing procedure in building software, Step 13.
33
Appendix
The following pages give the pin-out connection of the MSP430F449PZ Texas
Instrument Mixed Signal Microcontroller. Also, a general outline of the chip architecture
is included. For more data on the device, check the following web site.
http://focus.ti.com/docs/prod/folders/print/msp430f449.html#technicaldocuments
34
35
36
37
38
39