cpe 323 introduction to embedded computer systems: the msp430
TRANSCRIPT
![Page 1: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/1.jpg)
CPE 323 Introduction to Embedded Computer Systems:The MSP430 Introduction
Instructor: Dr Aleksandar Milenkovic
![Page 2: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/2.jpg)
CPE 323 Introduction To Embedded Computer Systems 2
OutlineMSP430: An Introduction
The MSP430 familyTechnology RoadmapTypical ApplicationsThe MSP430 DocumentationMSP430 Architecture
RegistersAddressing ModesInstruction SetInstruction Formats and Encodings Address Space
MSP430 DevicesGetting Started with EasyWeb2MSP430 RISC core
![Page 3: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/3.jpg)
CPE 323 Introduction To Embedded Computer Systems 3
The Family (cont’d)
Broad family of TI’s 16-bit microcontrollers(over 150 different configurations)
From 1 KB to 256 KB of flash memoryFrom 1 KB to 120 KB of ROM memoryFrom 128 B to 16 KB of RAM memoryWith clock frequency of 8 KHz, 16 KHz, or 18 KHz
![Page 4: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/4.jpg)
CPE 323 Introduction To Embedded Computer Systems 4
The Family (cont’d)Non-LCD based subfamilies
MSP430x1xx – Flash/ROM based MCUs offering 1.8V to 3.6V operation, up to 60kB, 8MIPS and a wide range of peripherals. MSP430F2xx – Flash-based family featuring even lower power and up to16MIPS with 1.8 to 3.6V operation. Additional enhancements include ±1% on-chip very low power oscillator, internal pull-up/pull-down resistors and low-pin count options. MSP430x5xx – New Flash-based family featuring the lowest power consumption up to 25 MIPS with 1.8 to 3.6V operation starting at 12 MIPS. Features include an innovative Power Management Module for optimizing power consumption, an internally controlled voltage regulator, and 2x more memory than previous devices.
LCD based subfamiliesMSP430x3xx – Older family of ROM/OTP devices offering 2.5V-5.5V operation, up to 32kB and 4MIPS. MSP430x4xx – Flash/ROM based devices offering 1.8V-3.6V operation, up to 120kB/ Flash/ ROM 8MIPS with FLL + SVS along with an integrated LCD controller. Ideal for low power metering and medical applications.
![Page 5: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/5.jpg)
CPE 323 Introduction To Embedded Computer Systems 5
Part numbering convention
MSP430MtFaFbMcMt : Memory type
C – ROM, F – Flash, P – OTP, E – EPROMFa,Fb
10, 11 – basic12, 13 – HW UART14 – HW UART, HW multiplier31, 32 – LCD Controller33 – LCD controller, HW UART, HW multiplier41 – LCD controller43 - LCD controller, HW UART44 - LCD controller, HW UART, HW multiplier
![Page 6: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/6.jpg)
CPE 323 Introduction To Embedded Computer Systems 6
Part numbering convention
MSP430MtFaFbMcMc : Memory capacity
0: 1 Kb ROM, 128 b RAM1: 2 KB ROM, 128 b RAM2: 4 KB ROM, 256 b RAM....9: 60 KB ROM, 2 Kb RAM
![Page 7: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/7.jpg)
CPE 323 Introduction To Embedded Computer Systems 7
MSP 430 Roadmap
![Page 8: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/8.jpg)
CPE 323 Introduction To Embedded Computer Systems 8
Handheld MeasurementAir Flow measurementAlcohol meterBarometerData loggersEmission/Gas analyserHumidity measurementTemperature measurement Weight scales
Medical InstrumentsBlood pressure meterBlood sugar meterBreath measurementEKG system
Home environmentAir conditioningControl unitThermostatBoiler controlShutter controlIrrigation systemWhite goods(Washing machine,..)
MiscSmart card reader Taxi meterSmart Batteries
Utility MeteringGas MeterWater MeterHeat Volume CounterHeat Cost AllocationElectricity MeterMeter reading system (RF)
Sports equipmentAltimeterBike computerDiving watches
SecurityGlass break sensorsDoor controlSmoke/fire/gas detectors
MSP430 Typical Applications
![Page 9: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/9.jpg)
CPE 323 Introduction To Embedded Computer Systems 9An MSP430-Based System
LCD
Switches
RS232 controller
Thermistor
Analog I/O
RS232
2-axes joystick
Adj. Vol. Regul.
LEDs
μCKeypad
![Page 10: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/10.jpg)
CPE 323 Introduction To Embedded Computer Systems 10
BatteryMicrocontroller
TI MSP430F1498-channel 12-bit AD conv.
AccelerometerMovement detectionAnalog Device ADXL202
TransceiverLINX 916 MHz
Basic WISE
Another MSP430-Based System
![Page 11: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/11.jpg)
CPE 323 Introduction To Embedded Computer Systems 11
Tmote Sky Platform
Texas Instruments 16-bit MSP430F149 microcontroller (2KB RAM, 60KB ROM)Chipcon 2420, 250kbps, 2.4GHz, IEEE 802.15.4 compliant wireless transceiver with programmable output powerIntegrated onboard antenna with 50m range indoors and 125m range outdoorsIntegrated humidity, temperature, and light sensors
![Page 12: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/12.jpg)
CPE 323 Introduction To Embedded Computer Systems 12
Tmote Sky Platform
http://www.moteiv.com
![Page 13: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/13.jpg)
CPE 323 Introduction To Embedded Computer Systems 13
MSP430 DocumentationMSP430 home page (TI)
www.ti.com/msp430User’s manual for MSP430x1xx family of devices
http://www.ece.uah.edu/~milenka/cpe323-08F/docs/slau049f.pdfUser’s manual for MSP430x4xx family of devices
http://www.ece.uah.edu/~milenka/cpe323-08F/docs/slau056g.pdfDatasheets
http://www.ece.uah.edu/~milenka/cpe323-08F/docs/msp430f149.pdfhttp://www.ece.uah.edu/~milenka/cpe323-08F/docs/msp430f1611.pdfhttp://www.ece.uah.edu/~milenka/cpe323-08F/docs/msp430fg4619.pdf
TI Workshop documenthttp://www.ece.uah.edu/~milenka/cpe421-06S/docs/msp430/430_2002_atc_workshop.pdf
![Page 14: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/14.jpg)
CPE 323 Introduction To Embedded Computer Systems 14
MSP 430 Modular Architecture
![Page 15: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/15.jpg)
CPE 323 Introduction To Embedded Computer Systems 15
MSP430 16-bit RISCLarge 16-bit register file eliminates single accumulator bottleneckHigh-bandwidth 16-bit data and address bus with no pagingRISC architecture with 27 instructions and 7 addressing modesSingle-cycle register operations with full-accessDirect memory-memory transfer designed for modern programmingCompact silicon 30% smaller than an ‘8051 saves power and cost
![Page 16: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/16.jpg)
CPE 323 Introduction To Embedded Computer Systems 16
Registers
![Page 17: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/17.jpg)
CPE 323 Introduction To Embedded Computer Systems 17
PC/R0 – Program Counter
The 16-bit program counter (PC/R0) points to the next instruction to be executed Each instruction uses an even number of bytes (two, four, or six), and the PC is incremented accordingly. Instruction accesses in the 64-KB address space are performed on word boundaries, and the PC is aligned to even addressesPC can be addressed by all instructions and all addressing modes
MOV #LABEL,PC ; Branch to address LABELMOV LABEL,PC ; Branch to address contained in LABELMOV @R14,PC ; Branch indirect to address in R14
![Page 18: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/18.jpg)
CPE 323 Introduction To Embedded Computer Systems 18
SP/R1 – Stack Pointer
The stack pointer (SP/R1) is used by the CPU to store the returnaddresses of subroutine calls and interrupts. It uses a predecrement, postincrement scheme. In addition, the SP can be used by software with all instructions and addressing modes.Examples
MOV 2(SP),R6 ; Item I2 −> R6MOV R7,0(SP) ; Overwrite TOS with R7PUSH #0123h ; Put 0123h onto TOSPOP R8 ; R8 = 0123h
Question: Illustrate the stack contents after PUSH SP and POP SPinstructions are executed?
![Page 19: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/19.jpg)
CPE 323 Introduction To Embedded Computer Systems 19
SR/R2 – Status Register
The status register (SR/R2), used as a source or destination register, can be used in the register mode only addressed with word instructions. The remaining combinations of addressing modes are used to support the constant generator.
![Page 20: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/20.jpg)
CPE 323 Introduction To Embedded Computer Systems 20
Constant GenerationSix commonly-used constants are generated with the constant generator registers R2 and R3,
Adv.: No special instructions, no special code, no extra memory access Assembler uses the constant generator automatically if one of the six constants is used as an immediate source operand. Registers R2 and R3, used in the constant mode, cannot be addressed explicitly; they act as source-only registers.The constants are selected with the source-register addressing modes (As), as described below.
![Page 21: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/21.jpg)
CPE 323 Introduction To Embedded Computer Systems 21
Constant Generation
Constant generator allows for additional 24 instructions that are emulatedExamples
CLR dst MOV R3,dstINC dst ADD 0(R3),dst
![Page 22: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/22.jpg)
CPE 323 Introduction To Embedded Computer Systems 22
General-Purpose Registers
The twelve registers, R4−R15, are general-purpose registers. All of these registers can be used as data registers, address pointers, or index values and can be accessed with byte or word instructions as shown below
![Page 23: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/23.jpg)
CPE 323 Introduction To Embedded Computer Systems 23
Addressing Modes
Seven addressing modes for the source operand and four addressing modes for the destination operand can address the complete address space with no exceptions.
![Page 24: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/24.jpg)
CPE 323 Introduction To Embedded Computer Systems 24
Addressing Modes
The bit numbers in the table below describe the contents of the As (source) and Ad (destination) mode bits.
![Page 25: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/25.jpg)
CPE 323 Introduction To Embedded Computer Systems 25
Register Addressing Mode
![Page 26: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/26.jpg)
CPE 323 Introduction To Embedded Computer Systems 26
Register Addressing Mode (cont’d)
![Page 27: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/27.jpg)
CPE 323 Introduction To Embedded Computer Systems 27
Register-Indexed Addressing Mode
![Page 28: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/28.jpg)
CPE 323 Introduction To Embedded Computer Systems 28
Register-Indexed Addressing Mode (cont’d)
![Page 29: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/29.jpg)
CPE 323 Introduction To Embedded Computer Systems 29
Symbolic Addressing Mode
![Page 30: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/30.jpg)
CPE 323 Introduction To Embedded Computer Systems 30
Symbolic Addressing Mode (cont’d)
![Page 31: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/31.jpg)
CPE 323 Introduction To Embedded Computer Systems 31
Absolute Addressing Mode
![Page 32: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/32.jpg)
CPE 323 Introduction To Embedded Computer Systems 32
Absolute Addressing Mode (cont’d)
![Page 33: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/33.jpg)
CPE 323 Introduction To Embedded Computer Systems 33
Register Indirect Addressing Mode
![Page 34: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/34.jpg)
CPE 323 Introduction To Embedded Computer Systems 34
Register Indirect Addressing Mode (cont’d)
![Page 35: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/35.jpg)
CPE 323 Introduction To Embedded Computer Systems 35
Register Indirect AutoincrementAddressing Mode
![Page 36: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/36.jpg)
CPE 323 Introduction To Embedded Computer Systems 36
Register Indirect AutoincrementAddressing Mode (cont’d)
![Page 37: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/37.jpg)
CPE 323 Introduction To Embedded Computer Systems 37
Immediate Addressing Mode
![Page 38: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/38.jpg)
CPE 323 Introduction To Embedded Computer Systems 38
Immediate Addressing Mode (cont’d)
![Page 39: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/39.jpg)
CPE 323 Introduction To Embedded Computer Systems 39
Instruction Set27 core instructions
Have unique op-codes decoded by the CPU24 emulated instructions
Make code easier to write and read, but do not have op-codes; instead an equivalent core instruction is generatedNo code or performance penalty for using emulated instructions
3 core instruction formatsDual-operandSingle-operandJump
All single- and dual-operand instructions can be byte or word instructions by using .B or .W (default) extensions
Byte instructions are used to access byte data or byte peripheralsWord instructions are used to access word data or word peripherals.
![Page 40: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/40.jpg)
CPE 323 Introduction To Embedded Computer Systems 40
27 Core RISC Instructions
![Page 41: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/41.jpg)
CPE 323 Introduction To Embedded Computer Systems 41
Emulated Instructions
![Page 42: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/42.jpg)
CPE 323 Introduction To Embedded Computer Systems 42
51 Total Instructions
![Page 43: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/43.jpg)
CPE 323 Introduction To Embedded Computer Systems 43
Double operand instructions
![Page 44: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/44.jpg)
CPE 323 Introduction To Embedded Computer Systems 44
Single Operand Instruction
![Page 45: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/45.jpg)
CPE 323 Introduction To Embedded Computer Systems 45
Jump Instructions
![Page 46: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/46.jpg)
CPE 323 Introduction To Embedded Computer Systems 46
3 Instruction Formats
![Page 47: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/47.jpg)
CPE 323 Introduction To Embedded Computer Systems 47
Instruction Cycles and Lengths
The number of CPU clock cycles required for an instruction depends on the instruction format and the addressing modes used - not the instruction itselfThe number of clock cycles refers to the MCLK
![Page 48: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/48.jpg)
CPE 323 Introduction To Embedded Computer Systems 48
Format I: Instruction Cycles and Length
![Page 49: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/49.jpg)
CPE 323 Introduction To Embedded Computer Systems 49
Format II and Format III: Instruction Cycles and Length
Format III: all jump instructions take 2 clock cycles to execute and are 1 word longInterrupt and reset cycles
![Page 50: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/50.jpg)
CPE 323 Introduction To Embedded Computer Systems 50
Instruction Encoding
![Page 51: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/51.jpg)
CPE 323 Introduction To Embedded Computer Systems 51
Address Space
The MSP430x1xx von-Neumann architecture has one address space shared with special function registers (SFRs), peripherals, RAM, and Flash/ROM memory as shown Memory maps are device specificCode access are always performed on even addresses. Data can be accessed as bytes or words.The addressable memory space is 64 KB with future expansion planned.
![Page 52: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/52.jpg)
CPE 323 Introduction To Embedded Computer Systems 52
Address Space (cont’d)
Special Function Registers (SFRs)Some peripheral functions are configured in the SFRsThe SFRs are located in the lower 16 bytes of the address space, and are organized by byteSFRs must be accessed using byte instructions only. See the device-specific data sheets for applicable SFR bits
Peripheral modules (PM)Peripheral modules are mapped into the address spaceAddress space 0100-01FFh is reserved for 16-bit PMs
Should be accessed with word instructions. If byte instructions are used, only even addresses are permissible, and the high byte of the result is always 0.
Address space 010h-0FFh is reserved for 8-bit PMsShould be accessed with byte instructions. Read access of byte modules using word instructions results in unpredictable data in the high byte. If word data is written to a byte module only the low byte is written into the peripheral register, ignoring the high byte.
![Page 53: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/53.jpg)
CPE 323 Introduction To Embedded Computer Systems 53
Address Space (cont’d)
RAMRAM starts at 0200h. End address of RAM depends on the amount of RAM present and varies by device. RAM can be used for both code and data
Flash/ROMStart address of Flash/ROM depends on the amount of Flash/ROM present and varies by device. End address for Flash/ROM is 0FFFFh Flash can be used for both code and data. Word or byte tables can be stored and used in Flash/ROM without the need to copy the tables to RAM before using them.
Interrupt vector table Is mapped into the upper 16 words of Flash/ROM address space, with the highest priority interrupt vector at the highestFlash/ROM word address (0FFFEh).
![Page 54: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/54.jpg)
CPE 323 Introduction To Embedded Computer Systems 54
Memory OrganizationWord alignment
Bytes are located at even or odd addressesWords are only located at even addresses
Endianess (little-endian)When using word instructions, only even addresses may be used. The low byte of a word is always an even address.The high byte is at the next odd address. For example, if a data word is located at address xxx4h, then the low byte of that data word is located at address xxx4h, and the high byte of that word is located at address xxx5h.
![Page 55: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/55.jpg)
CPE 323 Introduction To Embedded Computer Systems 55
MSP 430 System Architecture: A Closer Look
![Page 56: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/56.jpg)
CPE 323 Introduction To Embedded Computer Systems 56
MSPx430x14x Architecture
64 TQFP (The The Thin Quad Flat Pack package
![Page 57: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/57.jpg)
CPE 323 Introduction To Embedded Computer Systems 57
Basic Clock System
Basic Clock Moduleprovides the clocks for the MSP430 processor and peripherals
![Page 58: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/58.jpg)
CPE 323 Introduction To Embedded Computer Systems 58
Watchdog Timer
WDT module performs a controlled system restart after a software problem occurs
• Can serve as an interval timer (generates interrupts)
• WDT Control register is password protected
• Note: Powers-up active
![Page 59: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/59.jpg)
CPE 323 Introduction To Embedded Computer Systems 59
Timer_A
Timer_A is a 16-bit timer/counter with three capture/compare registers
• Capture external signals
• Compare PWM mode
• SCCI latch for asynchronous communication
![Page 60: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/60.jpg)
CPE 323 Introduction To Embedded Computer Systems 60
Comparator_A
Comparator_A is an analog voltage comparator
• Supports precision slope analog-to-digital conversions
• Supply voltage supervision, and
• Monitoring of external analog signals.
![Page 61: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/61.jpg)
CPE 323 Introduction To Embedded Computer Systems 61
Digital I/O
Independently programmable individual I/Os
• Up to 6 ports (P1 – P6)
• Each has 8 I/O pins
• Each pin can be configured as input or output
• P1 and P2 pins can be configured to assert an interrupt request
01234567
P1.
P6.
P2.
Input Register PxIN
Output Register PxOUT
Direction Register PxDIR
Interrupt Flag Register PxIFG
Interrupt Enable Register PxIE
Interrupt Edge Select Register PxIES
Function Select Register PxSEL
P3.
P5.
Port1Port2
Port3
Port6
yes yes
yes no
yes no
yes no
yesyes
yesyes
yesyes
P4.
…
![Page 62: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/62.jpg)
CPE 323 Introduction To Embedded Computer Systems 62
ADC12
High-performance 12-bit analog-to-digital converter
• More than 200 Ksamples/sec
• Programmable sample&hold
• 8 external input channels
• Internal storage
![Page 63: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/63.jpg)
CPE 323 Introduction To Embedded Computer Systems 63
USART Serial Port
The universal synchronous/ asynchronous receive/transmit (USART) peripheral interface supports two serial modes with one hardware module• UART or SPI (Synchronous
Peripheral Interface) modes
• Double-buffered
• Baud-rate generator
![Page 64: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/64.jpg)
CPE 323 Introduction To Embedded Computer Systems 64
Getting Started with EasyWeb2
![Page 65: CPE 323 Introduction to Embedded Computer Systems: The MSP430](https://reader030.vdocuments.site/reader030/viewer/2022020702/61fb1f4d2e268c58cd5a685f/html5/thumbnails/65.jpg)
CPE 323 Introduction To Embedded Computer Systems 65
Getting Started with EasyWeb2//********************************************// MSP-FET430P140 Demo - Software Toggle P2.1//// Description; Toggle P2.1 by xor'ing P2.1 // inside of a software loop.// ACLK = n/a, MCLK = SMCLK = default DCO ~
800k//// MSP430F149// -----------------// /|\| XIN|-// | | |// --|RST XOUT|-// | |// | P2.1|-->LED//// M. Buccini// Texas Instruments, Inc// January 2002// Built with IAR Embedded Workbench Version:
1.25A// // @Alex Milenkovich, [email protected]// The University of Alabama in Huntsville// February 2005// Modified for easyWeb2 board to blink // the Status led (port P2.1)//********************************************
#include <msp430x14x.h>
void main(void){
// Stop watchdog timerWDTCTL = WDTPW + WDTHOLD; P2DIR |= 0x02; // Set P2.1 to output directionfor (;;) {
unsigned int i;// Toggle P2.1 using exclusive-ORP2OUT ^= 0x02; i = 50000; // Delaydo (i--);while (i != 0);
}}