Sensors with enhanced time division multiplexing frames
By retaining time slot transmission of processed data within the TDM signal frame and embedding additional information using the original data, the problem that existing TDM interfaces cannot transmit advanced data is solved, and the sensor's ability to transmit multiple data in a single signal and power management is realized. .
Patent Information
- Application Number
- CN202210449788.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-09-03
- Filing Date
- 2022-04-26
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2042-04-26
AI Technical Summary
The existing time division multiplexing (TDM) interfaces are mainly used to transmit unprocessed raw data and cannot effectively transmit advanced data generated by additional sensors in audio devices, such as status information and functional results.
One or more time slots are reserved within the frame of the TDM signal for transmitting processed data, and the remaining time slots are used to transmit the original data, while simultaneously implementing the sensor to transmit the original in a single TDM signal by reusing the value of the original data into an additional information, the sensor can transmit the original in a single TDM signal by reusing the value of the original data. and the ability to process data.
The ability to simultaneously transmit raw and processed data in a single TDM signal is realized, enhances the functionality and data transmission efficiency of audio devices, and saves power through dynamic enablement and disable mechanisms.
Smart Images

Figure CN115347967B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an apparatus and method for transmitting data using time division multiplexing (TDM). Background Art
[0002] Time Division Multiplexing (TDM) allows multiple channels of data to be transmitted on a single data line. TDM interfaces are not standardized and may vary between different devices. Therefore, the TDM interfaces of different devices may use different TDM formats to transmit data.
[0003] TDM interfaces are commonly used in audio applications. For example, many audio devices (such as headphones) include TDM interfaces for transmitting multiple channels of audio data between components within the device.
[0004] Current TDM interfaces are usually unidirectional and are used to transmit unprocessed raw data, such as raw audio data generated by a microphone. TDM interfaces are usually not used to transmit additional processed data, such as device status information and state information, or to read the registers of a device by addressing. Summary of the invention
[0005] The present disclosure relates to a device including a sensor having a time division multiplexing (TDM) interface. The TDM interface reserves one or more time slots within a TDM frame of a TDM signal for transmitting processed data (e.g., status information, interrupts, function results, etc.), and utilizes the remaining time slots within the TDM frame to transmit raw data (e.g., acceleration measurements). Thus, the sensor is able to transmit both raw data and processed data in a single TDM signal. The transmission may be to other components in the same device or to components external to the device.
[0006] The sensor also embeds additional information into the data stream of the raw data by reusing one or more values of the raw data, such as an exception code, flag, or other type of notification. The sensor indicates the value of the additional information using values at or near the full-scale value and negative full-scale value of the raw data.
[0007] The device can also be enabled to transmit data and disabled to save power when not in use. The device determines whether to enable or disable based on a frame sync signal received from the master device. Once the device is synchronized with the frame sync signal, the device can automatically enable and disable itself. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In the drawings, the same reference numerals denote similar features or elements. The sizes and relative positions of features in the drawings are not necessarily drawn to scale.
[0009] Figure 1is a block diagram of a device according to embodiments disclosed herein;
[0010] Figure 2 is a time division multiplexed (TDM) signal according to embodiments disclosed herein;
[0011] Figure 3 is a block diagram of a device according to another embodiment disclosed herein;
[0012] Figure 4A is raw data according to the embodiments disclosed herein;
[0013] Figure 4B is raw data with anomaly codes according to the embodiments disclosed herein;
[0014] Figure 5 is a multiplexer according to embodiments disclosed herein;
[0015] Figure 6 is a block diagram of a plurality of slave devices and a master device according to embodiments disclosed herein;
[0016] Figure 7 is a timing diagram of multiple slave devices and a master device according to embodiments disclosed herein;
[0017] Figure 8 is a block diagram of a slave device according to embodiments disclosed herein;
[0018] Fig. 9 is a flow chart of a method of enabling and disabling a slave device according to an embodiment disclosed herein;
[0019] Fig.10 is a timing diagram for enabling a slave device according to an embodiment disclosed herein; and
[0020] Fig.11 is a timing diagram for disabling a slave device according to embodiments disclosed herein. DETAILED DESCRIPTION
[0021] In the following description, certain specific details are set forth in order to provide a thorough understanding of various aspects of the disclosed subject matter. However, the disclosed subject matter may be practiced without these specific details. In some cases, well-known communication methods and structures and methods of manufacturing electronic devices and sensors are not described in detail to avoid obscuring the description of other aspects of the present disclosure.
[0022] Unless the context requires otherwise, in the following description and claims, the word "comprise" and variations such as "comprises" and "comprising" are to be interpreted in an open and inclusive sense, that is, to mean "including but not limited to."
[0023] References throughout the specification to "one embodiment" or "an embodiment" indicate that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout the specification are not necessarily all referring to the same aspect. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more aspects of the present disclosure.
[0024] As audio devices improve and include more advanced features, additional sensors (such as accelerometers, gyroscopes, magnetometers, and proximity sensors) are being embedded into audio devices. For example, many headphones include bone conduction accelerometers. These additional sensors generate more advanced data than the raw data. For example, in addition to the raw acceleration data, the bone conduction accelerometer can generate and output state information (e.g., power state information, orientation information, voice activity detection (VAD) results, etc.) determined based on the raw acceleration data. However, as described above, current time division multiplexing (TDM) interfaces are configured to transmit raw, unprocessed data and are therefore not suitable for transmitting the advanced data generated by these sensors.
[0025] The present disclosure relates to a device and method for generating and transmitting a TDM signal including both raw data and processed data. The device includes a sensor with a TDM interface. Compared with the current TDM interface, the TDM interface disclosed herein is embedded in the sensor and can transmit both raw data (e.g., acceleration measurement) and processed data (e.g., status information, interruption, function results, etc.). The TDM interface reserves and uses one or more time slots in the TDM frame of the TDM signal for transmitting processed data, and uses the remaining time slots in the TDM frame for transmitting raw data. Therefore, the sensor can transmit both raw data and processed data in a single TDM signal.
[0026] Figure 1 1 is a block diagram of a device 10 according to an embodiment disclosed herein. In one embodiment, the device 10 is an audio headset, such as a headphone, a gaming headset, and a telephone headset. The device 10 includes a codec 12, a microphone 14, an application processor 16, and a sensor 18.
[0027] The codec 12 is communicatively coupled to the microphone 14, the application processor 16, and the sensor 18. The codec 12 is a program or processor that receives and decodes signals from the microphone 14 and the sensor 18 for further processing. For example, the codec 12 then adjusts or changes the behavior of the device 10 based on the decoded signals. As will be discussed in further detail below, the codec 12 acts as a TDM master for the sensor 18, while the sensor 18 acts as a TDM slave.
[0028] Microphone 14 is communicatively coupled to codec 12. Microphone 14 detects sound, such as a user's voice, and generates an audio signal based on the detected sound. Microphone 14 transmits the audio signal to codec 12 for further processing. Microphone 14 may provide the audio signal to codec 12 in the form of an electrical signal.
[0029] Application processor 16 is communicatively coupled to codec 12. Application processor 16 controls device 10. For example, application processor 16 may receive a decoded signal from codec 12 and adjust device 10 based on the decoded signal. Application processor may be any type of processor, controller, or signal processor that controls device 10.
[0030] The sensor 18 is communicatively coupled to the codec 12. The sensor 18 measures a physical property of the device 10 or the surrounding environment. In one embodiment, the sensor 18 is a sensor having an accelerometer that measures the acceleration of the device 10 along at least one axis (e.g., a 3-axis accelerometer, a 6-axis accelerometer, a sensor including an accelerometer and a gyroscope, or a sensor including an accelerometer and a magnetometer). For example, the sensor 18 may be a bone conduction accelerometer that measures the acceleration of the device 10 caused by a bone vibration signal propagating through the human body and generates an acceleration signal indicating the measured acceleration. The sensor 18 may also be another type of sensor, such as a gyroscope, a magnetometer, a proximity sensor, a pressure sensor, a temperature sensor, and sensors including a variety of different types of sensors. In one embodiment, the sensor 18 is a micro-electromechanical system (MEMS) sensor. The sensor 18 includes a sensing circuit device 20, a processor 22, and a TDM interface 24.
[0031] Sensing circuitry 20 is communicatively coupled to processor 22. Sensing circuitry 20 detects or measures a physical characteristic of device 10 or the surrounding environment and provides the measurement to processor 22. For example, in an embodiment where sensor 18 is an accelerometer, sensing circuitry 20 measures acceleration of the device along at least one axis and transmits the measured acceleration to processor 22. Sensing circuitry 20 may provide the measured physical characteristic to processor 22 in the form of an electrical signal.
[0032] Processor 22 is communicatively coupled to sensing circuitry 20 and TDM interface 24. Processor 22 receives measurements from sensing circuitry 20 and generates a plurality of parameters for device 10 based on the measurements received from sensing circuitry 20. Processor 22 may be any type of processor, controller, or signal processor that controls and processes data from sensor 18.
[0033] The plurality of parameters may include interrupts, commands, values, and function results generated using measurements generated by sensing circuitry 20. The plurality of parameters may also include states and state information detected using measurements generated by sensing circuitry 20.
[0034] In an embodiment where device 10 is an audio headset and sensor 18 is an accelerometer, the plurality of parameters include one or more of the following parameters: a general processor configuration or command for instructing codec 12 or application processor 16 to set a configuration or execute a command, full-scale information for indicating a measurement range generated by sensor 18, sleep state information for instructing codec 12 or application processor 16 to set device 10 to a sleep or low-power state, free-fall state information for indicating whether device 10 is in a falling or falling state, wake-up information for instructing codec 12 or application processor 16 to set device 10 to a wake-up or power-on state, z-axis up / down information for indicating whether there is up-and-down movement along the z-axis, y-axis up / down information for indicating whether there is up-and-down movement along the y-axis, x-axis up / down information for indicating whether there is up-and-down movement along the x-axis, double-click information for indicating whether a double-click of the user on device 10 is detected, and single-click information for indicating whether a single click of the user on device 10 is detected.
[0035] Each of the plurality of parameters is determined or calculated based on the measurements received from sensing circuitry 20. For example, processor 22 may set sleep state information to instruct codec 12 or application processor 16 to set device 10 to a sleep or low power state in response to determining that the measured acceleration is less than a threshold, set free fall state information to indicate that device 10 is in a falling or falling state in response to determining that the measured acceleration is greater than a threshold, set wake-up information to instruct codec 12 or application processor 16 to set device 10 to a wake-up or powered-on state in response to determining that the measured acceleration is greater than a threshold, set z-axis up / down information to indicate that there is up and down movement along the z-axis in response to determining that the acceleration measured along the z-axis is greater than a threshold in two different directions, set y-axis up / down information to indicate that there is movement along the y-axis in response to determining that the acceleration measured along the y-axis is greater than a threshold in two different directions In response to determining that the acceleration measured along the x-axis is greater than a threshold value in two different directions, x-axis up / down information is set to indicate that there is up and down movement along the x-axis, in response to determining that the measured acceleration is greater than a threshold value in a first time period and a second time period, double-click information is set to indicate that a double-click is detected on device 10, and single-click information is set to indicate that a single-click is detected on device 10 in response to determining that the measured acceleration is greater than a threshold value in the first time period.
[0036] Processor 22 transmits the measurements generated by sensing circuitry 20 and the plurality of parameters determined by processor 22 to TDM interface 24. In one embodiment, sensing circuitry 20 transmits the measurements to TDM interface 24 directly.
[0037] The measurements transmitted by processor 22 are raw or initial data. In other words, processor 22 does not perform any processing or calculations on the measurements generated by sensing circuitry 20, but rather provides the measurements directly as unprocessed data to TDM interface 24. For example, in an embodiment where sensor 18 is an accelerometer, the acceleration measurements generated by sensing circuitry 20 are raw data.
[0038] In contrast to measurements, the plurality of parameters transmitted by processor 22 are processed or auxiliary data. In other words, the plurality of parameters are data resulting from processing measurements (which are raw data) generated by sensing circuitry 20. For example, in an embodiment where device 10 is an audio headset and sensor 18 is an accelerometer, general processor configuration or commands, full-scale information, sleep state information, free-fall state information, wake-up information, z-axis up / down information, y-axis up / down information, x-axis up / down information, double-click information, and single-click information are processed data.
[0039] Thus, processor 22 provides both processed data (eg, a plurality of parameters) and raw data (eg, measurements generated by sensing circuitry 20 ) to TDM interface 24 .
[0040] exist Figure 1 In the illustrated embodiment, processor 22 generates a plurality of parameters for device 10 based on measurements received from sensing circuitry 20. In another embodiment, processor 22 transmits the measurements received from sensing circuitry 20 to a second processor included in sensor 18. The second processor then generates a plurality of parameters for device 10 based on the measurements, and transmits the plurality of parameters determined by the second processor to TDM interface 24. The second processor may be a dedicated processor for parameter generation.
[0041] The TDM interface 24 is communicatively coupled to the processor 22 and the codec 12. The TDM interface 24 transmits multiple pieces of data over a common data line or channel by using time division multiplexing. The TDM interface 24 divides the common data line into multiple time slots or segments along the time axis and transmits a piece of data in each of the multiple time slots. A group of time slots is sometimes referred to as a TDM frame.
[0042] TDM interface 24 receives the plurality of parameters as processed data and the measurements generated by sensing circuitry 20 as raw data from processor 22, and transmits the plurality of parameters and the measurements in a TDM signal to codec 12. TDM interface 24 may also transmit the TDM signal including the plurality of parameters and the measurements to other components within device 10 (e.g., application processor 16) and to other components external to device 10.
[0043] The multiple parameters and measurements are transmitted in a single TDM signal to the codec 12. The TDM interface 24 can concatenate the multiple parameters and measurements for transmission on the TDM signal by dividing the TDM signal into multiple time slots or segments along the time axis and transmitting the multiple parameters and measurements in corresponding time slots in the multiple time slots. In one embodiment, the multiple parameters and measurements are transmitted in a single TDM frame.
[0044] Figure 2 2 is a TDM signal 26 according to an embodiment disclosed herein. The TDM signal includes a plurality of time slots 28. In one embodiment, the time slots 28 have the same length. Figure 2 Four time slots are shown in FIG. 2 , but TDM signal 26 may include any number of time slots.
[0045] exist Figure 2In the illustrated embodiment, device 10 is an audio headset and sensor 18 is a 3-axis accelerometer. In this embodiment, the measurements generated by sensing circuitry 20 are acceleration measurements. The plurality of parameters include general processor configuration or commands, full scale information, sleep state information, free fall state information, wake-up information, z-axis up / down information, y-axis up / down information, x-axis up / down information, double-click information, and single-click information, as described above.
[0046] The acceleration measurements generated by sensing circuitry 20 are located in corresponding ones of time slots 28. For example, Figure 2 As shown, x-axis data including acceleration measurements along the x-axis is located in time slot 30 , y-axis data including acceleration measurements along the y-axis is located in time slot 32 , and z-axis data including acceleration measurements along the z-axis is located in time slot 34 .
[0047] A plurality of parameters generated by processor 22 are also located in corresponding ones of time slots 28 .
[0048] In one embodiment, each of the plurality of parameters is located in a corresponding one of the time slots 28. That is, a single parameter is located in a single one of the time slots 28.
[0049] In another embodiment, all multiple parameters are located in a single time slot. Figure 2 As shown, parameter data including a plurality of parameters determined by processor 22 is located in time slot 36 .
[0050] Time slot 36 is a high-level time slot reserved for transmission of processed data. Figure 2 In the embodiment shown, time slot 36 is a 16-bit time slot, and one or more bits in the 16-bit time slot represent a single parameter. The value of bit 0 indicates single-click information, the value of bit 1 indicates double-click information, the value of bit 2 indicates x-axis up / down information, the value of bit 3 indicates y-axis up / down information, the value of bit 4 indicates z-axis up / down information, the value of bit 5 indicates wake-up information, the value of bit 6 indicates free-fall state information, the value of bit 7 indicates sleep state information, the value of bit 8 to bit 10 indicates full-scale information, and the value of bit 11 to bit 16 indicates general processor configuration or command. Other mappings of parameters to the bits of time slots are also possible. In addition, each of the time slots 28 can include any number of bits (e.g., 8 bits, 32 bits, 64 bits). In one embodiment, time slots 30, 32, 34, 36 form a single TDM frame.
[0051] The time slots in the TDM signal are reserved in advance. For example, before the TDM interface 24 transmits the TDM signal, the positions of the x-axis data in time slot 30, the y-axis data in time slot 32, the z-axis data in time slot 34, and the parameter data in time slot 36 are programmed in the codec 12 and the TDM interface 24. In one embodiment, the sensor 18 itself determines and reserves the position of the data in the TDM signal, and notifies the codec 12 of the position of the data in the TDM signal.
[0052] The sensor 18 acts as a TDM slave, and the codec 12 acts as a TDM master. The TDM interface 24 transmits the TDM signal to the codec 12. When receiving the TDM signal from the TDM interface, the codec 12 decodes the TDM signal and performs further processing using the decoded TDM signal.
[0053] In one embodiment, the codec 12 decodes the received signals (e.g., the TDM signal from the processor 22 and the audio signal from the microphone 14), and adjusts or changes the behavior of the device 10 based on the decoded signals. For example, in an embodiment where the device 10 is an audio headset and the sensor 18 is an accelerometer, the codec 12 executes a general processor configuration or command; sets the device 10 to a sleep or low power state based on the sleep state information; issues a warning based on the free fall state information; sets the device 10 to a wake-up or power-on state based on the wake-up information; adjusts the settings of the device 10 based on the z-axis up / down information, the y-axis up / down information, and the x-axis up / down information; and executes different commands based on the double-click information and the single-click information. In one embodiment, the codec 12 itself changes the behavior of the device 10 based on the decoded signals. In another embodiment, the codec 12 transmits the decoded signals to the application processor 16, which then changes the behavior of the device 10 based on the decoded signals.
[0054] although Figure 1 , but device 10 may include any number of sensors. For example, device 10 may include a gyroscope, a magnetometer, a proximity sensor, a pressure sensor, and a temperature sensor. Other types of sensors are also possible. In one embodiment, the sensors included in device 10 share the same TDM interface and are assigned the same reserved time slots. For example, the sensors take turns using time slot 36 to transmit parameter data. In another embodiment, each of the sensors included in device 10 has its own reserved time slot in the TDM signal to transmit parameter data.
[0055] Because sensor 18 , and more specifically TDM interface 24 , is capable of transmitting data other than simple raw measurement data, sensor 18 may be used as a pass-through to other components within device 10 . Figure 3 is a block diagram of a device 10 according to another embodiment disclosed herein.
[0056] Similar to Figure 1 The embodiment shown, Figure 3 The device 10 shown includes a codec 12, a microphone 14, an application processor 16, and a sensor 18; and the sensor includes a sensing circuit device 20, a processor 22, and a TDM interface 24. However, Figure 1 In contrast to the illustrated embodiment, the sensor 18 is located between the codec 12 and the application processor 16. Furthermore, the sensor 18 comprises an input interface 38 for receiving data from the application processor 16.
[0057] exist Figure 3 In the illustrated embodiment, the sensor 18 acts as a path to the application processor 16. The sensor 18 receives data from the application processor 16 via the input interface 38 and forwards the data intact to the codec 12. As a result, the device 10 does not have to include a dedicated bus between the application processor 16 and the codec 12, because the data can be passed through the sensor 18. The sensor 18 is used during time slots reserved for processed data, such as Figure 2 The application processor data is transmitted to the codec 12 in the time slot 36) shown.
[0058] In one embodiment, sensor 18 writes or stores the application processor data in an internal memory of sensor 18, such as an internal register of processor 22. Processor 22 then reads or retrieves the application processor data from the internal memory and provides the data to TDM interface 24 for transmission to codec 12. TDM interface 24 then transmits the application processor data to codec 12.
[0059] Sensor 18 may also serve as a path through other components in device 10. For example, sensor 18 may serve as a path through between microphone 14 and codec 12. In this case, sensor 18 receives the audio signal from microphone 14 and forwards the audio signal intact to codec 12 for further processing.
[0060] The sensor 18 may also embed additional information into the data stream of raw data by reusing one or more values of the raw data as an exception code, flag, or notification.
[0061] For example, the exception code is implemented by utilizing a predetermined value of the raw data as the exception code itself. Upon receiving the raw data value retained as the exception code from the sensor 18, components of the device 10 (e.g., the codec 12 and the application processor 16) are notified of the occurrence of an event, state, or error represented by the exception code. For example, the exception code may indicate that the sensor 18 is currently processing data, that the output of the sensor 18 is currently invalid, or is used as a sensor self-test. The component may then perform further processing based on the exception code. For example, the codec 12 or the application processor 16 may restart the device 10 upon receiving an exception code indicating a system error. In one embodiment, the sensor 18, more specifically the processor 22, determines whether an exception code should be generated based on measurements generated by the sensing circuit device 20.
[0062] The raw data value retained as, for example, an exception code is at or near the full-scale value or negative full-scale value of the raw data. The full-scale value and the negative full-scale value are the maximum and minimum values, respectively, that the raw data can have. For example, in the case where the raw data is a two's complement 16-bit value, the full-scale value of the raw data is 32767 (binary 01111111111111111), and the negative full-scale value of the raw data is 32768 (binary 10000000000000000).
[0063] Figure 4A is the raw data according to the embodiments disclosed herein, Figure 4B is the original data with an exception code according to the embodiments disclosed herein. Figure 4A In this case, the original data is not modified. For example, in the case where sensor 18 is an accelerometer Figure 2 In the illustrated embodiment, the raw data is the x-axis data in time slot 30, the y-axis data in time slot 32, or the z-axis data in time slot 34. Figure 4B In the example, the values of the raw data at the full-scale value and the negative full-scale value are used as the abnormality code. The remaining values of the raw data are used as the measurement values (for example, acceleration measurement).
[0064] Multiple values at or near full scale value or negative full scale value can be used as exception code, sign or notification. For example, in the case where the original data is a binary complement 16-bit value, the value 32767 (binary 01111111111111111) as the full scale value can be used as the first exception code; and the value 32768 (binary 1000000000000000) as the negative full scale value can be used as the second exception code different from the first exception code. The value 32767 (binary 1000000000000001) as the value of the negative full scale value closest to the original data can also be used as the third exception code different from the first exception code and the second exception code. In this example, three different values of the original data are used as exception codes. However, any number of values at or near full scale value or negative full scale value can be used as exception codes.
[0065] Using values that are at or near the full-scale value of the raw data reduces the impact on the raw data because these values are less likely to be used by the sensor 18. For example, where the sensor 18 is an accelerometer, the acceleration measurement is less likely to reach the maximum or minimum value of the raw data. In addition, by reusing the raw data values, additional auxiliary interfaces and lines for transmitting abnormal codes, flags, or notifications do not need to be included in the sensor 18 and the device 10.
[0066] Note that the device 10 (e.g., codec 12 and application processor 16) does not utilize raw data values that have been reused as, for example, anomaly codes as measurement data. For example, where sensor 18 is an accelerometer, the device 10 does not consider raw data values used as anomaly codes as acceleration measurements.
[0067] In one embodiment, a single additional information is inserted into each data stream of raw data output by sensor 18. For example, referring to a case where sensor 18 is a 3-axis accelerometer Figure 2 In the embodiment shown, a single raw data value of each of the x-axis data in time slot 30, the y-axis data in time slot 32, and the z-axis data in time slot 34 is reused as an exception code. For example, when the raw data is a binary complement 16-bit value, the value 32768 (binary 10000000000000000) in each of the x-axis data, y-axis data, and z-axis data is used as an example exception code. As a result, the impact of the modification of the raw data is minimized because a single value in each of the x-axis data, y-axis data, and z-axis data is no longer used as an acceleration measurement. The remaining value in each of the x-axis data, y-axis data, and z-axis data can still be used as an acceleration measurement.
[0068] In one embodiment, the raw data values are reserved in advance. For example, the codec 12 and the TDM interface 24 are programmed to utilize the value 32767 (binary 0111111111111111) and the value 32768 (binary 1000000000000000) as the exception code before the TDM interface 24 transmits the TDM signal. In one embodiment, the sensor 18 itself determines and reserves the value of the raw data to be used as, for example, the exception code; and notifies the codec 12 that the value is being used as the exception code.
[0069] In one embodiment, the codec 12 instructs the sensor 18 to enable and disable the reuse of the raw data values as exception codes, flags, or notifications. When enabled, the sensor 18 uses one or more raw data values as exception codes, flags, or notifications, as described above. When disabled, the sensor 18 does not use any raw data values as exception codes, flags, or notifications. Instead, all raw data values are used as measurements, such as acceleration measurements.
[0070] In one embodiment, the sensor 18 includes a multiplexer for selecting between the measurement data and an anomaly code, flag, or notification. Figure 5 is a multiplexer 40 according to embodiments disclosed herein.
[0071] The multiplexer 40 selects between inputs receiving measurement data and a plurality of exception codes, and forwards the selected input to the physical layer 42 of the sensor 18 for transmission. In response to the multiplexer 40 receiving a measurement data selection signal, the multiplexer 40 selects the measurement data (e.g., acceleration measurement) and forwards it to the physical layer 42 for transmission. In response to the multiplexer 40 receiving an exception code selection signal, the multiplexer 40 selects the corresponding exception code (e.g., the values 32767, -32768, and -32767) and forwards it to the physical layer 42 for transmission. In one embodiment, the physical layer 42 includes the TDM interface 24 discussed above.
[0072] The TDM interface also allows multiple channels of data to be transmitted between devices over a single shared data line. Figure 6 4 is a block diagram of a plurality of slave devices 44 and a master device 46 according to embodiments disclosed herein. The master device 46 is communicatively coupled to each of the N slave devices 44. N may be equal to any positive integer.
[0073] Each device in multiple slave devices 44 and master device 46 can be the device 10 discussed above or any type of electronic device with a TDM interface, such as an audio headset, such as a headset, a gaming headset, and a telephone headset. Multiple slave devices 44 and master device 46 can also be internal components within a single electronic device.
[0074] Each of the slave devices 44 transmits data to the master device 46 on a shared data line via a TDM interface, and the master device 26 collects data from the slave devices 44 for further processing. For example, slave device 1, slave device 2, slave device 3, slave device N-1, and slave device N output data SDOUT 1, SDOUT 2, SDOUT 3, SDOUT N-1, and SDOUT N, respectively, to the master device 46. The data can be any type of data, such as audio data or the TDM signal discussed above.
[0075] The master device 46 provides a bit clock signal BCLK and a frame synchronization signal FSYNC to each of the slave devices 44 .
[0076] The bit clock signal BCLK is a clock signal, typically a square wave, that is used by the slave devices 44 to synchronize the transmission of their data bits to the master device 46. Each of the slave devices 44 synchronizes its own internal counter with the bit clock signal BCLK and transmits one bit of data at each count of the internal counter. The slave device synchronizes its internal counter at each rising edge (i.e., transition from a low state (e.g., an amplitude of 0 to 2 volts) to a high state (e.g., an amplitude of 3 to 5 volts)) or falling edge (i.e., transition from a high state to a low state) of the bit clock signal BCLK.
[0077] The frame synchronization signal FSYNC is used by the slave device 44 to synchronize the transmission of the data frame. The master device 46 transmits the frame synchronization signal FSYNC to the slave device 44 periodically or at regular equal time intervals. Multiple slave devices 44 use single-frame data transmission in corresponding transmission time slots or channels. For example, slave device 1 to slave device N each take turns to transmit data on the shared data line in a single frame. When the slave device 44 receives the frame synchronization signal FSYNC, the frame is initiated and the data transmission starts from the first slave device (e.g., slave device 1) in the slave device 44.
[0078] At the system level, the total number of transmission time slots or channels in a frame, the relative position of the time slots in the frame, and the length of each time slot are assigned to each slave device 44 before transmission. The slave devices 44 recognize when a frame is initiated and when it is their turn to transmit data within the frame based on the frame synchronization signal FSYNC and the bit clock signal BCLK. For example, Figure 74 is a timing diagram of a plurality of slave devices 44 and a master device 46 according to an embodiment disclosed herein. The vertical axis is an amplitude axis and the horizontal axis is a time axis. The amplitude axis can have any type of amplitude unit (e.g., volts, amperes, etc.), and the time axis can have any type of time unit (e.g., milliseconds, seconds, etc.).
[0079] At time t1, slave device 44 receives frame synchronization signal FSYNC from master device 46. In response, a data frame is initiated and data transmission by slave device 44 in its corresponding time slot or channel begins. Figure 7 In the illustrated embodiment, the slave devices 44 are pre-assigned to transmit in the order of slave device 1, slave device 2, slave device 3, ..., slave device N-1, and slave device N in a frame. The data transmissions performed by slave device 1, slave device 2, slave device 3, ..., slave device N-1, and slave device N are data channel 1, channel 2, channel 3, channel N-1, and channel N, respectively. In one embodiment, the master device 46 assigns the order of the slave devices 44 and notifies the slave devices 44 of the order. In another embodiment, the slave devices 44 and the master device 46 are pre-programmed according to the order of the slave devices 44.
[0080] As described above, each of the slave devices 44 synchronizes an internal counter with the bit clock signal BCLK to determine when their time slots begin and end within a frame. The slave devices 44 transmit a single data bit at each count of their corresponding internal counters. Figure 7 In the illustrated embodiment, each slave device in the slave device 44 is assigned to transmit 16 bits of data, and a total of M bits of data are transmitted from device 1, slave device 2, slave device 3, ..., slave device N-1 and slave device N. M can be equal to any positive integer (e.g., 128, 256, etc.). In other words, each transmission time slot or channel is 16 bits long, and a frame of data is M bits long. In one embodiment, the master device 46 allocates the total number of bits to be transmitted by each of the slave devices 44, and notifies the slave device 44 of the total number of bits. In another embodiment, the slave device 44 and the master device 46 are pre-programmed with the total number of bits to be transmitted by each of the slave devices 44.
[0081] Once the slave device has transmitted 16 bits of data, the next slave device begins transmission. For example, after slave device 1 completes transmission of 16 bits of data SDOUT1, slave device 2 begins transmission of data SDOUT2. When the transmission time slot of the slave device ends, the slave device sets its data line output to a high impedance state to allow line drive and data transmission from the remaining slave devices. In the embodiment shown in FIG. 7, each slave device in the slave device 44 completes transmission and is set to a high impedance state once 16 bits of data are transmitted.
[0082] At time t2, the last slave device N completes transmission SDOUT N, and the frame ends. A total of M bits of data have been transmitted from device 1, slave device 2, slave device 3, slave device N-1, and slave device N. In addition, slave device 44 again receives frame synchronization signal FSYNC from master device 46. The next frame of data begins and data transmission from slave device 44 repeats.
[0083] To save power, each slave device in the slave device 44 is enabled to transmit data and disabled when not in use. When enabled, the TDM interface of the slave device is powered on and operates. When disabled, the TDM interface of the slave device is powered off (or in a low power consumption state) and does not operate.
[0084] Since the TDM interface is a unidirectional interface, the master device 46 cannot perform addressed reads or writes to each of the slave devices 44. Therefore, each of the slave devices 44 determines when to be enabled and disabled.
[0085] In one embodiment, each of the slave devices 44 relies on the frame synchronization signal FSYNC to enable and disable itself. By utilizing the frame synchronization signal FSYNC, the slave device can autonomously enable and disable itself once the slave device has synchronized with the frame synchronization signal FSYNC. Figure 8 4 is a block diagram of a slave device 44 according to embodiments disclosed herein. The slave device 44 includes a counter 48, a processor 50, and a TDM interface 52.
[0086] The counter 48 detects and counts the presence and absence of the frame synchronization signal FSYNC. The counter 48 may be implemented as a circuit device or a software module executed by the processor 50. Figure 8 The counter 48 is shown as a separate component from the processor 50, but the counter 48 and the processor 50 may be a single component.
[0087] In the case where the slave device 44 is currently disabled, the counter 48 performs detection of the frame synchronization signal FSYNC and maintains a total count of the frame synchronization signal FSYNC detection. Figure 7 , counter 48 detects and counts the frame sync signal FSYNC present at times t1 and t2. Note that each of the total counts of frame sync signal FSYNC detections by slave device 44 will be the same because slave device 44 receives the same frame sync signal FSYNC from master device 46 and synchronizes with it.
[0088] In the case where the slave device 44 is currently enabled, the counter 48 detects the absence of the frame synchronization signal FSYNC and maintains a total count of the absence of the frame synchronization signal FSYNC. The slave device 44 is able to detect the absence of the frame synchronization signal FSYNC because the slave device 44 is synchronized with the frame synchronization signal FSYNC from the master device 46 and expects to receive the frame synchronization signal FSYNC periodically or at regular equal time intervals. In this way, after detecting a frame synchronization signal, the slave device 44 expects another frame synchronization signal FSYNC at the next time interval. If the slave device 44 does not detect the frame synchronization signal FSYNC at the next time interval, the counter 48 detects and counts the absence of the frame synchronization signal FSYNC. In addition, the slave device 44 knows the length of the data frame. After detecting a frame synchronization signal FSYNC, the slave device 44 expects another frame synchronization signal FSYNC at the end of each frame of data. For example, referring to Figure 7 , the data frame initiated at time t1 is M bits long, and the slave device 44 expects another frame synchronization signal FSYNC every M bits (e.g., at time t2). If the slave device 44 does not detect the frame synchronization signal FSYNC at the end of the data frame, the counter 48 detects and counts the absence of the frame synchronization signal FSYNC. Note that each of the total counts of the absence of the frame synchronization signal FSYNC made by the slave device 44 will be the same because the slave device 44 receives the same frame synchronization signal FSYNC from the master device 46 and synchronizes with it.
[0089] The operation of counter 48 will be discussed in more detail below.
[0090] Processor 50 determines whether to enable slave device 44 based on the total count of FSYNC detections and whether to disable slave device 44 based on the total count of FSYNC absences. Processor 50 may be any type of processor, controller or signal processor that performs calculations and controls slave device 44.
[0091] If slave device 44 is currently disabled, processor 50 determines to enable slave device 44 in response to the total count detected by frame synchronization signal FSYNC being greater than or equal to a threshold. Upon determining to enable slave device 44, processor 50 enables slave device 44 by instructing TDM interface 52 to be powered on and operated.
[0092] When slave device 44 is currently enabled, processor 50 determines to disable slave device 44 in response to the total count of absence of frame synchronization signal FSYNC being greater than or equal to a threshold. Upon determining to disable slave device 44, processor 50 disables slave device 44 by instructing TDM interface 52 to be powered off or enter a low power state.
[0093] The operation of processor 50 will be discussed in more detail below.
[0094] TDM interface 52 transmits data on a shared data line to master device 46. As described above, TDM interface 52 utilizes both bit clock signal BCLK and frame synchronization signal FSYNC to transmit data. TDM interface 52 may be any type of interface that utilizes time division multiplexing to transmit data, such as TDM interface 24 discussed above.
[0095] Fig. 9 is a flow chart of a method 54 of enabling and disabling a slave device 44 according to embodiments disclosed herein.
[0096] In block 56, the slave device 44 determines whether the TDM interface 52 is currently enabled or disabled. Block 56 may be performed by the counter 48 or the processor 50. If the TDM interface 52 is currently disabled, the method 54 moves to block 58. If the TDM interface 52 is currently disabled, the method 54 moves to block 60.
[0097] In block 58, counter 48 sets or resets the enable count to zero. The enable count is used to track the total count of frame synchronization signal FSYNC detections, which is discussed above. The method then moves to block 62.
[0098] In block 62, the counter 48 performs detection of the frame synchronization signal FSYNC. If the frame synchronization signal FSYNC is not detected (i.e., the slave device 44 has not received the frame synchronization signal FSYNC from the master device 46), the method 54 returns to block 58. If the frame synchronization signal FSYNC is detected (i.e., the slave device 44 has received the frame synchronization signal FSYNC from the master device 46), the method 54 moves to block 64.
[0099] In block 64, the counter 48 increments the enable count to count the frame synchronization signal FSYNC detected in block 62, and continues to perform detection of the frame synchronization signal FSYNC. As described above, the enable count indicates the total count of the frame synchronization signal FSYNC detection. If the frame synchronization signal FSYNC is not detected, the counter 48 continues to perform detection of the frame synchronization signal FSYNC. If the frame synchronization signal FSYNC is detected, the counter 48 increments the enable count. After the enable count is incremented, the method 54 moves to block 66.
[0100] In one embodiment, frame synchronization signal FSYNC and bit clock signal BCLK are not received from device 44 when disabled. Like this, counter 48 can not perform the detection of frame synchronization signal FSYNC as described above.In this case, internal frame synchronization signal synchronous with frame synchronization signal FSYNC is maintained from device 44.For example, internal frame synchronization signal can be clock signal, wherein high level represents that frame synchronization signal FSYNC is received, and low level represents that frame synchronization signal FSYNC is not received.Internal frame synchronization signal is generated by the local oscillator embedded in slave device 44.Counter 48 utilizes internal frame synchronization signal to replace frame synchronization signal FSYNC in frame 62 and 64.That is, counter 48 performs the detection of internal frame synchronization signal, and counts up when internal frame synchronization signal is detected (for example, each time internal frame synchronization signal has high level state).In one embodiment, each time when being enabled from device 44 and starting to receive frame synchronization signal FSYNC again (for example, in frame 68), internal clock is synchronous with frame synchronization signal FSYNC.
[0101] In block 66, processor 50 determines whether the enable count is greater than or equal to the enable threshold N. E . Enable threshold N E It can be configured based on the power constraints of the slave device 44. If the enable count is not greater than or equal to (ie, less than) the enable threshold N E , the method 54 returns to block 64 to continue to perform the detection of the frame synchronization signal FSYNC. E , then method 54 moves to frame 68.
[0102] In block 68, the slave device 44 is enabled. As described above, the processor 50 enables the slave device 44 by instructing the TDM interface 52 to be powered and operational. The method 54 then moves to block 60 to begin processing to disable the slave device 44.
[0103] Fig.10 4 is a timing diagram of enabling a slave device 44 according to an embodiment disclosed herein. The vertical axis is an amplitude axis, and the horizontal axis is a time axis. The amplitude axis can have any type of amplitude unit (e.g., volts, amperes, etc.), and the time axis can have any type of time unit (e.g., milliseconds, seconds, etc.).
[0104] At time t1, slave 44 receives frame sync signal FSYNC from master 46, and counter 48 detects frame sync signal FSYNC (block 62). Counter 48 increments enable count to count frame sync signal FSYNC detected at time t1, and continues to perform detection of frame sync signal FSYNC (block 64).
[0105] At time t2, the enable count equals the enable threshold NE (Block 66), and the slave device 44 is enabled (Block 68).
[0106] return Fig. 9 , in block 60, counter 48 sets or resets the disable count to zero. The disable count is used to track the total count of the absence of the frame synchronization signal FSYNC, as described above. The method then moves to block 70
[0107] In frame 70, counter 48 performs detection of frame synchronization signal FSYNC at expected time. That is, counter 48 performs detection of non-existence of frame synchronization signal FSYNC. As described above, counter 48 can detect non-existence of frame synchronization signal FSYNC, because slave device 44 is synchronized with frame synchronization signal FSYNC from master device 46, and expects to receive frame synchronization signal FSYNC periodically or at regular equal time intervals. In this way, after detecting a frame synchronization signal, slave device 44 expects another frame synchronization signal FSYNC at the next time interval. If slave device 44 does not detect frame synchronization signal FSYNC at the next time interval, counter 48 detects and counts non-existence of frame synchronization signal FSYNC. In addition, slave device 44 knows the length of data frame. After detecting a frame synchronization signal FSYNC, slave device 44 expects another frame synchronization signal FSYNC at the end of each frame data. If slave device 44 does not detect frame synchronization signal FSYNC at the end of data frame, counter 48 detects and counts non-existence of frame synchronization signal FSYNC.
[0108] If the frame synchronization signal FSYNC is detected at the expected time (i.e., the slave device 44 receives the frame synchronization signal FSYNC from the master device 46 at the expected time), the method 54 returns to block 60. If the frame synchronization signal FSYNC is not detected at the expected time (i.e., the slave device 44 does not receive the frame synchronization signal FSYNC from the master device 46 at the expected time), the method 54 moves to block 72.
[0109] In block 72, counter 48 increments the disable count to count the absence of the frame synchronization signal FSYNC detected in block 70, and continues to perform detection of the absence of the frame synchronization signal FSYNC. As described above, the disable count indicates the total count of the absence of the frame synchronization signal FSYNC. If the absence of the frame synchronization signal FSYNC is not detected, counter 48 continues to perform detection of the absence of the frame synchronization signal FSYNC. If the absence of the frame synchronization signal FSYNC is detected, counter 48 increments the disable count. After the disable count has been incremented, method 54 moves to block 74.
[0110] In block 74, processor 50 determines whether the disable count is greater than or equal to the disable threshold N. D. Disable threshold N D It can be configured based on the power limit of the slave device 44. If the disable count is not greater than or equal to (ie, less than) the disable threshold N D , the method 54 returns to block 72 to continue to perform detection of the absence of the frame synchronization signal FSYNC. D , then method 54 moves to box 76.
[0111] In block 76, the slave device 44 is disabled. As described above, the processor 50 disables the slave device 44 by instructing the TDM interface 52 to be powered down or enter a low power state. The method 54 then returns to block 58 to begin processing to enable the slave device 44.
[0112] Fig.11 4 is a timing diagram for disabling a slave device 44 according to an embodiment disclosed herein. The vertical axis is an amplitude axis and the horizontal axis is a time axis. The amplitude axis can have any type of amplitude unit (e.g., volts, amperes, etc.) and the time axis can have any type of time unit (e.g., milliseconds, seconds, etc.). Fig.11 In the illustrated embodiment, the length of the data frame is M bits, where M is equal to any positive integer (eg, 128, 256, etc.).
[0113] At time t1, the slave 44 receives the frame synchronization signal FSYNC from the master 46, and the counter 48 detects the frame synchronization signal FSYNC. Thus, the counter 48 expects another frame synchronization signal FSYNC every M bits starting from time t1.
[0114] At time t2, the slave device 44 does not receive the frame synchronization signal FSYNC from the master device 46 at the expected time (i.e., at the end of the data frame starting at time t1), and the counter 48 detects the absence of the frame synchronization signal FSYNC (block 70). The counter 48 increments the disable count to count the absence of the frame synchronization signal FSYNC detected at time t2, and continues to perform the detection of the absence of the frame synchronization signal FSYNC (block 72).
[0115] At time t3, the disable count equals the disable threshold N D (Block 74), and the slave device 44 is disabled (Block 76).
[0116] In the embodiment discussed above, the TDM interface from equipment 44 is enabled and disabled based on frame synchronization signal FSYNC. However, except the TDM interface, other parts in the equipment 44 may also be enabled and disabled based on frame synchronization signal FSYNC. For example, each front-end component and processor from the equipment 44 may be enabled based on frame synchronization signal FSYNC to be powered on and operate and disabled to be powered off (or in low power state) and not operate.
[0117] Various embodiments disclosed herein provide a device including a sensor having a time division multiplexing (TDM) interface. The sensor transmits both raw data (e.g., acceleration measurements) and processed data (e.g., status information, interrupts, function results, etc.) in a single TDM signal by reserving one or more time slots within the TDM frame for transmitting processed data. The sensor also embeds additional information into the data stream of the raw data by reusing one or more of the values of the raw data as an exception code, a flag, or another type of notification. The device can also be enabled to transmit data and disabled to save power when not in use.
[0118] The various embodiments described above can be combined to provide other embodiments. These and other changes can be made to the embodiments in light of the above detailed description. In general, in the following claims, the terms used should not be interpreted as limiting the claims to the specific embodiments disclosed in the specification and claims, but should be interpreted as including all possible embodiments and the full range of equivalents to which such claims are entitled. Therefore, the claims are not limited by this disclosure.
Claims
1. A sensor, comprising: sensing circuitry configured to generate measurements, the measurements comprising raw data; a processor configured to determine a plurality of parameters based on the measurements, the plurality of parameters comprising processed data; as well as A time division multiplexing (TDM) interface is configured to generate and output a TDM signal including the measurement and the multiple parameters, the TDM signal including a TDM frame having a plurality of time slots, the multiple parameters being located in one or more reserved time slots among the plurality of time slots in the TDM frame, and the measurement being located in one or more remaining time slots among the plurality of time slots in the TDM frame. 2 . The sensor according to claim 1 , wherein the sensor is a sensor having at least one of the following: an accelerometer, a gyroscope, a magnetometer, a proximity sensor, a pressure sensor or a temperature sensor.
3. The sensor according to claim 2, wherein the plurality of parameters comprises at least one parameter selected from a group of parameters, the group of parameters comprising configuration, command, full scale information, sleep state information, free fall state information, wake-up information, orientation information, double click information and single click information. The sensor of claim 1 , wherein the plurality of time slots have the same length.
5. A method comprising: generating measurements by sensors, the measurements comprising raw data; determining a plurality of parameters based on the measurements, the plurality of parameters comprising processed data; generating a TDM signal including the measurement and the plurality of parameters, the TDM signal including a TDM frame having a plurality of time slots, the plurality of parameters being located in one or more reserved time slots of the plurality of time slots in the TDM frame, and the measurement being located in one or more remaining time slots of the plurality of time slots in the TDM frame; as well as The TDM signal is outputted by the sensor. 6 . The method of claim 5 , wherein the sensor is a sensor having at least one of the following: an accelerometer, a gyroscope, a magnetometer, a proximity sensor, a pressure sensor, or a temperature sensor.
7. The method of claim 6, wherein the plurality of parameters comprises at least one parameter selected from a group of parameters, the group of parameters comprising configuration, command, full-scale information, sleep state information, free-fall state information, wake-up information, orientation information, double-click information, and single-click information.
8. A device comprising: A first component configured to generate data; a sensor configured to receive the data from the first component, generate measurements, and generate a time division multiplexed TDM signal, the TDM signal comprising a TDM frame having a plurality of time slots, the data from the first component being located in one or more reserved ones of the plurality of time slots in the TDM frame, the measurements being located in one or more remaining ones of the plurality of time slots in the TDM frame; as well as A second component is configured to receive the TDM signal from the sensor.
9. The apparatus of claim 8, wherein the first component is a processor and the second component is a codec.
10. The device of claim 8, wherein the sensor is a sensor having at least one of the following: an accelerometer, a gyroscope, a magnetometer, a proximity sensor, a pressure sensor, or a temperature sensor.
11. The device of claim 8, wherein the device is an audio headset.
12. The device of claim 8, wherein the sensor is configured to determine a plurality of parameters based on the measurements, and the plurality of parameters are located in a third time slot of the plurality of time slots.
13. The apparatus of claim 8, wherein the data is not altered by the sensor. The apparatus of claim 8 , wherein the plurality of time slots have the same length.
15. A sensor comprising: a sensing circuit arrangement configured to generate measurement data having a maximum value and a minimum value; a processor configured to generate an exception code based on the measurement data; as well as The time division multiplexing (TDM) interface is configured to generate and output a TDM signal including the abnormality code, wherein the value of the abnormality code is equal to at least one of the maximum value or the minimum value of the measurement data.
16. The sensor of claim 15 , wherein the processor is configured to generate a plurality of exception codes based on the measurement data, the TDM interface is configured to generate and output a TDM signal including the plurality of exception codes, the plurality of exception codes including a first exception code having a value equal to the maximum value of the measurement data, and a second exception code having a value equal to the minimum value of the measurement data.
17. The sensor according to claim 16, further comprising: A multiplexer is configured to select between the measurement data, the first exception code and the second exception code for transmission by the TDM interface.
18. The sensor of claim 15, wherein the sensor is an accelerometer and the measurement data comprises acceleration measurements along an axis.
19. The sensor of claim 15, wherein the exception code indicates the occurrence of an event, a state, or an error.
Citation Information
Patent Citations
Method for automatically starting a wind energy assembly and wind energy assembly for performing the method
CN102465834A
Advanced TDM Daisy-Chain Communication Systems and Devices
US20140254431A1
Synchronous slave-to-slave communications
US20170222829A1
Processing apparatus, image sensor, and system
US20190124235A1
System, method and computer-accessible medium for machine condition monitoring
US20200233397A1
