A universal interface interfaces between a variety of different data
processing devices by the generation, storage, proper routing, and timed
output of data signals to simulate behavior of a traditional interface
device dedicated to that particular communications protocol. The
interface is universal because it is easily reconfigured to interface a
general purpose processor with a number of communications devices,
despite contrasting interface protocols, pin configuration, and other
characteristics. Initially, the controller receives identification of a
peripheral device's particular communications protocol. As for its input
function, the controller responds to input data signals upon input/output
pads by routing the signals into memory and later downloading the signals
from memory under prescribed timing. As for its output function, the
controller generates converted data signals complying with the
peripheral's communications protocol, stores the converted data signals
in the memory, and directs the memory to output the converted data
signals with prescribed timing to simulate behavior of a traditional
interface device dedicated to the selected communications protocol.