The first step in using the Linux Radiometrix RPC Device Driver is establishing the physical connection between the RPC radio and your parallel port.
Note that this driver does not use the RPC development kit sold by Radiometrix. It assumes you have a bare RPC radio hooked directly up to the pins of the parallel port of your PC.
The default pin mappings between the RPC and the parallel port are shown below. However, if necessary, some of these can be modified by changing the #define statements in rpc_lowlevel.c. If you do change the pin mappings, be aware that they are constrained by the capabilities of the PC's parallel port, described in more detail in other documents.)
Pin Label | RPC Pin | Direction | PC (Printer Port) Pin |
GND | 1 | -- | any of 18-25 |
D0 | 2 | 2 | |
D1 | 3 | 3 | |
D2 | 4 | 4 | |
D3 | 5 | 5 | |
TXR | 6 | 16 | |
TXA | 7 | 12 | |
RXR | 8 | 13 | |
RXA | 9 | 14 | |
RST | 10 | 17 | |
5V | 11 | +5 V, 20mA Supply | |
GND | 12 | any of 18-25 | |
Interrupt | See note | 10 |
The RPC needs a +5V supply in order to operate. According to Radiometrix tech support, the radio can actually handle inputs ranging from +4.5V to +5.5V.
It would be extremely convenient if you could simply supply the needed 5V from one of the output pins of the PC parallel port. However, the original PC parallel port was only spec'd to supply up to 2.5mA, and the RPC draws up to 20mA@5V. Using the parallel port for RPC power may work with modern parallel port controllers (if they exceed the official specs of their predecessors by a factor of 10); I've just never tried it. In our lab we typically use a battery connected to a voltage regulator, or a bench power supply.
Naturally, the PC and RPC must share a common ground. Take care if the RPC's power supply does not share a ground with the PC's power supply--make sure there is not a significant potential between the two grounds before plugging them together.
Using interrupts will significantly improve the performance of the radio but is not strictly required. The two state pins that are relevant for interrupt generation are
Interrupts on the parallel port of the PC are signalled on the rising edge of pin 10. However, RXR and TXA are both normally high. Therefore, the simplest interrupt generator is simply an inverter between RXR and Pin 10. A better one is an XOR gate that combines RXR and TXA--then, when either one of these goes low, there is a low-to-high transition on the interrupt pin.
Note that if the RPC interface hardware generates interrupts, the PC parallel port itself must also be configured to generate interrupts; see Section 3.1 for details.
Important Note: If any transmitter in your testbed generates interrupts on TXA, make sure all receivers generate interrupts on RXR (or both RXR and TXA). This is required because a transmitter that uses TXA interrupts will transmit too quickly for a non-interrupt-enabled receiver.