a general purpose programmable communications interface designed to support a wide variety of serial synchronous and asynchronous communication protocols . a universal protocol communications interface is designed to operate on a vme bus in conjunction with a cpu board which contains the application software that utilizes the communications capabilities of the upc interface . per channel dma is available on input / output lines of the interface together with bit level control for message processing so that a variety of bit oriented communications protocols may be supported by simple reconfiguration of the receiver / transmitter of the programmable upc interface . in a preferred embodiment , a dynamically variable bit length shift register is used to organize the received and transmitted data into serial packets of the appropriate size on a per channel basis independent of the actual width of the shift register . reconfiguration for different protocols is accomplished by simply changing a bit count value stored in a bit counter which counts the number of serial data bits received or transmitted in each data word by the dynamically variable bit length shift registers of the transmit and receive circuitry .