1
COMMUNICATION PROTOCOL FOR THE BROADCAST OF FIRST/LAST EVENT DETECTION OVER A SINGLE COMMUNICATION CHANNEL
5
FIELD OF THE INVENTION
The present invention relates to a method and/or architecture for a communication protocol generally and, more particularly, to a method and/or architecture for a commu- io nication protocol for the broadcast of first/last event detection over a single communication channel.
BACKGROUND OF THE INVENTION
15
A conventional approach for implementing a communication protocol is shown in the circuit 10 of FIG. 1. The circuit 10 illustrates a protocol using a channel for the transmission of electrical signals. The circuit 10 comprises a number of stations 12a-12n. A station is defined as an entity capable of transmitting/receiving information, detect- 20 ing an external event and acting upon the event (i.e., performing a communication protocol) The circuit 10 also has a first communication channel 14 and a second communication channel 16. Each one of the stations 12a-12n has an input 18o l%n that receives a local event signal 25 LOCALa-LOCALn. The stations \2a-\2n are configured to detect a local event on each respective local event line LOCALa-LOCALn. The stations \2a-\2n present a signal on the first and second communication channels 14 and 16 in response to the local events LOCALa-LOCALn. Addi- 30 tionally, one of the communication channels 14 or 16 contains information about a first local event detected. The other one of the communication channels 14 or 16 contains information about a last local event detected.
The communication channel 14 performs a wired-NOR 35 function, thereby carrying information about the detection of the first event. The second communication channel 16 performs a wired-AND function, thus carrying information about the detection of the last event.
The disadvantage of such a conventional method is the use of the multiple shared communication channels 14 and 40 16. The circuit 10 typically requires additional hardware resources to implement the two communications channels 14 and 16. The additional hardware resources are required in order for the communication protocol 10 to function properly. 45
SUMMARY OF THE INVENTION
The present invention concerns an apparatus comprising one or more stations. Each of the one or more stations may 50 be configured to receive a local event or a signal from a communication channel. The signal generally comprises timing information. The one or more stations may be configured to share the event detection information.
The objects, features and advantages of the present inven- 55 tion include providing a method and/or architecture for implementing a communication protocol that may (i) allow a group of synchronous stations to broadcast timing information related to the detection of a first and a last synchronous local event to other stations, (ii) allow a single shared communication channel to broadcast timing information to 60 peer stations and/or (iii) minimize a number of communication channels required for broadcast of information.
BRIEF DESCRIPTION OF THE DRAWINGS
65
These and other objects, features and advantages of the present invention will be apparent from the following
2
detailed description and the appended claims and drawings in which:
FIG. 1 is a block diagram of a conventional communication protocol for the broadcast of first/last event detection using an electrical communication channel;
FIG. 2 is a block diagram of a preferred embodiment of the present invention;
FIG. 3 is a graph illustrating an operation of the present invention;
FIG. 4 is a detailed block diagram of the present invention;
FIG. 5 is a timing diagram illustrating an operation of the present invention;
FIG. 6 is a block diagram of an implementation of the present invention;
FIG. 7 is a block diagram of an implementation of the present invention; and
FIG. 8 is a timing diagram of the circuit of FIG. 7.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring to FIG. 2, a block diagram of a circuit (or system) 100 is shown in accordance with a preferred embodiment of the present invention. The structure of the circuit 100 generally comprises a number of stations 102a 102« (where n is an integer) and a communication channel 104. In one example, the communication channel 104 may be implemented as an electrical communication channel. Each of the stations 102a 102« may have an input/output 106a 106« that may be connected to the communication channel 104. In one example, the stations 102a 102« may be implemented as synchronous stations. In another example, the stations 102a 102« may be implemented as peer (e.g., singular, independently operated) stations. In another example, the communication channel 104 may be implemented as a shared communication channel (SCC). However, the stations 102a 102« and the communication channel 104 may be implemented as other appropriate stations and/or channels in order to meet the design criteria of a particular implementation.
The circuit 100 may provide a mechanism that may allow a group of synchronous stations (e.g., the stations 102a-102«) to broadcast timing information related to the detection of a first and a last synchronous local event to the other synchronous stations 102a 102«. The circuit 100 may also minimize the number of communication channels required for a communication protocol (e.g., required for the broadcast of information).
Each of the stations 102a 102« may have an input 108a 108« that may receive a signal (e.g., LOCALa-LOCALn). In one example, the signals LOCALa-LOCALn may be implemented as synchronous local events. The circuit 100 may allow the group of synchronous stations 102a 102« to communicate timing information related to the detection of the synchronous local events LOCALa-LOCALn to the other synchronous stations 102a 102«. Additionally, the circuit 100 may allow the synchronous stations 102a 102« to communicate over a single shared communication media (e.g., the SCC 104). Additionally, the communication channel 104 may be coupled to a first side of a resistor 110. The resistor 110 may have a resistive value (e.g., R).
The arrival of the local event LOCALa-LOCALn is generally assumed to occur infrequently for each station, relative to the time of arrival of the events across the stations in the system. The stations 102a 102« may be configured to
3
detect the local events LOCALa-LOCALn presented to each station 102a-102n, within a certain span of time. Additionally, the stations 102a-102n may communicate the first and last local events LOCALa-LOCALn via the SCC 104. Each station 102a 102« may be required to know an 5 exact moment (e.g., time) when both the first and the last synchronous local events LOCALa-LOCALn occur via the SCC 104. The first and last local events generally occur at different stations 102a 102«.
The system 100 may also be implemented to determine if 10 the stations 102a 102« have detected the local event LOCALa-LOCALn within a predetermined time. For example, each of the stations 102a 102« may open a time window of a predetermined length (e.g., T time units), upon the detection of the first event on the SCC 104. The last 15 event is then expected to be detected before the time window expires, T time units later.
Referring to FIG. 3, a typical local event arrival time line is shown. FIG. 3 may illustrate a typical pattern of arrival for a series of events to a number of stations. Initially, no event 20 may be detected by any of the stations 102a 102« present in the system 100. Since no event has been detected, the stations 102a 102« may remain passive (e.g., do not drive the SCC 104). An assertion of the SCC 104 by any of the stations 102a 102« may indicate the timing of the first local event within the system. 25
At a first time (e.g., tl) the station 102c may receive a local event. The event received at the station 102c may be a first local event. At a second time (e.g., t2) the station 102a may receive a local event and the station 102n may receive a local event. At a third time (e.g., t3) the station 1026 may receive a local event. The event received at the station 1026 may be a last local event.
At a fourth time (e.g., t4) the station 102c may receive a local event. The event received at the station 102c may be a 35 first local event. At a fifth time (e.g., t5) the station 102a may receive a local event and the station 1026 may receive a local event. At a sixth time (e.g., t6) the station 102n may receive a local event. The event received at the station 102n may be a last local event.
40
At a seventh time (e.g., t7) the station 1026 may receive a local event and the station 102c may receive a local event. The events received at the station 1026 and the station 102c may be first local events. At an eighth time (e.g., t8) the station 102a may receive a local event and the station 102n 45 may receive a local event. The events received at the station 102a and the station 102n may be last local events.
Referring to FIG. 4, a more detailed diagram of the system 100 is shown. FIG. 4 may illustrate a typical implementation of a station. Each of the stations 102a 102« generally 50 comprises a receive module 120a 120«, a transmit module 122a-122«, a time delay block (or circuit) 124a-124« and a time delay block (or circuit) 126a 126«. A buffer 128a-128« generally receives the signal from the communication channel 104 and a buffer 130a 130« generally 55 presents information to the communication channel 104.
In one example, the blocks 124a-124« may be implemented as receive time delay circuits and the blocks 126a 126« may be implemented as transmit time delay circuits. The receive time delay circuits 124a-124« may 60 have a delay time of M. The transmit time delay circuits 126a 126« may have a delay time of N, where M and N are integers that may be the same or different. In one example, M may be the number of time units (or clock cycles, since the communication is generally synchronous) required for a 65 broadcast signal (e.g., along the SCC 104) to propagate from the SCC 104 to the receiving module 120a 120« of a
4
particular one of the stations 102a 102«. In another example, N may be the number of time units required for the broadcast signal to propagate from the transmitting module 122a-122« of a particular one of the stations 102a 102« to the SCC 104. Furthermore, the propagation delay through the SCC 104 between any two of the stations 102a 102« may be less than 1 time unit.
A first station (e.g., 102a) may detect a local event via the event LOCALa that may drive the SCC 104 for a predefined period (e.g., M+N) time units. The predefined period may assure that the SCC 104 remains active until the communication protocol is fully resolved.
The initial act of driving the SCC 104 may carry information for an exact timing of the first event (e.g., LOCALa) that may be detected by the system 100. The initial driving of the SCC 104 may reach all of the receiving modules 120a 120« of the 1 stations 102a 102« at the same time. For example, the initial drive may reach each of the stations 102a 102« (M+N) time units later.
If a station (e.g., 1026) receives a local event (e.g., signal LOCALb) before the (M+N) time units expire, the station 1026 may also attempt to drive the SCC 104. However, the station 1026 may receive an active signal from the receiving module 1206 sooner than (M+N) time units after the station 102a drove the SCC 104. The station 1026 may be informed that the event LOCALb may not be the first local event of the system 100. If the station 1026 is informed that local event LOCALb is not the first local event, the station 1026 may immediately become passive and release the SCC 104.
If another station (e.g., 102c) receives an active signal in the receiving module 120c and has not yet detected a local event on the SCC 104, the station 102c may immediately become active by driving the SCC 104. As soon as the local event is detected by the receive module 120c of the station 102c, the station 102c may become passive by releasing the SCC 104. Eventually, all the stations 102a 102« may receive the notification of local events (via the SCC 104). The stations 102a 102« may then cause a complete release of the SCC 104, thus ending the protocol.
The time of which the release of the SCC 104 is detected carries the information regarding when the last station 102a 102« received the local event. The resolution time of the communication protocol may be directly proportional to the maximum skew allowed for the arrival of the local events LOCALa-LOCALn, and the inherent latencies M and N of each station 102a 102«. The circuit 100 may provide a timeout embedded in the protocol that may constrain the maximum skew among the local events LOCALa-LOCALn. Once the protocol timeout expires, all the stations 102a 102« may become passive and release the SCC 104 in order to wait for the next set of local events to arrive.
Referring to FIG. 5, a timing diagram 200 of typical waveform signals for the system 100 involving two stations (e.g., station 1 (102a) and station 2 (1026)), where M=N=1 is shown. The timing diagram 200 may illustrate a communication protocol established by two stations. At a time (e.g., 0) the station 1 may receive a local event and be asserted at a transition 202. The local event may keep the signal asserted for a single time period. The station 1 local event may additionally cause the transmit module 122a of the station 1 to be asserted at a transition 204.
The transition 204 may cause the SCC 104 to be asserted at a transition 206, at a time (e.g., 1). The transition 206 may cause the receive module 120a of the station 1 to be asserted at a transition 210 and the receive module 1226 of the station 2 to be asserted at a transition 212. The transition 210 may cause the transmit module 122a of the station 1 to be de-asserted at a transition 214. The transition 212 may cause
« ZurückWeiter » |