A Hardware Interfacing And Control Protocol: Using RobotBASIC And The Propeller Chip
John Blankenship, Samuel Mishal
The PC used to allow control of electronic hardware by interfacing through its I/O ports and operating system that allowed deterministic real-time control. The PC grew progressively more complex and powerful at doing GUI, multitasking, 3D graphics, virtual memory management, and much more. But it also became extremely convoluted to program while also prohibiting any access to low-level I/O systems. In the meantime, microcontrollers were becoming more powerful, easier to program and cheaper. Naturally, engineers and hobbyists are opting to use them for their projects instead of the PC. However, most microcontrollerss lack the data storage and processing power as well as the user interfacing facilities of the PC and many find themselves wishing to combine the two. This book aims to show techniques and strategies that can be implemented with any microcontroller and any PC programming language to create a protocol for interfacing and combining the two where the shortcomings of each are overcome by the capabilities of the other. We illustrate the principles with Parallax’s multi-cored Propeller – a single chip with eight 32-bit processors running in parallel and sharing a common RAM. With its powerful programming language (Spin) it facilitates implementing multitasking and parallel processing, which are at the core of the book’s outlined techniques. RobotBASIC is used as the PC programming language (interpreter/compiler) for its powerful readily usable tools that enable a programmer of any expertise to create GUI programs and to effect hardware communications that would need a high level of programming proficiency in other languages. To illustrate the strategies with concrete examples we create a few interesting projects using quite a variety of hardware (motors and sensors) that are typical of most devices you are likely to require in an electronics project (e.g. Robots).