Micro report

advertisement
Microcontrollers
Lecture L12.2
Section 12.2
Microcontrollers
•
•
•
•
•
•
•
Microcontrollers vs. Microprocessors
Two standard architectures
PIC microcontroller
68HC12 Microcontroller
BASIC Stamp
Jstamp
What’s the Difference
Microcontrollers
• Microprocessor
– Performs computing function for different
architectures of memory, input/output ports, devices,
and communication ports
• Microcontroller
– Performs computing functions and contains onchip
memory, input/output ports, devices, and
communication ports.
– Resources are limited
Microcontrollers
Single Chip
Data Bus
CPU
RAM
ROM
General
Purpose
Microprocessor
I/O
Port
Timer
Address Bus
(a) General Purpose Microprocessor System
Single Chip
CPU
RAM
ROM
I/O
Timer
Serial
COM
Port
(b) Microcontroller
Serial
COM
Port
Microcontrollers
• Desktop Computers
– Different architectures/configurations of memory,
devices, and ports
– Microprocessor is a general purpose computing machine
• Embedded Systems
– Includes coffee makers, burglar alarms, TV remote
controls, simple robots, etc…
– Easier to use a microcontroller with limited functionality
and onchip resources
• No need to select/design a board with memory, etc…
• Ready to program
The PIC Microcontroller
• Very common microcontroller
• Made by Microchip Technology
• Over 180 different microcontrollers
• Available in different configurations of on-chip resources
• Timers, Drivers for writing to Liquid Crystal
Displays, USB and TCP/IP interfaces, temperature
sensors, and more
• Packaged in 8- to 84-pin configurations
• Contains from 1 KB to 128 KB memory
• Available in 8 and 16 bits
Microcontrollers
• PIC controllers have a Harvard Architecture
Harvard
Data
Memory
CPU
von-Neumann
Program
Memory
CPU
Program
and
Data
Memory
Architecture used for
Desktop personal computers
Microcontrollers
• What do you think are some
advantages/disadvantages of these
architectures?
Harvard
Data
Memory
CPU
von-Neumann
Program
Memory
CPU
Program
and
Data
Memory
PIC
PIC
368 Bytes of
Memory for
Data
8 KB of Memory
For Programs
14-bit program
words
PIC
Similar to Lab 10
PIC
The
Instruction
Set
3
Types of
instructions
Byte-oriented instructions
• fff ffff – the 7-bit address for which location in the register file
(memory) contains the data of interest
• d – if d = 0, then the answer will be stored in the W register,
otherwise if d = 1, then the answer will be stored in the memory
location selected by fff ffff.
Byte-oriented instructions
If ADDWF is encoded as machine code:
000111 0 0001010
d = 0 memory location = 0A
Memory address
d
Byte-oriented instructions
If ADDWF is encoded as machine code:
000111 0 0001010
d = 0 memory location = 0A
OPCODE = 070A
W reg is added to RF[0A] and the answer is placed in W reg
Byte-oriented instructions
If ADDWF is encoded as machine code:
000111 1 0001010
d = 1 memory location = 0A
OPCODE = 078A
W reg is added to RF[0A] and the answer is placed in RF[0A]
Byte-oriented instructions
For ADDWF, we have seen type machine codes:
070A – add RF[0A] to W reg and place answer in W reg
078A – add RF[0A] to W reg and place answer in RF[0A]
… and there are many more where that came from…
Bit-oriented instructions
bbb – selects the bit that will be operated on
ffffff – selects the memory location of the data to be operated on
For example, BCF encoded as the machine code:
0100 111 0001011
Memory address
Bit #
Bit-oriented instructions
bbb – selects the bit that will be operated on
ffffff – selects the memory location of the data to be operated on
For example, BCF encoded as the machine code:
0100 111 0001011
OPCODE = 138B
Bit 7 (MSB) of the Byte in RF[0B] is cleared to zero
Literal and Control instructions
X – means don’t care
K’s – the literal
Literal means ‘inline data’ like in the 8086 when we used
MOV AX, 0FFFF to move FFFF into AX, FFFF was the
Literal or inline data.
Literal and Control instructions
X – means don’t care
K’s – the literal
For example, if ADDLW is encoded as machine code:
111110 00001111
Inline Data
Literal and Control instructions
X – means don’t care
K’s – the literal
For example, if ADDLW is encoded as machine code:
111110 00001111
OPCODE = 3E0F
0F is added to the value in W reg and the sum is put in W reg
Development Tools for PIC
There is a Windows
Development
Environment
for the PIC
Controller
BASIC Stamp
• Based on 8-bit PIC
• 14-pin microcontroller
• Can be programmed using the BASIC
language
– It has a BASIC language interpreter built-in
BASIC Stamp
Online Interpreter
• Most microcontrollers do not have a built-in
interpreter of any kind
• Usually source code written in higher level
languages are compiled to a microcontrollers
machine code
• BASIC Stamp is inexpensive and easy to
program for small applications
JStamp
Directly executes
Java bytecodes
JStamp
JSTAMP
RAM
FLASH
RAM
JSTAMP
CPU
TIMERS
DUAL
UARTS
SPI
The Java Processing Core
DATA
Mux
Mux
Instr. Reg
Mux
32-bit
ALU
Shifter
Data Reg
Processor
Bus
Shifter
Mux
Register
File
ADDRESS
What’s the Difference
• When selecting a microcontroller there are
several factors that need to be considered
• There are many microcontrollers available
• Each brings advantages and disadvantages
Considerations
• Cost
– Prototype
– Mass Production
• Inputs
– Correct # of inputs
– Digital / Analog
Considerations
• Outputs
– Correct # of Outputs
– Digital / Analog
• Processing Speed and Function
– Adequate Computational Power
– Upgrading a processor due to choosing the
incorrect processor can be costly
• Rework of written programs
Considerations
• Memory
– Programs
– Data
– Enough internal memory and/or can address enough
external memory
• Ports
– Correct ports for communicating with other devices
• Parallel
• Serial
Considerations
• Support
– Online Forums
• Free source code
• Frequently Asked Questions (FAQs)
– Support from Vendor
– Pre-developed software
• Availability
– Volumes – lead time
Considerations
• Extensibility
– Future growth
– Avoid changing microcontrollers in future
releases
• Development Tools
– Language (C / BASIC / Java)
– Development Environment
• Debugging
Considerations
• Other technical requirements
– Power Consumption
• Portable applications
– Operating Voltage
• Compatible with other circuits
Download