OPTICAL IMAGE STABILIZATION DEVICE AND COMMUNICATION METHOD THEREOF WITH ENHANCED SERIAL PERIPHERAL INTERFACE COMMUNICATION EFFICIENCY
A camera apparatus includes an optical image stabilizer (OIS) device including a control circuit controlling data processing including reading data and writing data, and a digital circuit including a serial peripheral interface bus (SPI) master performing data processing based on SPI communications performed using the SPI master under control of the control circuit to perform an OIS function; and a sensor device including an SPI slave communicating with the SPI master and responding to a request from the OIS device. The control circuit sets a selected SPI communications mode selected from a plurality of predefined SPI communications modes. The digital circuit performs the selected SPI communications mode, and in response to the selected SPI communications mode being a burst status mode with a status check, checks two or more status bits for corresponding data to be read from the sensor device before reading the corresponding data from the sensor device.
Latest Samsung Electronics Patents:
- Display device packaging box
- Ink composition, light-emitting apparatus using ink composition, and method of manufacturing light-emitting apparatus
- Method and apparatus for performing random access procedure
- Method and apparatus for random access using PRACH in multi-dimensional structure in wireless communication system
- Method and apparatus for covering a fifth generation (5G) communication system for supporting higher data rates beyond a fourth generation (4G)
This application claims the benefit under 35 U.S.C. 119(a) of Korean Patent Application No. 10-2019-0046210 filed on Apr. 19, 2019, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
BACKGROUND 1. FieldThis application relates to an optical image stabilization (OIS) device for a camera apparatus having enhanced serial peripheral interface (SPI) communication efficiency and a communication method thereof.
2. Description of Related ArtOptical image stabilizer (OIS) technology, a technology for preventing a captured image from disadvantageously shaking due to user hand-shake during image capturing with a handheld camera, has been applied to some camera modules.
OIS systems need data of a sensor device, such as a gyro sensor or an acceleration sensor, for more stable operation.
Conventional OIS systems read data from a navigation sensor, such as a gyro sensor or an acceleration sensor, using a serial peripheral interface (SPI) bus or an inter-integrated circuit (I2C) bus.
Typically, a conventional OIS system is operatively associated with a microcontroller unit (MCU) to read data from a sensor device, such as a gyro sensor or an acceleration sensor. In order for the MCU to read data from the sensor device, the MCU needs to access a digital circuit. The number of times the MCU accesses the digital circuit has an effect on a speed of reading data from the sensor device and an MCU internal processing speed.
In a conventional OIS system, to read two different types of data from a gyro sensor, the MCU sequentially transmits a command to the digital circuit via SRI communications to check a status of the gyro sensor, reads one type of data from the gyro sensor, retransmits a command to the digital circuit via SRI communications to check a status of the gyro sensor, and reads the other type of data from the gyro sensor.
In the method described above, in the conventional OIS device, an SRI master of the digital circuit receives two commands from the MCU to read two types of data. Therefore, it takes a relatively long time to read the two types of data, which reduces a data processing speed.
SUMMARYThis Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In one general aspect, a camera apparatus includes an optical image stabilizer (OIS) device including a control circuit configured to control data processing including reading data and writing data, and a digital circuit including a serial peripheral interface bus (SRI) master and configured to perform data processing based on SRI communications performed using the SRI master in response to the control of the control circuit to perform an OIS function; and a sensor device including an SRI slave configured to communicate with the SRI master and respond to a request from the OIS device, wherein the control circuit is further configured to set a selected SRI communications mode selected from a plurality of predefined SRI communications modes including a single mode, a plurality of burst modes without a status check, and a plurality of burst status modes with a status check, and control communications between the digital circuit and the sensor device using the selected SRI communications mode, and the digital circuit is further configured to perform the selected SRI communications mode in response to the control of the control circuit, and in response to the selected SRI communications mode being one of the plurality of burst status modes with a status check, check two or more status bits for corresponding data to be read from the sensor device before reading the corresponding data from the sensor device.
One of the plurality of burst modes with a status check may be a specific communications mode in which a status is checked for each corresponding data to be read, and the digital circuit may be further configured to check a status for each corresponding data to be read from the sensor device and read the corresponding data from the sensor device using a preset status check frame and a preset data frame in response to the selected SRI communications mode being the specific communications mode.
The digital circuit may include a first memory including a mask pattern register having two or more check bits enabled, the two or more check bits corresponding to the two or more status bits, the sensor device may include a second memory configured to store the corresponding data, and the digital circuit may be further configured to read the corresponding data from the second memory.
The digital circuit may be further configured to check the two or more status bits for the corresponding data to be read from the sensor device using the two or more check bits enabled in the mask pattern register to determine whether the corresponding data to be read from the sensor device is updated valid data, and read the corresponding data from the second memory in response to the corresponding data being determined to be updated valid data.
The digital circuit may be further configured to perform the single mode using one data frame in response to the selected SRI communications mode being the single mode, and perform a corresponding burst mode using one or two data frames in response to the selected SRI communications mode being one of a first burst mode without a status check, a second burst mode without a status check, a first burst status mode with a status check, a second burst status mode with a status check, and a third burst status mode with a status check.
The single mode may be a mode in which the corresponding data to be read from the sensor device is processed using one data frame, the first burst mode may be a mode in which the corresponding data to be read from the sensor device is processed using one data frame without a status check, the second burst mode may be a mode in which the corresponding data to be read from the sensor device is processed using two data frames without a status check, the first burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and one data frame, the second burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and two data frames, and the third burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using a first status check frame, a first data frame, a second status check frame, and a second data frame.
The digital circuit may be further configured to read and store the corresponding data from the sensor device using one data frame in the single mode in response to the selected SRI communications mode being the single mode, read and store the corresponding data from the sensor device using one data frame without a status check in the first burst mode in response to the selected SRI communications mode being the first burst mode, read and store the corresponding data from the sensor device using two data frames without a status check in the second burst mode in response to the selected SRI communications mode being the second burst mode, read and store the corresponding data from the sensor device using one status check frame and one data frame in the first burst status mode in response to the selected SRI communications mode being the first burst status mode, read and store the corresponding data from the sensor device using one status check frame and two data frames in the second burst status mode in response to the selected SRI communications mode being the second burst status mode, and read and store the corresponding data from the sensor device using a first status check frame, a first data frame, a second status check frame, and a second data frame in the third burst status mode in response to the selected SRI communications mode being the third burst status mode.
The status check frame of each of the first burst status mode and the second burst status mode and each of the status check frames of the third burst mode may include a read identification region, an address region, and a data region, the data frame of the single mode may include a read identification region, an address region, and a data region for reading gyro data or acceleration data from the sensor device, and the data frame of each of the first burst mode and the first burst status mode and each of the data frames of the second burst mode, the second burst status mode, and the third burst status mode may include a read identification region, an address region, and a plurality of data regions for reading gyro data or acceleration data from the sensor device.
In another general aspect, a communication method of a camera apparatus including an optical image stabilizer (OIS) device, the OIS device including a digital circuit and a sensor device, the digital circuit including a serial peripheral interface bus (SPI) master and a control circuit, the sensor device including an SPI configured to perform SPI communication with the SPI master, includes setting a selected SPI communications mode selected from a plurality of predefined SPI communications modes including a single mode, a plurality of burst modes without a status check, and a plurality of burst modes with a status check; processing corresponding data from the sensor device by performing the selected SPI communications mode, the processing of the corresponding data including, in response to the selected SPI communications mode being one of the plurality of burst modes with a status check, checking two or more status bits for corresponding data to be read from the sensor device before reading the corresponding data from the sensor device; and storing the corresponding data read from the sensor device.
One of the plurality of burst modes with a status check may be a specific communications mode in which a status is checked for each corresponding data to be read, and the processing of the corresponding data may further include checking a status for each corresponding data to be read from the sensor device and reading the corresponding data from the sensor device using a preset status check frame and a preset data frame in response to the selected SPI communications mode being the specific communications mode.
The digital circuit may include a first memory including a mask pattern register having two or more check bits enabled, the two or more check bits corresponding to the two or more status bits, the sensor device may include a second memory configured to store the corresponding data, and the processing of the corresponding data may further include reading the corresponding data from the second memory.
The processing of the corresponding data may further include checking the two or more status bits for the corresponding data to be read from the sensor device using the two or more check bits enabled in the mask pattern register to determine whether the corresponding data to be read from the sensor device is updated valid data, and reading the corresponding data from the second memory in response to the corresponding data being determined to be updated valid data.
The processing of the corresponding data further may include performing the single mode using one data frame in response to the selected SRI communications mode being the single mode, and performing a corresponding burst mode using one or two data frames in response to the selected SRI communications mode being one of a first burst mode without a status check, a second burst mode without a status check, a first burst status mode with a status check, a second burst status mode with a status check, and a third burst status mode with a status check.
The single mode may be a mode in which the corresponding data to be read from the sensor device is processed using one data frame, the first burst mode may be a mode in which the corresponding data to be read from the sensor device is processed using one data frame without a status check, the second burst mode may be a mode in which the corresponding data to be read from the sensor device is processed using two data frames without a status check, the first burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and one data frame, the second burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and two data frames, and the third burst status mode may be a mode in which the corresponding data to be read from the sensor device is processed using a first status check frame, a first data frame, a second status check frame, and a second data frame.
The processing of the corresponding data may further include reading and storing the corresponding data from the sensor device using one data frame in the single mode in response to the selected SRI communications mode being the single mode, reading and storing corresponding data from the sensor device using one data frame without a status check in the first burst mode in response to the selected SRI communications mode being the first burst mode, reading and storing corresponding data from the sensor device using two data frames without a status check in the second burst mode in response to the selected SRI communications mode being the second burst mode, reading and storing corresponding data from the sensor device using one status check frame and one data frame in the first burst status mode in response to the selected SRI communications mode being the first burst status mode, reading and storing corresponding data from the sensor device using one status check frame and two data frames in the second burst status mode in response to the selected SRI communications mode being the second burst status mode, and reading and storing corresponding data from the sensor device using a first status check frame, a first data frame, a second status check frame, and a second data frame in the third burst status mode in response to the selected SPI communications mode being the third burst status mode.
The status check frame of each of the first burst status mode and the second burst status mode and each of the status check frames of the third burst status mode may include a read identification region, an address region, and a data region, the data frame of the single mode may include a read identification region, an address region, and a data region for reading gyro data or acceleration data from the sensor device, and the data frame of each of the first burst mode and the first burst status mode and each of the data frames of the second burst mode, the second burst status mode, and the third burst status mode may include a read identification region, an address region, and a plurality of data regions for reading gyro data or acceleration data from the sensor device.
Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
Throughout the drawings and the detailed description, the same reference numerals refer to the same elements. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.
DETAILED DESCRIPTIONThe following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. However, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be apparent after an understanding of the disclosure of this application. For example, the sequences of operations described herein are merely examples, and are not limited to those set forth herein, but may be changed as will be apparent after an understanding of the disclosure of this application, with the exception of operations necessarily occurring in a certain order. Also, descriptions of features that are known in the art may be omitted for increased clarity and conciseness.
The features described herein may be embodied in different forms, and are not to be construed as being limited to the examples described herein. Rather, the examples described herein have been provided merely to illustrate some of the many possible ways of implementing the methods, apparatuses, and/or systems described herein that will be apparent after an understanding of the disclosure of this application.
The features of the examples described herein may be combined in various ways as will be apparent after an understanding of the disclosure of this application. Further, although the examples described herein have a variety of configurations, other configurations are possible, as will be apparent after an understanding of the disclosure of this application.
Throughout the specification, when an element, such as a layer, region, or substrate, is described as being “on,” “connected to,” or “coupled to” another element, it may be directly “on,” “connected to,” or “coupled to” the other element, or there may be one or more other elements intervening therebetween. In contrast, when an element is described as being “directly on,” “directly connected to,” or “directly coupled to” another element, there can be no other elements intervening therebetween.
As used herein, the term “and/or” includes any one and any combination of any two or more of the associated listed items.
Although terms such as “first,” “second,” and “third” may be used herein to describe various members, components, regions, layers, or sections, these members, components, regions, layers, or sections are not to be limited by these terms. Rather, these terms are only used to distinguish one member, component, region, layer, or section from another member, component, region, layer, or section. Thus, a first member, component, region, layer, or section referred to in examples described herein may also be referred to as a second member, component, region, layer, or section without departing from the teachings of the examples.
Spatially relative terms such as “above,” “upper,” “below,” and “lower” may be used herein for ease of description to describe one element's relationship to another element as shown in the figures. Such spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, an element described as being “above” or “upper” relative to another element will then be “below” or “lower” relative to the other element. Thus, the term “above” encompasses both the above and below orientations depending on the spatial orientation of the device. The device may also be oriented in other ways (for example, rotated by 90 degrees or at other orientations), and the spatially relative terms used herein are to be interpreted accordingly.
The terminology used herein is for describing various examples only, and is not to be used to limit the disclosure. The articles “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “includes,” and “has” specify the presence of stated features, numbers, operations, members, elements, and/or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, members, elements, and/or combinations thereof.
Referring to
The OIS circuit 100 includes a control circuit 110, a digital circuit 120, and an analog circuit 130.
The control circuit 110 controls data processing including data reading and data writing to perform an optical image stabilization (OIS) function.
The digital circuit 120 includes a serial peripheral interface bus (SPI) master 122 to perform data processing, such as data reading and data writing, of corresponding data using SPI communications with the sensor device 200 in response to control of the control circuit 110.
The analog circuit drives the lens module 50 in response to control of the control circuit 110, detects a driving state of the lens module 50, and provides a detection signal to the control circuit 110.
The sensor device 200 includes an SPI slave 222 to communicate with the SPI master 122 in response to a request from the OIS device 100. As an example, the sensor device 200 performs communications with the SPI master 122 of the digital circuit 120 using the SPI slave 222 and provides corresponding data in response to a request from the OIS device 100. For example, the corresponding data provided by the sensor device 200 may be angular velocity data from a gyro sensor or acceleration data from an acceleration sensor.
As an example, the sensor device 200 includes either one or both of a gyro sensor configured to measure angular velocity and an acceleration sensor configured to measure acceleration.
The control circuit 110 sets a selected SPI communications mode selected from a plurality of predefined SPI communications modes including a single mode based, for example, on a type of the SPI slave 222, a type of corresponding data to be written into the sensor device 200 or read from the sensor device 200, and a location in the sensor device 200 where the corresponding data is to be written or read, a plurality of burst modes without a status check, and a plurality of burst modes with a status check, and controls communications between the digital circuit 120 and the sensor device 200 using the selected SPI communications mode.
The single mode is a mode for reading or writing a single byte of data, and each of the burst modes is a mode for reading two or more bytes of data.
For example, when an event occurs, such as writing corresponding data into the sensor device 200 or reading corresponding data from the sensor device 200, the control circuit 110 performs an SPI communications setting operation to set a selected SPI communications mode selected from a plurality of predefined SPI communications modes including a single mode SM, a first burst BM1 without a status check, a second burst mode BM2 without a status check, a first burst status mode BSM1 with a status check, a second burst status mode BSM2 with a status check, and a third burst status mode BSM3 with a status check, controls communications between the digital circuit 120 and the sensor device 200 using the selected SPI communications mode to write the corresponding data into the sensor device 200 or read the corresponding data from the sensor device 200, and processes the corresponding data provided by the sensor device 200.
Then, the control circuit 110 controls the lens module 50 using the analog circuit 130 based on the communications between the digital circuit 120 and the sensor device 200 performed using the selected SPI communications mode.
As an example, the control circuit 110 provides a control signal for control of the lens module 50 to the analog circuit 130 based on data from the digital circuit 120 and data from the analog circuit 130.
The digital circuit 120 performs the selected SRI communications mode in response to control of the control circuit 110. When the selected SRI communications mode is one of the plurality of burst modes with a status check, the digital circuit 120 checks two or more status bits for corresponding data to determine whether there is an error in the corresponding data before reading the corresponding data.
As an example, the digital circuit 120 reads corresponding data from the sensor device 200 and provides the corresponding data to the control circuit 110 using the selected SRI communications mode in response to control of the control circuit 110.
In the following description, repeated descriptions of components in the drawings that have already been described will be omitted, and only differences between the drawings will be described.
Referring to
The sensor device 200 includes a second memory 225. The second memory 225 includes a register map 225A for reading or writing corresponding data.
Referring to
The digital circuit 120 checks two or more status bits in a status register in the register map 225A for corresponding data to be read from a data register in the register map 225A according to the two or more check bits enabled in the mask pattern register 125A to more precisely determine whether the corresponding data is updated valid data.
As an example, the digital circuit 120 performs a single mode SM using one data frame when the single mode SM is the selected SPI communications mode. As another example, the digital circuit 120 performs a selected burst mode using one or two data frames when the first burst mode BM1 or the second burst mode BM2 each without a status check is the selected SPI communications mode, or when the first burst status mode BSM1, the second burst status mode BSM2, or the third burst status mode BSM3 each with a status check is the selected SPI communications mode.
As an example, the single mode SM is a mode in which data is processed using one data frame. The first burst mode BM1 is a mode in which data is processed using one data frame without a status check. The second burst mode BM2 is a mode in which data is processed using two data frames without a status check. The first burst status mode BSM1 is a mode in which data is processed using a status check frame and one data frame. The second burst status mode BSM2 is a mode in which data is processed using a status check frame and two data frames. The third burst status mode BSM3 is a mode in which data is processed using a first status check frame, a first data frame, a second status check frame, and a second data frame.
For example, in the single mode SM, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using one data frame.
In the first burst mode BM1, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using one data frame without a status check.
In the second burst mode BM2, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using two data frames without a status check.
In the first burst status mode BSM1, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using a status check frame and one data frame.
In the second burst status mode BSM2, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using a status check frame and two data frames.
In the third burst status mode BSM3, the digital circuit 120 reads and stores corresponding data from the sensor device 200 using a first status check frame, a first data frame, a second status check frame, and a second data frame.
Referring to
The register map 225A writes data received from the digital circuit 120 in the data register in the register map 225A, or reads stored corresponding data from the data register in the register map 225A in response to a request from the digital circuit 120 to provide the corresponding data to the control circuit 110. As an example, the register map 225A includes a gyro status register and a gyro data register when the sensor device 200 includes a gyro sensor. As another example, the register map 225A includes a gyro status register, an acceleration status register, a gyro data register, and an acceleration data register when the sensor device 200 includes a triaxial gyro sensor and a triaxial acceleration sensor.
As an example, the control circuit 110 provides control data to the analog circuit 130 based on data from the digital circuit 120. The analog circuit 130 drives the lens module 50 based on the control data from the control circuit 110, detects a position of the lens module 50 depending on the driving of the lens module 50, and provides detection data to the control circuit 110 as a detection signal.
Referring to
First, the control circuit 110 of the OIS device 100 of the camera apparatus, illustrated in
Next, the digital circuit 120 performs communications with the sensor device 200 using the selected SRI communications mode in response to the control of the control circuit 110 to write corresponding data into the sensor device 200 or read corresponding data from the sensor device 200.
In the communication method of the camera apparatus, a communications operation (S1000) will now be described. First, the digital circuit 120 selects an SRI clock, calculates an SRI burst read interval, and selects a 3-wire or 4-wire mode as a preprocessing operation to start SRI communications with the sensor device 200 (S50).
Next, in a selected SRI communications mode determination operation S100, the digital circuit 120 determines an SRI communications mode selected to process corresponding data. The SRI communications mode is selected from a plurality of predefined SRI communications modes including a single mode, a plurality of burst modes without a status check, and a plurality of burst modes with a status check.
Next, the digital circuit 120 performs the selected SRI communications mode to communicate with the sensor device 200 to process corresponding data, and when the selected SRI communications mode is one of the plurality of burst modes with a status check, the digital circuit 120 checks two or more status bits to read corresponding data when there is no error in the corresponding data (S200).
The digital circuit 120 stores the corresponding data read from the sensor device 200 in the first memory 125 (S300).
In the selected SRI communications mode determination operation (S100), S110, S120, S130, and S140 are performed to recognize which mode, among the predefined SRI communications modes, is the selected SRI communications mode.
In S110, a determination is made as to whether the selected SRI communications mode is a single mode or a burst mode. When the selected SRI communications mode is the single mode, the flow enters the single mode SM. When the selected SRI communications mode is the burst mode, the flow proceeds to S120.
In S120, a determination is made as to whether the selected SRI communications mode enables a status check. When the selected SRI communications mode does not enable a status check, it is recognized as a burst mode without a status check, and the flow proceeds to S130. When the selected SRI communications mode enables a status check, it is recognized as a burst mode with a status check, and the flow proceeds to S140.
In S130, a determination is made as to whether the selected SRI communications mode is a first burst mode BM1 using one frame (data frame 1) without a status check, or a second burst mode BM2 using two frames (data frame 1 and data frame 2) without a status check. When the selected communications SRI mode is the first burst mode BM1, the flow enters the first burst mode BM1. When the selected SRI communications mode is the second burst mode BM2, the flow enters the second burst mode BM2.
In S140, a determination is made as to whether the selected SRI communications mode is a first burst status mode BSM1 (1 Status, 1 Burst mode) with a status check using status check frame 1 and data frame 1, or a second burst status mode BSM2 (1 Status, 2 Burst mode) with a status check using status check frame 1, data frame 1, and data frame 2, or a third burst status mode BSM3 (2 Status, 2 Burst mode) with a status check using status check frame 1, status check frame 2, data frame 1, and data frame 2. When the selected SRI communications mode is the first burst status mode BSM1, the flow enters the first burst status mode BSM1. When the selected SRI communications mode is the second burst status mode BSM2, the flow enters the second burst status mode BSM2. When the selected SRI communications mode is the third burst status mode BSM3, the flow enters the third burst status mode BSM3.
Subsequent operations after entering the various SPI communications modes will be described following a description of
Referring to
As a first register setting operation, an SPI control 1 register setting is performed for a data frame 1 for SPI communications (S1110).
As an example, as illustrated in
-
- 1. Setting for status bits in a gyro status register—setting for selecting and using only status bits needed in a gyro status register.
- 2. Setting for check bits in a mask pattern register 1—setting for enabling check bits in a mask pattern register 1 to select status bits in the gyro status register for checking a status of corresponding gyro data to be processed.
- 3. Setting for a start address of the gyro data register.
- 4. Burst mode 2 option enable setting—setting for selecting one data frame or two data frames when an SPI frame is generated.
- 5. First burst byte size setting—setting of a first burst frame data size.
- 6. Burst enable setting—setting for selecting a single mode or a burst mode.
- 7. Status check enable setting—setting of whether or not to enable a status check frame, and for selecting one status check frame or two status check frames when a status check frame is enabled, when an SPI frame is generated.
- 8. SPI clock (SCLK) speed selection setting.
- 9. 3-wire or 4-wire SPI setting—setting of the number of communications lines to be used in SPI communications.
- 10. Clock polarity (CPHA) setting.
- 11. Clock phase (CPOL) setting.
- 12. SPI enable.
Among the above settings, “10. Clock polarity (CPHA) setting” and “11: Clock phase (CPOL) setting” are settings for determining an edge of a clock signal at which the SPI master 122 reads or writes data, and together with the above setting “8. SPI clock (SCLK) speed selection setting,” correspond to the “SPI Clock Selection” setting in the preprocessing operation S50 in
Next, as a second register setting operation, an SPI control 2 register setting for a data frame 2 is performed (S1120).
As an example, as illustrated in
-
- 1. Setting for status bits in an acceleration status register—setting for selecting and using only status bits needed in an acceleration status register.
- 2. Setting for check bits in a mask pattern register 2—setting for enabling check bits in a mask pattern register 2 to select status bits in the acceleration status register for checking a status of corresponding acceleration data to be processed.
- 3. Setting for a start address of the acceleration data register.
- 4. Second burst byte size setting—setting of a second burst frame data size.
Next, as a third register setting operation, an SPI burst read interval setting for a burst mode of SPI communications is performed (S1130). The SPI burst read interval setting S1130 corresponds to the SPI burst read interval calculation in the preprocessing operation S50 in
For example, as shown in
Next, as a fourth register setting operation, an SPI command register setting is performed (S1140).
For example, as illustrated in
-
- 1. Write mode setting.
- Selection of a single write mode or a burst write mode.
- Data from a write register to be written to the source device.
- 2. Read mode setting.
- 1. Write mode setting.
Through the above-mentioned operations of the register setting operation S1100, the control circuit 110 of the OIS circuit 100 defines registers for SPI communications, presets the data register in the register map 225A of the sensor device 200, and, if the selected SPI communications mode is one of the burst status modes, presets the status register in the register map 225A of the sensor device 200. Through the register setting operation S1100, a preparation is made to read corresponding data from the data register in the register map 225A of the sensor device 200.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
As an example, in the single mode SM, the digital circuit 120 performs frame generation using a preset start address (Start Address) and a preset write/read selection to generate a read frame to read one byte of corresponding data (see
Referring to
As an example, in the first burst mode BM1, the digital circuit 120 reads corresponding data from a gyro data register or an acceleration data register in the register map 225A of the sensor device 200 using a preset start address 1 (Start1 Address) and a preset burst size 1 (Burst Size1) without performing a status check. Such an operation of reading corresponding data in the first burst mode BM1 is repeatedly performed at a preset interval time.
Referring to
As an example, in the second burst mode BM2, the digital circuit 120 reads corresponding data from a gyro data register in the register map 225A of the sensor device 200 using a preset start address 1 (Start1 Address) and a preset burst size 1 (Burst Size1) without performing a status check, and reads corresponding data from an acceleration data register in the register map 225A of the sensor device 200 using a preset start address 2 (Start2 Address) and a preset burst size 2 (Burst Size2) without performing a status check. Such an operation of reading corresponding data in the second burst mode BM2 is repeatedly performed at a preset interval time.
Referring to
As an example, in the first burst status mode BSM1, the digital circuit 120 performs a status check on two or more status bits in a gyro status register or an acceleration data register in the register map 225A of the sensor device 200 according to two or more corresponding check bits enabled in the mask pattern register 125A of the digital circuit 120, and reads corresponding data from a gyro data register or an acceleration data register in the register map 225A of the sensor device 200 using a preset start address 1 (Start1 Address) and a preset burst size 1 (Burst Size1) if no error occurs during the status check performed on the gyro status register or the acceleration data register. The digital circuit 120 does not read the corresponding data if an error occurs during the status check performed on the gyro status register or the acceleration data register. Such an operation of reading corresponding data in the first burst status mode BSM1 is repeatedly performed at a preset interval time.
Referring to
As an example, in the second burst status mode BSM2, the digital circuit 120 performs a status check on two or more status bits in a gyro status register in the register map 225A of the sensor device 200 according to two or more corresponding check bits enabled in the mask pattern register 125A of the digital circuit 120, and reads corresponding data 1 from a gyro data register in the register map 225A of the sensor device 200 using a preset start address 1 (Start1 Address) and a preset burst size 1 (Burst Size1) if no error occurs during the status check performed on the gyro status register, and reads corresponding data 2 from an acceleration data register in the register map 225A of the sensor device 200 using a preset start address 2 (Start2 Address) and a preset burst size 2 (Burst Size2) if no error occurs during the status check performed on the gyro data register. The digital circuit 120 does not read the corresponding data 1 and the corresponding data 2 if an error occurs during the status check performed on the gyro data register. Such an operation of reading corresponding data 1 and corresponding data 2 in the second burst status mode BSM2 is repeatedly performed at a preset interval time.
In the third burst status mode BSM3, the digital circuit 120 processes corresponding data of the sensor device 200 using a status check frame 1 (Frame 1), a burst data frame 1 (Frame 2), a status check frame 2 (Frame 1′), and a burst data frame 2 (Frame 2′) (see
As an example, in the third burst status mode BSM3, the digital circuit 120 performs a status check 1 on two or more status bits in a gyro status register in the register map 225A of the sensor device 200 according to two or more corresponding check bits enabled in the mask pattern register 125A of the digital circuit 120, and reads corresponding data 1 from a gyro data register in the register map 225A of the sensor device 200 using a preset start address 1 (Start1 Address) and a preset burst size 1 (Burst Size1) if no error occurs during the status check 1 performed on the gyro status register. The digital circuit 120 does not read the corresponding data 1 from the gyro data register if an error occurs during the status check 1 performed on the gyro status register.
Then, the digital circuit 120 performs a status check 2 on two or more status bits in an acceleration status register in the register map 225A of the sensor device 200 according to two or more corresponding check bits enabled in the mask pattern register 125A of the digital circuit 120, and reads corresponding data 2 from an acceleration data register in the register map 225A of the sensor device 200 using a preset start address 2 (Start2 Address) and a preset burst size 2 (Burst Size2) if no error occurs during the status check 2 performed on the acceleration status register. The digital circuit 120 does not read the corresponding data 2 if an error occurs during the status check 2 performed on the acceleration status register.
Such an operation of reading corresponding data 1 and corresponding data 2 in the third burst status mode BSM3 is repeatedly performed at a preset interval time.
Although not illustrated in
Referring to
In the examples described above, by adding a status check frame before each data frame for corresponding data to be read, two or more status bits are checked for each corresponding data to be read. Thus, the accuracy of reading the corresponding data is enhanced.
In the examples described above, each of the control circuit 110 and the digital circuit 120 of the camera apparatus may be implemented in a computing environment including a processor (for example, any one or any combination of any two or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA), a memory (for example, either one or both of a volatile memory (for example, a random-access memory (RAM) and a non-volatile memory (for example, either one or both of a read-only memory (ROM) and a flash memory), an input device (for example, any one or any combination of any two or more of a keyboard, a mouse, a pen, a voice input device, a touch input device, an infrared ray camera, and a video input device), an output device (for example, any one or any combination of any two or more of a display, a speaker, and a printer), and a communication interface unit (for example, any one or any combination of any two or more of a modem, a network interface card (NIC), an integrated network interface, a wireless transmitter/receiver, an infrared port, and a universal serial bus (USB) interface unit) are connected to each other (for example, via any one or any combination of any two or more of a peripheral component interface (PCI), a USB connection, a FireWire (IEEE 1394) connection, an optical bus, and a network).
The computing environment may be a personal computer, a server computer, a handheld device, a laptop device, a mobile device (a mobile phone, a personal digital assistant (PDA), and a media player), a multiprocessor system, a consumer electronic device, a minicomputer, or a main frame computer, but is not limited thereto, or may be a distributed computing environment.
According to the examples described above, an SPI communications efficiency is enhanced by changing an SPI frame structure errors in processing data. For example, by using a novel frame structure to control an SPI master, an accuracy of a status check is enhanced and the time needed to read data from a sensor device reduced.
Accordingly, a number of MCU accesses is reduced, and a process of reading data from a sensor device is simplified. As a result, a waste of time resources is reduced and a data processing speed is increased to implement an OIS device that is able to operate more stably.
The control circuit 110, the digital circuit 120, the SRI master 122, and the SRI slave 222 in
The methods described with reference to
Instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above may be written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the one or more processors or computers to operate as a machine or special-purpose computer to perform the operations that are performed by the hardware components and the methods as described above. In one example, the instructions or software include machine code that is directly executed by the one or more processors or computers, such as machine code produced by a compiler. In another example, the instructions or software includes higher-level code that is executed by the one or more processors or computer using an interpreter. The instructions or software may be written using any programming language based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions in the specification, which disclose algorithms for performing the operations that are performed by the hardware components and the methods as described above.
The instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media. Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD−Rs, CD+Rs, CD−RWs, CD+RWs, DVD-ROMs, DVD−Rs, DVD+Rs, DVD−RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid-state disks, and any other device that is configured to store the instructions or software and any associated data, data files, and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files, and data structures to one or more processors or computers so that the one or more processors or computers can execute the instructions. In one example, the instructions or software and any associated data, data files, and data structures are distributed over network-coupled computer systems so that the instructions and software and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by the one or more processors or computers.
While this disclosure includes specific examples, it will be apparent after an understanding of the disclosure of this application that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner, and/or replaced or supplemented by other components or their equivalents. Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.
Claims
1. A camera apparatus comprising:
- an optical image stabilizer (OIS) device comprising: a control circuit configured to control data processing comprising reading data and writing data; and a digital circuit comprising a serial peripheral interface bus (SPI) master and configured to perform data processing based on SPI communications performed using the SPI master in response to the control of the control circuit to perform an OIS function; and
- a sensor device comprising an SPI slave configured to communicate with the SPI master and respond to a request from the OIS device,
- wherein the control circuit is further configured to set a selected SPI communications mode selected from a plurality of predefined SPI communications modes comprising a single mode, a plurality of burst modes without status check, and a plurality of burst status modes with a status check, and control communications between the digital circuit and the sensor device using the selected SPI communications mode, and
- the digital circuit is further configured to perform the selected SPI communications mode in response to the control of the control circuit, and in response to the selected SPI communications mode being one of the plurality of burst status modes with a status check, check two or more status bits for corresponding data to be read from the sensor device before reading the corresponding data from the sensor device.
2. The camera apparatus of claim 1, wherein one of the plurality of burst modes with a status check is a specific communications mode in which a status is checked for each corresponding data to be read, and
- the digital circuit is further configured to check a status for each corresponding data to be read from the sensor device and read the corresponding data from the sensor device using a preset status check frame and a preset data frame in response to the selected SPI communications mode being the specific communications mode.
3. The camera apparatus of claim 1, wherein the digital circuit comprises a first memory comprising a mask pattern register having two or more check bits enabled, the two or more check bits corresponding to the two or more status bits,
- the sensor device comprises a second memory configured to store the corresponding data, and
- the digital circuit is further configured to read the corresponding data from the second memory.
4. The camera module of claim 3, wherein the digital circuit is further configured to check the two or more status bits for the corresponding data to be read from the sensor device using the two or more check bits enabled in the mask pattern register to determine whether the corresponding data to be read from the sensor device is updated valid data, and read the corresponding data from the second memory in response to the corresponding data being determined to be updated valid data.
5. The camera apparatus of claim 1, wherein the digital circuit is further configured to:
- perform the single mode using one data frame in response to the selected SRI communications mode being the single mode, and
- perform a corresponding burst mode using one or two data frames in response to the selected SRI communications mode being one of a first burst mode without a status check, a second burst mode without a status check, a first burst status mode with a status check, a second burst status mode with a status check, and a third burst status mode with a status check.
6. The camera apparatus of claim 5, wherein the single mode is a mode in which the corresponding data to be read from the sensor device is processed using one data frame,
- the first burst mode is a mode in which the corresponding data to be read from the sensor device is processed using one data frame without a status check,
- the second burst mode is a mode in which the corresponding data to be read from the sensor device is processed using two data frames without a status check,
- the first burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and one data frame,
- the second burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and two data frames, and
- the third burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using a first status check frame, a first data frame, a second status check frame, and a second data frame.
7. The camera apparatus of claim 6, wherein the digital circuit is further configured to:
- read and store the corresponding data from the sensor device using one data frame in the single mode in response to the selected SRI communications mode being the single mode,
- read and store the corresponding data from the sensor device using one data frame without a status check in the first burst mode in response to the selected SRI communications mode being the first burst mode,
- read and store the corresponding data from the sensor device using two data frames without a status check in the second burst mode in response to the selected SRI communications mode being the second burst mode,
- read and store the corresponding data from the sensor device using one status check frame and one data frame in the first burst status mode in response to the selected SRI communications mode being the first burst status mode,
- read and store the corresponding data from the sensor device using one status check frame and two data frames in the second burst status mode in response to the selected SRI communications mode being the second burst status mode, and
- read and store the corresponding data from the sensor device using a first status check frame, a first data frame, a second status check frame, and a second data frame in the third burst status mode in response to the selected SRI communications mode being the third burst status mode.
8. The camera apparatus of claim 7, wherein the status check frame of each of the first burst status mode and the second burst status mode and each of the status check frames of the third burst status mode comprises a read identification region, an address region, and a data region,
- the data frame of the single mode comprises a read identification region, an address region, and a data region for reading gyro data or acceleration data from the sensor device, and
- the data frame of each of the first burst mode and the first burst status mode and each of the data frames of the second burst mode, the second burst status mode, and the third burst status mode comprises a read identification region, an address region, and a plurality of data regions for reading gyro data or acceleration data from the sensor device.
9. A communication method of a camera apparatus comprising an optical image stabilizer (OIS) device, the OIS device comprising a digital circuit and a sensor device, the digital circuit comprising a serial peripheral interface bus (SPI) master and a control circuit, the sensor device comprising an SPI configured to perform SPI communication with the SPI master, the communication method comprising:
- setting a selected SPI communications mode selected from a plurality of predefined SPI communications modes comprising a single mode, a plurality of burst modes without a status check, and a plurality of burst modes with a status check;
- processing corresponding data from the sensor device by performing the selected SPI communications mode, the processing of the corresponding data comprising, in response to the selected SPI communications mode being one of the plurality of burst modes with a status check, checking two or more status bits for corresponding data to be read from the sensor device before reading the corresponding data from the sensor device; and
- storing the corresponding data read from the sensor device.
10. The communication method of claim 9, wherein one of the plurality of burst modes with a status check is a specific communications mode in which a status is checked for each corresponding data to be read, and
- the processing of the corresponding data further comprises checking a status for each corresponding data to be read from the sensor device and reading the corresponding data from the sensor device using a preset status check frame and a preset data frame in response to the selected SPI communications mode being the specific communications mode.
11. The communication method of claim 9, wherein the digital circuit comprises a first memory comprising a mask pattern register having two or more check bits enabled, the two or more check bits corresponding to the two or more status bits,
- the sensor device comprises a second memory configured to store the corresponding data, and
- the processing of the corresponding data further comprises reading the corresponding data from the second memory.
12. The communication method of claim 11, wherein the processing of the corresponding data further comprises:
- checking the two or more status bits for the corresponding data to be read from the sensor device using the two or more check bits enabled in the mask pattern register to determine whether the corresponding data to be read from the sensor device is updated valid data, and
- reading the corresponding data from the second memory in response to the corresponding data being determined to be updated valid data.
13. The communication method of claim 9, wherein the processing of the corresponding data further comprises:
- performing the single mode using one data frame in response to the selected SRI communications mode being the single mode, and
- performing a corresponding burst mode using one or two data frames in response to the selected SRI communications mode being one of a first burst mode without a status check, a second burst mode without a status check, a first burst status mode with a status check, a second burst status mode with a status check, and a third burst status mode with a status check.
14. The communication method of claim 13, wherein the single mode is a mode in which the corresponding data to be read from the sensor device is processed using one data frame,
- the first burst mode is a mode in which the corresponding data to be read from the sensor device is processed using one data frame without a status check,
- the second burst mode is a mode in which the corresponding data to be read from the sensor device is processed using two data frames without a status check,
- the first burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and one data frame,
- the second burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using one status check frame and two data frames, and
- the third burst status mode is a mode in which the corresponding data to be read from the sensor device is processed using a first status check frame, a first data frame, a second status check frame, and a second data frame.
15. The communication method of claim 14, wherein the processing of the corresponding data further comprises:
- reading and storing the corresponding data from the sensor device using one data frame in the single mode in response to the selected SRI communications mode being the single mode,
- reading and storing corresponding data from the sensor device using one data frame without a status check in the first burst mode in response to the selected SRI communications mode being the first burst mode,
- reading and storing corresponding data from the sensor device using two data frames without a status check in the second burst mode in response to the selected SRI communications mode being the second burst mode,
- reading and storing corresponding data from the sensor device using one status check frame and one data frame in the first burst status mode in response to the selected SRI communications mode being the first burst status mode,
- reading and storing corresponding data from the sensor device using one status check frame and two data frames in the second burst status mode in response to the selected SRI communications mode being the second burst status mode, and
- reading and storing corresponding data from the sensor device using a first status check frame, a first data frame, a second status check frame, and a second data frame in the third burst status mode in response to the selected SRI communications mode being the third burst status mode.
16. The communication method of claim 15, wherein the status check frame of each of the first burst status mode and the second burst status mode and each of the status check frames of the third burst status mode comprises a read identification region, an address region, and a data region,
- the data frame of the single mode comprises a read identification region, an address region, and a data region for reading gyro data or acceleration data from the sensor device, and
- the data frame of each of the first burst mode and the first burst status mode and each of the data frames of the second burst mode, the second burst status mode, and the third burst status mode comprises a read identification region, an address region, and a plurality of data regions for reading gyro data or acceleration data from the sensor device.
Type: Application
Filed: Nov 13, 2019
Publication Date: Oct 22, 2020
Applicant: Samsung Electro-Mechanics Co., Ltd. (Suwon-si)
Inventors: Gyu Won KIM (Suwon-si), Kyoung Joong MIN (Suwon-si)
Application Number: 16/682,219