DETAILED DESCRIPTION
[0011] Referring now to the drawing, FIG. 1 illustratively depicts a Bluetooth-enabled terminal 10 having a plurality of co-located but independent radio interfaces, three of which are shown and identified with the numerals 11 , 12 and 13 , respectively. The interfaces 11 - 13 are individually coupled to external Bluetooth radio modules 14 , 15 and 16 and to a common baseband controller 17 . The controller 17 , which receives packets to be transmitted through a host interface 18 and a CPU core 19 , modulates the frequencies of the radio modules 14 - 16 with separate channel hopping patterns F 1 ( t ), F 2 ( t ) and F 3 ( t ) that conform to Bluetooth protocols. Such channel hopping patterns may be transmitted to associated corresponding Bluetooth devices (not shown) in different piconets over links or channels 21 , 22 and 23 , respectively.
[0012] Each of such channel hopping patterns illustratively exhibits, in each of its time slots, a quasi-randomly selected one of 79 different 1 MHz frequency hops within the ISM band. The respective patterns appear on outputs 24 , 25 and 26 of the controller 17 and are respectively coupled to the radio modules 14 - 16 through the interfaces 11 - 13 . Timing of the various logical operations within the terminal 10 , including establishment and synchronization of the time slots for the patterns F 1 ( t ), F 2 ( t ) and F 3 ( t ), may be accomplished with the aid of a clock 27 coupled to the core 19 and the controller 17 .
[0013] While not specifically illustrated in the drawing, the radio modules 14 - 16 are conventionally provided with facilities for transmitting, to the controller 17 , counts originating from independent free-running clocks (not shown). Such free-running clocks, which illustratively are embodied by 28 bit counters having a clock rate centered at 3.2 KHz, are respectively associated with the particular master radio modules for the respective channels 21 - 23 . ( In this connection, while it has been assumed that the modules 14 - 16 themselves are the master modules, it will be appreciated that in appropriate cases at least one of such channels may be set up in the opposite direction. In that case, the correspondent device for the associated one of the modules 14 - 16 would function as the master for such channel.)
[0014] The clock counts transmitted from the respective modules 14 - 16 to the controller 17 are employed by such controller to individually derive the channel hopping patterns F 1 ( t ), F 2 ( t ) and F 3 ( t ) on a one-to-one basis at the instant of establishment of the associated one of the channels 21 - 23 .
[0015] The radio modules 14 - 16 may also be conventionally provided with facilities (not shown) for providing, to the controller 24 , indications of unique, factory-set Bluetooth addresses of the master radio modules that have set up the channels 21 - 23 . The controller also employs such unique addresses in the generation of the channel hopping patterns F 1 ( t ), F 2 ( t ) and F 3 ( t ).
[0016] Because the interfaces 11 - 13 and the associated radio modules 14 - 16 are in close proximity and independently support the respective channels 21 - 23 , such channels are normally susceptible to frequency hop collisions in certain time slots. To confront such problem, the terminal 10 includes a radio manager 30 that includes, among other things, facilities for predicting in which future time slot(s) a collision of the corresponding channel hopping patterns F 1 ( t ), F 2 ( t ) and F 3 ( t ) will occur.
[0017] As illustrated in FIG. 2 , the radio manager 30 includes for this purpose a prediction circuit 31 that is coupled to the clock 27 and to the interfaces 11 - 13 . The prediction circuit 31 may contain suitable facilities for replicating future segments of the channel hopping patterns on the respective channels 21 - 23 ( FIG. 1 ) and for comparing the frequency hops of such segments in corresponding time slots. From such comparison, the prediction circuit 31 ( FIG. 2 ) generates a marker indicative of a future time slot(s) where the corresponding frequency hops of the respective channel hopping patterns coincide.
[0018] As discussed in more detail below, the radio manager 30 is further provided with facilities including an adjustment circuit 32 coupled to the output of the prediction circuit 31 . The adjustment circuit 32 responds to a marker generated by such prediction circuit by altering the prospective frequency hops that would normally occur on selected colliding channel(s) during the predicted time slot(s) represented by the marker.
[0019] FIG. 3 depicts an embodiment of the adjustment circuit 32 implemented in accordance with the invention. Illustratively, the arrangement of FIG. 3 effects the desired frequency hop alteration by muting transmission on all but one of the colliding channels during the time slot predicted for collision by the prediction circuit 31 .
[0020] Referring to FIGS. 1 and 3 , the collision time slot marker at the output of the prediction circuit 31 is applied to a channel selector 33 . Illustratively, the selector 33 converts the marker into a muting signal for the future time slot(s) represented by the marker and routes the generated muting signal to all but one of a plurality of outputs that are equal in number to the number of radio modules associated with the terminal 10 . For the three-channel embodiment assumed in this description, such outputs are indicated at 34 , 35 and 36 in FIG. 3 . A decision as to which outputs of the selector 33 to direct the muting signal to is made by a priority determination circuit 37 as indicated below.
[0021] The selector outputs 34 - 36 are connected to the respective interfaces 11 - 13 associated with the radio modules 14 - 16 . Assuming that the determination circuit 37 has chosen the outputs 35 and 36 of the selector 33 , the muting signal from such selector is illustratively applied to the radio modules 15 and 16 through the interfaces 12 and 13 . Such signal serves to mute the packets that would normally be transmitted by the modules 15 and 16 during the time slot(s) corresponding to the prediction marker. The muting of transmission of such packets during such time slot(s) will have the effect of removing the then-occurring frequency hops from the channels 22 and 23 governed by the radio modules 15 and 16 . Accordingly, the collision that would normally take place between the frequency hops of such channels and of the still-activated channel 21 during such time slot(s) is effectively avoided.
[0022] The adjustment circuit 33 further includes packet buffers 41 , 42 and 43 which are individually coupled to the interfaces 11 - 13 for respectively receiving and storing the packets that are not transmitted on the associated one of the channels 21 - 23 during a time slot when such transmission is muted. Assuming as before that the outputs 35 and 36 of the selector 33 are chosen by the priority determination circuit 37 to mute transmission through the interfaces 12 and 13 , the buffers 42 and 43 associated with such interfaces will receive the packets normally slated for transmission over the channels 22 and 23 during the muting interval.
[0023] The determination circuit 37 is also coupled to the interfaces 11 - 13 to receive indications of the type of traffic that is being handled on each of the channels 21 - 23 . (Conventionally, such indications may be implemented as responses to diagnostic queries applied to the respective channels by the determination circuit 37 .) In general, the determination circuit 37 utilizes such responses to direct the selector 33 to route its muting signal to appropriate pairs of the outputs 34 - 36 either on a random basis or on basis of one of several priority criteria applicable to the responses obtained from the channels 21 - 23 through the interfaces 11 - 13 . For example, if such responses indicate that the channel 21 is then carrying relatively high priority traffic (e.g., real time information such as voice) while the channels 22 and 23 are carrying relatively low priority traffic (e.g., non-real time information), the determination circuit 37 can direct the selector 33 to activate its outputs 35 and 36 . This will serve to route the muting signal from the selector 33 to the radio modules 15 and 16 through the respective interfaces 12 and 13 , and thereby mute transmission of the lower priority packets on the channels 22 and 23 during the time slot(s) predicted for collision by the prediction circuit 31 . As indicated above, any such muted packets will be stored in the associated buffers (in this case, the buffers 42 and 43 ), to be released after the muting period has ended.
[0024] The determination circuit 37 is also coupled to each of the buffers 41 - 43 to receive separate indications of a selected characteristic of the packet content in each buffer. Utilizing such arrangement, the determination circuit 37 may prioritize the reactivation of the muted channels 22 and 23 after the muting period is ended. Illustratively, the determination circuit 37 may direct the selector 33 to sequentially remove the muting signal from the muted radio modules 22 and 23 in accordance with the relative sizes or ages of the packet content stored in the associated collision buffers 42 and 43 . For example, if both of the muted channels 22 and 23 are carrying real-time traffic, the sequence in which to reactivate such channels may be determined by the relative age of the content of the packets in the associated buffers, with the oldest content being released first. If, on the other hand, both of such muted channels are carrying non-real-time traffic, the sequence in which to reactivate such channels may be determined by the relative size of the content of the packets in the associated buffers, with the largest content being released first.
[0025] In the foregoing, the invention has been described in connection with illustrative implementations thereof. Many variations and modifications will now occur to those skilled in the art. For example, prioritization of muting/reactivation of the channels 21 - 23 can be determined on the basis of the relative quality of service on the channels in question. Also, while for clarity of description the terminal 10 of FIG. 1 utilizes three radio interfaces to service a corresponding number of channels, it will be understood that any reasonable number of such interfaces and channels may be used. In addition, while the adjustment circuit 33 has been described in connection with one illustrative arrangement for avoiding frequency-hop collision during transmission through such radio interfaces, it will be understood that other equivalent means may be employed for this purpose. It is accordingly desired that the scope of the appended claims not be limited to or by the specific disclosure herein contained.