WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Packet transmission system and method utilizing both a data bus and dedicated control lines    
United States Patent5495482   
Link to this pagehttp://www.wikipatents.com/5495482.html
Inventor(s)White; Richard E. (Schaumburg, IL); Buchholz; Dale R. (Palatine, IL); Freeburg; Thomas A. (Arlington Heights, IL); Kaczmarczyk; John M. (Niles, IL); O'Brien; Rita (Palatine, IL)
AbstractA common communication controller is linked to a plurality of peripheral devices by a network interface bus. Packets containing information is communicated between the controller and the peripherals over the bus which consists of a parallel packet bus and a plurality of control lines utilized to implement a communication protocol which increases the efficiencies of packet communications by the utilization of additional direct command lines between the communications controller and peripherals.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5495482
Packet transmission system and method utilizing both a data bus and

     dedicated control lines - US Patent 5495482 Drawing
Packet transmission system and method utilizing both a data bus and dedicated control lines
Inventor     White; Richard E. (Schaumburg, IL); Buchholz; Dale R. (Palatine, IL); Freeburg; Thomas A. (Arlington Heights, IL); Kaczmarczyk; John M. (Niles, IL); O'Brien; Rita (Palatine, IL)
Owner/Assignee     Motorola Inc. (Schaumburg, IL)
Patent assignment
All assignments
Publication Date     February 27, 1996
Application Number     07/719,212
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 21, 1991
US Classification     370/419 370/473
Int'l Classification     H04L 012/40 H04L 012/56
Examiner     Kizou; Hassan
Assistant Examiner    
Attorney/Law Firm     Hillman; ValJean
Address
Parent Case     FIELD OF THE INVENTION This application is a Continuation-In-Part of application Ser. No. 07/414,792 filed Sep. 29, 1989 and now abandoned, application Ser. No. 07/445,238 filed Dec. 4, 1989 and now abandoned, application Ser. No. 07/645,383 filed Jan. 24, 1991 and now abandoned, application Ser. No. 07/646,924 filed Jan. 28, 1991 and now abandoned, application Ser. No. 07/682,486 filed Apr. 24, 1991 and now abandoned.
Priority Data    
USPTO Field of Search     370/85.1 370/85.2 370/85.3 370/85.9 370/85.11 370/94.1 370/94.2 370/94.3 370/99 370/67 370/60 370/60.1 370/85.6 340/825.5 340/825.51 364/240 364/242.6 364/242.92 395/200 395/725
Patent Tags     packet transmission utilizing both data bus and dedicated control lines
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4969146
Twitty
370/338
Nov,1990

[0 after 0 votes]
4961188
Lau
370/517
Oct,1990

[0 after 0 votes]
4933935
Adams
370/406
Jun,1990

[0 after 0 votes]
4922486
Lidinsky
370/427
May,1990

[0 after 0 votes]
4905231
Leung
370/400
Feb,1990

[0 after 0 votes]
4896319
Lidinsky
370/427
Jan,1990

[0 after 0 votes]
4890280
Hirata
370/413
Dec,1989

[0 after 0 votes]
4881271
Yamauchi
455/436
Nov,1989

[0 after 0 votes]
4870408
Zdunek
370/341
Sep,1989

[0 after 0 votes]
4866702
Shimizu
370/438
Sep,1989

[0 after 0 votes]
4807222
Amitay
398/99
Feb,1989

[0 after 0 votes]
4791629
Burns
370/363
Dec,1988

[0 after 0 votes]
4789983
Acampora
370/349
Dec,1988

[0 after 0 votes]
4779093
Watkins
340/825.57
Oct,1988

[0 after 0 votes]
4755986
Hirata
370/392
Jul,1988

[0 after 0 votes]
4754453
Eizenhofer
370/337
Jun,1988

[0 after 0 votes]
4736409
Hasegawa
379/269
Apr,1988

[0 after 0 votes]
4704606
Hasley
340/825.5
Nov,1987

[0 after 0 votes]
4684941
Smith
340/825.52
Aug,1987

[0 after 0 votes]
4680755
Reames
370/451
Jul,1987

[0 after 0 votes]
4672601
Ablay
370/277
Jun,1987

[0 after 0 votes]
4672658
Kavehrad
455/555
Jun,1987

[0 after 0 votes]
4654654
Butler
340/825.5
Mar,1987

[0 after 0 votes]
4648090
Maddern
370/522
Mar,1987

[0 after 0 votes]
4636791
Burke
340/825.52
Jan,1987

[0 after 0 votes]
4528656
Morais
370/281
Jul,1985

[0 after 0 votes]
4398289
Schoute
370/348
Aug,1983

[0 after 0 votes]
3988716
Fletcher
709/238
Oct,1976

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A method for a device connected to a NI (network interface) bus having a packet bus and control lines to transmit data to a communication controller connected to the NI bus comprising the steps of:

(a) determining if the NI bus is available to accept data from the device by determining if a first control line and a second control line have a predetermined binary state;

(b) if the NI bus is available to accept data, the device causing the first control line to change to the other binary state;

(c) writing a byte of data to be transmitted on the packet bus;

(d) causing a third control line that functions as a packet clock to change binary states thereby providing the communication controller with a signal to read the written data;

(e) if additional data is to be transmitted, repeating steps (c) and (d); and

(f) causing the first control line to change from the other state to the predetermined state thereby indicating an end of data transmission.

2. The method according to claim 1 further comprising the steps of monitoring the binary state of a fourth control line under the control of the communication controller and terminating the sending of additional data upon said monitoring step sensing a transition of the fourth control line from one state to the other state and back to the one state.

3. The method according to claim 2 wherein said terminating step allows additional data to be transmitted until said fourth control line changes from said other state back to the one state.

4. A device connected to a NI (network interface) bus having a packet bus and control lines capable of transmitting data to a communication controller connected to the NI bus, said device comprising:

means for determining if the NI bus is available to accept data from said device by determining if a first control line and a second control line have a predetermined binary state;

means for causing the first control line to change to the other binary state if the NI bus is available to accept data;

means for writing data to be transmitted on the packet bus;

means for causing a third control line that functions as a packet clock to change binary states thereby providing the communication controller with a signal to read the written data;

means for determining if additional data is to be transmitted and causing said writing means and said third control line means to respectively, write the additional data on the packet bus and provide the communication controller with a signal to read the additional data; and

means for causing the first control line to change from the other state to the predetermined state thereby indicating an end of data transmission.

5. The device according to claim 4 further comprising means for monitoring the binary state of a fourth control line that is under the control of the communication controller and terminating the sending of additional data upon said monitoring means sensing a transition of the fourth control line from one state to the other state and back to the one state.

6. The device according to claim 5 wherein said terminating means allows additional data to be transmitted until said fourth control line changes from said other state back to the one state.

7. A method for a communication controller connected to a NI (network interface) bus having a packet bus and control lines to transmit data packets to a device connected to the NI bus comprising the steps of:

(a) obtaining control of the NI bus by causing a first control line to change from a first binary state to the other binary state;

(b) marking the beginning of a data packet by causing a second control line to change from a first binary state to the other binary state;

(c) writing a byte of data packet information to be transmitted on the packet bus;

(d) causing a third control line that functions as a packet clock to change binary states thereby providing said device with a signal to read the byte of data packet information;

(e) if additional data packet information comprising the data packet is to be transmitted, repeating steps (c) and (d); and

(f) marking the end of the data packet by causing the second control line to change from the other state to the first state and releasing control of the NI bus by causing the first control line to change from the other state to the first state.

8. A communication controller connected to a NI (network interface) bus having a packet bus and control lines capable of transmitting data packets to a device connected to the NI bus comprising:

means for obtaining control of the NI bus by causing a first control line to change from a first binary state to the other binary state;

means for marking the beginning of a data packet by causing a second control line to change from a first binary state to the other binary state;

means for writing a byte of data packet information to be transmitted on the packet bus;

means for causing a third control line that functions as a packet clock to change binary states thereby providing the device with a signal to read the byte of data packet information;

means for determining if additional data packet information comprising the data packet is to be transmitted and causing said writing means and said third control line causing means to respectively, write the additional data on the packet bus and provide the device with a signal to read the additional data;

means for marking the end of the data packet by causing the second control line to change from the other state to the first state; and

means for releasing control of the NI bus by causing the first control line to change from the other state to the first state.
 Description Submit all comments and votes
 


This invention pertains to a voice/data packet transmission system and is especially suited for a packet transmission system which must accommodate a variety of different peripheral devices.

BACKGROUND OF THE INVENTION

Voice and data switches are known in the prior art. Packet switching is also known. In the past, however, synchronization for the control of the devices sending and receiving information packets in a voice/data packet switch has been a problem. This problem has been related to the problem of dynamically allocating the packet bandwidth between the various peripheral devices attached to the switch for voice information and data information. Another related factor has been the network interface architecture for the switch. The network interface architectures of past switches have used the same bus for both data and control. When coupled with the problem of dynamically allocating bandwidth on the bus, this network interface architecture has resulted in the switch having a low switching capacity and throughput. These performance problems become even more significant in the context of modern fast packet protocols. It would be desirable, therefore, to provide a voice/data packet switch with an improved network interface architecture.

In a synchronous system a clock signal corresponding to intervals of data transmission is either made directly available to terminals within the network or it is derived from signals sent by the transmitting terminal. In such a system, a master terminal defines the clock information which is derived by slave terminals. Mainframe computer networks which maintain constant communication with slave devices are an example of such networks.

Asynchronous communications differ in that clock information is not provided. Another mechanism must be utilized in order to define the beginning and end of each character or period. In modem networks start and stop bits are utilized by the transmitting modem so that the receiving modem can identify the beginning and end of a transmitted character.

In a TDMA packet network in which each frame contains a plurality of time slots allocated for different users or purposes, it is critical that the receiving terminal be able to properly correlate the beginning of each frame and of each time slot in order to properly decode the transmitted information. It is known in packet systems to utilize a time stamp which is transmitted as part of the packet. For example, see U.S. Pat. No. 4,530,091 and U.S. Pat. No. 4,894,823.

In a wireless packet TDMA system, two types of synchronization is required. First, the beginning of each frame and each time slot (packet) within each frame must be identified. Such identification can be accomplished by transmitting a known data pattern for a predetermined number of bits. This pattern is recognized by the receiving terminal and the beginning of the frame or packet is determined. In a TDMA network in which a master node defines the frame and packet timing for remote terminals, each terminal must be aligned in time relative to the start of the node frame in order to properly receive and transmit information at a predefined time slot within the frame. Problems in acquiring and maintaining this type of synchronization exist especially in a wireless TDMA packet network in which different directional antennas are used for communications. Thus there exists a need for an improved method for maintaining time synchronization in a wireless TDMA packet network in which multiple antennas are utilized.

Packet data networks convey information from an originator to a specified addressee by incorporating the information into packets. Each packet contains a preamble (control data) and information (message data). The preamble typically includes packet network control data, synchronization information, and addressee destination information. The information portion contains part of the total originator's message.

The packet originated by the addressor is typically not directly received by the addressee. The packet may be relayed by several intermediate stations before reaching the final addressee destination. As the transmission speeds of packet networks increase, it becomes increasingly important for relay stations to be able to efficiently handle and process packets.

In a direct method for handling packets, received packets are stored in a memory location. The destination of the packet contained at the preamble is checked as well as other packet network control information. Correct receipt or validation of the control information and the packet data information is checked. Assuming no errors are detected, a new packet corresponding to the received packet is created and stored in a different memory location for transmission. At the appropriate time, the reconstituted packet is retransmitted by the relay station towards its final destination.

Packets are handled in a different manner in an Ethernet local area network. A buffer ring structure comprised of a series of contiguous fixed length byte buffers are utilized for storage of received packets. The beginning and end location of the stored packet is identified by addresses held in a page start and a page stop register. Successive buffers in the ring are utilized to store the packet. Multiple packets can be consecutively stored in the ring structure. The packets are normally removed from the receive buffer ring in FIFO order and are reconstituted for retransmission in memory separate from this ring.

There exists a need for an improved method for organizing and handling packets that minimizes intermediate data transfer to additional memory locations prior to retransmission of the packet

Packet protocols become increasingly inefficient as the amount of data to be transmitted per packet decreases because of the required packet overhead required for each packet. Although short commands can be transmitted from one point to another using packets, a substantial delay exists before the receiving device can act upon the command due to the time requirements of packet transmission and packet disassembly before the command can be forwarded to the destination device.

In a conventional direct control systems each function to be controlled is assigned a separate wire or communication channel which carries a predetermined command from a controller to the device implementing the function. Such systems exist for a variety of applications and are efficient where a limited number of commands are to be transmitted to specific devices. These systems become increasingly complex as the number of commands and devices to be controlled increase. No addressing is required in these systems since each dedicated path has a preassigned single function to control.

There exists a need for a system and method which can carry information utilizing packets while minimizing the inefficiencies related to the transmission of commands to associated devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a first embodiment of a packet/fast packet switch for voice and data.

FIG. 2 shows the network interface bus for the first embodiment.

FIG. 3 shows a packet.

FIG. 4 is a high-level block diagram for the network interface.

FIG. 5 shows a network interface memory map.

FIG. 6 shows address registers.

FIG. 7 shows processor data memory area for the network interface.

FIG. 8 shows network interface base registers.

FIG. 9 shows a status/control register.

FIG. 10 shows a virtual circuit register.

FIG. 11 is a timing diagram showing the network interface control transfer timing.

FIG. 12 is a timing diagram showing a data transfer from a device to the network interface with no additional bytes.

FIG. 13 is a timing diagram showing a data transfer from a device to the network interface with additional bytes.

FIG. 14 is a timing diagram showing a data transfer from the network interface to a device.

FIG. 15 is a timing diagram showing a data transfer from a device to the network interface with a maximum packet size error or a space available error.

FIG. 16 is a timing diagram showing a data transfer from a device to the network interface with a CRC error.

FIG. 17 is a timing diagram showing a data transfer from a device to the network interface with an address error.

FIG. 18 illustrates a format for information in one time slot in a packet environment.

FIG. 19 illustrates the information contained in the packet header as shown in FIG. 18.

FIG. 20 is a diagram representing the packet addressing method and organization in accordance with the present invention.

FIG. 21 illustrates the contents and format for the virtual circuit register as shown in FIG. 20.

FIG. 22 shows the content and format of the queue control block as shown in FIG. 20.

FIG. 23 shows the contents and format of a packet descriptor as shown in FIG. 20.

FIG. 24 shows the contents and format of a buffer descriptor as shown in FIG. 20.

FIG. 25 is a diagram illustrating an exemplary wireless TDMA packet network incorporating the present invention.

FIG. 26 is a block diagram illustrating control modules and user modules utilized in the packet system as shown in FIG. 25.

FIG. 27 is a flow diagram illustrating the generation of frame synchronization packets by the control module.

FIG. 28A illustrates the format of a frame synchronization packet generated by the control module.

FIG. 28B illustrates the format of one frame as defined by the control module.

FIG. 28C illustrates the format of a frame as received by a user module.

FIG. 29 is a flow diagram illustrating the generation of a frame start interrupt by a user module.

FIG. 30 is a flow diagram of the steps used in the user module for determining the frame time synchronization relative to the control module frame.

FIG. 31 is a flow diagram of the steps taken by the user module for adjusting a received frame to maintain time synchronization with the control module frame.

FIG. 32 illustrates a wireless packet communication system suited for incorporating the present invention.

FIG. 33 illustrates a packet format utilized in a preferred embodiment of the present invention.

FIG. 34 is a flow diagram illustrating the transmission of data from a communication controller to a peripheral device.

FIG. 35 is a timing diagram illustrating control signals utilized in accordance with the flow diagram of FIG. 34.

FIG. 36 is a flow diagram illustrating the transmission of data from a peripheral device to the communication controller.

FIG. 37 is a timing diagram illustrating controls utilized to transmit information in accordance with the steps of FIG. 36.

DESCRIPTION OF A PREFERRED EMBODIMENT

Referring now to FIG. 1, it is seen that the Network Interface 105 is the focus of the LAN device (both Node and UM). It connects the various interfaces on the LAN (both cable and radio) to one another and to the Control Processor 107, providing time-division and fast-packet switching. Information is transferred among these interfaces via the Network Interface Memory 111 that is accessible both by the control sections of the Network Interface (both input and output), and by the Control Processor 107. The memory 111 preferably consists of a control memory portion and a data memory portion. Information flow on the LAN side is via the Network Interface Bus (NI-Bus) 101, which is designed to pass data at rates up to, for example, 5 million bytes per second, and to handle the corresponding control information at a similar rate. The microprocessor bus 103 couples the network interface 105 to the control processor 107, hereinafter collectively referred to as the communications controller.

Referring now to FIG. 2, the interaction between the Network Interface Memory 111 and the NI-Bus 101 is shown. The Output Control circuitry 206 of the Network Interface chip 109, sequentially steps through the Control memory 211 and presents address and command bytes to the Control Bus 203. This information controls which device is driving the NI-Bus 101 and which device is listening. All NI-Bus devices, including the Network Interface 105, listen to the Control Bus 203 to determine what the activity is on the Data Bus 201. The Output Control circuitry also sequentially steps through the Data memory. If the Network Interface 105 is driving the bus 101, the information in the Data memory 213 will be output to the Data Bus 201. If the Network Interface 105 is listening to the Data Bus 201, the Input Control 205 will accept the data and put it in the proper area of Network Interface Memory 111. The Network Interface 105 can both listen and drive the bus 101 at the same time. This allows the Network Interface 105 to be put in a loopback mode.

FIG. 3 shows the configuration of a standard packet 300. When a start packet signal (described in a later section) is received from a NI-Bus 101 peripheral (for instance, the radio link 125, 127, 129), the first byte 301 received by the Network Interface is the Virtual Circuit ID. T