Microcontroller Two Day Beginners Workshop Instructors - PowerPoint PPT Presentation

Loading...

PPT – Microcontroller Two Day Beginners Workshop Instructors PowerPoint presentation | free to download - id: 675048-Yzg1Y



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Microcontroller Two Day Beginners Workshop Instructors

Description:

Microcontroller Two Day Beginners Workshop Instructors Craig Kief Deputy Director, COSMIAC craig.kief_at_cosmiac.org Karl Henry Instructor, JF Drake State – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Date added: 24 November 2019
Slides: 105
Provided by: kief
Learn more at: http://www.cosmiac.org
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Microcontroller Two Day Beginners Workshop Instructors


1
Microcontroller Two Day Beginners
Workshop Instructors
Craig Kief Deputy Director, COSMIAC craig.kief_at_cos
miac.org Karl Henry Instructor, JF Drake
State Karl.Henry_at_DrakeState.edu Nasser
Alaraje Associate Professor, MTU alaraje_at_mtu.edu

Brian Zufelt Faculty, UNM brian.zufelt_at_cosmiac.org
Bassam Matar Instructor, Chandler-Gilbert
b.matar_at_cgcmail.maricopa.edu
1
2
Introductions
  • Who are you?
  • Where are you from?
  • Any Microcontroller or Microprocessor experience?
  • Any C experience?
  • What do you want to learn from this?

3
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
4
Syllabus
Day 2 - 830 am Recap of Day 1 - 900
am Functions and Libraries - 1000 am Lab 5
Interrupts - 1100 am Lab 6 UART - 1200
pm Lunch - 100 pm Lab 7 Accelerometers -
200 pm Lab 7 Temp Sensor - 300 pm Lab 8
OLED / Final Project - 345 pm Microcontroller
peripherals - 400 pm Support System (Software
Wiki, etc.) - 430 pm Implementation /
Adaption Plan / Issues at schools - 500
pm Conclusions / Feedback / Survey
5
Why we are here
  • The average instructor when they are told they
    should be updating their microcontroller lab by a
    department chair

6
The Big Picture
7
Technologies in My Lifetime
Application Specific Application Specific Application Specific Processors Processors Processors
Technology Gates Tools Processors Languages Focus
1960's Transistors 101
1970's SSI (7400) 102 8-bit Fortran Algorithms
1980's PALs (22V10) 103 Scripting 16-bit Pascal Data Structures
1990's CPLDs 104 Schematic Capture 32-bit C, C Objects
2000's FPGAs 106 HDL, synth, analysis Multi-core C, Java Threads, Networks
2010's SOCs 109 HLSTs, IP, Cores SOCs C/HDLs? Partitioning, synching
Human Bandwidth Exceeded Behavioral Design Human Bandwidth Exceeded Behavioral Design Human Bandwidth Exceeded Behavioral Design Human Bandwidth Exceeded Behavioral Design Human Ingenuity Challenged CAD Tool Lag Human Ingenuity Challenged CAD Tool Lag Human Ingenuity Challenged CAD Tool Lag
8
Declining Interest in EE/CS
9
Declining Enrollments and Graduates in EE/CS
10
Method Immersive hands-on design for every
student
Students learn more, faster, and better with
unrestricted access to design tools
overall learning improves when applied design
skills taught early overall performance
improves when design skills used frequently and
they like it
results published in 2008 and 2009 ASEE
proceedings
I never teach my pupils I only attempt to
provide the conditions in which they can learn.
Albert Einstein
11
Microcontroller across the Curriculum
  • Computer Architecture
  • Embedded Processors
  • System on a Chip
  • Digital Logic
  • Dedicated Controllers
  • Application Specific Circuit Testing
  • Controls
  • Motor Control
  • Sensor Interface
  • Robotics
  • DSP
  • Dedicated MAC

12
Please interrupt and ask questions
13
What is a Microprocessor
  • A microprocessor incorporates the functions of a
    computer's central processing unit (CPU) on a
    single integrated circuit (IC). It is a
    multipurpose, programmable device that accepts
    digital data as input, processes it according to
    instructions stored in its memory, and provides
    results as output.
  • It is an example of sequential digital logic, as
    it has internal memory.
  • Microprocessors operate on numbers and symbols
    represented in the binary numeral system.
  • The advent of low-cost computers on integrated
    circuits has transformed modern society.

14
What is a Microcontroller
  • A microcontroller (sometimes abbreviated µC, uC
    or MCU) is a small computer on a single
    integrated circuit containing a processor core,
    memory, and programmable input/output
    peripherals. Microcontrollers are designed for
    embedded applications, in contrast to the
    microprocessors used in personal computers or
    other general purpose applications.
  • Microcontrollers are used in automatically
    controlled products and devices, such as
    automobile engine control systems, implantable
    medical devices, remote controls, office
    machines, appliances, power tools, toys and other
    embedded systems.
  • By reducing the size and cost compared to a
    design that uses a separate microprocessor,
    memory, and input/output devices,
    microcontrollers make it economical to digitally
    control even more devices and processes.
  • Mixed signal microcontrollers are common,
    integrating analog components needed to control
    non-digital electronic systems.

15
What is C and Assembly
  • All computers process information in the form of
    bits. However writing code in 1s and 0s can be
    a impossible task for complex systems. For this
    reason higher level programing languages such as
    C and Assembly were created.
  • Assembly is a language that is closely tied to a
    given architectures instruction set. An
    instruction set is the commands a given processor
    is able to execute as a single instruction. For
    example, bit shifts , memory jump, basic math
    operations.
  • C is a widely used programming language that
    rises above a specific instruction set. This
    allows C to be more readable and portable to
    multiple devices, while still remaining close
    enough to the hardware language that minimal
    performance sacrifices are made. For these
    reasons C has become the language of choice for
    many embedded system designers.
  • As you move to higher languages (C, Java, C,
    and objective C, Visual Basic) the language is
    easier to read, however performance is
    sacrificed.

16
The Compiling Process
  • A compiler is a computer program (or set of
    programs) that transforms source code written in
    a programming language (the source language) into
    another computer language (the target language,
    often having a binary form known as object code).
    The most common reason for wanting to transform
    source code is to create an executable program.
  • The name "compiler" is primarily used for
    programs that translate source code from a
    high-level programming language to a lower level
    language (e.g., assembly language or machine
    code).
  • For this course, we will use the Texas
    Instruments Code Composer Compiler.

17
What projects are Microcontrollers good for?
  • The Stellaris LM4F series of ARM Cortex-M4
    microcontrollers provides top performance and
  • advanced integration. The product family is
    positioned for cost-conscious applications
    requiring
  • significant control processing and connectivity
    capabilities such as
  • Low power, hand-held smart devices
  • Gaming equipment
  • Home and commercial site monitoring and control
  • Motion control
  • Medical instrumentation
  • Factory automation
  • Fire and security
  • Smart Energy/Smart Grid solutions
  • For applications requiring extreme conservation
    of power, the LM4F120H5QR microcontroller
  • features a battery-backed Hibernation module to
    efficiently power down the LM4F120H5QR to a
  • low-power state during extended periods of
    inactivity. A Hibernation module positions the
  • LM4F120H5QR microcontroller perfectly for battery
    applications.

18
Why this tool
Eclipse (Design Environment) Free Code
Composer (not free but open with IDE) ADT
(Android Development Tool) Java PIC
(gcc) AVR (gcc)
In computer programming, Eclipse is a
multi-language software development environment
comprising a base workspace and an extensible
plug-in system for customizing the environment.
It is written mostly in Java. It can be used to
develop applications in Java and, by means of
various plug-ins, other programming languages
including Ada, C, C, COBOL, Fortran, Haskell,
JavaScript, Perl, PHP, Python, Scala, Scheme, and
Erlang.
19
Pinouts for Projects
20
Section Objectives
  • At the end of this section you will be able to
  • Understand the high-level architecture of ARM
    processor
  • Understand the CPU, Digital, Analog and
    Programmable Routing / Interconnect Systems

21
Why we went the way we did
Digilent Orbit Board Mounted on Stellaris
LaunchPad
TI Stellaris LaunchPad
  • ARM is the way of the future. Wanted a way to
    teach intro microcontrollers but also a path way
    ahead to life long learning
  • Wanted to have hardware that instructors could
    inexpensively obtain for a long period of time
  • Wanted to utilize Digilent reliability
  • Wanted a free high quality design environment
  • Wanted to utilize simple enough C code that
    instructors could immediately begin simple
    projects

22
Stellaris LaunchPad
  • The Stellaris Launchpad is an evaluation platform
    provided by Texas Instruments. It provides an
    excellent platform for exploring all the options
    the Stellaris family of microcontrollers provide.
    Some features include
  • In-circuit-debugger
  • I/O headers
  • USB connection
  • RGB LED
  • USB to Serial converter
  • Pushbuttons

23
Digilent Orbit Board
  • The Orbit board contains many features to help
    students grasp the concepts presented
  • OLED display
  • Expandable PMOD connectors
  • Potentiometer
  • Switches
  • Push Buttons
  • LEDs
  • I2C headers

24
CPU Subsystem
Texas Instrument's Stellaris family of
microcontrollers provide designers a
high-performance ARM Cortex-M-based
architecture with a broad set of integration
capabilities and a strong ecosystem of software
and development tools. Targeting performance and
flexibility, the Stellaris architecture offers a
80 MHz Cortex-M with FPU, a variety of integrated
memories and multiple programmable GPIO. Offering
quicker time-to-market and cost savings, the
Stellaris family of microcontrollers is the
leading choice in high-performance 32-bit
applications.
25
What and Why ARM?
  • The ARM architecture describes a family of
    RISC-based computer processors designed and
    licensed by British company ARM Holdings. It was
    first developed in the 1980s by Acorn Computers
    Ltd to power their desktop machines and
    subsequently spun off as a separate company, now
    ARM Holdings.
  • Globally as of 2013 it is the most widely used
    32-bit instruction set architecture in terms of
    quantity produced. According to ARM Holdings, in
    2010 alone, producers of chips based on ARM
    architectures reported shipments of 6.1 billion
    ARM-based processors, representing 95 of
    smartphones, 35 of digital televisions and
    set-top boxes, and 10 of mobile computers.
  • As an IP core business, Advanced RISC Machine
    (ARM) Holdings itself does not manufacture its
    own electronic chips, but licenses its designs to
    other semiconductor manufacturers.

26
Why are they important
  • Virtually every appliance, smart phone,
    automobile, well, you name it, has one in it.
  • Having a technician, technologist or engineer
    that doesnt at least have a working knowledge of
    them is doing them an injustice.

27
How are Microcontroller projects Designed?
  • For our workshop, we will use three packages
  • Code Composer Studio
  • StellarisWare Firmware Development Package
  • LM Flash Programmer Utility
  • ATE Workshop Lab
  • The overall design language is C code!

28
I wish to help all of you to begin teaching
Microcontrollers
29
Three Elements of Focus
  • Hardware Includes the architecture of the
    microcontroller / microprocessor used, and if
    there is and operating system installed.
  • SDK Includes all software used for development
    IDE, Debuggers ,etc..
  • Programming Language Includes all programming
    languages used to develop your project. We will
    use C.

30
ARCHITECTURE OVERVIEW
  • ARM Processor

31
ARM Cortex M4F
  • The next series of slides will drill down into
    the specifics and capabilities

32
ARM Cortex M4F
  • Four Parts that will be discussed
  • ARM
  • System Peripherals
  • Serial Peripherals
  • Analog Peripherals

33
ARM Cortex M4F
  • F means the processor has a Floating Point Unit
    (FPA)

34
ARM Cortex M4F Processor Core
  • 32-bit ARM Cortex-M4F architecture optimized for
    small-footprint embedded applications
  • 80-MHz operation
  • Outstanding processing performance combined with
    fast interrupt handling
  • ARM core in a compact memory size usually
    associated with 8- and 16-bit devices, typically
    in the range of a few kilobytes of memory for
    microcontroller-class applications
  • IEEE754-compliant single-precision Floating-Point
    Unit (FPU)
  • 16-bit SIMD vector processing unit
  • Fast code execution permits slower processor
    clock or increases sleep mode time
  • Harvard architecture characterized by separate
    buses for instruction and data

35
ARM Cortex M4F FPU and Peripherals
  • Floating-Point Unit (FPU) - The FPU fully
    supports single-precision add, subtract,
    multiply, divide, multiply and accumulate, and
    square root operations. It also provides
    conversions between fixed-point and
    floating-point data formats, and floating-point
    constant instructions.
  • The LM4F120H5QR microcontroller is integrated
    with the following set of on-chip memory and
    features 32 KB single-cycle SRAM, 256 KB
    single-cycle Flash memory and 2KB EEPROM

36
Memory Mapped I/O
Memory Mapped I/O is a method of assigning a
memory address to all the peripherals attached to
the processor. This allows the processor to
access peripherals in the same way it accesses
memory. This method reduces development time, and
code space.
37
Serial
38
Serial - Overview
  • The LM4F120H5QR controller supports both
    asynchronous and synchronous serial
    communications with
  • USB 2.0 Device
  • Eight UARTs with IrDA, 9-bit and ISO 7816 support
    (one UART with modem flow control)
  • Four I2C modules with four transmission speeds
    including high-speed mode
  • CAN 2.0 A/B controller
  • Four Synchronous Serial Interface modules (SSI)

39
Serial - USB
  • Universal Serial Bus (USB) is a serial bus
    standard designed to allow peripherals to be
    connected and disconnected using a standardized
    interface without rebooting the system.
  • USB was designed to standardize the connection of
    computer peripherals (including keyboards,
    pointing devices, digital cameras, printers,
    portable media players, disk drives and network
    adapters) to personal computers, both to
    communicate and to supply electric power.
  • It has become commonplace on other devices, such
    as smartphones, PDAs and video game consoles. USB
    has effectively replaced a variety of earlier
    interfaces, such as serial and parallel ports, as
    well as separate power chargers for portable
    devices.

40
Serial - UART
  • A Universal Asynchronous Receiver/Transmitter
    (UART) is an integrated circuit used for RS-232C
    serial communications, containing a transmitter
    (parallel-to-serial converter) and a receiver
    (serial-to-parallel converter), each clocked
    separately.
  • The LM4F120H5QR microcontroller includes eight
    fully programmable 16C550-type UARTs. Although
    the functionality is similar to a 16C550 UART,
    this UART design is not register compatible. The
    UART can generate individually masked interrupts
    from the Rx, Tx, modem flow control, and error
    conditions. The module generates a single
    combined interrupt when any of the interrupts are
    asserted and are unmasked.

41
SERIAL I2C
  • The Inter-Integrated Circuit (I2C) bus provides
    bi-directional data transfer through a two-wire
    design (a serial data line SDA and a serial clock
    line SCL). The I2C bus interfaces to external I2C
    devices such as serial memory (RAMs and ROMs),
    networking devices, LCDs, tone generators, and so
    on.
  • The I2C bus may also be used for system testing
    and diagnostic purposes in product development
    and manufacture.
  • Each device on the I2C bus can be designated as
    either a master or a slave. I2C module supports
    both sending and receiving data as either a
    master or a slave and can operate simultaneously
    as both a master and a slave. Both the I2C master
    and slave can generate interrupts.
  • The LM4F120H5QR microcontroller includes four I2C
    modules.

42
Serial - CAN
  • Controller Area Network (CAN) is a multicast
    shared serial-bus standard for connecting
    electronic control units (ECUs). CAN was
    specifically designed to be robust in
    electromagnetically noisy environments and can
    utilize a differential balanced line like RS-485
    or twisted-pair wire. Originally created for
    automotive purposes, it is now used in many
    embedded control applications (for example,
    industrial or medical). Bit rates up to 1 Mbps
    are possible at network lengths below 40 meters.
    Decreased bit rates allow longer network
    distances (for example, 125 Kbps at 500m)
  • CAN bus is a vehicle bus standard designed to
    allow microcontrollers and devices to communicate
    with each other within a vehicle without a host
    computer.
  • CAN bus is a message-based protocol, designed
    specifically for automotive applications but now
    also used in other areas such as aerospace,
    industrial automation and medical equipment.

43
SERIAL SSI
  • Synchronous Serial Interface (SSI) is a four-wire
    bi-directional communications interface that
    converts data between parallel and serial. The
    SSI module performs serial-to-parallel conversion
    on data received from a peripheral device, and
    parallel-to-serial conversion on data transmitted
    to a peripheral device. The SSI module can be
    configured as either a master or slave device. As
    a slave device, the SSI module can also be
    configured to disable its output, which allows a
    master device to be coupled with multiple slave
    devices. The TX and RX paths are buffered with
    separate internal FIFOs.
  • The SSI module also includes a programmable bit
    rate clock divider and prescaler to generate the
    output serial clock derived from the SSI module's
    input clock. Bit rates are generated based on the
    input clock and the maximum bit rate is
    determined by the connected peripheral.
  • The LM4F120H5QR microcontroller includes four SSI
    modules

44
ANALOG
45
Analog - Overview
  • The LM4F120H5QR microcontroller provides analog
    functions integrated into the device, including
  • Two 12-bit Analog-to-Digital Converters (ADC)
    with 12 analog input channels and a sample rate
    of one million samples/second
  • Two analog comparators
  • 16 digital comparators
  • On-chip voltage regulator

46
Analog - ADC
  • An analog-to-digital converter (ADC) is a
    peripheral that converts a continuous analog
    voltage to a discrete digital number. The
    Stellaris ADC module features 12-bit conversion
    resolution and supports 12 input channels plus an
    internal temperature sensor. Each ADC module has
    a digital comparator function that allows the
    conversion value to be diverted to a comparison
    unit that provides eight digital comparators.
  • The LM4F120H5QR microcontroller provides two ADC
    modules.

47
ANALOG ANALOG COMPARATOR
  • An analog comparator is a peripheral that
    compares two analog voltages and provides a
    logical output that signals the comparison
    result. The LM4F120H5QR microcontroller provides
    two independent integrated analog comparators
    that can be configured to drive an output or
    generate an interrupt or ADC event.
  • The LM4F120H5QR microcontroller provides two
    independent integrated analog comparators.

48
Development tools
  • ARM Processor

49
IDE is A TOOL
  • Code Composer Studio is more than a compiler. CCS
    contains many tools
  • Debugger
  • Editor
  • Disassembler
  • GUI
  • Simulator
  • Drivers / Libraries
  • Examples
  • Optimization Published 1988
    Published 2012

50
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
51
Start the Learning
The key from this workshop is to learn what you
need to know to successfully teach with
Microcontrollers
52
Lab 1 Overview
  • Provides you with an introduction to the design
    tools
  • Steps you through the design tool installation
    process
  • Loading and licensing the software

53
Lab 2 Overview
  • Turn on a light
  • Still only using the Stellaris LaunchPad
  • Change the color

54
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
55
Lunch
  • Talking ATE

56
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
57
C Programming Language
  • ARM Processor

58
Basic C
  • Variables and Datatypes
  • Arithmetic Expressions
  • Relational and Logical Operators
  • Bitwise operators
  • Conditional statements
  • Loops
  • Functions
  • Pointers

59
Variables and Data types
  • Variables store bits of data, the size depends on
    the data type.
  • Missing data types are bool and bit. These are
    typically handled differently by the compiler.

60
Arithmetic Expressions
61
Relational and Logical Operators
These operations always return a Boolean result
aka True/False , On/Off. NOTE False is any
zero value, and True is a non-zero value.
62
Bitwise Operators
Bitwise Operations work on each bit within a
given value
63
Conditional Statements
  • Conditional Statements execute ONLY when a
    certain condition is evaluated as true, or tested
    to be a specific value.
  • if(condition)
  • else
  • switch(value)
  • case value1
  • break
  • case value2
  • break
  • default
  • break

64
Loops
  • Loops involve a code block that will continue
    running in a loop while a current condition is
    evaluated to be true.
  • While(condition)
  • For((initialize) (condition) (after loop))

Notice that each example contains a while(1)
loop. If this code block was not there, the code
will execute only once.
65
Functions
  • Functions allow you to separate you code into
    small chunks that are intended to accomplish a
    specific task.
  • All programs begin with the main() function
  • Functions must be declared before the main
    function. This is called a prototype.
  • All functions that call another function, must be
    declared below the called function.

66
Pointers
  • Pointers are variables that contain the memory
    address of a specific value.
  • Pointer bit size depends on the architecture of
    the hardware used.
  • Pointers are usually the most confusing subject
    for those new to programming. There is even books
    dedicated to the proper use of pointers.
  • We will cover pointers in the labs as they come
    up.

67
Preprocessor
  • The C preprocessor, is a macro processor that is
    used automatically by the C compiler to transform
    your program before compilation.
  • The Preprocessor allows the developer to organize
    code to make it more readable, portable, and
    reusable.
  • All statements that begin with are handled by
    the Preprocessor before the compiler is invoked.

68
C Syntax
  • All define are in all CAPS
  • All functions begin with a capital letter
  • All variables are lower case
  • Indent one tab for all sub block code (eg. All
    code between )
  • Keep all code related to a particular task
    together. Dont create patchy code.
  • Comment, Comment, Comment!!!

69
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
70
Advanced Technological Education (ATE)
Synopsis of Program With an emphasis on two-year
colleges, the Advanced Technological Education
(ATE) program focuses on the education of
technicians for the high-technology fields that
drive our nation's economy. The program involves
partnerships between academic institutions and
employers to promote improvement in the education
of science and engineering technicians at the
undergraduate and secondary school levels. The
ATE program supports curriculum development
professional development of college faculty and
secondary school teachers career pathways to
two-year colleges from secondary schools and from
two-year colleges to four-year institutions and
other activities. Another goal is articulation
between two-year and four-year programs for K-12
prospective teachers that focus on technological
education. The program also invites proposals
focusing on research to advance the knowledge
base related to technician education.
71
ATE Video
What is ATE? Video
72
Advanced Technological Education (ATE)
Cognizant Program Officer(s) Please note that
the following information is current at the time
of publishing. See program website for any
updates to the points of contact. V. Celeste
Carter, Lead Program Director, 835 N, telephone
(703) 292-4651, email vccarter_at_nsf.gov Gerhard
L. Salinger, Lead Program Director, DRL, 885 S,
telephone (703) 292-5116, email
gsalinge_at_nsf.gov David B. Campbell, Co-Lead
Program Director, DRL, 885 S, telephone (703)
292-5093, email dcampbel_at_nsf.gov Pamela Brown,
835 N, telephone (703) 292-4674, email
pbrown_at_nsf.gov Zhanjing (John) Yu, 835 S,
telephone (703) 292-4647, email zyu_at_nsf.gov
73
Advanced Technological Education (ATE)
Synopsis of Program With an emphasis on two-year
colleges, the Advanced Technological Education
(ATE) program focuses on the education of
technicians for the high-technology fields that
drive our nation's economy. The program involves
partnerships between academic institutions and
employers to promote improvement in the education
of science and engineering technicians at the
undergraduate and secondary school levels. The
ATE program supports curriculum development
professional development of college faculty and
secondary school teachers career pathways to
two-year colleges from secondary schools and from
two-year colleges to four-year institutions and
other activities. Another goal is articulation
between two-year and four-year programs for K-12
prospective teachers that focus on technological
education. The program also invites proposals
focusing on research to advance the knowledge
base related to technician education.
74
Advanced Technological Education (ATE)
Synopsis of Program With an emphasis on two-year
colleges, the Advanced Technological Education
(ATE) program focuses on the education of
technicians for the high-technology fields that
drive our nation's economy. The program involves
partnerships between academic institutions and
employers to promote improvement in the education
of science and engineering technicians at the
undergraduate and secondary school levels. The
ATE program supports curriculum development
professional development of college faculty and
secondary school teachers career pathways to
two-year colleges from secondary schools and from
two-year colleges to four-year institutions and
other activities. Another goal is articulation
between two-year and four-year programs for K-12
prospective teachers that focus on technological
education. The program also invites proposals
focusing on research to advance the knowledge
base related to technician education.
75
Anticipated number, size, and duration of new
awards
- ATE Projects approximately 45-60 new awards,
ranging from 25,000 to 300,000 per year and
having a duration of up to three years, except
for Large Scale Materials Development (LSMD)
projects, which are limited to 500,000 per year
for four years. - ATE small grants for
institutions new to the ATE program
approximately 15-20 awards for up to 200,000
(each) typically spread over three years. It is
expected that the budget request will match the
scope of the project. - National Centers of
Excellence up to 2 new awards for up to 5
million (each) spread over four years, with the
possibility of a competitive grant renewal,
normally at a lower level of annual funding, for
an additional three years. - Regional Centers of
Excellence up to 3 new awards for up to 3
million (each) spread over four years, with the
possibility of a competitive grant renewal,
normally at a lower level of annual funding, for
an additional three years. - Resource Centers
up to 4 new awards for up to 1.6 million (each)
spread over four years with the possibility of a
competitive grant renewal. - Planning Grants for
Centers up to 4 new awards for up to 70,000
(each) to develop well-formulated plans for
future national or regional centers (see Section
V.A "Proposal Preparation" for additional
information). - Targeted Research on Technician
Education approximately 5 to 8 new awards,
ranging from 100,000 to 300,000 per year for up
to 4 years.
76
Lab 3 Overview
  • Blinking Light and Preprocessor

77
Next Project
78
Lab 4 Overview
  • LED and Counter

79
Syllabus
Day 1 - 830 am Introduction / Survey - 915
am What is a Microcontroller - 945
am Compiler and C as Tools - 1015 am Break -
1030 am Lab 1 Load Software - 1100 am Lab 2
White Light - 1200 pm Lunch - 100 pm C
Syntax, Compilers, Basic C Statements,
Preprocessor - 200 pm Lab 3 Blinking Light
and Preprocessor - 300 pm Lab 4 LED and
Counter
80
Day 2
  • Recap yesterday events

81
Syllabus
Day 2 - 830 am Recap of Day 1 - 900
am Functions and Libraries - 1000 am Lab 5
Interrupts - 1100 am Lab 6 UART - 1200
pm Lunch - 100 pm Lab 7 Accelerometers -
200 pm Lab 8 Temp Sensor - 300 pm Lab 9
OLED / Final Project - 345 pm Microcontroller
peripherals - 400 pm Support System (Software
Wiki, etc.) - 430 pm Implementation /
Adaption Plan / Issues at schools - 500
pm Conclusions / Feedback / Survey
82
Functions
  • A function is a block of code that has a name and
    it has a property that is reusable (i.e. it can
    be executed from as many different points in a C
    program as required
  • A function groups a number of program statements
    into a unit and gives it a name.
  • Functions give the ability for code segmented
    into modules or black boxes

83
Libraries
  • A C library is a set of named functions. Some
    libraries are part of the C language standard.
    There are static and dynamic libraries
  • Static Libraries are part of the build
    environment
  • Dynamic Libraries are part of the run-time
    environment
  • .h files or header files include functional
    prototypes and declarations (not definitions) of
    functions
  • The .h file is used to generate a library

84
Lab 5 Overview
  • Interrupts

85
Lab 6 Overview
  • UART

86
Lab 7 Overview
  • Accelerometer

87
Lab 7 Overview
  • What is an accelerometer? An accelerometer is an
    electromechanical device that will measure
    acceleration forces. These forces may be static,
    like the constant force of gravity pulling at
    your feet, or they could be dynamic - caused by
    moving or vibrating the accelerometer.
  • What are accelerometers useful for? By measuring
    the amount of static acceleration due to gravity,
    you can find out the angle the device is tilted
    at with respect to the earth. By sensing the
    amount of dynamic acceleration, you can analyze
    the way the device is moving. At first, measuring
    tilt and acceleration doesn't seem all that
    exciting. However, engineers have come up with
    many ways to make really useful products with
    them.

88
I2C Trolled Google for a I2C Sensor
89
Opened the Datasheet
90
Found the I2C Address
91
Lab 8 Overview
  • Temp Sensor with a UART

92
Dont get frustrated
The project may not be successful for each person
each time. Dont get frustrated. The process is
simple but it is often easy to make simple
mistakes.
93
Lab 9 Overview
  • Final Project
  • Suggestions
  • Output Temp sensor data to the LEDs on the Orbit
    board
  • Output Accelerometer data to the UART

94
Impediments to Implementation
  • Hurdles we have seen
  • We have always done it this way
  • Hurdles you might see
  • Fear factor

95
Additional Materials
  • Here is the link for our tutorials
  • http//cosmiac.org/Projects_Micro.html
  • Here is a link for an advanced TI ARM series of
    tutorials and workshops.
  • http//processors.wiki.ti.com/index.php/Getting_St
    arted_with_the_Stellaris_EK-LM4F120XL_LaunchPad_Wo
    rkshop

96
The Teams Plan
  • Develop Instructional Material
  • Train Faculty

97
Collaboration
  • We do collaborations very well
  • Small Grants for Institutions New to the ATE
    Program
  • Project Proposals

98
Developing Curriculum
  • Lab1 Intro SW Install
  • Lab 2 LED
  • Lab 3 Blink LED
  • Lab 4 Switches Buttons
  • Lab 5 Interrupts
  • Lab 6 UART
  • Lab 7 Accelerometer
  • Lab 8 Temp Sensor
  • Lab 9 OLED
  • Lab 10 EEPROM
  • Lab 11 ADC
  • Lab 12 Graphic Display Module

99
Moving Forward
  • Different Development Platforms
  • Additional resources and examples
  • Different architectures
  • Operating Systems
  • Higher level languages
  • Object Oriented language

100
Conclusions
101
Painful survey
We need your help in statistics. We will be
contacting you!
102
APPENDIX
103
(No Transcript)
104
(No Transcript)
About PowerShow.com