and the propeller education kitathena.ecs.csus.edu/.../handouts/labs/propellerlab/... · the...

74
Propeller Microcontroller And the Propeller Education Kit

Upload: dinhtu

Post on 26-Jun-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller MicrocontrollerAnd the Propeller Education Kit

Page 2: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Why learn microcontrollers?

• Digital alarm clock• Microwave oven• Alarm system• Cell phone• Automobile

Because they are the “onboard computers” built into devices that interact with their circuits. Examples include

• Computer keyboard• Heart monitor• Factory equipment

subsystems• Etc…

Page 3: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

The Propeller Microcontroller?

• 8 parallel 32-bit processors (cogs)• 32 I/O pins• 32 KB of shared (main) RAM• Each cog has 2 KB of RAM• Clock speeds up to 80 MHz• DIP, QFP and QFN packages

From PE Kit Labs, page 7

Page 4: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Why the Propeller Microcontroller?

Conventional approach to multitasking with a single core microcontroller.

Single processor alternates between tasks

1 9 11 15

2 3 4 5 6 7 8 10 12

Page 5: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Why the Propeller Microcontroller?Multicore Propeller approach.

Propeller cog

Another Propeller cog

Read Propeller Education Kit Labs: Fundamentals, chapter 1 to find out more.

1 2 3 4 5

1 2 3 4 5 6 7 8 9 10 11

Page 6: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit (PE kit)

Propeller Education Kit – 40 Pin DIP

40-Pin DIP Version

~, . l

. --0' ,

• 1'! -.. \

" ,

• .. "

-

"'" V

Page 7: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

PE Kit Labs: Fundamentals Book• For those new to the Propeller• Guided tutorial• Accompanies both versions of

the PE Kit• Prerequisites

– Familiarity with electricity & electronics

– Familiarity with a high level programming language (C++, Java, BASIC, Pascal, Python, etc.)

– OR complete What’s a Microcontroller

Page 8: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Programming Languages

Propeller Tool Software Help• Get Started: Propeller Education Kit Labs: Fundamentals• Reference: Propeller Manual• Objects: Propeller Object Exchange – obex.parallax.com• Propeller Forums: forums.parallax.com -> Propeller• Coding Aid: Propeller Chip Quick Reference

• Native high level Spin language and low level Propeller Assembly Language have the best documentation support.

• Many other languages are available, including C, BASIC, Forth, Java, and more…

Page 9: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Chapter 1 Propeller Microcontroller & PE Kit

Labs Overview

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 10: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, Ch 1

A Cog Interpreting SpinMain (Hub) Memory

32 Configuration KB

Application

=f------1 M Stack + VAR

Character 32 Set KB f------1 R Log, Antilog, & o Sine Tables M f--,,-----1

Boot Loader Interpreter

(a) Interpreter loaded into cog from Main Memory's ROM through Hub

Main (Hub) Memory Fetchl

Configuration

R Application A 1\ M

Stack + VAR

(g) Character Set

R 0 Log, Antilog, &

M Sine Tables

Boot Loader Interpreter

(b) Cog fetches token from Main Memory's RAM

Main (Hub) Memory

Configuration

~ R Application A M

Stack + VAR

Character Set

R 0 Log, Antilog . &

M Sine Tables

Boot Loader tiD

Interpreter

(c) Cog executes token. Examples include RAM, 110 or config read/write, or ROM read

Page 11: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, Ch 1

A Cog Executing ASM

Main (Hub) Memory

Configuration

R Application A M

Stack + VAR

Character Set

R 0 log. Antilog . &

M Sine Tables

Boot loader Interpreter

> .. . 7 to 22

clock cycles, 16 cycles

when synchronized

ASM

4 clock ~

COG

Page 12: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Ch 1

Cogs CommunicatingMain (Hub) Memory

Configuration

R Appl ication A 1--___ --1 M

R

Stack + VAR

Character Set

o Log, Antilog, & M Sine Tables

Boot Loader Interpreter

Page 13: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Ch 1

Cogs Launching Cogs

Page 14: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Ch 1

Application Design

Squar~ Wave.spin

-r-;. Top Object File

_ Robot."",

I

PID AIoorittvn. spin

I

Sp in + ASM

Roat32. spin

Launches a cog

Spin code only

Servo Control,spin

Page 15: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Ch 1

Program Loading & Storage

Propeller Code

=====:::::J Serial over USB

(!) --. _.

Propeller Code

Copy to t I Load from EEPROM EEPROM t after Reset

======, Serial over USB

Page 16: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Chapter 2 Software, Documentation, and

Resources

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 17: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 17

Follow these Instructions!

Page 18: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 17

SoftwareFigure 2-1 Propeller Tool and Parallax Serial Terminal III ~ll.- I ..... _, ... W"Il ... ~ .......... j

CJ HellaFuliDuplexSariai -' Iiij FQllDupleKSQnClJ

0 "

"' ,

H ... roJ[ h ... ~.., ..

Co r r r

·H911orul1~laKSt~lal.tiPln 'Tast n8ssaQ8 to Paral:a~ 5arlal TarRlnal .

_cl.koooR " " tall • pillS. _ ainfr eq " 5_908_008

"-, DtbuO . i tr {5tr~{ ... itcr>'t (clkfreq •

" , Thi s i s a t ~5t m~3 s aq& 1

Th~s is a tast m95saga ! This is a t e st ~&s5aq& 1

C ... FI,nl

Icm.ta:!3 e,udA_ • 1X

Imoo:::oJ • ~ Floll .• Clo ..

r DTA

. DSR r RTI>

[';7 ~cr" On . m , ...

Page 19: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 18

During Software Installation Make sure to leave the Driver Install checkbox checked!

Page 20: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 18

Resources Bookmark ‘em!

Useful Web Sites In addition to www.parallax.comlPropeller. there are a couple of other web sites where you can get answers to questions as well as objects to reduce your development time on Propeller projects .

• Object exchange: http ://obex.parallax.com • Prope ller Chip f011lm: http://f011lms. parallax.com -> Propeller

Tech Support Resources Parallax Inc. offers several avenues for free technical support services:

• Email: [email protected] • Fax: (9 \ 6) 624-8003 • Telephone: Toll free in the U.S: (888) 99-STAMP; or (9 \ 6) 624-8333. Please call between

the hours of 7:00 am and 5:00 pm Pacific time, or leave us a message. • Forums: http://folllllls.parallax.com/follIlI1S/' Here you will find an active fOlllll1 dedicated to

the Prope ller chip, frequented by both Parallax customers and employees.

Page 21: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Chapter 3 Setup and Testing

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 22: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 19

PE Platform

Page 23: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 27

PE Platform Schematic

Vbat

fi-!l voc

-=-P'.Ishbutloo

~ " e , • "

, • ~ • y ,. , • ~ ,

(B{ • ~

, • "' • "

'" • " 3.~V I SQE. n in " ~ L RES• " " 1 ~

n " n ~~ " " " GND e" " 0 _ • ,,' " •

' " " " e" " " e" " " '" " " CIP-40

3.3V LEO

1000 IJF

GND

... ,,, e~

T .. e. .c;nA

'" en eo

"' 3.3'1 "" 3 c'Y ......

::~ -"~ GND I'SS~

"' m

" ' GND

," '" '" '" en

100 0

Pro~I"r Plug

10'"

24LC25E

• --" e

... =-"--" To PC

3.lV

-GND

Page 24: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 28

PE Platform Wiring One of the intermediate steps…

Page 25: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 31

PE Platform Wiring Ready to test…

Page 26: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 33 & 34

PE Platform Testing Test Circuits

0€ 00 00 OC 00 00

LED

"'''' GND

100 "

1-~ Pushbutton

P3 P18

10 kll

GND

Page 27: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 35

PE Platform Testing Test Code

r k [ de R~ ' '''_

F"I W , ... L..J "h1.)

File: Pu"hbuuonLedT es"t. 5p~n Test program for "the Propeller Edu<;a"tion Lab "PE Pla"tform Se"tup"

CON

LEOs_START LEOs_END PUSHBUTTD~

PUB ButtonBlinkSpeed

xtall + plll6x 5_00~U100

o lb 18

Feedback and PLL mul"tiplier E~cernal oscil:acor = 5 HH~

Scare of I/O p':'n group for an/off signal!;! ~nd at I/U p1n group tor on/ott signals Pushbucton Input P':'n

Hai n method

" Sends on/off (3.3 V / 0 V) si9'a15 ae approxi lllately 2 Hz .

repeat

I outa[LEDs_STA,T .. LEDs_ENO]

if ina[PUSH3UTTON ] == 1 waitcnt (clkfreq / 4 + cnt)

",,1~

waitcnt (clkfreq / 20 + cnt) I., ,

Sec enelre pin group 1:0 OUcpU1:

Endless loop

Change the stace of pin group

If pushbut1:on pressed ~ait 1/4 second - > 2 Hz T f rll~hhl rt"tnn nnt" prp~~prl

~ait 1/20 second -> 10 Hz

Page 28: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Chapter 4 I/O and Timing

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 29: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 44

Lab 4: I/O and Timing Circuit for this lab

LEOs 100 U(all )

,(,( P4

P5 3.3V 3.3V

,(,( To To P6 ~ Pushbutton ~ Pushbutton

,(,(

3.3V

To ~ Pushbutton

,(,( P7 P21 P22 P23

,(,( P8 10 k.rl 10 kU 10 k.rl

pg ,(,( - -- -GND GND

--GND

--GND

Page 30: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 48

Lab 4: I/O and Timing Emulate a Wire

Page 31: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 50

Lab 4: I/O and Timing Indenting code blocks

Page 32: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 51

Lab 4: I/O and Timing The WAITCNT Command

Page 33: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 52

Lab 4: I/O and Timing Blinking LED

.. File : ConstantBlinkRate .spin

CON

_xinfreq = clkmode =

5 000 000 - -xtal1 + pll16x

PUB LedOnOff

dira[4] : = 1

repeat

outa[4] := 1 waitcnt(clkfreq /2 + cnt) outa[4] := 0 waitcnt(clkfreq / 2 + cnt)

Page 34: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 62

Lab 4: I/O and Timing This is important!

"File : TimekeepingBad .spin

CON

VAR

_xinfreq = 5_000_000 clkmode = xtall + plllx

long seconds

PUB BadTimeCount

dira[4J--

repeat waitcnt (clkfreq + cnt ) seconds ++ ! outa[4J

"File : TimekeepingGood .spin

CON

VAR

_xinfreq = 5_000_000 _clkmode = xtall + plllx

long seconds , dT , T

PUB GoodTimeCount

dir a [9 .. 4 J- -

dT : = clkfreq T : = cnt

repeat T += dT wai tcnt (T) seconds ++ outa[9 .. 4J seconds

Page 35: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Lab 5 Methods and Cogs

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 36: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 69

Lab 5: Methods & Cogs Calling a Method

.. CallBlink .spin

PUB Main

repeat outa[9] = dira[9] : = 1 repeat until ina[23] outa[9] : = 0 Next

Methodl....---:. Blink ................. Command Call 2: .... ·wai'i:~~t · (~ikf;~~/2+3 + cnt)

PUB Blink I pl.n, rate, reps

p~n · - 4 · -rate · - clkfreq/ 3 · -reps · - 9 · -

Method dira[pin]-- Return outa [pin]-

repeat reps • 2 waitcnt (ratel2 + cnt ) 'outa[pin]

Page 37: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 70

Lab 5: Methods & Cogs Passing Parameters

Page 38: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 73

Lab 5: Methods & Cogs Method Return Value

(Step 3) ButtonTi.c method's rcsul t value Is assigned to the Hain

.. ButtonBlink.spln

PUB r'la i n I time

method's tue variable ~eat

t~me : = ButtonTime(23) --__ _ (Step 4) tJ.me Is used In

the Blink method call

(Step 1) ButtonTime method call passes

23 to Button T i.e'S pin parameter

Blink 4, t l me , 10)

j PUB Bl i nk (pin, rate, I'eps)

dira[pin]-~ outa[pin]-

(Step 5) Blink method receives time as the

value to use In Its rate

parameter repeat reps * 2

waitcnt(ratel2 !outa[pw]

+ c nt)

PUB ButtonTime (pin) I t1, t2

re pea t unt i l i na [p i n] t1 : = c n't repeat whi l e l na[p l n] t2 : = c nt result : = t2 - t1

(Step 2) ButtonTime method defines the rcsult: variable and returns this value to the method call

Page 39: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page

Lab 5: Methods & Cogs Launching Methods into Cogs

Page 40: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 72

Lab 5: Methods & Cogs Memory Map and Stack Space

Page 41: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 73, 74

Lab 5: Methods & Cogs Calculating Stack Space

• 2 - retum address • 1 - retum result • number of method parameters • lllunber of local variables • workspace for intennediate expression ca lculations

repeat r eps • 2 waitcnt (r ate/2 + cnt )

• 2 - retuI1l address • I - result variable (every method has this built-in, whether or not a retuI1l va lue is specified.

This will be introduced in the next section.) • 3 - pin, f r eq , and reps pannneters • 1 - time local variable • 3 - workspace for calculations.

• 10 - Total

Page 42: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Lab 6 Objects

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 43: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 84

Lab 6: Objects Calling methods in another object with “dot notation”

Page 44: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 85

Lab 6: Objects Object View Pane (Upper-Left)

" Propeller Tool - DotNotationExample

File Edit RLJl Help

o DotNoialionExa.ple L_ CJ ButlonAndBink

DotNotationExamp!e- I r. FullSoulce r Condensed r Sl.mrMIY

, 'F ile: DatNatatianExa.ple . spin

.. II ~. OOJ ..!!:.I P,opelle,litxa,y ..:.J ~~~--~--------~ E1 -e Palallax Inc

OO-t:::) Javelin Stamp IDE oo-t:l PlOpelel Tool v 1. 0 , IE- SClibblel ,

Stamp Editol v2.2.6 .-oJ ,

i

-

. -e SX-Key .3.2 - USB Oscilloscope V5.0~

FloalM alh spin FloalStling.spin F ullO uplexSeliai.spin

....J

..:J

PbLed "ButtanAndBlink"

PUB Main I ti.e

repeat

time := PbLed.ButtanTi.e(23)

PbLed.Blink(4, time , 20)

I Plopellel Soulce (-.spin) :::J -116 : 1 I I Ins.,' I Compiled I MQIr'e CUSOI 10 see sOUlce infOfmation I

r Oocument~ion

Page 45: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 86

Lab 6: Objects Objects that Launch Cogs

Page 46: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 91

Lab 6: Objects Documentation View – Schematic & Object Interface

Page 47: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 91

Lab 6: Objects Documentation View – Methods

Page 48: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 92

Lab 6: Objects Character Map

Page 49: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 93

Lab 6: Objects Schematics in Your Documentation Comments

Page 50: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 95

Lab 6: Objects Object Arrays

"Top File: MultiCogObjectExample.spin

OBJ

Blinker[6] Button

"Blinker" "Button"

PUB ButtonBlinkTime time. index

repeat

repeat index from 0 to 5 time : = Button.Time(23) Blinker[index].Start(index + 4. time. 1_000_000)

repeat index from 5 to 0 Button. Time (23) Blinker[index].Stop

Page 51: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page

Lab 6: Objects Displaying Messages with FullDuplexSerial

Page 52: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 99

Lab 6: Objects Declaring & Using the FullDuplexSerial Object

Page 53: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 101

Lab 6: Objects FullDuplexSerial’s Documentation Comments

n ~o",( .. (ode

Fc.€I..pe,6..... I r F"iouce r ~od r s!:!"mo<)l ... .... ... ... .... ... ... ... .... ... ...

Full-Duplex S~rial Driver v1.l (e) 2006 Parallax , Inc. .... ... ... ... .... ... ... ... ... .... ...

Obj ect "FullOuphxSer id" Interhce :

PUB s ta r t (rxp in, txp i n, node , baudrate) PUB stop PUB r xf l ush PUB rxcheck r,byte PUB rxtineCns) rxbyte PUB r x: r xbyte PUB tx(txbyte) PUB str (str ingptr) PUB dec (value) PUB hex (value, :ligit s) PUB bin (value, :ligits)

Prograll : Variable :

168 Longs 1B Longs

PUB star t (rxpin, t xpin, node , baudrate)

Start serial dr i ver - start s a cog returns false if no cog available

~ ode b i t , invert " Mde bi t 1 invert " ~ode bi t , op~n-drain/eource " ~ ode b i t 3 ig,ore tx echo on "

okay

okay

r s!:!"mo<)l

PU B rxti~ e (ns) rxby t e

Wait hS ~ illiseconds for a byte to be rece ived r eturns - 1 if no byte received, SIl Il . . SFF if byt,

PU B rx rxbyte

Receive byte (hay ...ait for byte) r eturns SIlIl .. SFF

PU B tx (t xbyte)

Send byte (hay wa it f or roo~ in buff er)

PUB stdst ringptr)

Send str ing

PU B dec(value)

Pr i nt a decina1 nunber

PU B hex (va lue , di gits)

Pr in t a hexadeci~al nu ~ber

Page 54: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 103, 105, 107, 113

Lab 6: Objects Parallax Serial Terminal Application Examples

Page 55: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Propeller Education Kit Labs: Fundamentals

Lab 7 Counter Modules & Circuit

Applications

Presenter
Presentation Notes
Mention that you have already discussed the PE Kit Labs
Page 56: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Block Diagram

PE Kit Labs Book, page 221

Cog 0 Cog 1 Cog' Cog 3 Cog4 CogS Cag6 Cog 7

• Hob

T Ro..,,,,,, • ., I-SO _I ~~ ~'"

'*"'10X, " " (j) "

@-/ • -" 0-'" CotE".~ .. • (WU'l liO

P6X32A-Q44 P'." IIYlA'WXZZ \ SOfl~ES

~.J..EN'

CSCE,,' :ool!l"'O_ floooioler

»:NODe CLi'.l;Q. ..

~ /

Hub and Cog Interaction

p~~><~ W\VW, paraI/Qx.com

Page 57: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 121

Lab 7: Counters Modules… What’s a Counter Module?

Page 58: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

Counter Module Modes• POS/NEG detector

– Measure Pulse, RC, Duty cycle

• w/Feedback– ADC

• Edge Detect– Frequency

measurements, count events

• LOGIC– Detect conditions

• NCO– Square waves, clock

signals, PWM, duty Cycle

• PLL– High frequency square

waves and clock signals, video mode

• DUTY– DAC

Page 59: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 122

Lab 7: Counter Modules… How do They Work?

Page 60: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 122

Lab 7: Counter Modules… Circuit Application: Measure RC Decay

Page 61: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 123

Lab 7: Counter Modules… RC Decay Circuit Steps

Page 62: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 127

Lab 7: Counter Modules… Doing other Things While Counter Measures RC Decay

Page 63: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 124

Lab 7: Counter Modules… Subtitle

Page 64: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 125

Lab 7: Counter Modules… Counter Setup Steps for RC Decay

Page 65: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page

Lab 7: Counter Modules… from TestRcDecay.spin

, Charge RC circuit .

dira [17] : = outa[17] . - 1 waitcnt (clkfreq/ 100_000 + cnt )

Set pin to output-high Wait for circuit to charge

, Start RC decay measurement. It's automatic after t his ...

phsa­dira [17]-

Clear t he phsa register Pin to input stops charging circuit

, Optional - do other things during the measurement.

Debug. str (S tring (CR, CR, "Working on other tasks", CR) ) repeat 22

Debug . tx (" . ") waitcnt (clkfreq/ 60 + cnt)

Measurement has been ready for a while . Adjust ticks between phsa~ & dira[17]- .

time : = (phsa - 624 ) #> 0

, Display Result

Debug . Str (String (13, " time = " )) Debug.Dec (time) waitcnt (clkfr eq / 2 + cnt )

Page 66: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 132

Lab 7: Counter Modules… D/A Conversion

Page 67: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 131

Lab 7: Counter Modules… Duty Modes from CTR.spin

Page 68: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 131

Lab 7: Counter Modules… Steps for Setting up a Duty Mode Signal

Page 69: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 132

Lab 7: Counter Modules… Duty Mode Example

Page 70: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page

Lab 7: Counter Modules… Metal Detection

Par ts List

(1) Capac1 tor to pr (2) Jumper Wi res (2) Res 1stors 100 0 (~isc ) res1stors : 220. 470 . 1000 . 20a0, 101<

\ ~--'.

Schematic

R' R2

'" '00

- -GNO GND

'" CO

R' "., "" '00 11

101n (2 .5" W .. Loop)

Page 71: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 171

Lab 7: Counter Modules… Notch Filter Resonant Frequency

'.OOe=====~=========+~========+=~====~

10~+---------------------~------------+----------" 38141z 58Hlfz 7mtHz 90HH z

o U(P13) <> U(1"15) Frcqucm;y

1 L

1

Page 72: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 172

Lab 7: Counter Modules… Step Response of Notch Filter

Page 73: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 173, 174

Lab 7: Counter Modules… Eddie Currents and Reflected Impedance

Page 74: And the Propeller Education Kitathena.ecs.csus.edu/.../handouts/Labs/PropellerLab/... · The Propeller Microcontroller? • 8 parallel 32-bit processors (cogs) • 32 I/O pins •

From PE Kit Labs, page 175 - 176

Lab 7: Counter Modules… Metal Detection Application – Measure Frequency Response

CalibrateMetalDetector.spin