Programming the Propeller with Spin : a beginner's guide to parallel processing /
Sandhu, Harprit.
New York ; London : McGraw-Hill,
c2010.
This volume presents the skills needed to build and control devices using the Propeller chip and its parallel processing environment, including how to use each of the identical 32-bit processors, known as cogs, and make the eight cogs effectively interact with each other. The book covers Propeller hardware and software setup, memory, and the Spin language. The author includes step-by-step projects and ready-to-run documented Spin code as well as PDFs of all the schematics that show readers how to: use Propeller I/O techniques with extensive Spin code examples; display numbers with seven segment displays; create accurate, controlled pulse sequences; add a 16 character by two line LCO display; control R/C hobby servos; use motor amplifiers to control small motors; run a bipolar stepper motor; build a gravity sensor-based auto-leveling table; run DC motors with incremental encoders; and run small AC motors.
Includes bibliographical references and index.
pt. 1: The Propeller/Spin system. Introduction for the beginner. 1. A general introduction to the Propeller chip. The Propeller manual -- Parallax, Inc. -- Overall system description -- The Propeller tool -- Instruments needed to support your experiments -- 2. The Propeller chip : an overall description. Basic Propeller specifications -- Voltage and amperage requirements -- The operation of the eight cogs -- The cogs -- The hub -- Forty pins total, 32 pins I/O -- Connecting to the Propeller -- The system counter -- Program storage and execution -- Objects, methods, and other definitions -- 3. The hardware setup. Setting up the hardware -- A fundamental reality we have to consider -- 4. Software setup : the "Propeller tool" environment. Classroom analogy -- Getting ready to use the Propeller -- Installing the software -- Our first program -- The typical spin program -- Program structure -- General pin assignments used in the book -- Propeller FAQ* -- 5. The various Propeller memories. Assigning memory for a new cog -- A new cog can be started to run a private or public method -- 6. The how and why of shared memory. Memory usage -- Variable validity -- Loops -- 7. Understanding one cog. Static versus dynamic -- One cog -- Counters -- Counter : general description -- Assignment of the 32 bits in each of the counters -- Using counter A for PWM generation -- 8. The eight cogs. The cogs -- The flags -- Special memory locations -- The system clock -- Programming -- The ROM -- 9. Special terms and ideas. The hardware -- The software -- New hardware-related definitions -- New software-related definitions -- 10. The spin language. CON -- VAR -- OBJ -- PUB or PRI -- Creating a program with two cogs -- 11. Tasks suited to parallel processing. Parallel programming examples -- Summary -- pt. 2: Input and output : the basic techniques to be mastered-learning by doing. 12. General discussion of input/output -- 13. Binary pulsing -- 14. Setting up a 16-character-by-2-line liquid crystal display -- 15. Binary input and output : reading a switch and turning on an LED if the switch is closed. Discussion -- The repeat command -- 16. Reading a potentiometer : creating an input we can vary in real time. Analog inputs -- Advanced techniques -- 17. Creating and reading frequencies. Creating audible frequencies -- Reading frequencies --
18. Reading and creating pulses. Reading pulse widths -- Determining the pulse width -- Pulse width creation -- pt. 3: The projects : using what was learned to build the projects. 19. Seven-segment displays : displaying numbers with seven-segment LED displays -- 20. The metronomes -- 21. Understanding a 16-character-by-2-line LCD display. 8-bit mode -- Sophisticated total LCD control -- 4-bit mode -- 22. Running motors : a preliminary discussion. R/C hobby servomotors -- Stepper motors (bipolar) -- Small brush-type DC motors -- DC motors with attached encoders -- Relays and solenoids -- Small A/C motors at 120 volts, single phase -- Understanding the concept of the "response characteristics" of a motor -- So What does "compliance" mean? -- DC motor operation notes -- 23. Motor amplifiers for small motors 195. Amplifier construction notes (for homemade amplifiers) -- Detailed "Use information" for the Xavien two-axis amplifier -- Detailed "use information" for the Solarbotics two-axis amplifier -- 24. Controlling R/C hobby servos. Servo control -- 25. Controlling a small DC motor. The software -- 26. Running a stepper motor : bipolar, four-wire motors. Stepper motor power and speed -- Details on bipolar motors -- Running the motor -- Programming considerations -- The software -- 27. Gravity sensor based auto-leveling table. Sensor specifications -- Discussion -- 28. Running DC motors with attached incremental encoders. Not about motors -- Discussion -- DC servo motors with encoders -- Processor connections -- The goal -- PID control in greater detail -- Holding the motor position -- Ramping -- R/C signal use -- Some advanced considerations you should be aware of -- 29. Running small AC motors : controlling inductive loads -- pt. 4: Appendixes. Appendix A: LCDRoutines4 and utilities object listings -- Appendix B: Materials -- Appendix C: Turning cogs on and off -- Appendix D: Experiments board -- Appendix E: Debugging (debugging and troubleshooting; dumb terminal program; signal injection techniques; notes on solderless breadboards; debugging at the more practical level; writing a rudimentary program for testing the LCD; another list of simple checks).
This volume presents the skills needed to build and control devices using the Propeller chip and its parallel processing environment, including how to use each of the identical 32-bit processors, known as cogs, and make the eight cogs effectively interact with each other. The book covers Propeller hardware and software setup, memory, and the Spin language. The author includes step-by-step projects and ready-to-run documented Spin code as well as PDFs of all the schematics that show readers how to: use Propeller I/O techniques with extensive Spin code examples; display numbers with seven segment displays; create accurate, controlled pulse sequences; add a 16 character by two line LCO display; control R/C hobby servos; use motor amplifiers to control small motors; run a bipolar stepper motor; build a gravity sensor-based auto-leveling table; run DC motors with incremental encoders; and run small AC motors.
Programmable controllers.
Microcontrollers
Spin (Computer program language)
Parallel processing (Electronic computers)