CN113835216A - System for controlling linear axis of MEMS mirror - Google Patents

System for controlling linear axis of MEMS mirror Download PDF

Info

Publication number
CN113835216A
CN113835216A CN202110704027.9A CN202110704027A CN113835216A CN 113835216 A CN113835216 A CN 113835216A CN 202110704027 A CN202110704027 A CN 202110704027A CN 113835216 A CN113835216 A CN 113835216A
Authority
CN
China
Prior art keywords
linear
video frame
values
shape
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110704027.9A
Other languages
Chinese (zh)
Inventor
L·莫利纳里
D·德利亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from IT102020000015178A external-priority patent/IT202000015178A1/en
Application filed by STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of CN113835216A publication Critical patent/CN113835216A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B26/00Optical devices or arrangements for the control of light using movable or deformable optical elements
    • G02B26/08Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light
    • G02B26/0816Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light by means of one or more reflecting elements
    • G02B26/0833Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light by means of one or more reflecting elements the reflecting element being a micromechanical device, e.g. a MEMS mirror, DMD
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B26/00Optical devices or arrangements for the control of light using movable or deformable optical elements
    • G02B26/08Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light
    • G02B26/10Scanning systems
    • G02B26/105Scanning systems with one or more pivoting mirrors or galvano-mirrors

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Mechanical Optical Scanning Systems (AREA)

Abstract

Embodiments of the present disclosure relate to systems for controlling a linear axis of a MEMS mirror. An apparatus has a memory and processing circuitry coupled to the memory. The processing circuitry generates a resonant axis drive signal to drive a micro-electromechanical system (MEMS) mirror system at a resonant frequency and generates a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate. Generating the linear axis drive signal includes: a current set of shape values is generated using interpolation based on the stored set of shape values and the indication of the video frame rate. The linear-axis drive signal is generated using the current set of shape values.

Description

System for controlling linear axis of MEMS mirror
Technical Field
The present disclosure relates to the field of microelectromechanical systems (hereinafter "MEMS").
Background
Today, MEMS mirrors are widely used for laser beam scanning (LSB) applications, such as Augmented Reality (AR), Virtual Reality (VR), 3D sensing, light detection and ranging (LiDAR), for directing a laser beam in a controlled manner for projecting or detecting an image. In these applications, one or more MEMS mirrors are actuated to reflect a laser beam according to a raster scan pattern.
As is well known to those skilled in the art, a MEMS mirror is a MEMS device that includes a mirror chip suspended over a substrate by torsion bars. For example, with reference to piezoelectric MEMS mirrors (although the same considerations apply directly to other kinds of MEMS mirrors), the mirror chip rotates about an axis of rotation in response to the application of a suitable drive voltage or current, thereby changing its deflection angle. There is a two-axis MEMS mirror configured to rotate about two different axes of rotation.
The MEMS mirror is configured to operate according to a resonant mode when rotated about a so-called resonant axis, and/or is configured to operate according to a linear mode when rotated about a so-called linear axis (a two-axis MEMS mirror is capable of rotating about both the resonant axis and the linear axis).
When the MEMS mirror is operating in the resonant mode, the MEMS mirror oscillates about the resonant axis at the resonant frequency fr, causing the resonant deflection angle θ r of the mirror to oscillate in the resonant deflection angle interval Ir. The resonance frequency fr and the resonance deflection angle interval Ir depend on the size, material and temperature of the MEMS mirror. The resonant mode allows high speed operation. However, the resonance frequency fr cannot be controlled, but it can only be tracked, since it depends on the thermo-mechanical behavior of the resonance axis. To drive the MEMS mirror in the resonant mode, a sine wave or square wave resonant axis drive signal RS is applied to oscillate at the resonant frequency fr of the MEMS mirror. In any case, even if a square wave resonance axis drive signal is applied, the resonance deflection angle θ r follows a sine wave oscillation due to a high mirror quality factor (Q).
When the MEMS mirror is operated in the linear mode, the MEMS mirror oscillates around the linear axis at a linear frequency fl, which is lower than the resonance frequency fr, causing the linear deflection angle θ l of the mirror to oscillate at a linear deflection angle interval Il proportional to the waveform of the linear axis drive signal LS. In the linear mode, the linear deflection angle θ l can be controlled in a very accurate manner, since the relationship between the linear axis drive signal LS oscillating at the linear frequency fl and the linear deflection angle θ l exhibits excellent linearity and reproducibility. However, the linear mode cannot allow high-speed operation.
Reference is made to the following applications: a (generally rectangular) video frame V (f (j) ( j 1, 2,..) generated from the video data signal must be projected at a video frame rate Vf, each video frame being projected by a raster scan performed using a MEMS mirror.
To actuate one or more MEMS mirrors to perform a raster scan, the MEMS mirrors are actuated to:
move (e.g., oscillate) about its resonant axis for scanning in a horizontal direction; and
move (e.g., oscillate) about its linear axis for scanning in a vertical direction.
Disclosure of Invention
The applicant has found that the known solutions for managing a linear axis drive signal LS provided with a linear frequency fl which is a divisor of the resonance frequency fr are affected by drawbacks.
In practice, it is very complicated to effectively control the linear frequency fl, since the resonant axis clock signal used by the DAC converter to generate the linear axis drive signal may vary, forcing successive resampling of the values stored in the linear axis drive table.
Furthermore, the solution of providing an increase of the number of scan lines per video frame by increasing the resonance frequency fr is very difficult to implement, since the control of the MEMS mirrors oscillating at high frequency is a very complex and expensive task.
Furthermore, providing a solution to dynamically recalculate the values stored in the linear axis drive table at each video frame requires the execution of a large number of Million Instructions Per Second (MIPS).
In view of the above, the applicant has devised a solution for solving or at least mitigating the drawbacks affecting the known solutions.
One aspect of the present disclosure relates to a system for driving at least one MEMS mirror adapted to direct a laser beam generated from a video data signal for projecting video frames at a corresponding video frame rate Vf.
The at least one MEMS mirror is configured to rotate about a linear axis at a linear frequency fl and rotate about a resonant axis at a resonant frequency fr.
The system comprises:
a linear-axis control module adapted to receive a sequence of digital values l (m) defining a preliminary shape version S of a signal segment ss (j) and to reshape said preliminary shape version S into a processed shape version S 'by processing said digital values according to a video frame synchronization signal corresponding to a video synchronization defining a video frame rate Vf, said linear frequency fl being equal to the reciprocal of the duration of said signal segment ss (j) having said processed shape version S'; and
a MEMS mirror drive module configured to rotate the at least one MEMS mirror about a linear axis according to a linear axis drive signal being a periodic repetition of the signal segment SS (j), wherein the period is equal to the inverse of the linear frequency fl, the signal segment having the processed shape version S', wherein
A linear axis control module is configured to reshape the preliminary shape version S into the processed shape version S' to adapt a linear frequency fl to a value matching a video frame rate Vf.
According to an embodiment of the present disclosure, the linear-axis control module is configured to generate the processed shape version S ' of the signal segment ss (j) in a manner that sets the linear frequency fl to a value corresponding to the resonance frequency fr divided by a factor M ', wherein the factor M ' is a real number.
According to an embodiment of the present disclosure, the linear-axis control module is configured to generate said processed shape version S ' of signal segment ss (j) by generating a corresponding sequence of processed digital values l (i) ' defining said processed shape version S ' by interpolation of said digital values l (m).
According to an embodiment of the present disclosure, the linear-axis control module is further configured to calculate the processed digital value l (i) from a set g (i) of digital values l (m) using an interpolation function IF at edges of the clock signal oscillating at the resonance frequency fr or an integer multiple of the resonance frequency fr, which interpolates the set g (i) of digital values l (m).
According to an embodiment of the disclosure, the linear-axis control module is configured to set a position p (i) across said interpolation function IF with respect to the set g (i) of digital values l (m) for calculating the processed digital value l (i) ', according to an expansion rate indicative of an expansion of the duration of the processed shape version S' according to the signal segment ss (j) with respect to the duration of the preliminary shape version S of the signal segment ss (j).
According to an embodiment of the present disclosure, a system includes:
a video frame rate estimator module configured to receive the video frame synchronization signal and to calculate a video frame rate measurement indicative of a measurement of an actual video frame rate Vf of the video data signal accordingly; and
a ratio calculator module configured to calculate the expansion ratio from the video frame rate measurement.
According to an embodiment of the present disclosure, the linear-axis control module is configured to set the duration of the signal segment ss (j) with the processed shape version S 'to a value corresponding to the duration of the signal segment ss (j) with the preliminary shape version S' multiplied by the inverse of the spreading ratio.
According to an embodiment of the present disclosure, the signal segment ss (j) includes:
a trace segment corresponding to a clock signal pulse during which at least one MEMS mirror is moved for directing a laser beam to project a scan line corresponding to a video frame; and
the position of at least one MEMS mirror is reset around the linear axis during a retrace period corresponding to a clock signal pulse, wherein
Said sequence of digital values l (m) defining the preliminary shape version S of the signal segment ss (j) comprises a first subsequence of digital values l (m) corresponding to trace segments and a second subsequence of digital values l (m) corresponding to retrace segments.
According to an embodiment of the disclosure, the ratio calculator module is configured to set the spreading ratio to one during a clock signal pulse corresponding to a trace segment.
According to an embodiment of the disclosure, the ratio calculator module, during a clock signal pulse corresponding to the retrace interval, is configured to set the spreading ratio to a ratio between:
a first numerical value L (m) a number of numerical values L (m) of the subsequence; and
the number of said digital values l (m) of the first sub-sequence of digital values l (m) minus a frequency error correction term FCT indicative of the offset between the linear frequency fl and the video frame rate Vf.
According to an embodiment of the present disclosure, the frequency error correction term FCT is equal to the number of digital values l (m) of the first digital value l (m) sub-sequence minus the video frame rate measurement.
According to an embodiment of the present disclosure, a linear axis control module includes:
a fractional count module configured to calculate a base count BC, the base count being incremented at each clock signal pulse by a value corresponding to an actual value of the spreading rate and configured to output at each clock signal pulse a corresponding first count value corresponding to an integer part of the base count BC and a corresponding second count value corresponding to a fractional part of the base count BC; and
an interpolator module configured to select, at each clock signal, the group G (i) of digital values L (m) among a sequence of digital values L (m) in accordance with the first count value, and to calculate a corresponding processed digital value L (i)' using the interpolation function IF by setting the position P (i) across the interpolation function IF in accordance with the second count value relative to the group G (i) of digital values L (m) to interpolate the group G (i) of digital values L (m).
Another aspect of the present disclosure relates to a laser beam scanning system, comprising:
a laser module configured to generate a laser beam;
a laser driving module configured to drive the laser module according to the video data signal;
at least one MEMS mirror adapted to direct the laser beam for projecting video frames at a corresponding video frame rate Vf; and
a system for driving the at least one MEMS mirror.
Drawings
These and other features and advantages of various solutions according to the present disclosure will be better understood by reading the following detailed description of example embodiments thereof, which is provided by way of non-limiting example only, and which is to be read in connection with the accompanying drawings. In this regard, it is expressly intended that the drawings be simple to conceptually illustrate the described structures and procedures. Specifically, the method comprises the following steps:
FIG. 1 illustrates scan lines of an exemplary video frame;
FIG. 2 is a time diagram illustrating exemplary linear axis drive signals during projection of two successive video frames;
FIG. 3 schematically illustrates a laser beam scanning system in terms of very simplified functional blocks, in which concepts according to embodiments of the present disclosure may be applied;
FIG. 4 illustrates an exemplary reshaping of a signal segment of a linear axis drive signal according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates, in terms of functional blocks, some sub-modules of the system of FIG. 3, in accordance with an embodiment of the present disclosure;
figure 6 schematically illustrates how an interpolator sub-module calculates a processed digital value according to an embodiment of the present disclosure;
figures 7A and 7B schematically illustrate two examples of how an interpolator sub-module calculates a processed digital value according to an embodiment of the present disclosure; and
fig. 8 schematically illustrates how the slope of a curve fitted to the processed digital values varies depending on the expansion ratio, according to an embodiment of the present disclosure.
Detailed Description
By referring to fig. 1, where the horizontal direction is identified with x and the vertical direction is identified with y, and a generic (rectangular) video frame vf (j) comprises a first horizontal side 101, a second horizontal side 102, a first vertical side 103 and a second vertical side 104, the laser beam is directed to project the video frame vf (j) according to a zigzag pattern 105, comprising a sequence of N interconnected scan lines 105(i) (i 0 to N-1) extending from the first vertical side 103 to the opposite second vertical side 104 of the video frame vf (j), having a component in the horizontal direction x and a component in the vertical direction y. The MEMS mirror is configured so as to have its resonance axis parallel to the horizontal direction x and its linear axis parallel to the vertical direction y. Naturally, similar considerations apply in the case where the directions x and y are switched to each other and/or the sawtooth pattern 105 is rotated by 90 ° with respect to the exemplary pattern illustrated in fig. 1.
It is noted that the rectangular projection of the video frame vf (j), given by the linear scanning trajectory illustrated in fig. 1, with perfectly straight scanning lines 105(i) is a simplified idealization, since in practice there will be some distortion (the popular term "keystone distortion") which will then typically be compensated by the laser management module and the video processor module. In any case, the concepts of the present disclosure and what is generally described in this document are not affected by the presence of possible distortions.
During projection of the generic video frame vf (j), each scan line 105(i) is moved by driving the MEMS mirror:
projected along its resonance axis, so that the resonant deflection angle thetar moves from a first resonant deflection angle value thetar' (corresponding to a position along the horizontal direction x at the first vertical side 103) to a second resonant deflection angle value thetar "(corresponding to a position along the horizontal direction x at the second vertical side 104), or vice versa; and at the same time
Projected along its linear axis so that the linear deflection angle thetal moves from a respective first linear deflection value thetal (i-1) (corresponding to a position along the vertical direction y) to a respective second linear deflection value thetal (i) (corresponding to a position along the vertical direction y that is higher than the position along the vertical direction y of the deflection value thetal (i-1)).
In this way, each video frame vf (j) is projected by: the MEMS mirror is caused to rotate gradually and slowly around its linear axis between a first resonant deflection angle value or between a second resonant deflection angle value or "(for odd scan line 105(i) (i ═ 1, 3, 5, 7,. solneighboring)) and a first resonant deflection angle value or between the second resonant deflection angle value or" and the first resonant deflection angle value or' (for even scan line 105(i) (i ═ 2, 4, 6, 8,. solneighboring)) repeatedly and rapidly oscillating around its resonant axis at the resonant frequency fr while starting linear deflection value or (0) (corresponding to the position in the vertical direction y at the first horizontal side 102 of video frame vf (j)) to ending linear deflection value or (N-1) (corresponding to the position in the vertical direction y at the second horizontal side 102 of video frame vf (j)).
Once the entire video frame VF (j) has been projected, for example, once the last scan line 105(N) has been traced and the end linear deflection value l (N-1) has been reached, the MEMS mirror is rapidly rotated about its linear axis in such a way that the linear deflection angle θ l returns to the starting linear deflection value θ l (0) in order to restart from the position in the vertical direction y at the first horizontal side 102 of the next video frame VF (j + 1).
Assuming that the video stream provides a repetition of video frames v (j) at a corresponding video frame rate Vf, the corresponding video frame period Tf ═ 1/Vf can therefore be subdivided into:
a first sub-period, referred to as a "tracking period" vt (j), during which N scan lines 105(i) (i ═ 0 to N-1) are projected to project a generic video frame v (j); and
a second sub-period, referred to as the "retrace period" rt (j), during which the linear deflection angle θ l of the MEMS mirror is reset to the top linear deflection value θ l (0).
Fig. 2 is a time diagram showing an exemplary linear axis drive signal LS oscillating at a linear frequency fl during the projection of two successive video frames VF (j), VF (j +1) according to a solution known in the art.
The linear axis drive signal LS is a periodic signal which is a periodic repetition of a period 1/fl of a signal segment ss (j) having a duration 1/fl with a corresponding shape S providing for a trace segment lst (j) corresponding to a trace period vt (j) and a retrace segment lsr (j) corresponding to a retrace period rt (j).
During a tracking period vt (j) of a video frame period Tf of a video frame vf (j), the tracking segment lst (j) increases from a start value LS (0) corresponding to a start linear deflection value θ l (0) until an end value LS (N-1) corresponding to an end linear deflection value θ l (N-1) is reached.
During the retrace period rt (j), the retrace interval lsr (j) decreases from the end value LS (n) back to the start value LS (0). Then, the linear axis driving signal LS repeats the same process for the video frame period Tf of the next video frame VF (j + 1).
Therefore, the linear axis drive signal LS is a periodic signal set to oscillate at the video frame rate Vf ═ 1/Tf (fl ═ Vf).
It is noted that although the linear axis drive signal LS has been illustrated in fig. 2 as comprising a straight trace segment lst (j) and a straight flyback segment lsr (j), similar considerations apply to the following cases:
during trace period Vt (j), trace segment LSt (j) increases from LS (0) to LS (N-1) in a non-linear manner; and/or
During retrace period rt (j), retrace period lsr (j) decreases from LS (n) to LS (0) in a non-linear manner.
For example, retrace segment lsr (j) may be shaped in a manner that avoids cusping at the junction with the subsequent trace segment LSt (j + 1).
Since there is a proportional relationship between the linear axis drive signal LS and the linear deflection angle θ l, the MEMS mirror oscillates about its linear axis at a linear frequency fl equal to the video frame rate Vf.
According to solutions known in the art, the linear frequency fl is a submultiple of the resonance frequency fr, for example fl ═ 2 ×/M, where M is an integer. Since during the tracking period vt (j) a new scan line 105(i) is tracked every time period corresponding to half the reciprocal of the resonance frequency fr and N scan lines 105(i) are tracked, the tracking period vt (j) is equal to N/(2 fr) and the retrace period rt (j) is equal to L/(2 fr), where L-M is an integer.
According to a solution known in the art, the periodic linear axis drive signal LS, comprising at each period 1/fl a signal section ss (j) comprising a trace section lst (j) and a retrace section lsr (j), is an analog signal obtained by converting a set of digital values l (m) stored in a table (linear axis drive table) by a digital-to-analog converter (DAC). The sequence of digital values l (m) defines the shape S of the signal segment ss (j) repeated at each period 1/fl.
According to a solution known in the art, the linear axis drive table comprises a sequence of M values l (M) (0, 1, M), each value being configured to be fed to the DAC each time a (e.g. rising or falling) edge of a resonant axis clock signal CK oscillating at a resonant frequency fr (or at an integer multiple of fr) is reached. In other words, the clock signal CK synchronizes the provision of the sequence of M values l (M) to the DAC converter with the resonant axis drive signal RS, for example with the oscillation of the MEMS mirror about its resonant axis. In fig. 2, the resonant axis clock signal CK edge is depicted with a dashed line.
The sequence of M values L (M) 0, 1, M) stored in the linear axis drive table comprises a first subsequence of N values L (M) 0, 1, N-1 corresponding to the trace segment lst (j) of the signal segment ss (j) and a second subsequence of L values L (M) N, N +1, M corresponding to the retrace segment lsr (j) of the signal segment ss (j).
Having a linear frequency fl which is a divisor of the resonance frequency fr results in the position of the scan line 105(i) being fixed for each projection video frame vf (j) such that the empty space (generally identified by reference numeral 150 in fig. 1) is always in the same position within each projection video frame vf (j).
According to a solution known in the art, the empty space is reduced by increasing the number of scan lines 105(i) by each video frame vf (j) by increasing the resonance frequency fr.
According to another solution known in the art, the white space 150 is reduced by increasing the number of scan lines 105(i) by transmitting different sets of scan lines (e.g., odd and even scan lines) on alternate video frames vf (j) by an interlacing technique.
Furthermore, since the resonance frequency fr and the video frame rate Vf may undergo unpredictable changes, having the linear frequency fl as a divisor of the resonance frequency fr may cause synchronization problems caused by misalignment between the actual video frame rate Vf and the linear frequency fl.
A simple known solution to manage this frequency change is to dynamically recalculate the second subsequence of L values L (M) (N, N + 1.., M) of the linear axis drive table in order to dynamically vary (e.g. stretch or expand) the retrace portion lsr (j) of the linear axis drive signal LS for each video frame vf (j). However, this method requires a large number of samples in the table, and the number of samples for each vf (j) is not the same.
Fig. 3 schematically illustrates a Laser Beam Scanning (LBS) system 300 in terms of very simplified functional blocks, wherein concepts according to embodiments of the present disclosure may be applied.
The LBS system 300 includes one or more MEMS mirrors 305 adapted to direct a laser beam(s) 310 generated by a laser module 315 in accordance with a video data signal VD for projecting video frames V (f (j)) at a video frame rate Vf, the laser module 315 being driven by a laser driver module 316.
To this end, the LBS system 300 includes a MEMS mirror drive module 318 configured to properly rotate the MEMS mirror(s) 305 about the linear axis and the resonant axis in accordance with the linear axis drive signal LS and the resonant axis drive signal RS, respectively.
As already described above, the resonant axis drive signal RS is, for example, a sine wave or square wave signal oscillating at the resonant frequency fr of the MEMS mirror, while the linear axis drive signal LS is a periodic signal which is a periodic repetition of the period 1/fl of the signal segment ss (j) having a duration 1/fl.
The MEMS mirror drive module 318 is, for example, configured to generate a high voltage version LS (h) of the received linear axis drive signal LS and a high voltage version RS (h) of the received resonant axis drive signal RS, and to feed the MEMS mirror(s) 305 with such high voltage versions LS (h), RS (h) of the linear axis drive signal LS and the resonant axis drive signal RS.
The LBS system 300 according to embodiments of the present disclosure includes a main processing unit 320, such as a processing core or other processing circuitry P and one or more memories M, including:
a video processor module or circuit 325 is configured to generate a video data signal VD and a video frame sync signal VS corresponding to a video sync defining a video frame rate Vf.
The application processor module or circuit 330 is configured to store and manage a linear axis drive table LT storing a sequence of digital values l (m) defining a preliminary shape S of the signal segment ss (j) of the linear axis drive signal LS repeated at each period 1/fl. As already mentioned above, the linear axis drive table LT stores a sequence of M digital values l (M) (0, 1. The linear axis drive table LT includes: a first section LT (1) storing a first subsequence of N values l (m) (0, 1,.., N-1) of trace segments lst (j) corresponding to signal segments ss (j); and a second section LT (2) storing a second subsequence of L values L (M) (N, N + 1.,. M) corresponding to the retrace segment lsr (j) of the signal segment ss (j). According to the embodiment of the present disclosure illustrated in the figures, the shape S of the signal segment ss (j) provides a straight increasing trace segment lst (j), followed by a straight decreasing retrace segment lsr (j). However, similar considerations apply to different shapes, such as, for example, an increasing straight trace segment lst (j), followed by a decreasing parabolic retrace segment lsr (j) (e.g., comprising two parabolic segments). According to an embodiment of the present disclosure, the shape S of the signal segment ss (j) is such that the duration of the trace segment lst (j) is greater than the duration of the retrace segment lsr (j). For example, the duration of the trace segment lst (j) may correspond to about 90% of the total duration of the signal segment ss (j) (and thus the duration of the retrace segment lsr (j) may correspond to about 10% of the total duration). According to an embodiment of the present disclosure, the sequence of M digital values l (M) is obtained by sampling the signal segment ss (j) having the shape S at a sampling frequency corresponding to the lowest possible value fr _ min of the resonance frequency fr, such that there is the smallest number M of digital values l (M) (0, 1. Once the number of digital values M is determined, the table size may be determined, as opposed to the solution described above where the number of samples is different for each vf (j).
A linear axis control module or circuit 332 adapted to process the set of digital values l (m) based on the video frame synchronization signal VS to generate a sequence of processed digital values l (i) 'defining a processed shape S' corresponding to a potentially reshaped version of the preliminary shape S to be used for generating the linear axis drive signal LS, as will be described below.
A DAC module or circuit 335 configured to convert the processed sequence of digital values l (i) 'into an analog linear axis drive signal LS that is a periodic repetition of a period 1/fl of a signal segment ss (j) having a duration 1/fl, the signal segment ss (j) having a shape corresponding to the processed shape S'.
A resonant axis drive signal generator module or circuit 340 configured to generate a resonant axis drive signal RS. It must be understood that the resonance axis driving signal RS is used to generate the resonance axis clock signal CK, wherein the resonance axis clock signal CK is used as a time basis for the operation of the main processing unit 320.
According to an embodiment of the present disclosure, which will be described in detail below, the linear axis control module or circuit 332 is configured to reshape the preliminary shape S (and in particular its duration) of the signal segment ss (j) into a processed shape S' such that the linear frequency fl of the linear axis drive signal LS is dynamically adapted to match the value of the actual video frame rate Vf. As will be described later, the matching between the linear frequency fl of the linear axis drive signal LS to the value matching the actual video frame rate Vf is always obtained starting from the same data set, for example, the digital value l (m) stored in the linear axis drive table LT, thereby reducing the computational burden of the system.
With reference to fig. 4, the reshaping of the preliminary shape S into the processed shape S ', implemented by the linear-axis control module 332, according to an embodiment of the present disclosure, causes the linear frequency fl to be set to a value corresponding to the resonant frequency fr divided by a factor M' (fl-fr/M '), where M' is a real number. In other words, according to embodiments of the present disclosure, the constraint on known solutions is no longer applied, which provides a linear frequency fl with an integer divisor of the resonance frequency fr. In this way, a good and accurate match between the linear frequency fl and the actual video frame Vf can be obtained. Furthermore, having the factor M' as a real number allows to implement an interlacing of an arbitrary number of frames, thus increasing the coverage of the projected video frames vf (j).
It is noted that the concepts of the present disclosure may be applied directly to the case where the video processor module 325 is not included in the main processing unit 320. Furthermore, similar considerations apply if some of the modules or circuits included in the main processing unit 320 are included/embedded in different and separate circuits, such as, for example, different Application Specific Integrated Circuits (ASICs).
To describe in more detail how the linear axis control module 332 operates for dynamically adapting the linear frequency fl of the linear axis drive signal LS to a value matching the actual video frame rate Vf by reshaping the preliminary shape S according to an embodiment of the present disclosure, reference will now be made to fig. 5. Fig. 5 schematically illustrates in terms of functional blocks some sub-modules or circuits of the application processor module 330 and the linear axis control module 332 according to an embodiment of the present disclosure, and the way they interact with the video processor module 325 and the DAC module 335 during operation, for dynamically adapting the linear frequency fl of the linear axis drive signal LS to a value matching the actual video frame rate Vf.
The linear axis control module 332 includes a video frame rate estimator sub-module or circuit 505, a fractional count sub-module circuit 510, and an interpolator sub-module or circuit 515. The application processor module 330 includes a table submodule or circuit 520 (adapted to store a linear axis drive table LT) and a ratio calculator submodule or circuit 525. The operation of the video frame rate estimator sub-module 505, the fractional count sub-module 510, the interpolator sub-module 515 and the ratio calculator sub-module 525 is synchronized with the same resonant axis clock signal CK oscillating at the resonant frequency fr of the MEMS mirror 305 or an integer multiple thereof (e.g., 2 fr).
According to an embodiment of the present disclosure, the linear frequency fl of the linear axis drive signal LS is dynamically adapted to a value matching the actual video frame rate Vf by interpolation of the digital values l (m) by reshaping the preliminary shape S into the processed shape S'. According to an embodiment of the present disclosure, this interpolation is carried out by the interpolator submodule 515 by taking into account the value of the so-called expansion ratio RT, generated by the ratio calculator submodule 525 from the actual video frame rate Vf, which indicates the degree of expansion (in terms of duration) of the processed shape S' of the signal segment ss (j) with respect to the duration of the preliminary shape S.
According to an embodiment of the present disclosure, interpolator submodule 515 calculates a processed digital value l (i)' from a set g (i) of received input digital values l (m) using a corresponding interpolation function IF that interpolates the set g (i) of input digital values l (m) at each (e.g., rising or falling) ith edge of the resonant axis clock signal CK. As will be described below, in accordance with an embodiment of the present disclosure, the fractional count sub-module 510 is configured to set the position p (i) of the interpolation function IF relative to the set g (i) of input digital values l (m) for calculating the processed digital values l (i)' from the expansion ratio RT. Since, according to an embodiment of the present disclosure, the processed digital value l (i) 'is regularly output at each (e.g. rising or falling) edge of the resonance axis clock signal CK by varying the spreading ratio RT and thus by varying the position p (i) of the interpolation function IF with respect to the group g (i) of input digital values l (m), it is possible to vary the processed digital value l (i)' obtained from the input digital value l (m) received from the same group g (i). In other words, in a simple manner by changing the expansion ratio RT, the preliminary shape S can be reshaped into the processed shape S' while always using the same set of input digital values l (m). Additionally, since the extension rate RT may be a real number having an arbitrary resolution, the ratio between the CK frequency and the video frame rate is not limited to an integer ratio.
In accordance with an embodiment of the present disclosure, the video frame rate estimator sub-module 505 is configured to receive the video frame sync signal VS from the video processor module 325 and accordingly output a video frame rate measurement MVf indicative of a measurement of the actual video frame rate Vf of the video frame sync signal VS. According to an embodiment of the present disclosure, the video frame rate measurement MVf is calculated as the number of pulses (or beats) CK (i) of the resonant axis clock signal CK counted from the beginning to the end of the video frame vf (j).
According to an embodiment of the present disclosure, the video frame rate measurement MVf is provided to the ratio calculator sub-module 525 every time a new video frame vf (j) starts.
According to an embodiment of the present disclosure, the ratio calculator sub-module 525 is configured to receive the video frame rate measurement MVf and calculate the extension ratio RT accordingly. According to an embodiment of the present disclosure, the duration (and thus the inverse of the linear frequency fl) of the signal segment ss (j) with the processed shape S' corresponds to the duration of the preliminary shape S multiplied by the inverse of the spreading ratio RT. In this way, the processed shape S 'of the signal segment ss (j) corresponds to the preliminary shape S when the spreading ratio RT is equal to 1, and the processed shape S' of the signal segment ss (j) corresponds to an expanded version of the preliminary shape S when the spreading ratio RT is less than 1.
According to an embodiment of the present disclosure, when the ratio calculator sub-module 525 receives the resonant axis clock signal CK pulse CK (i) corresponding to the trace segment lst (j) of the signal segment ss (j), the ratio calculator sub-module sets the spreading ratio RT to 1, or more generally to a constant value.
In accordance with an embodiment of the present disclosure, to synchronize the linear frequency fl with the video frame rate Vf, when the ratio calculator sub-module 525 receives the resonant axis clock signal CK pulse CK (i) corresponding to the retrace segment lsr (j) of the signal segment ss (j), it sets the spreading ratio RT to a value equal to the ratio between:
a number L of digital values in a second section LT (2) of the linear axis drive table LT (e.g., a section storing a second subsequence L (M) (N, N + 1.. times., M) of retrace segments lsr (j) corresponding to signal segments ss (j)); and
the number L minus a frequency error correction term FCT indicative of the offset between the linear frequency fl and the video frame rate Vf, wherein the frequency error correction term FCT is equal to the number L minus the video frame rate measurement MVf (the number of pulses CK (i) of the resonant axis clock signal CK counted from the beginning to the end of the video frame Vf (j)).
According to another embodiment of the present disclosure, the spreading rate RT may be generally set to a value equal to the ratio between:
a length (duration) of a trace segment lst (j) having a signal segment ss (j) of a preliminary shape S corresponding to the digital value l (m) stored in the linear axis drive table LT; and
the desired length (duration) of the trace segment lst (j) of the signal segment ss (j) having the processed shape S'.
According to an embodiment of the present disclosure, the fractional count submodule 510 is configured to calculate a base count BC that is incremented at each resonant axis clock signal CK pulse CK (i) by a value corresponding to the actual value of the spreading rate RT.
According to an embodiment of the present disclosure, the fractional count sub-module 510 is configured to perform the following at each resonant axis clock signal CK pulse CK (i):
the count value C1(i) corresponding to the integer part of the base count BC is sent to the table submodule 520; and
the count value C2(i) corresponding to the fractional portion of the base count BC is sent to the interpolator submodule 515.
According to an embodiment of the present disclosure, at each resonance axis clock signal CK pulse CK (i), the table sub-module 520 selects a corresponding digital value L (m) identified by an index m equal to the count value C1(i) from the linear axis drive table LT, and sends the selected digital value L (m ═ C1(i)) to the interpolator sub-module 515.
In this manner, according to an embodiment of the present disclosure, at each resonance axis clock signal CK pulse CK (i), interpolator submodule 515 receives a count value C2(i) and a selected digital value L (m — C1 (i)).
According to an embodiment of the present disclosure, the interpolator submodule 515 is configured to calculate, at each i-th resonance axis clock signal CK pulse CK (i), a processed digital value L (i) ', which is received by interpolating a set of g (i) digital values L (m ═ C1(i)), L (m ═ C1(i) -1),. the set of corresponding resonance axis clock signals CK (i), CK (i-1),. the set of corresponding interpolation functions IF and using count values C2(i) to set a position p (i) across the interpolation functions IF relative to the set of g (i) input digital values L (m), for calculating a processed digital value L (i)', which interpolates the set of g (i) input digital values L (m).
Fig. 6 schematically illustrates how the interpolator sub-module 515 according to an embodiment of the present disclosure computes a processed digital value L (i)' from a set g (i), e.g. three, of digital values L (m ═ C1(i) -2), L (m ═ C1(i) -1, L (m ═ C (i)), at a common i-th resonance axis clock signal CK pulse CK (i), using an interpolation function IF that interpolates the set g (i) of digital values L (m).
According to an embodiment of the present disclosure, the count value C2(i) sets a position p (i) across the interpolation function IF with respect to the digital value L (m ═ C1(i) -1) for calculating a corresponding processed digital value L (i)'.
According to an embodiment of the present disclosure, when the count value C2(i) is equal to zero (which will always occur when the spreading ratio RT is equal to 1), the position p (i) across the interpolation function IF for calculating the processed digital value L (i)' is at a midpoint between L (C1(i) -1) and L (C1 (i)).
According to an embodiment of the present disclosure, when the count value C2(i) is not equal to zero (which only occurs when the expansion ratio RT is less than 1), the position p (i) across the interpolation function IF used for calculating the processed digital value l (i)' is shifted backwards by an amount dependent on the count value C2(i) relative to the case where the count value C2(i) is equal to zero. In the example illustrated in fig. 6, positions p (i) corresponding to different count values C2(i) are shown (C2(i) ═ 0, C2(i) ═ 0.6, C2(i) ═ 0.3, and C2(i) ═ 0.01).
Since the interpolation function IF illustrated in the example of fig. 6 is an increasing function, moving the position p (i) backwards in turn results in a decrease of the corresponding processed digital value l (i)'. Naturally, the concepts of the present disclosure are also applicable to other kinds of interpolation functions IF, which may be increasing, decreasing or also include both increasing and decreasing portions.
Fig. 7A and 7B schematically illustrate examples of how the interpolator sub-module 515 calculates the processed digital value l (i)' when the spreading ratio RT is equal to 1 (fig. 7A) and when the spreading ratio RT is equal to 0.8 (fig. 7B), according to an embodiment of the disclosure.
The example illustrated in fig. 7A shows the generation of a processed digital value L (3) 'from a set G (3) of digital values L (2), L (3), L (4), and the generation of a processed digital value L (4)' from a set G (4) of digital values L (3), L (4), L (5).
In the illustrated example, the count value C2(3) corresponding to the resonance-axis clock signal CK pulse CK (3) sets the position P (3) across the interpolation function IF with respect to the digital value L (3) for calculating the processed digital value L (3) ', while the count value C2(4) corresponding to the resonance-axis clock signal CK pulse CK (4) sets the position P (4) across the interpolation function IF with respect to the digital value L (4) for calculating the processed digital value L (4)'.
The example of the thumbnail in fig. 7B shows that the processed digital value L (3) 'is generated from a group G (3) of digital values L (1), L (2), L (3), and the processed digital value L (4)' is generated from a group G (4) of digital values L (2), L (3), L (4).
In the illustrated example, the count value C2(3) corresponding to the resonance-axis clock signal CK pulse CK (3) sets the position P (3) across the interpolation function IF with respect to the digital value L (2) for calculating the processed digital value L (3) ', while the count value C2(4) corresponding to the resonance-axis clock signal CK pulse CK (4) sets the position P (4) across the interpolation function IF with respect to the digital value L (3) for calculating the processed digital value L (4)'.
When the expansion rate RT is equal to 1 (see fig. 7A), the count value C2(i) is always equal to zero. In this case, according to an embodiment of the present disclosure, the position P (3) of the interpolation function IF for calculating the processed digital value L (3) 'is at the midpoint between L (2) and L (3), and the position P (4) of the interpolation function IF for calculating the processed digital value L (4)' is at the midpoint between L (3) and L (4).
When the expansion rate RT is equal to 0.8 (see fig. 7B), the count value C2(i) may assume a value not equal to zero. In the example in question, the count value C2(3) corresponding to the resonance axis clock signal CK (3) is equal to 0.8, and the count value C2(4) corresponding to the subsequent resonance axis clock signal CK (4) is equal to 0.6. For this reason, the positions P (3) and P (4) will result in being located behind the corresponding positions P (3), P (4) calculated with an expansion ratio RT equal to 1, and therefore the processed digital values L (3) 'and L (4)' will be lower than the processed digital values L (3) 'and L (4)' calculated with a count value C2(i) equal to zero.
By referring to the exemplary embodiments of the present disclosure illustrated in fig. 6, 7, and 7B:
the processed digital values l (i)' are regularly output by interpolator submodule 515 at each ith resonance axis clock signal CK pulse CK (i); and
when the expansion ratio RT is less than 1, the processed digital value l (i)' has a lower value than the case where the expansion ratio is equal to 1,
the resulting slope of the curve output by interpolator sub-module 515 at each resonance axis clock signal CK pulse CK (i) that fits the processed digital values l (i)' is reduced compared to the case where the count value C2(i) is always equal to zero, such as when the spreading ratio RT is equal to 1. An example of this effect can be seen in fig. 8, showing the case where the spreading ratio RT is equal to 1 (upper part of the figure) and equal to 0.8 (lower part of the figure).
A direct consequence of this behavior is that, in order to reach a certain maximum MEMS mirror angle (which can be predetermined), a greater number of processed values l (i)' will be generated when the expansion ratio RT is less than 1.
According to an exemplary but non-limiting embodiment of the present disclosure, interpolator submodule 515 is a second order interpolator configured to output, at each resonant axis clock signal CK pulse CK (i), a processed digital value l (i)', which is equal to:
FIR0=C01*L(C1(i))+C02*L(C1(i)-1)+C03*L(C1(i)-2)
FIR1=C11*L(C1(i))+C12*L(C1(i)-1)+C13*L(C1(i)-2)
FIR2=C21*L(C1(i))+C22*L(C1(i)-1)+C23*L(C1(i)-2)
L(i)′=((FIR2*C2(i))+FIR1)*C2(i)+FIR0
wherein C01, C02, C03, C11, C12, C13, C21, C22, C23 are parameters.
Although specific embodiments of interpolator sub-module 515 have been referred to in the description, the concepts of the present disclosure may be applied to different kinds of interpolators. In an embodiment, the bandwidth of the interpolator is such that spectral replicas of the signal corresponding to the sequence of digital values L (C1(i)) fed to the interpolator are effectively suppressed, and they can process and manage a number with fractional resolution (e.g. the number of bits used to represent the fractional value) of at least 10 bits (e.g. equal to 14 bits). Polynomial or parametric interpolators are particularly well suited for this type of application, while a polyphase FIR interpolator may need to manage a very large number of coefficients in order to obtain a sufficiently high fractional resolution. For example, the present disclosure has been tested using a second order polynomial interpolator with a frequency response of (sin (f)/f) ^ k, where k is 3.
According to an embodiment of the present disclosure, at each resonant axis clock signal CK pulse CK (i), the corresponding processed digital value l (i)' is fed to the DAC module 335.
The DAC module 335 converts the processed sequence of digital values l (i) 'into an analog linear axis drive signal LS, which is a periodic repetition of signal segments ss (j) having a shape (and specifically, duration) corresponding to the processed shape S'.
According to an embodiment of the present disclosure, the linear frequency fl of the processed shape S ' generated by the DAC module 335 is equal to the frequency of the signal segment ss (j) having the preliminary shape S defined by the digital value l (M) divided by M ', which are stored in the linear axis drive table LT, where M ' is the average of the expansion rate RT calculated over the video frame period Tf 1/Vf. When the average value M 'of the expansion ratio RT calculated in the video frame period Tf is equal to 1, the processed shape S' is equal to the preliminary shape S, and thus the linear frequency fl of the linear-axis drive signal LS remains unchanged. When the average value M 'of the expansion ratio RT calculated in the video frame period Tf is less than 1, the processed shape S' is a stretched version of the preliminary shape S, and thus the linear frequency fl of the linear-axis drive signal LS decreases.
According to an embodiment of the present disclosure, the signal segment ss (j) having the processed shape S' output by the DAC module 335 includes:
a trace segment lst (j) having the same shape as the trace segment corresponding to the preliminary shape S; and
a retrace segment lsr (j) which may be set to an extended version of the shape corresponding to the preliminary shape S according to the spreading ratio RT. The trace segments may be stretched, for example, by a constant factor, and need not necessarily be stretched based on a factor of the video frame rate
In this way, the general segment ss (j) of the linear axis drive signal LS with the processed shape S' will have: a tracking period vt (j) equal to the tracking period corresponding to the preliminary shape S; and a retrace period RT (j) that can be adjusted according to the spreading ratio RT to be longer than the retrace period corresponding to the preliminary shape S.
Having a trace period vt (j) corresponding to the processed shape S' (equal to the trace period corresponding to the preliminary shape S), undesired drift or artifacts during projection of the video frame V (f (j)) are avoided.
According to an embodiment of the present disclosure, the retrace period RT (j) is instead adjusted (by varying the spreading ratio RT) to such an extent that the linear frequency fl matches the video frame rate Vf.
It is emphasized that all the above mentioned results are obtained using the main processing unit 320, which operates in synchronization with the resonant axis clock signal CK, regardless of the number of scan lines to be projected. If a higher and/or fractional number of scan lines is desired, then only the shape of the signal segment ss (j) may be changed, while the resonant axis clock signal CK is not altered.
The solution according to various embodiments of the present disclosure has the following advantages: they can be applied to any kind of preliminary shape S, which can be easily defined by the digital values l (m) stored in the linear axis drive table LT, without the need to use a specific mathematical formula, since the reshaping of the preliminary shape S is carried out by the interpolator submodule 515 starting from the digital values l (m).
The concepts of the present disclosure may also be advantageously used in dual resonance raster scan systems, where two resonance axes (i.e., a first resonance axis and a second resonance axis) are provided instead of having a linear axis and a resonance axis, where the first resonance axis (referred to as the "mechanical axis") has a frequency that is less than the frequency of the second resonance axis, such as, for example, 1/10 (these kinds of systems are also referred to as Lissajous systems). In this case, although the second resonance axis will be driven under resonance conditions to follow the resonance frequency variation, the first (mechanical) resonance axis will instead be driven under quasi-resonance conditions, for example at a fixed frequency corresponding only nominally to the resonance frequency of the first resonance axis. Since the value of the resonant frequency of the first resonant axis is fixed and less than the frequency of the second resonant axis, by defining a preliminary shape S that stores the appropriate numerical value l (m) in the linear axis drive table LT and calculating the spread ratio RT using the same interpolator submodule 515, a first resonant axis drive signal can be generated having a frequency that tracks the second resonant axis clock signal CK, which in turn is linked to the resonant frequency fr.
According to an embodiment of the present disclosure, in order to compensate for possible phase offsets between the linear frequency fl and the video frame rate Vf, the ratio calculator sub-module 525 may advantageously set the spreading ratio RT corresponding to the video frame Vf (j) to a value equal to the ratio between:
a number L of digital values in a second section LT (2) of the linear axis drive table LT (a section storing a second subsequence L (M) (N, N + 1.., M) of retrace segments lsr (j) corresponding to signal segments ss (j)); and
the number L minus the frequency correction term FCT plus the phase error correction term PCT, where the phase error correction term PCT is equal to zero during odd video frames v (j) (1, 3, 5, 7.), and equal to the number of pulses (or beats) CK (i) of the resonance axis clock signal CK counted from the rising edge of the video frame synchronization signal VS during projection of the video frames vf (j) and even video frames v (j) (2, 4, 6, 8.).
Using this approach, video interlacing can be advantageously implemented with any number of interlacing phases, without limitation. For example:
if the number of scan lines 105(i) is even, then no interlacing is required;
if the number of scan lines 105(i) is odd, then a 2-space row scan may be employed;
if the number of scan lines 105(i) is equal to even plus 1/2, then a 4-space row scan may be employed; and
if the number of scan lines 105(i) is equal to even plus 1/3, then a 6 th row scan may be used,
and so on.
Thus, since the preliminary shape S may be reshaped into a processed shape S', which may also correspond to a non-integer number of scan lines 105(i), according to embodiments of the present disclosure, it is advantageously possible to implement interlaced scanning without the need to alter the linear axis drive table LT, and thus also independent of the resonance frequency fr (and thus also independent of the resonance axis clock signal CK).
Naturally, to satisfy local and specific requirements, a person skilled in the art may apply to the solution described above many logical and/or physical modifications and alterations. More specifically, although the present disclosure has been described with a certain degree of particularity with reference to the exemplary embodiments thereof, it should be understood that various omissions, substitutions and changes in the form and details as well as other embodiments are possible. In particular, different embodiments of the disclosure may be practiced even without the specific details set forth in the foregoing description, in order to provide a more thorough understanding of the disclosure; rather, well-known features may have been omitted or simplified in order not to obscure the description with unnecessary detail. In addition, it is expressly intended that certain elements and/or method steps described in connection with any disclosed embodiment of the disclosure may be incorporated in other embodiments.
A system for driving at least one MEMS mirror (305) adapted to direct a laser beam (310) generated from a video data signal (VD) for projecting video frames (v (j)) at a corresponding video frame rate Vf, the at least one MEMS mirror (305) configured to rotate about a linear axis at a linear frequency fl and to rotate about a resonant axis at a resonant frequency fr, the system may be summarized as comprising: a linear-axis control module (332) adapted to receive a sequence of digital values l (m) defining a preliminary shape version S of a signal segment ss (j) and to reshape said preliminary shape version S into a processed shape version S 'by processing said digital values according to a video frame synchronization signal (VS) corresponding to a video synchronization defining a video frame rate Vf, said linear frequency fl being equal to the reciprocal of the duration of said signal segment ss (j) having said processed shape version S'; and a MEMS mirror drive module (318) configured to rotate the at least one MEMS mirror (305) around a linear axis according to the linear axis drive signal (LS) being periodically repeated, wherein the period is equal to the inverse of the linear frequency fl of the signal segment ss (j) with the processed shape version S ', wherein the linear axis control module (332) is configured to reshape the preliminary shape version S into the processed shape version S' to adapt the linear frequency fl to a value matching the video frame rate Vf.
The linear-axis control module (332) may be configured to generate the processed shape version S ' of the signal segment ss (j) in a manner that sets the linear frequency fl to a value corresponding to the resonant frequency fr divided by a factor M ', wherein the factor M ' is a real number.
The linear-axis control module (332) may be configured to generate said processed shape version S ' of the signal segment ss (j) by interpolation of said digital values l (m), by generating a corresponding sequence of processed digital values l (i) ' defining said processed shape version S '.
The linear axis control module (332) may be configured to calculate, at an edge of the clock signal (CK) oscillating at the resonance frequency fr or at an integer multiple of the resonance frequency fr, a processed digital value l (i) ', from a set g (i) of digital values l (m) using an interpolation function IF that interpolates the set g (i) of digital values l (m), the linear axis control module (332) being configured to set a position p (i) across the interpolation function IF with respect to the set g (i) of digital values l (m) for calculating the processed digital value l (i) ', according to a spreading Ratio (RT) indicating a degree of spreading of a duration of the processed shape version S ' according to the signal segment ss (j) with respect to a duration of the preliminary shape version S of the signal segment ss (j).
The system may further comprise: a video frame rate estimator module (505) configured to receive the video frame synchronization signal (VS) and to calculate a video frame rate measurement (MVf) indicative of a measurement of an actual video frame rate Vf of the video data signal (VD) accordingly; and a ratio calculator module (525) configured to calculate the extension Ratio (RT) from the video frame rate measurement (MVf).
The linear-axis control module (332) may be configured to set the duration of the signal segment ss (j) with the processed shape version S 'to a value corresponding to the duration of the signal segment ss (j) with the preliminary shape version S' multiplied by the inverse of the spreading Ratio (RT).
The signal section ss (j) may include: a trace segment (lst (j)) corresponding to a pulse of the clock signal (CK), during which trace segment at least one MEMS mirror (305) is moved for directing the laser beam (310) for projecting a scan line 105(i) corresponding to a video frame (v (j)); and a retrace segment (lsr (j)) corresponding to a pulse of the clock signal (CK) during which the position of the at least one MEMS mirror (305) is reset about the linear axis, wherein said sequence of digital values l (m) defining the preliminary shaped version S of the signal segment ss (j) comprises a first sub-sequence (LT (1)) of digital values l (m) corresponding to the trace segment (lst (j)) and a second sub-sequence (LT (2)) of digital values l (m) corresponding to the retrace segment (lsr (j)).
The ratio calculator module (525) may be configured to set the spreading Rate (RT) to one during a clock signal (CK) pulse corresponding to a trace segment (lst (j)).
The ratio calculator module (525) may be configured to set the spreading Ratio (RT) during a clock signal (CK) pulse corresponding to a retrace interval (lsr (j)) to a ratio between: a number of digital values l (m) of the first subsequence (LT (1)) of digital values l (m); and said number of digital values l (m) of the first sub-sequence (LT (1)) of digital values l (m) minus a frequency error correction term FCT indicative of the offset between the linear frequency fl and the video frame rate Vf.
The frequency error correction term FCT may be equal to the number of digital values l (m) of the first sub-sequence (LT (1)) of digital values l (m) minus the video frame rate measurement (MVf).
The linear axis control module (332) may include: a fractional count module (510) configured to calculate a base count BC, which is incremented at each clock signal (CK) pulse by a value corresponding to the actual value of the spreading Rate (RT), and to output at each clock signal (CK) pulse a corresponding first count value (C1(i)) corresponding to the integer part of the base count BC and a corresponding second count value (C2(i)) corresponding to the fractional part of the base count BC; and an interpolator module (515) configured to select, at each clock signal (CK), the group g (i) of digital values l (m) among a sequence of digital values l (m) according to the first count value (C1(i)), and to calculate a corresponding processed digital value l (i)' using the interpolation function IF by setting the position p (i) across the interpolation function IF, with respect to the group g (i) of digital values l (m), according to the second count value (C2(i)), which interpolates the group g (i) of digital values l (m).
The laser beam scanning system (300) may be summarized as including: a laser module (315) configured to generate a laser beam (310); a laser driving module (316) configured to drive the laser module (315) in accordance with the video data signal (VD); at least one MEMS mirror (305) adapted to direct the laser beam (310) for projecting video frames (v (j)) at a corresponding video frame rate Vf; and a system for driving the at least one MEMS mirror (305), such as one of the systems described herein.
In an embodiment, an apparatus comprises: a memory; and processing circuitry coupled to the memory, wherein in operation, the processing circuitry performs the following: generating a resonant axis drive signal to drive a micro-electromechanical system (MEMS) mirror system at a resonant frequency; and generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate; and generating a linear axis drive signal using the current set of shape values. In an embodiment, the linear frequency is a non-integer multiple of the resonant frequency. In an embodiment, the processing circuitry is operable to generate the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate. In an embodiment, the processing circuitry is operable to generate a current shape value of the current set of shape values based on an expansion rate, the current shape value of the current set of shape values corresponding to an edge of the clock signal having the resonant frequency based oscillation frequency, the expansion rate indicating an expansion with respect to a duration corresponding to the stored set of shape values and a duration corresponding to the current set of shape values. In an embodiment, the processing circuitry is in operation: generating a video frame rate measurement indicative of a measurement of an actual video frame rate of the video data signal; and determining an expansion rate from the video frame rate measurement. In an embodiment, the processing circuitry is in operation: the duration of the signal segment corresponding to the current set of shape values is set to a value corresponding to the duration of the signal segment corresponding to the stored set of shape values multiplied by the inverse of the expansion rate. In an embodiment, signal segment ss (j) comprises: a trace segment corresponding to a clock signal pulse during which the MEMS mirror system moves along the linear axis to direct the laser beam to project a scan line 105(i) corresponding to a video frame; and a retrace segment corresponding to a clock signal pulse during which the position of the MEMS mirror system is reset about the linear axis, wherein the current set of shape values includes a first subset of digital values corresponding to the trace segment and a second subset of digital values corresponding to the retrace segment. In an embodiment, the processing circuitry is operable to set the spreading rate to a constant value (e.g., one) during a clock signal pulse corresponding to a trace segment. In an embodiment, the processing circuitry is operable to set the spreading ratio to a ratio between: a number of digital values of the first subset of digital values L (m); and the number of digital values of the first subset of digital values minus a frequency error correction term indicative of an offset between the linear frequency and the video frame rate during a clock signal pulse corresponding to the retrace interval. In an embodiment, the frequency error correction term is equal to the number of digital values of the first subset of digital values minus the video frame rate measurement. In an embodiment, the processing circuitry is in operation: calculating a base count, which is incremented at each clock signal pulse by a value corresponding to the actual value of the spreading rate; outputting at each clock signal pulse a corresponding first count value corresponding to an integer part of the base count and a corresponding second count value corresponding to a fractional part of the base count; selecting, at each clock signal, a set of digital values from among the stored set of shape values according to a first count value; and calculating a corresponding current shape value by interpolating the set of digital values by setting a position relative to the set of digital values according to the second count value.
In an embodiment, a system comprises: a laser subsystem; a micro-electro-mechanical system (MEMS) mirror system; and processing circuitry coupled to the laser subsystem and the MEMS mirror system, wherein in operation, the processing circuitry: generating a resonant axis drive signal to drive the MEMS mirror system at a resonant frequency; and generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate; and generating a linear axis drive signal using the current set of shape values. In an embodiment, the linear frequency is a non-integer multiple of the resonant frequency. In an embodiment, the processing circuitry is operable to generate the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate. In an embodiment, the processing circuitry is operable to generate a current shape value of the current set of shape values based on an expansion rate, the current shape value of the current set of shape values corresponding to an edge of the clock signal having the resonant frequency based oscillation frequency, the expansion rate indicating an expansion with respect to a duration corresponding to the stored set of shape values and a duration corresponding to the current set of shape values.
In an embodiment, a method comprises: generating a resonant axis drive signal to drive a micro-electromechanical system (MEMS) mirror system at a resonant frequency; generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate; and generating a linear axis drive signal using the current set of shape values; and driving the MEMS mirror system using the resonant axis drive signal and the linear axis drive signal. In an embodiment, the linear frequency is a non-integer multiple of the resonant frequency. In an embodiment, a method comprises: the current set of shape values is generated by interpolating the stored set of shape values based on the indication of the video frame rate. In an embodiment, a method comprises: a current shape value of the set of current shape values is generated based on an expansion rate, the current shape value of the set of current shape values corresponding to an edge of a clock signal having an oscillation frequency based on the resonant frequency, the expansion rate indicating a degree of expansion with respect to a duration corresponding to the stored set of shape values and a duration corresponding to the set of current shape values.
In an embodiment, content of a non-transitory computer readable medium configures a processing system to perform a method, the method comprising: generating a resonant axis drive signal to drive a micro-electromechanical system (MEMS) mirror system at a resonant frequency; generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate; and generating a linear axis drive signal using the current set of shape values; and driving the MEMS mirror system using the resonant axis drive signal and the linear axis drive signal. In an embodiment, a method comprises: the current set of shape values is generated by interpolating the stored set of shape values based on the indication of the video frame rate. In an embodiment, the content includes instructions that, when executed by the processing system, cause the processing system to perform the method. In an embodiment, the content includes a look-up table storing a set of stored shape values.
Some embodiments may take the form of or include a computer program product. For example, according to one embodiment, a computer-readable medium is provided comprising a computer program adapted to perform one or more of the methods or functions described above. The medium may be: physical storage media such as, for example, Read Only Memory (ROM) chips; or a magnetic disk, such as a digital versatile disk (DVD-ROM), a compact disk (CD-ROM), a hard disk, a memory, a network, or a portable media item to be read by an appropriate drive or via an appropriate connection, including as encoded in one or more bar codes or other associated codes stored on one or more such computer-readable media, and readable by an appropriate reader device.
Further, in some embodiments, some or all of the methods and/or functionality may be implemented or provided in other ways, such as at least partially in firmware and/or hardware (including, but not limited to, one or more Application Specific Integrated Circuits (ASICs), digital signal processors, discrete circuit devices, logic gates, standard integrated circuits, controllers (e.g., by executing appropriate instructions and including microcontrollers and/or embedded controllers), Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), and the like, as well as devices employing RFID technology and various combinations thereof).
The various embodiments described above can be combined to provide further embodiments. Aspects of the embodiments can be modified, if necessary, to employ concepts of the various patents, applications and publications to provide yet further 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 construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

Claims (23)

1. An apparatus, comprising:
a memory; and
processing circuitry coupled to the memory, wherein in operation the processing circuitry:
generating a resonant axis drive signal to drive the MEMS mirror system at a resonant frequency; and
generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate, and generating the linear-axis drive signal using the current set of shape values.
2. The apparatus of claim 1, wherein the linear frequency is a non-integer multiple of the resonant frequency.
3. The apparatus of claim 1, wherein the processing circuitry is operable to generate the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate.
4. The apparatus according to claim 3, wherein the processing circuitry, in operation, generates a current shape value in the current set of shape values that corresponds to an edge of a clock signal having an oscillation frequency that is based on the resonance frequency based on an expansion rate that indicates a degree of expansion with respect to a duration corresponding to the stored set of shape values and a duration corresponding to the current set of shape values.
5. The apparatus of claim 4, wherein the processing circuitry, in operation:
generating a video frame rate measurement indicative of a measurement of an actual video frame rate of the video data signal; and
determining the expansion rate from the video frame rate measurement.
6. The apparatus of claim 5, wherein the processing circuitry, in operation:
setting a duration of a signal segment corresponding to the current set of shape values to a value corresponding to the duration of a signal segment corresponding to the stored set of shape values multiplied by the inverse of the expansion rate.
7. The apparatus of claim 6, wherein signal segment SS (j) comprises:
a trace segment corresponding to a clock signal pulse during which the MEMS mirror system is moved along a linear axis to direct a laser beam to project a scan line 105(i) corresponding to a video frame; and
a retrace period corresponding to a clock signal pulse during which the position of the MEMS mirror system about the linear axis is reset, wherein
The current set of shape values includes a first subset of digital values corresponding to the trace segment and a second subset of digital values corresponding to the retrace segment.
8. The apparatus of claim 7, wherein the processing circuitry is operable to set the spreading rate to a constant value during clock signal pulses corresponding to the trace segments.
9. The apparatus of claim 8, wherein during clock signal pulses corresponding to the retrace segment, the processing circuitry is operative to set the spreading ratio to a ratio between:
a number of digital values of the first subset of digital values L (m); and
a number of the digital values of the first subset of digital values minus a frequency error correction term indicative of an offset between the linear frequency and the video frame rate.
10. The apparatus of claim 9, wherein the frequency error correction term is equal to the number of the digital values of the first subset of digital values minus the video frame rate measurement.
11. The apparatus of claim 10, wherein the processing circuitry, in operation:
calculating a base count, the base count being incremented at each clock signal pulse by a value corresponding to an actual value of the spreading rate;
at each clock signal pulse, outputting a corresponding first count value corresponding to an integer portion of the base count and a corresponding second count value corresponding to a fractional portion of the base count;
selecting, at each clock signal, a set of digital values from among the stored set of shape values according to the first count value; and
by setting a position relative to the set of digital values according to the second count value, a corresponding current shape value is calculated by interpolating the set of digital values.
12. A system, comprising:
a laser subsystem;
a micro-electro-mechanical system (MEMS) mirror system; and
processing circuitry coupled to the laser subsystem and the MEMS mirror system, wherein in operation the processing circuitry:
generating a resonant axis drive signal to drive the MEMS mirror system at a resonant frequency; and
generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate, and generating the linear-axis drive signal using the current set of shape values.
13. The system of claim 12, wherein the linear frequency is a non-integer multiple of the resonant frequency.
14. The system of claim 12, wherein the processing circuitry is operable to generate the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate.
15. The system according to claim 4, wherein the processing circuitry, in operation, generates a current shape value in the current set of shape values corresponding to an edge of a clock signal having an oscillation frequency based on the resonance frequency based on an expansion rate that indicates a degree of expansion relative to a duration corresponding to the stored set of shape values and a duration corresponding to the current set of shape values.
16. A method, comprising:
generating a resonant axis drive signal to drive the MEMS mirror system at a resonant frequency;
generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate, and generating the linear-axis drive signal using the current set of shape values; and
driving the MEMS mirror system using the resonant axis drive signal and the linear axis drive signal.
17. The method of claim 16, wherein the linear frequency is a non-integer multiple of the resonant frequency.
18. The method of claim 16, comprising:
generating the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate.
19. The method of claim 18, comprising:
generating a current shape value in the current set of shape values corresponding to an edge of a clock signal having an oscillation frequency based on the resonance frequency based on an expansion ratio indicating an extent with respect to a duration corresponding to the stored set of shape values and a duration corresponding to the current set of shape values.
20. A non-transitory computer readable medium having contents that configure a processing system to perform a method, the method comprising:
generating a resonant axis drive signal to drive the MEMS mirror system at a resonant frequency;
generating a linear axis drive signal to drive the MEMS mirror system at a linear frequency corresponding to a video frame rate, the generating the linear axis drive signal comprising: generating a current set of shape values using interpolation based on the stored set of shape values and the indication of the video frame rate, and generating the linear-axis drive signal using the current set of shape values; and
driving the MEMS mirror system using the resonant axis drive signal and the linear axis drive signal.
21. The non-transitory computer-readable medium of claim 20, wherein the method comprises:
generating the current set of shape values by interpolating the stored set of shape values based on the indication of the video frame rate.
22. The method of claim 20, wherein the content includes instructions that, when executed by the processing system, cause the processing system to perform the method.
23. The method of claim 20, wherein the content comprises a look-up table storing the stored set of shape values.
CN202110704027.9A 2020-06-24 2021-06-24 System for controlling linear axis of MEMS mirror Pending CN113835216A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IT102020000015178A IT202000015178A1 (en) 2020-06-24 2020-06-24 SYSTEM FOR CHECKING THE LINEAR AXIS OF A MEMS MIRROR
IT102020000015178 2020-06-24
US17/356,162 2021-06-23
US17/356,162 US11368656B2 (en) 2020-06-24 2021-06-23 System for controlling linear axis of a MEMS mirror

Publications (1)

Publication Number Publication Date
CN113835216A true CN113835216A (en) 2021-12-24

Family

ID=78962737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110704027.9A Pending CN113835216A (en) 2020-06-24 2021-06-24 System for controlling linear axis of MEMS mirror

Country Status (1)

Country Link
CN (1) CN113835216A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116054939A (en) * 2023-03-31 2023-05-02 中国科学院光电技术研究所 Digital synchronous signal generation system and method for resonant high-speed vibration reflector

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080031102A1 (en) * 2006-07-26 2008-02-07 Texas Instruments Incorporated Method for maintaining the phase difference of a positioning mirror as a constant with respect to a high speed resonant mirror to generate high quality images
EP2216897A2 (en) * 2009-02-09 2010-08-11 Analog Devices, Inc. Control technique for motor driven systems
US20110127404A1 (en) * 2007-12-31 2011-06-02 Yen Wei-Shin MEMS Scan Controller Generating Clock Frequency and Control Method Thereof
CN106537200A (en) * 2014-03-07 2017-03-22 瓦里奥管理有限合伙 Mirror based microelectromechanical systems and methods
US20190324266A1 (en) * 2018-04-18 2019-10-24 Mitsumi Electric Co., Ltd. Mirror driving device, optical scan control apparatus, and mirror driving method
US10484656B1 (en) * 2018-12-12 2019-11-19 Microsoft Technology Licensing, Llc Driver system resonant frequency determination
US20200004011A1 (en) * 2018-06-27 2020-01-02 Microsoft Technology Licensing, Llc Adjusting a resonant frequency of a scanning mirror

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080031102A1 (en) * 2006-07-26 2008-02-07 Texas Instruments Incorporated Method for maintaining the phase difference of a positioning mirror as a constant with respect to a high speed resonant mirror to generate high quality images
US20110127404A1 (en) * 2007-12-31 2011-06-02 Yen Wei-Shin MEMS Scan Controller Generating Clock Frequency and Control Method Thereof
EP2216897A2 (en) * 2009-02-09 2010-08-11 Analog Devices, Inc. Control technique for motor driven systems
CN106537200A (en) * 2014-03-07 2017-03-22 瓦里奥管理有限合伙 Mirror based microelectromechanical systems and methods
US20190324266A1 (en) * 2018-04-18 2019-10-24 Mitsumi Electric Co., Ltd. Mirror driving device, optical scan control apparatus, and mirror driving method
US20200004011A1 (en) * 2018-06-27 2020-01-02 Microsoft Technology Licensing, Llc Adjusting a resonant frequency of a scanning mirror
US10484656B1 (en) * 2018-12-12 2019-11-19 Microsoft Technology Licensing, Llc Driver system resonant frequency determination

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116054939A (en) * 2023-03-31 2023-05-02 中国科学院光电技术研究所 Digital synchronous signal generation system and method for resonant high-speed vibration reflector

Similar Documents

Publication Publication Date Title
JP5782026B2 (en) Phase-synchronized scanning display and method of operating a scanning display
US7424172B2 (en) Image processing method, image processing apparatus and image pickup apparatus and display apparatus suitable for the application of image processing method
US8226239B2 (en) Pulse width modulation signal generating device, image display apparatus including pulse width modulation signal generating device, and pulse width modulation signal generating method
WO2004019607A1 (en) Image processing device, image processing system, and image processing method
KR101647727B1 (en) Scanning Projector and method for the same
US7262894B2 (en) Method for aligning bi-directional images in a mirror display
CN113835216A (en) System for controlling linear axis of MEMS mirror
KR970705892A (en) Spot Scanning Zoom Function on Electronic Printer (TRUE ZOOM CAPABILITY ON A SPOT SCANNING ELECTRONIC PRINTER)
EP2443824A2 (en) Asynchronous scanning display projection
JPS61251362A (en) Image scan clock generator for optical scanner
KR100604103B1 (en) Output Timebase Corrector
TWI474046B (en) Method and device for projecting at least one beam
JP4909144B2 (en) Image recognition apparatus and image rotation processing method
US11368656B2 (en) System for controlling linear axis of a MEMS mirror
KR20140000667A (en) Image display device
JP2016090913A (en) Image display device and method for controlling the same
US8908092B2 (en) Systems and methods to improve spatial resolution on back and forth scanning display devices
JP6253292B2 (en) Laser scanning microscope
US20090091585A1 (en) Screen enlargement/reduction device
WO2017183191A1 (en) Image input device and image input method
US9462293B1 (en) Super resolution weighting blending
JP6059899B2 (en) Frame interpolation apparatus and program
JP2880012B2 (en) Digital convergence device
CN114286971A (en) Method and computing unit for controlling at least one drive unit of at least one deflection unit of a micro scanner device
JP2011133560A (en) Optical scan type display

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination