RP6 ROBOT SYSTEM - 2. The RP6 in detail
We can divide the Robot in five main functional units:
●
Control System
●
Power Supply
●
Sensors, IR Communication and Displays (Sensors) – everything communicating
with the outside world and measureing physical values.
●
Drive System
●
Expansion System
2.1. Control System
As you can see in the diagram, the robot's central unit is an
ATMEL ATMEGA32 8-Bit Microcontroller (see fig.).
A microcontroller is a complete computer in a single chip. This
microcontroller differs from bigger computers (e.g. your PC) by
providing less peripherals than the big ones. Of course, the tiny
processor does not have a normal hard disk drive and Gigabytes
of RAM. A microcontroller does not need that much memory. The
MEGA32 provides “only” 32KB (32768 Bytes) Flash ROM –
which might be compared to a normal “hard disk drive” - or nowadays a flashdrive.
This Flash ROM is used to store all program data. The Random Access Memory (RAM)
size is limited to 2KB (2048 Bytes) and is already more than sufficient for our needs.
Imagine for comparison the controller of the old CCRP5 Robot with only 240 Bytes
RAM, which was almost completely reserved for the Basic Interpreter.
But what on earth enables a microcontroller to work with this tiny memory capacity?
That's simple: The processor neither handles huge amounts of data nor does it need
to provide an operating system such as Linux or even Windows and it does not need
to show a complex graphical interface or serve similar tasks. There will be just one
program running and that's our own one!
These limitations are by no way a disadvantage, but one of the main advantages of
microcontroller systems compared to large computers (additionally we may include
power consumption, size and cost)! The processor is designed to handle jobs in known
time slots (also called “realtime”). Usually we do not have to share the processor's
power with a great number of processes as in a standard PC and programmers are
able to carefully determine the time slot for any special function module.
The RP6 controller runs at 8MHz, which enables a processing speed of 8 Million in-
structions per second. The processor would even allow up to 16MHz clock, but we use
the slower clocking option which allows some power savings. The machine is still fast
enough for all of our standard jobs! Again we are comparing to the controller of the
old predecessor CCRP5 with a 4MHz clock, allowing only approximately 1000 (inter-
preted) Basic instructions per second. For this reason the ACS control had to be man-
aged by another slave controller on that old Robot – we do not need this slave pro-
cessor anymore! And whoever needs more processor power may add one or more
controllers to the expansion interface. The additionally available RP6 Control M32 Ex-
pansion module provides an additional MEGA32, which is clocked with the maximum
16MHz clock frequency.
- 17 -