Synchronization of sensor modules on a computing device

A computing device may include a sensor controller configured to control operations of a human-touch capacitive sensor module, a near-field communication (NFC) controller configured to control operations of an NFC module, and/or a plurality of communication lines including a first communication line and a second communication line. Each of the first and second communication lines may be connected to the sensor controller and the NFC controller such that control signals are transferred between the sensor controller and the NFC controller to synchronize the operations of the human-touch capacitive sensor module and the operations of the NFC module.

TECHNICAL FIELD

This description relates to the synchronization of modules on a computing device such as near-field communication (NFC) and input sensing.

BACKGROUND

Providing a good experience for both near-field communication (NFC) and human-touch capacitive sensing is relatively challenging, especially when the active areas of NFC and human-touch capacitive sensing overlap. In one specific example, an NFC device may be proximate to (or integrated with) a capacitive sensing device (e.g., trackpad) on a computer. However, the co-existence of these devices may introduce noise and/or block the NFC signal when driving the capacitive elements of the capacitive sensing device. Some conventional approaches physically separate the NFC device from the capacitive sensitive device such that they are disposed on separate areas of the computer. However, these conventional approaches are not necessarily aesthetically acceptable or particularly intuitive.

Other conventional approaches integrated these devices within a single unified interaction point, but provide a user interface to switch from touch mode to NFC listening mode for a certain period of time. However, these conventional approaches are not necessarily beneficial from a user experience point of view. Furthermore, enabling the co-existence of these devices while providing interactivity that is acceptable at a human level is relatively difficult, considering users can detect tens of milliseconds of latency in touch capacitive sensing and expect an NFC response usually within a second.

SUMMARY

In a general embodiment, a computing device may include a sensor controller configured to control operations of a human-touch capacitive sensor module, a near-field communication (NFC) controller configured to control operations of an NFC module, and/or a plurality of communication lines including a first communication line and a second communication line. Each of the first and second communication lines may be connected to the sensor controller and the NFC controller such that control signals are transferred between the sensor controller and the NFC controller to synchronize the operations of the human-touch capacitive sensor module and the operations of the NFC module. The sensor controller may be configured to assert an active sensor control signal on the first communication line and control the human-touch capacitive sensor module to start a sensor scan if an active NFC control signal is not asserted by the NFC controller on the second communication line. The NFC controller may be configured to assert the active NFC control signal on the second communication line and control the NFC module to start an NFC scan if the active sensor control signal is not asserted by the sensor controller on the first communication line.

In some embodiments, the computing device may include one or more of the following features or a combination of the following features. The sensor controller may be configured to control the human-touch capacitive sensor module to delay the sensor scan until the sensor controller does not detect the active NFC control signal on the second communication line when the active NFC control signal is asserted on the second communication line. The NFC controller may be configured to de-assert the active NFC control signal after the operations of the NFC module are completed. The sensor controller may be configured to de-assert the active sensor control signal after the operations of the human-touch capacitive sensor module are completed. The sensor controller may include a sensor internal timer configured to determine a timing of the sensor scan. The NFC controller may include an NFC internal timer configured to determining a timing of the NFC scan. An active area of the human-touch capacitive sensor module may at least partially overlap with an active area of the NFC module such that a portion of the computing device functions as an interaction point for both the human-touch capacitive sensor module and the NFC module. The human-touch capacitive sensor module may include a trackpad. Each of the NFC controller and the sensor controller may include an activity output unit configured to output an active control signal, and an allowability input unit configured to receive a non-allowability control signal. The activity output unit of the sensor controller may be connected to the allowability input unit of the NFC controller via the first communication line. The activity output unit of the NFC controller may be connected to the allowability input unit of the sensor controller via the second communication line.

In a general embodiment, a computing device may include a sensor controller configured to control operations of a human-touch capacitive sensor module. The operations of the human-touch capacitive sensor module may include a sensor scan. The computing device may include a near-field communication (NFC) controller configured to control operations of an NFC module. The operations of the NFC module may include an NFC scan. The computing device may include a first communication line and a second communication line. Each of the first and second communication lines may be connected to the sensor controller and the NFC controller. The sensor controller may be configured to output an active sensor control signal on the first communication line and control the human-touch capacitive sensor module to start the sensor scan if a non-allowability control signal is not detected by the sensor controller via the second communication line. The NFC controller may be configured to output an active NFC control signal on the second communication line and control the NFC module to start the NFC scan if a non-allowability control signal is not detected by the NFC controller via the first communication line.

In some embodiments, the computing device may include one or more of the following features or a combination of the following features. If the non-allowability control signal is detected via the second communication line, the sensor controller may be configured control the human-touch capacitive sensor module to delay the sensor scan until the non-allowability control signal is de-asserted on the second communication line. The NFC controller may be configured to de-assert the active NFC control signal after the operations of the NFC module are completed, and the sensor controller may be configured to de-assert the active sensor control signal after the operations of the human-touch capacitive sensor module are completed. The sensor controller may include a sensor internal timer configured to determine a timing of the sensor scan, and the NFC controller may include an NFC internal timer configured to determining a timing of the NFC scan. An active area of the human-touch capacitive sensor module may at least partially overlap with an active area of the NFC module such that a portion of the computing device functions as an interaction point for both the human-touch capacitive sensor module and the NFC module. The human-touch capacitive sensor module may include a trackpad.

In a general embodiment, a method for synchronizing operations of a sensing modules on a computing device may include determining, by a first controller configured to control a first module, whether a non-allowability control signal is detected via a first communication line connected between the first controller and a second controller configured to control a second module, delaying, by the first controller, a scan operation associated with the first module if the non-allowability control signal is detected on the first communication line, asserting, by the first controller, an active control signal via a second communication line connected between the first controller and the second controller if the non-allowability control signal is not detected on the first communication line, and performing, by the first module, the scan operation such that the active control signal is asserted by the first controller until operations of the first module are completed.

In some embodiments, the method may include one or more of the following features or a combination of the following features. The first controller may include a sensor controller, the first module may include a human-touch capacitive sensor module, the second controller may include an NFC controller, and the second module may include an NFC module. The first controller may include an NFC controller, the first module may include an NFC module, the second controller may include a sensor controller, and the second module may include a human-touch capacitive sensor module. The method may include determining, by the first controller, whether a start scan signal is detected. The first controller may determine whether the non-allowability control signal is asserted if the start scan signal is determined as detected. The method may include disregarding the non-allowability control signal if the first module is currently active.

DETAILED DESCRIPTION

This disclosure provides devices and methods for enabling synchronization between an NFC module and a sensor module such that any potential interference can be reduced or substantially eliminated to a level that does not impact a user in a noticeable way. In some examples, a sensor controller may be connected to an NFC controller via a two-wire synchronization protocol such that wireless activities associated with the NFC module are performed substantially at a different time interval than sensing activities associated with the sensor module in a manner that substantially reduces the frequency of collision (and if they happen to collide, the effects are not entirely noticeable to the user). In some examples, the synchronization protocol may not require acknowledgement messages (e.g., when the controller claims use of its module). As such, the synchronization protocol may allow some rare collisions (e.g., when both modules are active), however any resulting interference may be negligible and/or not may be perceived by the user of the computing device.

In some examples, the sensor controller and the NFC controller may be connected to each other such that control signals may be communicated between the sensor controller and the NFC controller according to a synchronization protocol in order to synchronize their respective scanning operations. In some examples, the sensor controller and the NFC controller may be connected to each other via two communication lines configured to transfer control signals. For example, the sensor controller may be configured to output an active sensor control signal via a first communication line (e.g., drive a signal high or low on the first communication line) when the sensor controller is allowed to start a sensor scanning operation (and continue to drive the active sensor control signal during the sensor operations), and the NFC controller may receive and identify the sensor controller's active signal control signal as an indicator to potentially delay an NFC scan. Similarly, the NFC controller may be configured to output an active NFC control signal via a second communication line when the NFC controller is allowed to start an NFC scan (and continue to drive the NFC's active control signal during NFC operations), and the sensor controller may receive and identify the NFC controller's active NFC control signal as an indicator to potentially delay the sensor's scanning operation.

In particular, when the sensor controller outputs its active sensor control signal to the NFC controller via the first communication line, the NFC controller may receive and identify the sensor controller's active sensor control signal as a non-allowability control signal. Similarly, when the NFC controller outputs its active NFC control signal to the sensor controller via the second communication line, the sensor controller may receive and identify the NFC controller's active NFC control signal as a non-allowability control signal. Stated another way, each controller may be configured to output an active control signal via one communication line (when it is permitted and active), and then de-assert the active control signal when its corresponding module ceases being active. However, the assertion of the active control signal is controlled (in part) by the assertion of the non-allowability control signal via the other communication line (when the other controller is active). In this context, each controller may include an activity output unit and an allowability input unit, and these units may be considered cross-connected (e.g., sensor's activity output unit is connected with NFC's allowability input unit via one communication line and the NFC's activity output unit is connected with the sensor's allowability input unit via another communication line).

As such, the operations of the sensor module and the NFC module may be synchronized such that NFC operations are performed substantially at a different time interval than sensing operations in a manner that substantially reduces the frequency of collision (and if they happen to collide, the effects are not entirely noticeable to the user). In addition, in some examples, the synchronization protocol may allow each module's full bandwidth to carry out its operations. For example, the sensing controller may continuously assert its active control signal (thereby producing a non-allowability control signal for the NFC controller) until the sensor module's operations are completed (e.g., until sensor scan is completed or until it has sensed that the user's finger has left the surface, whichever is later). Similarly, the NFC controller may continuously assert its active control signal (thereby producing a non-allowability control signal for the sensor controller) until the NFC module's operations are completed (e.g., until the NFC scan is completed or until the NFC communication is completed, whichever is later).

In some examples, the synchronization protocol may take advantage of each controller's internal timing such that external logic is avoided for implementing this synchronization protocol. For example, the scanning operations of the NFC module may be determined according to an NFC internal timer associated with the NFC controller, and the scanning operations of the sensor module may be determined according to a sensor internal timer associated with the sensor controller. Each internal timer may indicate when to perform a respective scanning operation. As such, if the NFC controller or the sensor controller has a relatively low power policy (e.g., scans less frequency), the synchronization protocol will not force either the sensor module or the NFC module to perform a scanning operation at a different/additional time than what originally provided by its internal timer. These and other features are further explained with reference to the figures.

FIG. 1illustrates a computing device100for synchronizing operations of a sensor module106with operations of a NFC module108using a two-wire synchronization protocol between a sensor controller110and an NFC controller112according to an embodiment. The computing device100may be any type of computing device such as a laptop computer, smartphone, tablet, or desktop computer, etc. The computing device100may include at least one processor126and a non-transitory computer readable medium128that stores instructions executable by the at least one processor126for performing the functionalities/operations of the computing device100as discussed herein. The at least one processor126may include one or more circuits or devices attached to a semiconductor substrate(s).

The sensor controller110may be configured to control the operations of the sensor module106. The sensor module106may be any type of user-input sensor device configured to sense the presence and/or movement of a user to control operations of the computing device100. In some examples, the sensor module106may be a trackpad module or a touch pad module. In some examples, the sensor module106may include a surface and a printed circuit board (PCB) having one or more layers.

In some examples, the sensor module106may perform sensor scans118such as capacitive sensing scans. The sensor module106may be configured to periodically perform the sensor scans118in order to detect any touch signals120(e.g., tactile user input) within a sensor active area102. During each sensor scan118, the sensor module106may be configured to detect touch from the user based on capacitive-sensing units (e.g. detecting capacitive changes within capacitive elements in one of the PCB layers). In one example, a user can slide or move one or more figures across the surface of the sensor module106to move a cursor visible on a display of the computing device100. More generally, during each sensor scan118, the sensor module106can detect capacitive changes caused by a user's finger touching, tapping, or sliding over the surface of the sensor module106. Accordingly, the sensor module106can detect the signal reflecting the changes in capacitance as the touch signal120. Also, the sensor module106may continue to perform the sensor scans118as long as it continues to receive the touch signals120.

The computing device100may include a sensor internal timer114associated with the sensor controller110. The sensor internal timer114provides the timing information for instituting the sensor scans118. As such, the sensor controller110may periodically receive a start sensor scan signal from the sensor internal timer114to indicate when to perform the sensor scans118, and the sensor controller110may control the sensor module106to carry out the sensor scans118according to the start sensor scan signal(s). In some examples, the sensor internal timer114may be configured to periodically expire, time-out, or trigger, which prompts the sensor controller110to initiate a sensor scan118with the sensor module106.

The NFC controller112may be configured to control the operations of the NFC module108. The NFC module108may be any type of near-field communication device that is configured to detect presence of another NFC-equipped device and then wirelessly exchange information with the NFC-equipped device according to standard NFC protocols. In some examples, the NFC module108may include an antenna (e.g., coiled antenna structure generating a magnetic field) configured to transmit and receive signals using NFC protocols. Generally, NFC requires that NFC devices be present within a relatively small distance from one another so that information can be exchanged between the devices via magnetic induction between respective loop antennae located in an NFC active area104of each device. For example, the NFC module108may transmit or generate a magnetic field modulated with information. This magnetic field inductively couples into a secondary NFC device that is proximate to the NFC active area104of the NFC module108of the first device. The secondary NFC device may respond to the NFC module108by transmitting or generating its own modulated magnetic field and inductively coupling this magnetic field to the NFC module108via the NFC active area104.

In particular, the NFC module108may be configured to perform NFC scans122(also referred to as polling) to detect the presence of another NFC-equipped device. For example, during each NFC scan122, the NFC module108may be configured to generate a magnetic field via its antenna and probe the magnetic field of another NFC-equipped device. The NFC module108may be configured to generate the magnetic field for a certain time interval. If another NFC-equipped device is detected during one of the NFC scans122, the NFC module108may be configured to perform NFC communication124with the NFC-equipped device such as the transfer of NFC signals according to standard NFC protocols.

The computing device100may include an NFC internal timer116associated with the NFC controller112. The NFC internal timer116may provide the timing information for instituting the NFC scans122. The NFC controller112may periodically receive a start NFC scan signal from the NFC internal timer116, and the NFC controller112may control the NFC module108to carry out the NFC scans122according to the start NFC scan signal(s). In some examples, the NFC internal timer116may be configured to periodically expire, time-out, or trigger, which prompts the NFC controller112to initiate an NFC scan122with the NFC module108.

In some examples, the sensor active area102of the sensor module106may at least partially overlap with the NFC active area104of the NFC module108such that the operation of the NFC module108may affect performance of the sensor module106(and vice versa). In some examples, the physical components of the sensor module106and the NFC module108may at least partially overlap within the same or different planes of the computing device100. In other examples, the physical components of the sensor module106and the NFC module108may be non-overlapping but proximate to each other such that their wireless operations may interfere with one or another. In some examples, the sensor active area102may be the space which wireless signals corresponding to the sensor module106propagate, and the NFC active area104may be the space which wireless signals corresponding to the NFC module108propagate.

In some examples, the sensor module106may be integrated with the NFC module108such that input for both of these components may be received within a same unified area (overlapping area) on the computing device100. In some examples, the overlapping area may be the entire sensor module106(e.g., entire trackpad). In other examples, the overlapping area may be a portion of the computing device100that corresponding to the overlapping active areas of the sensor module106and the NFC module108. In some examples, the antenna of the NFC module108may be integrated with the PCB of the sensor module106(e.g., a wire may partially or fully surround the PCB of the sensor module106). In one specific example, the sensor scans118performed by the sensor module106may have a frequency between 100 kHz and 150 kHz. In some examples, the sensor module106may scan an entire area of the sensor module106in one or two milliseconds, and these sensor scans118may interfere with the NFC scans122and/or the NFC communication124.

However, according to the embodiments, the synchronization protocol discussed herein may allow the NFC module108and the sensor module106to coexist in a manner that does not degrade performance, especially when the sensor active area102overlaps with the NFC active area104thereby providing at least a portion of the computing device100as an interaction point for the user for both the NFC module108and the sensor module106. According to the embodiments, the sensor controller110may be connected to the NFC controller112via a first communication line113-1and a second communication line113-2such that control signals are transferred between the sensor controller and the NFC controller112to synchronize the operations of the sensor module106and the operations of the NFC module108. The first and second communication lines113may be any type of communication channel that can transfer electrical signals between two components. In some examples, the first and second communication lines113may be conductive (e.g., metal) wires connected to the sensor controller110and the NFC controller112.

In some examples, the sensor controller110and the NFC controller112may synchronize its operations according to two control signals—active control signal (output) and a non-allowability control signal (input)—which are transferred between the sensor controller110and the NFC controller112via the first communication line113-1and the second communication line113-2. In some examples, the active control signal and the non-allowability control signal may be level-sensitive signals. For instance, the active control signal may have a high state and a low state, and the non-allowability control signal may have a high state and a low state. In some examples, the assertion (or activation) of the active control signal may be the transition from the low state to the high state, and the assertion (or activation) of the non-allowability control signal may be the transition from the low state to the high state. In other examples, the assertion of the active control signal and/or the non-allowability control signal may be the transition from the high state to the low state. In some examples, the sensor controller110and the NFC controller112are configured to communicate with each other via the first and second communication lines113according to a symmetric synchronization protocol. For example, the NFC controller112follows the same synchronization protocol as the sensor controller110(and vice versa).

Synchronization Protocol for Sensor Controller110

When it comes time to scan (e.g., as prompted by the sensor internal timer114), the sensor controller110may be configured to output an active sensor control signal on the first communication line113-1(e.g., thereby driving its active sensor control signal high or low on the first communication line113-1) if the sensor controller110is allowed to start a sensor scan118. In some examples, the sensor controller110may drive (e.g., activate or assert) the active sensor control signal on the first communication line113-1to the high state whenever the sensor module106is active (e.g., a sensor scan118is in progress or the sensor module106is currently processing touch signals120). It is noted that the sensor controller110may alternatively drive the active sensor control signal to the low state whenever the sensor module106is active and all references to the high state of any active control signal as being the activation state is merely used for explanatory purposes only.

In some examples, the sensor controller110may drive the active sensor control signal on the first communication line113-1before starting the sensor scan118and de-assert the active sensor control signal on the first communication line113-1after the sensor module106is inactive. It is noted that the sensor controller110may continuously assert the active sensor control signal while the sensor module106is active, e.g., until completion of the sensor scan118or after the sensor module106finishing processing the touch signals120, whichever is later. In this manner, the synchronization protocol may allow the sensor module's full bandwidth to carry out its operations (e.g., until it has sensed that the user's finger has left the surface).

In some examples, the sensor controller110is allowed to start the sensor scan118if the sensor controller110does not detect or receive a non-allowability control signal on the second communication line113-2. For instance, the sensor controller110may identify this non-allowability control signal on the second communication line113-2when the NFC controller112is active (e.g., when the NFC controller112asserts its active NFC control signal on the second communication line113-2). In some examples, the sensor controller110is prevented from starting the sensor scan118while the sensor's non-allowability control signal is driven high, and the sensor scan118may be resumed when the timer of the sensor internal timer114expires (e.g., issues a start sensor scan signal) or the sensor's non-allowability control signal is driven low, whichever is later. Also, the sensor's non-allowability control signal may be continuously driven high while the NFC module108is active.

Furthermore, if the sensor's non-allowability control signal is driven high while the sensor controller110is asserting its active sensor control signal (e.g., the sensor module106is in use or active), the sensor controller110may be configured to disregard the non-allowability control signal until the sensor module106is inactive. For example, in this case, the sensor controller110may continuously drive the active sensor control signal on the first communication line113-1until the sensor module's transactions are completed.

From the perspective of the NFC controller112, while the sensor module106is active, the NFC controller112may receive and identify the sensor controller's active sensor control signal on the first communication line113-1as an indicator to potentially delay an NFC scan122. For instance, the NFC controller112may view the sensor controller's active sensor control signal as the NFC's non-allowability control signal. As further explained below, when it comes time to scan (e.g., as indicated by the NFC internal timer116), the NFC controller112may determine if the sensor controller's active sensor control signal is on the first communication line113-1(stated another way, if the non-allowability control signal is on the first communication line113-1), and then delay the NFC scan122until the sensor module106is inactive.

Synchronization Protocol for NFC Controller112

With respect to the other half of the synchronization protocol, it is noted that the NFC controller112may operate according to the same protocol as explained above. For example, when it comes time to scan (e.g., as prompted by the NFC internal timer116), the NFC controller112may be configured to output an active NFC control signal on the second communication line113-2(e.g., thereby driving a signal high or low on the second communication line113-2) if the NFC controller112is allowed to start an NFC scan122.

In some examples, the NFC controller112may drive (e.g., activate or assert) the active NFC control signal on the second communication line113-2to the high state whenever the NFC module108is active (e.g., an NFC scan122is in progress or the NFC module108is performing the NFC communication124). In some examples, the NFC controller112may drive the active NFC control signal on the second communication line113-2before starting the NFC scan122and de-assert the active NFC control signal on the second communication line113-2after the NFC module108is inactive. It is noted that the NFC controller112may continuously assert the active NFC control signal while the NFC module108is active, e.g., until completion of the NFC scan122or after the NFC module108finished with the NFC communication124, whichever is later. In this manner, the synchronization protocol may allow the NFC module's full bandwidth to carry out its operations.

The NFC controller112is allowed to start the NFC scan122if the NFC controller112does not receive or detect the NFC's non-allowability control signal on the first communication line113-1. For instance, the NFC controller112may identify the NFC's non-allowability control signal on the first communication line113-1when the sensor module106is active (e.g., when the sensor controller110asserts its active sensor control signal on the first communication line113-1). In some examples, the NFC controller112is prevented from starting the NFC scan122while the NFC's non-allowability control signal is driven high, and the NFC scan122may be resumed when the timer of the NFC internal timer116expires (e.g., issues a start NFC scan signal) or the NFC's non-allowability control signal is driven low, whichever is later. Also, the NFC's non-allowability control signal is continuously driven high while the sensor module106is active.

Furthermore, if the NFC's non-allowability control signal is driven high while the NFC controller112is asserting its active NFC control signal (e.g., the NFC module108is in use or active), the NFC controller112may be configured to disregard the NFC's non-allowability control signal until the NFC module108is inactive. For example, in this case, the NFC controller112may continuously drive the active NFC control signal on the second communication line113-2until the NFC module's transactions are completed.

With respect to the synchronization protocol for both the sensor controller110and the NFC controller112, the synchronization protocol may not require acknowledgement messages (e.g., when the controller claims use of its module). For example, the sensor controller110and the NFC controller112do not transmit acknowledgment signals or messages via the communication lines113to acknowledge receipt of an active control signal or a non-allowability control signal. As such, the synchronization protocol may allow some rare collisions (e.g., when both modules are active), however any resulting interference may be negligible and/or not may be perceived by the user of the computing device.

In some examples, the synchronization protocol may take advantage of each controller's internal timing such that external logic is avoided for implementing this synchronization protocol. For example, the scanning operations of the NFC module108may be determined according to the NFC internal timer116, and the scanning operations of the sensor module106may be determined according to the sensor internal timer114. Each internal timer (114or116) may indicate when to perform a respective scanning operation. As such, if the NFC controller112or the sensor controller110has a relatively low power policy (e.g., scans less frequently), the synchronization protocol will not force either the sensor module106or the NFC module108to perform a scanning operation at a different/additional time than what originally provided by its internal timer.

In some examples, the sensor controller110may be considered cross-connected with the NFC controller112, as discussed with reference toFIG. 2.FIG. 2illustrates an example of the sensor controller110being connected to the NFC controller112via the two-wire synchronization protocol according to an embodiment. Referring toFIG. 2, the sensor controller110may be connected to the NFC controller112via the first communication line113-1and the second communication line113-2such that the active control signals and the non-allowability control signals are cross-connected.

In some examples, the sensor controller110may include an activity output unit130configured to output (activate, or assert) the active sensor control signal, and an allowability input unit132configured to receive (or detect) the sensor's non-allowability control signal. The NFC controller112may include an activity output unit134configured to output (activate or assert) the active NFC control signal, and an allowability input unit136configured to receive (or detect) the NFC's non-allowability control signal. As shown inFIG. 2, the activity output unit130of the sensor controller110may be connected to the allowability input unit136of the NFC controller112via the first communication line113-1. The activity output unit134of the NFC controller112may be connected to the allowability input unit132of the sensor controller110via the second communication line113-2.

When it comes time to scan (e.g., as prompted by the sensor internal timer114), the activity output unit130of the sensor controller110may be configured to output the active sensor control signal on the first communication line113-1if the sensor controller110is allowed to start the sensor scan118. In some examples, the activity output unit130of the sensor controller110may drive the active sensor control signal on the first communication line113-1to the high state whenever the sensor module106is active. In some examples, the activity output unit130of the sensor controller110may drive the active sensor control signal on the first communication line113-1before starting the sensor scan118and de-assert the active sensor control signal on the first communication line113-1after the sensor module106is inactive.

In order to determine whether the sensor controller110is allowed to start the sensor scan118, the allowability input unit132of the sensor controller110is configured to determine whether the sensor's non-allowability control signal is asserted on the second communication line113-2. For instance, the allowability input unit132of the sensor controller110may identify the sensor's non-allowability control signal on the second communication line113-2when the NFC module108is active. Stated another way, the allowability input unit132of the sensor controller110may view of an asserted active NFC control signal as an activation of the sensor's non-allowability control signal on the second communication line113-2—meaning that the sensor module106is not permitted to be active. In some examples, the sensor controller110is prevented from starting the sensor scan118while the sensor's non-allowability control signal is driven high, and the sensor scan118may be resumed when the timer of the sensor internal timer114expires or the sensor's non-allowability control signal is driven low, whichever is later.

Similarly, when it comes time to scan (as prompted by the NFC internal timer116), the activity output unit134of the NFC controller112may be configured to output the active NFC control signal on the second communication line113-2if the NFC controller112is allowed to start an NFC scan122. In some examples, the activity output unit134of the NFC controller112may drive (e.g., activate or assert) the active NFC control signal on the second communication line113-2to the high state whenever the NFC module108is active. In some examples, the activity output unit134of the NFC controller112may drive the active NFC control signal on the second communication line113-2before starting the NFC scan122and de-assert the active NFC control signal on the second communication line113-2after the NFC module108is inactive.

In order to determine whether the NFC controller112is allowed to start the NFC scan122, the allowability input unit136of the NFC controller112is configured to determine whether the NFC's non-allowability control signal is asserted on the first communication line113-1. For instance, the allowability input unit136of the NFC controller112may identify the NFC's non-allowability control signal on the first communication line113-1when the sensor module106is active. In some examples, the NFC controller112is prevented from starting the NFC scan122while the NFC's non-allowability control signal is driven high, and the NFC scan122may be resumed when the timer of the NFC internal timer116expires or the NFC's non-allowability control signal is driven low, whichever is later.

FIG. 3illustrates a flowchart depicting example operations of the synchronization protocol performed by a controller according to an embodiment. Although the flowchart ofFIG. 3illustrates the operations in sequential order, this is merely an example, and additional or alternative operations may be included. Further, the example operations ofFIG. 3and related operations may be executed in a different order than that shown, or in a parallel or overlapping fashion. The controller discussed with reference toFIG. 3may be either the sensor controller110or the NFC controller112ofFIGS. 1 and 2, and the module discussed with reference toFIG. 3may be the sensor module106or the NFC module108ofFIG. 1.

A start scan signal is determined as received (302). For example, the controller may wait for initiation of a start scan signal from its corresponding internal timer. As indicated above, the scanning operations of a respective device may be controlled by its own internal timer. As such, the controller may wait to initiate a scan operation until prompted by its internal timer.

Once the start scan signal is determine as received (Yes), it is determined whether a non-allowability control signal is detected. For example, the controller may determine whether it has detected or received the non-allowability control signal via one of the communication lines113. The state of the non-allowability control signal may correspond to whether or not the other controller's active control signal has been asserted, as discussed with reference toFIGS. 1-2.

If the non-allowability control signal is detected (Yes), the scan operation may be delayed (306). For example, the controller may delay the scheduled scan operation until the non-allowability control signal is detected as de-activated. If the non-allowability control signal is not detected (No), the active control signal may be asserted (308). For example, the controller may be configured to assert its active control signal on the other communication line113of the two-wire communication line113. Next, a scan operation is performed until the module is inactive (310). For example, the controller is configured to instruct its corresponding module to perform its respective scan operation. The controller may be configured to continuously assert the active control signal while the module is active. After the module is determined as inactive, the active control signal is de-asserted (312). For example, the controller is configured to de-assert the active control signal on one of the communication lines113.

FIG. 4illustrates example waveforms of the active control signal and the non-allowability control signal produced by the sensor controller110or the NFC controller112ofFIGS. 1-2according to an embodiment. The operations discussed with reference toFIG. 4may apply to a controller such as the sensor controller110or the NFC controller112ofFIGS. 1-2. As shown inFIG. 4, each of the active control signal and the non-allowability control signal includes two level-sensitive states—high state and low state. In some examples (as shown inFIG. 4), the high state of the non-allowability control signal indicates that the non-allowability control signal is asserted or activated, and the high state of the active control signal indicates that the active control signal is asserted or activated.

As indicated above, scanning (or polling) is not permitted while its corresponding non-allowability control signal is activated, and the scanning (or polling) resumes when its corresponding internal timer has expired or the non-allowability control signal is de-activated. Also, the non-allowability control signal may remain in the activated state while the co-existing module is in active use. The active control signal may be activated whenever the corresponding module is active, e.g., the active control signal is activated before the scan operation begins and is de-activated after the corresponding module is de-active. Generally, the non-allowability control signal is not activated while the active control signal is activated, but if it does, the non-allowability control signal is ignored or disregarded for the duration of the scan operation. In addition, the active control signal may remain in the activated state until all transactions (operations) associated with its module are completed.

Referring toFIG. 4, at point401, because the non-allowability control signal has the low state, scanning operations may be permitted. Next, the controller may assert the active control signal on one of the communication lines113by transitioning the active control signal from the low state to the high state. For example, the controller may determine it is time to initiate a scanning operation (e.g., based on its internal timer) and determine that it permitted is start the scanning operation based on the non-allowability control signal being in the low state. In order to begin the scanning operation, the controller may activate the active control signal by transitioning the active control signal from the low state to the high state. At point402, the module performs the scanning operating after the controller asserts the active control signal. At point403, the module has completed the scanning operation (and is also inactive), and therefore the controller may de-assert the active control signal by transitioning the active control signal from the high state to the how state. At point404, the controller receives an indication that the non-allowability control signal is de-asserted (e.g., transitions to the low-state), but since the controller has not been prompted by its internal timing to start another scan, the controller does not initiate a subsequent scanning operation.

At point405, the controller receives a start scan signal from its internal timer, but the controller determines that the non-allowability control signal is asserted (e.g., in the high-state), and therefore delays the scanning operation. At point406, the controller receives an indication that the non-allowability control signal is de-asserted (e.g., transitions to the low state), and therefore asserts its active control signal and controls its module to start the scanning operation. At point407, the controller receives an indication that the non-allowability control signal is re-asserted (e.g., transitions to high state). However, because the module is currently active (e.g., active control signal is still being asserted), the controller may disregard the asserted non-allowability control signal until the module is currently inactive.

FIG. 5is a block diagram showing example or representative computing devices and associated elements that may be used to implement the computing devices and operations ofFIGS. 1-4.FIG. 5shows an example of a generic computer device500and a generic mobile computer device550, which may be used with the techniques described here. Computing device500is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device550is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document.

The processor552can execute instructions within the computing device550, including instructions stored in the memory564. The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor may provide, for example, for coordination of the other components of the device550, such as control of user interfaces, applications run by device550, and wireless communication by device550. In some examples, the processor552may be one or more devices, circuits, or logic disposed on a semiconductor substrate.

The computing device550may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone580. It may also be implemented as part of a smart phone582, personal digital assistant, or other similar mobile device.

It will be appreciated that the above embodiments that have been described in particular detail are merely example or possible embodiments, and that there are many other combinations, additions, or alternatives that may be included.

Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing”, “asserting”, “de-asserting”, or “controlling” or “outputting” or “receiving” or “determining” or “providing” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.