Universal protocol programmable communications interface
First Claim
1. A universal protocol communications interface controlled by a host processor so as to provide serial synchronous and asynchronous data communication over a plurality of data communications channels between data communications devices having the same or different bit oriented data communications protocol as said host processor, comprising:
- a host interface for selectively providing read and write access to said host processor; and
a data communications controller comprising;
a data buffer connected to said host processor via said host interface;
a memory for storing data for passage to/from said data communications devices;
a DMA device for providing addresses to data stored in said memory;
a data bus for providing data communication among said buffer, said memory and said DMA device;
a controller for arbitrating among different requests for access to said data bus; and
at least one programmable synchronous/asynchronous receiver/transmitter connected to said data bus so as to provide data communications between said data bus and a plurality of data communications devices over said plurality of data communications channels, each programmable synchronous/asynchronous receiver/transmitter having a programmable bit protocol length for data packets transmitted or received thereby, said bit protocol length being programmed independently for each of said plurality of data communications channels so as to provide serial data communications over each data communications channel in data packets having the bit protocol length of the data communications device connected thereto.
4 Assignments
0 Petitions
Accused Products
Abstract
A general purpose programmable communications interface designed to support a wide variety of serial synchronous and asynchronous communication protocols. A universal protocol communications (UPC) 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.
110 Citations
12 Claims
-
1. A universal protocol communications interface controlled by a host processor so as to provide serial synchronous and asynchronous data communication over a plurality of data communications channels between data communications devices having the same or different bit oriented data communications protocol as said host processor, comprising:
-
a host interface for selectively providing read and write access to said host processor; and a data communications controller comprising; a data buffer connected to said host processor via said host interface; a memory for storing data for passage to/from said data communications devices; a DMA device for providing addresses to data stored in said memory; a data bus for providing data communication among said buffer, said memory and said DMA device; a controller for arbitrating among different requests for access to said data bus; and at least one programmable synchronous/asynchronous receiver/transmitter connected to said data bus so as to provide data communications between said data bus and a plurality of data communications devices over said plurality of data communications channels, each programmable synchronous/asynchronous receiver/transmitter having a programmable bit protocol length for data packets transmitted or received thereby, said bit protocol length being programmed independently for each of said plurality of data communications channels so as to provide serial data communications over each data communications channel in data packets having the bit protocol length of the data communications device connected thereto. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of transmitting serial synchronous and asynchronous data from a host computer over a plurality of data communications channels to one or more data communications devices having the same or different bit oriented data communications protocol as said host computer, comprising the steps of:
-
for each data communications channel, loading a bit protocol length of the data communications device to which that channel is connected; setting a desired data rate; starting at a user defined address, loading a memory of said host computer with data to be transmitted as output data to said data communications device; loading a DMA device with said user defined address and the number of words of data which are to be read from said memory starting at said user defined address; enabling data transmission; transferring words of data having a word bit length of said memory to a dynamically variable bit length shift register starting at said user defined address; shifting data from said dynamically variable bit length shift register into said data communications channel until a number of bits equal to said bit protocol length has been transferred; and once said number of bits equal to said bit protocol length have been shifted into said communications channel, reloading said dynamically variable bit length shift register with further words of data from said memory.
-
-
11. A method of receiving serial synchronous and asynchronous data by a host computer via a plurality of data communications channels, each data communications channel being connected to a data communications device having the same or different bit oriented data communications protocol as said host computer, comprising the steps of:
-
for each data communications channel, loading a bit protocol length of the data communications device to which that channel is connected; setting a desired data rate; determining an address of a memory of said host computer to which input data from said data communications device is to be stored; loading a DMA device with said memory address and the number of words of input data from said data communications device which are to be written into said memory starting at said memory address; enabling data receipt; transferring words of input data having a word bit length of said data communications device to a dynamically variable bit length shift register; shifting data from said dynamically variable bit length shift register into said memory until a number of bits equal to said bit protocol length has been stored in said memory; and once said dynamically variable bit length shift register has shifted said number of bits equal to said bit protocol length to said memory, loading said dynamically variable bit length shift register with further words of data having said word bit length from said data communications device.
-
-
12. A universal protocol communications interface controlled by a host processor so as to provide serial synchronous and asynchronous data communication over a plurality of data communications channels between data communications devices having the same or different bit oriented data communications protocol as said host processor, comprising:
-
a host interface for selectively providing read and write access to said host processor; and a data communications controller comprising; a data buffer connected to said host processor via said host interface; a memory for storing data for passage to/from said data communications devices; a DMA device for providing addresses to data stored in said memory; a data bus for providing data communication among said buffer, said memory and said DMA device; a controller for arbitrating among different requests for access to said data bus; and at least one programmable synchronous/asynchronous receiver/transmitter connected to said data bus so as to provide data communications between said data bus and a plurality of data communications devices over said plurality of data communications channels, each programmable synchronous/asynchronous receiver/transmitter having a programmable bit protocol length which is variable from 1 to 256 bits and programmed independently for each of said plurality of data communications channels so as to provide serial data communications over each data communications channel in the bit protocol length of the data communications device connected thereto.
-
Specification