Robot-CPU Peripheral Interfaces

Going forward to a robotics control platform from the M16C, I have identified the following peripherals for the robot, and how they map across to the M16C CPU.

 

Robot Peripheral

CPU(M16C) Peripheral

I/O Pins

SRF04

2x Timers, 1xGPIO

TB1 (control out), Output via GPIO p9_7

TB4 (PW Measure) input via TB4_in p9_4

 

P9_7

P9_4

GP02D02? IR Ranger

1xTimer, 1 x GPIO, 1 x UART

tbc – pre allocated TB2, RxD2,

tba

Wheel Encoders (x2)

2 x Timer

TA4, TA0 (using TA4_in, TA0_in) in Event counter mode

P8_1

P7_1

Bumper (x2)

2 x INT

INT1, INT2

P8_3

P8_4

Kill Switch

1 x INT

INT0

 

P8_2

DC Motors

2xTimer, 3xGPIO

TA1,TA2 (using TA1_out,TA2_out) in PWM mode

3xGPIO: D1,D2 – Direction, E: Enable

P7_2

P7_4

tba

Data

1xUART

TxD1 and RxD1

P6_6

P6_7

Leftover

Timers: TB0,3,5 TA1

Interrupts: INT3,4,5

UARTs: ?

A/D converters: ? (Low Batt)

GPIO: ?

 

 

 

 

 

 

 

1