Cybot Processor 1 Board
This is the circuit diagram of the Processor 1 Board, it uses an Elan EM78P459 processor. Unfortunately, being a mask programmed (or at least an OTP) micro-controller, it's difficult to really know how it works, as it's entirely dependent on the internal programming. However, we can make some reasonably educated guesses!.
As there's no external oscillator components (other than a 30K resistor to the OSCI pin), this presumably means it's using it's internal oscillator (unless there's a capacitor hidden away somewhere?). Checking with an oscilloscope on pin 22 (OSCI) shows no oscillation, so that seems to confirm it's using the internal RC oscillator.
The outputs to the motor driver board are on pins 15, 16, 17, and 23, while two of these are PWM enabled, they appear to be using software PWM. Checking with the oscilloscope shows that Cybot is running at half speed in light following mode (50% duty cycle on pins 15 and 17), presumably the PWM hardware isn't used as it wouldn't be possible to provide speed control in both directions with the existing driver hardware.
The inputs from the LDR's are on pins 9 and 10, and although these pins are capable of being used as A2D converters, they appear to be simply used as digital inputs to time how long it takes to charge the two capacitors (C10, C11 on the I/O board) through the LDR's, the associated discharge resistors are R21, R22 also on the I/O board. Again, checking with the oscilloscope shows a narrow ramp waveform on these pins, which gets wider as you restrict light to the LDR's - more resistance, longer charging time.
The two resistors R6 and R7 look to be the pull-up resistors for an I2C type bi-directional bus, presumably this will be used to communicate between the various processors as Cybot develops?. The six pin connector also carries the GND, 6V and 5V rails, plus the reset line for the processor - this has caused problems on some boards, and it's been suggested that plugging a 47K 1/8W resistor between pins 6 (Reset) and 3 (+5V) will help to make the board work - to date there's been no official announcement, but my board seems much! happier with it fitted!. According to the datasheet 47K is actually too high, they specify no greater than 40K, and anything from 40K down to a shorting link should be fine. It's extremely bad practice to leave the reset pin floating, and presumably there will be a pull-up on one of the later boards - or perhaps a complete 'brown-out' circuit.
Following the release of the Processor 2 board, I've been doing some more tests on the bus between the processors, pin 4 appears to be the clock, and pin 5 the data, and it's not a standard I2C interface, with I2C both lines are normally high, and processors 'call' for attention by bringing them low - this isn't done, the data line is normally high, but the clock line is normally low. In 'line following' and 'light seek' modes you only get a short burst of data, as the mode switch setting is fed back to the Processor 1 board - however, in sonar modes there is a regular stream of data, with sixteen positive clock pulses on pin 4, and the associated data on pin 5. This data changes every few seconds, following a 'beep' from Cybot, to one of two different values, but it's hard to know what's going on without the rest of the sonar hardware due to arrive in issue 14.
This leaves two other components, C2 - which is a power supply decoupling capacitor, and R9, which is fed from pin 13, and along with pin 12 feeds the BZ socket on the I/O board. Presumably BZ means 'buzzer', and is the connection for Cybot's piezo loudspeaker? - the 1K resistor will limit the current drawn by this device. Feeding the piezo speaker from 2 pins allows it to be fed with double the voltage, by taking one pin low, and the other high, then reversing them, it gives 10v p-p drive for the sounder, from a 5v supply - this is known as a 'bridged' configuration, and is commonly used in car stereos to give 4 times the power available from a single ended amplifier stage..
In Issue 23 Eaglemoss replaced the original Processor 1 board with a new one, this one uses a 20 pin processor instead of the previous 24 pin one, It's actually an SPMC02A from Sun Plus Technology Co. Ltd.
This board is somewhat more complicated than the previous one, it includes an external ceramic resonator for the clock oscillator, and has an external reset network with a small socket for connection to a future board. It also includes two small capacitors on the inputs from the LDR's, presumably to reduce noise upsetting the readings. But the main change is the circuit added to the right of the processor, incorporating Q1 and Q2, I've no idea what it's supposed to do, I suspect it's a 'brown-out' circuit, to help the processor reset more reliably on poor supplies - but I don't see how C7 or C8 can receive any charging current, even when Q1 turns off as the supply drops away - I've checked the circuit repeatedly, and as far as I can tell this is all there is!. I've even tried shorting our R5, thus removing the drive to Q1, the collector of Q1 still stays at zero volts though! (as I expected, with no visible charging path for C7). I can only imagine there is a mistake on the board, or I'm missing something!.
If you want to investigate the circuit further, you can download the processor datasheet from the manufacturers website.