US20240031707A1 - Programmable phase generator for a radiation detector - Google Patents
Programmable phase generator for a radiation detector Download PDFInfo
- Publication number
- US20240031707A1 US20240031707A1 US18/025,264 US202118025264A US2024031707A1 US 20240031707 A1 US20240031707 A1 US 20240031707A1 US 202118025264 A US202118025264 A US 202118025264A US 2024031707 A1 US2024031707 A1 US 2024031707A1
- Authority
- US
- United States
- Prior art keywords
- instruction
- phase generator
- wait
- elementary
- phase
- 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.)
- Granted
Links
- 230000005855 radiation Effects 0.000 title description 2
- 230000008859 change Effects 0.000 claims abstract description 9
- 230000005764 inhibitory process Effects 0.000 claims description 16
- 230000002401 inhibitory effect Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 54
- 101100447536 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) pgi-1 gene Proteins 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 101150098958 CMD1 gene Proteins 0.000 description 2
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/7795—Circuitry for generating timing or clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/709—Circuitry for control of the power supply
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/20—Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming only infrared radiation into image signals
Definitions
- the present disclosure relates to the field of the detection of electromagnetic radiations and, particularly, to the detection of infrared radiations.
- the invention more particularly concerns a programmable generator of phases for such a detector, that is, an electronic circuit enabling to control the operation of the detector.
- the invention finds a particularly advantageous application to control a detector comprising a plurality of distinct operating modes.
- Detectors intended for thermal or infrared imaging are conventionally manufactured in the form of an array of elementary detectors, forming image points or pixels, in one or two dimensions. To guarantee the thermal insulation of the detectors, the latter are suspended above a substrate via support arms.
- the substrate usually comprises means of sequential addressing of the elementary detectors and means of electric excitation and of pre-processing of the electric signals generated from these elementary detectors.
- the substrate and the integrated means are commonly designated with the term “readout circuit”.
- phases enable to drive switches present at the level of the readout circuit and of each elementary detector.
- these switches may control the information exchange between a photodiode and a readout circuit, the data exchange between different capacitive elements and amplifiers, as well as electric transmissions between the elementary detectors.
- an infrared detector may be controlled to integrate different gains or to implement complex functions, such as the obtaining of a bispectral image.
- the “gain” corresponds to a conversion factor between a photon and a voltage. This conversion factor depending on the integration performed, for example, on the used integration capacity, and on the dynamic range of the phases.
- document WO2019/166465 illustrates, for example, the shape of the expected phases to obtain an operating mode of an infrared detector where the detector has a high readout dynamic range.
- phase generator thus enable to place an infrared detector in a specific operating mode by controlling the duration of integration, the activation and/or the inhibition of certain components of the readout circuit or of the elementary detectors.
- phase generator is conventionally formed, according to phase shapes defined before the forming of the infrared detector, by implementing logic functions enabling to create the predefined phase shapes. This type of phase generator is thus hardcoded. Of course, these phases may vary according to a control signal to activate one or the other of the operating modes of the infrared detector.
- constructors integrate more and more functions in the readout circuits and the elementary detectors, whereby it becomes possible to obtain a same gain by generating distinct phases, that is, by modifying the sequencing and/or the binary value of the phases.
- the shape of the phases enabling to obtain a specific gain is not optimal due to the parasitic elements and to the limitations of the infrared detector, observable after the forming thereof only.
- parasitic elements may appear due to the manufacturing tolerances of the capacitive elements formed at the level of the elementary detectors. Further, if a plurality of capacitive elements is formed at the level of each elementary detector to obtain distinct gains, it may be searched what capacitive elements must be activated to optimally obtain each gain after the measurement of the real values of the formed capacitive elements.
- phase generator In the most recent infrared detectors, it is not unusual to integrate more than 15 operating modes, for example, 18 operating modes. With such a number of operating modes, the implementation of a hardcoded phase generator becomes particularly complex, since the latter must integrate all the electronic components enabling to generate the shape of each phase of each operating mode. Further, with the multiplicity of electronic components, the phase generator generates a power consumption much greater than the power consumption of a hardcoded generator of phases of an infrared detector only having a small number of operating modes.
- a programmable phase generator is similar to a microprocessor; it integrates a program memory having the instructions to be implemented to generate the phases coded therein. From this program memory, a processor interprets the instructions coded in the program memory. Conventionally, a microcontroller also integrates a data memory, a working or state register, analog-to-digital and digital-to-analog converters, and wired operators enabling to perform arithmetical operations, conditional operations, and speculative executions of the code.
- the technical problem that the invention provides solving thus is to obtain a programmable phase generator, that is, a generator enabling to control the obtaining of a plurality of distinct phases according to a program code, with a power consumption comparable with that of a hardcoded phase generator.
- the invention provides a programmable phase generator comprising no data memory, no working or state register, no analog-to-digital and digital-to-analog converter, and no wired operator enabling to perform arithmetic operations, conditional operations, and speculative executions of the code.
- the invention results from a search for the simplest instructions enabling to generate the specific phases of an infrared detector. It has been observed that with at most seven instructions, it is possible to generate all the phase shapes conventionally used in this specific domain.
- the invention concerns a generator of phases of a detector, the generator integrating at least one elementary machine for interpreting a microcode stored in a register, each elementary machine comprising:
- the invention enables, with a few simple and easy-to-implement instructions, to program the phases of a detector, for example, an infrared detector.
- a detector for example, an infrared detector.
- the search for the simplest instructions enabling to generate the specific phases of a detector has enabled to drastically decrease the possibilities of a conventional programmable phase generator to limit its complexity.
- the invention thus enables to obtain a programmable phase generator with a power consumption comparable to that of a hardcoded phase generator.
- the programmable phase generator of the invention is more advantageous than a hardcoded phase generator since they both have an equivalent power consumption.
- the programmable phase generator enables to obtain optimal phases by taking into account the parasitic elements and the limitations of the infrared detector, observable after its forming.
- each controlled switch is wired between an output and logic level “1” or logic level “0” according to the control signal applied to the controlled switch.
- a simple controlled inverter is placed at the level of each output to allow the toggling of the logic level of an output.
- a detector To synchronize the execution of the microcode on the receiving of an external signal, a detector enables to detect a logic change of a control input.
- said means for inhibiting the loading unit are interposed between a clock signal of the elementary machine and a clock signal transmitted to the loading unit.
- said means for inhibiting the loading unit are interposed between a clock signal of the elementary machine and a clock signal transmitted to the loading unit.
- the wait instruction also requires inhibiting the operation of the loading unit while the execution unit uses the counter to reach the predetermined wait duration.
- the instructions enable to implement:
- the argument of the short wait is coded over 4 bits. This short wait thus enables to represent the operation of all the phases having a strong variation with the optimum number of bits to limit the resources of the elementary machine.
- the argument of the long wait is coded over 14 bits. This long wait enables to represent the operation of all the phases having a low variation with the optimum number of bits to take into account the maximum variation duration observed on the phases of a detector.
- another instruction preferably enables to place the elementary machine in a low power consumption mode, where the execution unit inhibits the operation of a plurality of components of the elementary machine.
- phase generator may comprise at least two elementary machines. This embodiment enables to increase the number of phases capable of being simultaneously generated.
- the phase generator comprises a programmable multiplexer arranged at the output of the elementary machine.
- This embodiment also enables to ease the coding of an operating mode of the detector by modifying the routing of the outputs of said elementary machine.
- FIG. 1 illustrates a programming file and the associated binary code of a register of an elementary machine of a programmable phase generator according to an embodiment of the invention
- FIG. 2 illustrates an elementary machine of a programmable phase generator according to an embodiment of the invention
- FIG. 3 illustrates a unit for loading the elementary machine of FIG. 2 ;
- FIG. 4 illustrates the sequencing of the operations between the loading unit and an execution unit of the elementary machine of FIG. 2 ;
- FIG. 5 illustrates a generator of programmable phases integrating two elementary machines of FIG. 2 ;
- FIG. 6 illustrates an example of phases generated by the programmable phase generator of FIG. 5 .
- the programmable phase generator 10 is capable of generating a plurality of phase shapes according to a microcode.
- This microcode is formed by a set of bits stored in a register 12 of an elementary machine 14 of programmable phase generator 10.
- a “computer function” corresponds to a control of a computer programming language enabling to formulate an algorithm.
- an “instruction” corresponds to a physical implementation of a computer function in the register 12 of an elementary machine 14. These instructions stored in register 12 altogether form the “microcode”.
- a programming machine 28 transforms a programming file 11 into a microcode, such as illustrated in FIG. 1 .
- Programming file 11 may be coded with a programming language specifically adapted to programmable phase generator 10 or by using a generic programming language, such as the assembly language or the C language.
- a generic programming language such as the assembly language or the C language.
- the functions conventionally used by these languages cannot all be implemented in register 12 , since at most seven instructions Inst can be recognized by programming machine 28 to be integrated in register 12 .
- instructions Inst are coded over 3 bits, so that only 7 computer functions may be recognized by programming machine 28.
- a programming file 11 typical of the phase generation is described.
- a first computer function Set_GPO_Init enables to apply a logic level on the different phase outputs INT, XRINT1, XRINT2 of programmable phase generator 10. It is an instruction of initialization of programmable phase generator 10.
- this first computer function Set_GPO_Init is coded with 000 and the argument of this computer function Set_GPO_Init is placed after code 000 in register 12 .
- the second computer function Set_Remap of programming file 11 specifies a position of a programmable multiplexer 26 of programmable phase generator 10.
- the third computer function Seq of programming file 11 indicates a beacon from which the program will be executed in a loop. This beacon thus enables to program an infinite loop between computer function Restart and computer function Seq.
- the fourth computer function Thread of programming file 11 enables to specify the elementary machine 14 on which the microcode is to be executed.
- first elementary machine 14 is targeted for the loop followed between computer function Seq and computer function Restart.
- a single elementary machine 14 is programmed.
- a plurality of elementary machines 14 may be implemented in programmable phase generator 10 and programming file 11 may integrate computer functions for a plurality of distinct elementary machines 14 by using a plurality of computer functions Thread with distinct arguments.
- the first line of the infinite loop comprises synchronization computer function Sync allowing the synchronization with at least one control input GPI_0, GPI_1 of elementary machine 14. More specifically, this instruction is coded with 001 and targets the detection of a rising edge on internal signal IntOR of elementary machine 14. The argument of this function is 00 and it enables to define the internal signal with which this function is to be synchronized.
- register 12 integrates a second line with instruction 001, corresponding to a synchronization computer function Sync, and with the argument 00 corresponding to a detection of a rising edge on internal signal IntOR.
- the next bits are represented by an X since they are random and they do not influence the operation of elementary machine 14.
- the third instruction coded in register 12 concerns wait computer function Wait of a predetermined duration having argument 8.
- this wait instruction is coded with 010 in register 12 and argument 8 is coded over four bits with 1000 as a binary value.
- a single type of wait instruction is described and is coded over four bits.
- two wait instructions may be implemented: a short wait instruction and a long wait instruction.
- the short wait instruction then has an argument coded over 4 bits, such as illustrated in FIG. 1 while the long wait instruction may comprise an argument coded over a larger number of bits, for example, 14 bits, to describe the variation of very seldom used phases.
- the infinite loop comprises a computer function Toggle for toggling the logic level of at least one phase output GPO_0-GP0_9.
- This toggle computer function Toggle is used with a 5 bit-argument enabling to specify one or a plurality of phase outputs GPO_0-GP0_9 to be toggled.
- This toggle computer function Toggle is coded in the form of instruction 100 in register 12 and, after this code of instruction Inst, register 12 has the value of argument 00001.
- a new synchronization computer function Sync is then coded in register 12 .
- This synchronization computer function Sync is similar to that integrated in the second line of register 12 and it is also followed by a wait computer function Wait also similar to that previously used.
- This second toggle computer function Toggle has an argument different from the first toggle computer function Toggle, since the argument of the second toggle computer function Toggle is 00010.
- a new synchronization function Sync is then programmed with an argument aiming at detecting a rising edge on internal signal IntOF. This detection of a rising edge on internal signal IntOF is coded with 01.
- the line of register 12 associated with this synchronization computer function Sync exhibits bits 00101, with code 001 to describe the synchronization instruction and argument 01 to describe the argument of this instruction.
- restart computer function Restart is coded in register 12 with code 111.
- This instruction 111 has argument 0010 which sends back to the second line of register 12 , since restart computer function Restart echoes the beacon Seq placed after computer function Set_GPO_Init.
- an elementary machine 14 may be developed based on the model of FIG. 2 .
- Elementary machine 14 comprises two control inputs GPI_0, GPI_1 enabling to control the operation of elementary machine 12 during a synchronization instruction.
- each control input comprises a detector 19 enabling to detect a logic change, that is, a rising edge or a falling edge on each control input GPI_0, GPI_1.
- detector 19 At the output of the detectors 19 associated with each control input GPI_0, GPI_1, elementary machine 14 comprises internal signals indicating the detections of rising edges IntOF and Intl F or of falling edges IntOR and IntOR of the two control inputs GPI_0, GPI_1
- each phase output GPO_0-GP0_9 comprises a controlled switch 20.
- Each controlled switch 20 is wired between an output GPO_0-GP0_9 and the high logic level, called Vhigh, or the low logic level, called Vlow, according to the control signal Cmd 1 applied to controlled switch 20.
- each output GPO_0-GP0_9 also comprises a logic inverter 21, enabling to apply the instruction for toggling the logic level of output GPO_0-GP0_9 during the application of a control signal Cmd2.
- elementary machine 14 also comprises an input MCK for a clock signal enabling to rate the execution of the instructions.
- This clock signal MCK is connected to inhibition means 17 and a counter 18.
- Elementary machine 14 has the function of decoding the microcode loaded into register 12 .
- elementary machine 14 comprises a loading unit 15 configured to detect the instruction Inst to be performed as well as its argument Arg.
- Loading unit 15 is coupled to an execution unit 16 configured to execute the instructions Inst transmitted by loading unit 15 .
- Loading unit 15 is more particularly detailed in FIG. 3 .
- This loading unit 15 comprises an instruction decoder 23 coupled to a decoder of arguments 25. For each line of register 12 , loading unit 15 uses a pointer Point to extract a specific line.
- a line is copied into an inner register 22 to ease the understanding of the extraction of the useful bits.
- the extraction of the data of register 12 may be directly carried out on register 12 without requiring a copying into an inner register 22 .
- the instruction register like inner register 22 , aims at illustrating the useful bit extraction method and it is not necessary in practice.
- the bits corresponding to the instruction When the bits corresponding to the instruction are extracted from register 12 , they may directly be transmitted to execution unit 16 by signal Inst. Further, these bits are also directed towards a selector 24 having its inputs corresponding to the different possible argument sizes of the different instructions L_argO, L_arg1, L_arg2 . . . L_argX. Thus, according to the detected instruction, the size of its argument L_arg is delivered at the output of selector 24. This argument size L_arg is transmitted to the decoder of arguments 25 which copies the number of bits corresponding to the size of the argument into an argument register.
- the argument register like inner register 22 , aims at illustrating the useful bit extraction method and it is not necessary in practice. The bits corresponding to the argument may then be transmitted to execution unit 16 by signal Arg.
- loading unit 15 is preferably rated by a clock signal CIk1.
- instruction decoder 23 may be configured to perform a decoding at each rising edge of clock signal CIk1.
- selector 24 may also be inhibited until a signal FinExec of end of execution of execution unit 16 is obtained.
- execution unit 16 thus receives the instruction Inst and the argument Arg of the function to be executed.
- execution unit 16 When the instruction Inst to be executed corresponds to a computer function of application of a logic level Set_GPO_Init, execution unit 16 directly controls controlled switches by means of signal Cmd1 according to the argument Arg transmitted by loading unit 15 . Similarly, to execute a toggle instruction, execution unit 16 controls inverters 21 by means of signal Cmd2 according to the transmitted argument Arg.
- the clock signal CIk1 transmitted to the loading unit is preferably generated by the inhibition unit 17 controlled by the control signal Cmd3 of execution unit 16 .
- execution unit 16 waits for the detection of the programmed synchronization signal before lifting the inhibition of inhibition unit 17 and enable loading unit 15 to carry on the loading of a new instruction Inst and of its argument Arg.
- inhibition unit 17 is also used during a wait instruction. In this case, execution unit 16 uses counter 18 to count for a wait duration corresponding to the programmed argument Arg before lifting the inhibition of inhibition unit 17 .
- an end-of-execution signal FinExec may be transmitted to loading unit 15 by execution unit 16 , when the execution is over and execution unit 16 can receive a new instruction Inst.
- the wait instruction may be coded in the form of two distinct instructions: a long wait and a short wait with arguments of different length. In both cases, execution unit 16 is capable of interpreting these two waits by means of counter 18.
- this instruction only aims at modifying the position of pointer Point of loading unit 15 .
- execution unit 16 uses control signal Cmd4 to displace pointer Point onto the position corresponding to the programmed argument Arg.
- the seventh instruction corresponds to the placing of elementary machine 14 in a low power consumption mode.
- the execution unit may control the deactivation of a portion of the electronic components of elementary machine 14 to limit its power consumption.
- loading unit 15 reads instruction Inst, and then transmits the argument Arg of this instruction Inst to execution unit 16 .
- loading unit 15 loads the second instruction Inst while execution unit 16 executes the first instruction Inst.
- the second instruction requires an inhibition of loading unit 15 , for example, for the synchronization of a signal on a control input GPI_0, GPI_1 of elementary machine 14.
- loading unit 15 reads the third instruction hist, while execution unit 16 executes the second instruction while inhibiting the operation of loading unit 15 .
- the second instruction is executed, for example, when the signal of a detector 19 is received by execution unit 16 , the operation of loading module 15 is reactivated, and the latter may load a new instruction Inst while execution unit 16 executes the previously-loaded instruction Inst.
- This operation between loading unit 15 and execution unit 16 enables to rapidly and efficiently generate the different phases of a detector 10.
- phase generator 10 may comprise a plurality of juxtaposed elementary machines 14 , as illustrated in FIG. 5 .
- each elementary machine 14 integrates its own register 12 . Further, the outputs of elementary machines 14 are introduced into a programmable multiplexer 26 having a register 27 enabling to specify the routing topology.
- programming machine 28 can thus program the two registers 12 of the two elementary machines 14 as well as the register 27 of programmable multiplexer 26.
- control inputs GPI_0, GPI_1 of the two elementary machines 14 are associated with signals originating from a detector FromROIC, while the outputs of programmable multiplexer 26 form the phases INT, XRINT1, XRINT2 enabling to control the operation of detector ToROIC.
- FIG. 6 illustrates an example of characteristic phases of a detector 10 generated from the programming file 11 of FIG. 1 and implemented by an elementary machine 14. As illustrated in FIG. 6 , a clock signal MCK is used to rate the generation of the different phases INT, XRINT1, XRINT2 and the transitions between these phases INT, XRINT1, XRINT2 appear with the wait durations, 8 and 12, coded in programming file 11.
- a clock signal MCK is used to rate the generation of the different phases INT, XRINT1, XRINT2 and the transitions between these phases INT, XRINT1, XRINT2 appear with the wait durations, 8 and 12, coded in programming file 11.
- the invention thus enables to generate the phases INT, XRINT1, XRINT2 of a detector, for example, of an infrared detector.
- the shape of the phases may be determined after the forming of the detector by taking into account the technical limitations thereof.
- the shape of the phases can be optimal according to the desired operating mode.
- phase generator 10 enables to limit its power consumption, so that the power consumption of programmable phase generator 10 is similar to that of a hardcoded phase generator integrating more than 15 operating modes.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Executing Machine-Instructions (AREA)
- Manipulation Of Pulses (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
A generator of phases of a detector integrates at least one elementary machine for interpreting a microcode stored in a register. Each elementary machine includes at least one control input having a logic level change detector. Each elementary machine also includes at least one phase output having a controlled switch, enabling to define the logic level of the phase output, and a controlled inverter enabling to toggle the logic level of the phase output. Further, each elementary machine includes at least one clock signal associated with a counter, and a unit for loading the instructions and the arguments stored in the register, the instructions being coded over 3 bits.
Description
- The present disclosure relates to the field of the detection of electromagnetic radiations and, particularly, to the detection of infrared radiations.
- The invention more particularly concerns a programmable generator of phases for such a detector, that is, an electronic circuit enabling to control the operation of the detector.
- The invention finds a particularly advantageous application to control a detector comprising a plurality of distinct operating modes.
- Detectors intended for thermal or infrared imaging are conventionally manufactured in the form of an array of elementary detectors, forming image points or pixels, in one or two dimensions. To guarantee the thermal insulation of the detectors, the latter are suspended above a substrate via support arms.
- The substrate usually comprises means of sequential addressing of the elementary detectors and means of electric excitation and of pre-processing of the electric signals generated from these elementary detectors. The substrate and the integrated means are commonly designated with the term “readout circuit”.
- To control such a readout circuit, it is known to use a generator enabling to deliver the signals necessary for the circuit operation. These signals are called “phases”. Conventionally, the phases enable to drive switches present at the level of the readout circuit and of each elementary detector. For example, these switches may control the information exchange between a photodiode and a readout circuit, the data exchange between different capacitive elements and amplifiers, as well as electric transmissions between the elementary detectors.
- With these phases, an infrared detector may be controlled to integrate different gains or to implement complex functions, such as the obtaining of a bispectral image.
- In the sense of the invention, the “gain” corresponds to a conversion factor between a photon and a voltage. This conversion factor depending on the integration performed, for example, on the used integration capacity, and on the dynamic range of the phases.
- To implement logic functions, document WO2019/166465 illustrates, for example, the shape of the expected phases to obtain an operating mode of an infrared detector where the detector has a high readout dynamic range.
- The phases generated by a phase generator thus enable to place an infrared detector in a specific operating mode by controlling the duration of integration, the activation and/or the inhibition of certain components of the readout circuit or of the elementary detectors.
- A phase generator is conventionally formed, according to phase shapes defined before the forming of the infrared detector, by implementing logic functions enabling to create the predefined phase shapes. This type of phase generator is thus hardcoded. Of course, these phases may vary according to a control signal to activate one or the other of the operating modes of the infrared detector.
- To satisfy as much as possible the users' needs, constructors integrate more and more functions in the readout circuits and the elementary detectors, whereby it becomes possible to obtain a same gain by generating distinct phases, that is, by modifying the sequencing and/or the binary value of the phases. Thus, after the implementation of the infrared detector, it is often observed that the shape of the phases enabling to obtain a specific gain is not optimal due to the parasitic elements and to the limitations of the infrared detector, observable after the forming thereof only.
- Typically, parasitic elements may appear due to the manufacturing tolerances of the capacitive elements formed at the level of the elementary detectors. Further, if a plurality of capacitive elements is formed at the level of each elementary detector to obtain distinct gains, it may be searched what capacitive elements must be activated to optimally obtain each gain after the measurement of the real values of the formed capacitive elements.
- In the most recent infrared detectors, it is not unusual to integrate more than 15 operating modes, for example, 18 operating modes. With such a number of operating modes, the implementation of a hardcoded phase generator becomes particularly complex, since the latter must integrate all the electronic components enabling to generate the shape of each phase of each operating mode. Further, with the multiplicity of electronic components, the phase generator generates a power consumption much greater than the power consumption of a hardcoded generator of phases of an infrared detector only having a small number of operating modes.
- To partly overcome these problems and allow the generation of optimal phases, it is possible to use a programmable phase generator. Such a generator is similar to a microprocessor; it integrates a program memory having the instructions to be implemented to generate the phases coded therein. From this program memory, a processor interprets the instructions coded in the program memory. Conventionally, a microcontroller also integrates a data memory, a working or state register, analog-to-digital and digital-to-analog converters, and wired operators enabling to perform arithmetical operations, conditional operations, and speculative executions of the code.
- The major disadvantage of these programmable phase generators lies in their power consumption, typically at least ten times greater than that of a hardcoded phase generator.
- The technical problem that the invention provides solving thus is to obtain a programmable phase generator, that is, a generator enabling to control the obtaining of a plurality of distinct phases according to a program code, with a power consumption comparable with that of a hardcoded phase generator.
- To address this technical problem, the invention provides a programmable phase generator comprising no data memory, no working or state register, no analog-to-digital and digital-to-analog converter, and no wired operator enabling to perform arithmetic operations, conditional operations, and speculative executions of the code.
- Indeed, the invention results from a search for the simplest instructions enabling to generate the specific phases of an infrared detector. It has been observed that with at most seven instructions, it is possible to generate all the phase shapes conventionally used in this specific domain.
- Thus, it is possible to form a programmable phase generator which is very simple, that is, capable of only interpreting instructions coded over 3 bits.
- For this purpose, the invention concerns a generator of phases of a detector, the generator integrating at least one elementary machine for interpreting a microcode stored in a register, each elementary machine comprising:
-
- at least one control input comprising a logic level change detector;
- at least one phase output comprising a controlled switch, enabling to define the logic level of the phase output, and a controlled inverter enabling to toggle the logic level of the phase output;
- at least one clock signal associated with a counter;
- a unit for loading the instructions and the arguments stored in the register, the instructions being coded over 3 bits and enabling to implement at least:
- an application of a logic level onto at least one phase output;
- a toggling of the logic level of at least one phase output;
- a synchronization with a logic change of a control input;
- a wait for a predetermined duration; and
- a restarting of a predetermined sequence;
- means for inhibiting the loading unit; and
- a unit for executing the instructions loaded by the loading unit, the execution unit being configured to:
- control the position of at least one controlled switch after an instruction of application;
- control the activation of at least one controlled inverter after an instruction to toggle;
- detect a logic change after an instruction of synchronization;
- control the inhibition of the inhibition means for a duration measured by the counter after a wait instruction; and
- control the position of a pointer of the loading unit after a restart instruction.
- The invention enables, with a few simple and easy-to-implement instructions, to program the phases of a detector, for example, an infrared detector. In other words, the search for the simplest instructions enabling to generate the specific phases of a detector has enabled to drastically decrease the possibilities of a conventional programmable phase generator to limit its complexity.
- The invention thus enables to obtain a programmable phase generator with a power consumption comparable to that of a hardcoded phase generator. The larger the number of operating modes of the detector, the more the use of the programmable phase generator of the invention becomes advantageous over a hardcoded phase generator.
- Typically, for a detector having more than 15 operating modes, for example, 18 operating modes, the programmable phase generator of the invention is more advantageous than a hardcoded phase generator since they both have an equivalent power consumption. However, the programmable phase generator enables to obtain optimal phases by taking into account the parasitic elements and the limitations of the infrared detector, observable after its forming.
- The minimal instructions identified to form the different conventional phases of a detector are:
-
- the application of a logic level onto at least one phase output;
- the toggling of the logic level of at least one phase output;
- the synchronization with at least one control input;
- the waiting for a predetermined duration; and
- the restarting of a predetermined sequence.
- The application of a logic level is implemented by a simple controlled switch associated with each output.
- For this purpose, each controlled switch is wired between an output and logic level “1” or logic level “0” according to the control signal applied to the controlled switch.
- Similarly, a simple controlled inverter is placed at the level of each output to allow the toggling of the logic level of an output.
- To synchronize the execution of the microcode on the receiving of an external signal, a detector enables to detect a logic change of a control input.
- While waiting for this synchronization signal, the operation of the loading unit has to be inhibited by the inhibition means. For this purpose, it is possible to use an inhibition signal generated by the execution unit.
- Preferably, said means for inhibiting the loading unit are interposed between a clock signal of the elementary machine and a clock signal transmitted to the loading unit. Thus, it is possible to easily inhibit the operation of the loading unit by blocking its clock signal used to rate its operations.
- The wait instruction also requires inhibiting the operation of the loading unit while the execution unit uses the counter to reach the predetermined wait duration. Preferably, the instructions enable to implement:
-
- a short wait; and
- a long wait;
- the length of the argument of the long wait being greater than the length of the argument of the short wait.
- Preferably, the argument of the short wait is coded over 4 bits. This short wait thus enables to represent the operation of all the phases having a strong variation with the optimum number of bits to limit the resources of the elementary machine.
- Preferably, the argument of the long wait is coded over 14 bits. This long wait enables to represent the operation of all the phases having a low variation with the optimum number of bits to take into account the maximum variation duration observed on the phases of a detector.
- In addition to these instructions, another instruction preferably enables to place the elementary machine in a low power consumption mode, where the execution unit inhibits the operation of a plurality of components of the elementary machine.
- Further, it is possible to generate a plurality of phases with a single elementary machine or a plurality of juxtaposed elementary machines. For example, the phase generator may comprise at least two elementary machines. This embodiment enables to increase the number of phases capable of being simultaneously generated.
- Preferably, the phase generator comprises a programmable multiplexer arranged at the output of the elementary machine. This embodiment also enables to ease the coding of an operating mode of the detector by modifying the routing of the outputs of said elementary machine.
- The invention will be well understood on reading of the following description, the details of which are given as an example only, and developed in relation with the appended drawings, where identical references relate to identical elements:
-
FIG. 1 illustrates a programming file and the associated binary code of a register of an elementary machine of a programmable phase generator according to an embodiment of the invention; -
FIG. 2 illustrates an elementary machine of a programmable phase generator according to an embodiment of the invention; -
FIG. 3 illustrates a unit for loading the elementary machine ofFIG. 2 ; -
FIG. 4 illustrates the sequencing of the operations between the loading unit and an execution unit of the elementary machine ofFIG. 2 ; -
FIG. 5 illustrates a generator of programmable phases integrating two elementary machines ofFIG. 2 ; and -
FIG. 6 illustrates an example of phases generated by the programmable phase generator ofFIG. 5 . - The
programmable phase generator 10 according to the invention is capable of generating a plurality of phase shapes according to a microcode. - This microcode is formed by a set of bits stored in a
register 12 of anelementary machine 14 ofprogrammable phase generator 10. In the following description, a “computer function” corresponds to a control of a computer programming language enabling to formulate an algorithm. Further, an “instruction” corresponds to a physical implementation of a computer function in theregister 12 of anelementary machine 14. These instructions stored inregister 12 altogether form the “microcode”. - To obtain this microcode, a
programming machine 28 transforms aprogramming file 11 into a microcode, such as illustrated inFIG. 1 .Programming file 11 may be coded with a programming language specifically adapted toprogrammable phase generator 10 or by using a generic programming language, such as the assembly language or the C language. Of course, the functions conventionally used by these languages cannot all be implemented inregister 12, since at most seven instructions Inst can be recognized by programmingmachine 28 to be integrated inregister 12. Indeed, to limit the complexity and the power consumption ofelementary machine 14, instructions Inst are coded over 3 bits, so that only 7 computer functions may be recognized by programmingmachine 28. - In the example of
FIG. 1 , aprogramming file 11 typical of the phase generation is described. In thisprogramming file 11, a first computer function Set_GPO_Init enables to apply a logic level on the different phase outputs INT, XRINT1, XRINT2 ofprogrammable phase generator 10. It is an instruction of initialization ofprogrammable phase generator 10. During the transformation ofprogramming file 11 inregister 12, this first computer function Set_GPO_Init is coded with 000 and the argument of this computer function Set_GPO_Init is placed after code 000 inregister 12. - In the sense of the invention, “argument” designates the variable of a computer function.
- The second computer function Set_Remap of
programming file 11 specifies a position of aprogrammable multiplexer 26 ofprogrammable phase generator 10. - The third computer function Seq of
programming file 11 indicates a beacon from which the program will be executed in a loop. This beacon thus enables to program an infinite loop between computer function Restart and computer function Seq. - The fourth computer function Thread of
programming file 11 enables to specify theelementary machine 14 on which the microcode is to be executed. - By using
argument 0 after computer function Thread, firstelementary machine 14 is targeted for the loop followed between computer function Seq and computer function Restart. In the example ofFIG. 1 , a singleelementary machine 14 is programmed. As a variant, a plurality ofelementary machines 14 may be implemented inprogrammable phase generator 10 andprogramming file 11 may integrate computer functions for a plurality of distinctelementary machines 14 by using a plurality of computer functions Thread with distinct arguments. - The first line of the infinite loop comprises synchronization computer function Sync allowing the synchronization with at least one control input GPI_0, GPI_1 of
elementary machine 14. More specifically, this instruction is coded with 001 and targets the detection of a rising edge on internal signal IntOR ofelementary machine 14. The argument of this function is 00 and it enables to define the internal signal with which this function is to be synchronized. Thus, to implement this computer function Sync IntOR, register 12 integrates a second line withinstruction 001, corresponding to a synchronization computer function Sync, and with theargument 00 corresponding to a detection of a rising edge on internal signal IntOR. The next bits are represented by an X since they are random and they do not influence the operation ofelementary machine 14. - The third instruction coded in
register 12 concerns wait computer function Wait of a predeterminedduration having argument 8. In the example ofFIG. 1 , this wait instruction is coded with 010 inregister 12 andargument 8 is coded over four bits with 1000 as a binary value. In the example ofFIG. 1 , a single type of wait instruction is described and is coded over four bits. As a variant, two wait instructions may be implemented: a short wait instruction and a long wait instruction. - The short wait instruction then has an argument coded over 4 bits, such as illustrated in
FIG. 1 while the long wait instruction may comprise an argument coded over a larger number of bits, for example, 14 bits, to describe the variation of very seldom used phases. - After this wait instruction, the infinite loop comprises a computer function Toggle for toggling the logic level of at least one phase output GPO_0-GP0_9.
- This toggle computer function Toggle is used with a 5 bit-argument enabling to specify one or a plurality of phase outputs GPO_0-GP0_9 to be toggled. This toggle computer function Toggle is coded in the form of instruction 100 in
register 12 and, after this code of instruction Inst, register 12 has the value ofargument 00001. - A new synchronization computer function Sync is then coded in
register 12. This synchronization computer function Sync is similar to that integrated in the second line ofregister 12 and it is also followed by a wait computer function Wait also similar to that previously used. - After this second wait computer function Wait, a new toggle computer function Toggle is used. This second toggle computer function Toggle has an argument different from the first toggle computer function Toggle, since the argument of the second toggle computer function Toggle is 00010.
- A new synchronization function Sync is then programmed with an argument aiming at detecting a rising edge on internal signal IntOF. This detection of a rising edge on internal signal IntOF is coded with 01. Thus, the line of
register 12 associated with this synchronization computer function Sync exhibits bits 00101, withcode 001 to describe the synchronization instruction andargument 01 to describe the argument of this instruction. - After this synchronization computer function Sync, a new wait computer function Wait is coded with a wait duration of 12. Thus, the argument of this synchronization computer function Sync is coded with 1100. The last instruction of the infinite loop corresponds to a new toggle computer function Toggle with
binary code 0001 as an argument. - Eventually, restart computer function Restart is coded in
register 12 with code 111. This instruction 111 has argument 0010 which sends back to the second line ofregister 12, since restart computer function Restart echoes the beacon Seq placed after computer function Set_GPO_Init. - To interpret these different instructions with their respective arguments, an
elementary machine 14 may be developed based on the model ofFIG. 2 .Elementary machine 14 comprises two control inputs GPI_0, GPI_1 enabling to control the operation ofelementary machine 12 during a synchronization instruction. For this purpose, each control input comprises adetector 19 enabling to detect a logic change, that is, a rising edge or a falling edge on each control input GPI_0, GPI_1. At the output of thedetectors 19 associated with each control input GPI_0, GPI_1,elementary machine 14 comprises internal signals indicating the detections of rising edges IntOF and Intl F or of falling edges IntOR and IntOR of the two control inputs GPI_0, GPI_1 -
Elementary machine 14 also has ten phase outputs GPO_0-GP0_9 intended to control a detector. To implement the application instructions, each phase output GPO_0-GP0_9 comprises a controlledswitch 20. Each controlledswitch 20 is wired between an output GPO_0-GP0_9 and the high logic level, called Vhigh, or the low logic level, called Vlow, according to the control signal Cmd1 applied to controlledswitch 20. In addition to this controlledswitch 20, each output GPO_0-GP0_9 also comprises alogic inverter 21, enabling to apply the instruction for toggling the logic level of output GPO_0-GP0_9 during the application of a control signal Cmd2. - Further,
elementary machine 14 also comprises an input MCK for a clock signal enabling to rate the execution of the instructions. This clock signal MCK is connected to inhibition means 17 and acounter 18. -
Elementary machine 14 has the function of decoding the microcode loaded intoregister 12. For this purpose,elementary machine 14 comprises aloading unit 15 configured to detect the instruction Inst to be performed as well as its argument Arg.Loading unit 15 is coupled to anexecution unit 16 configured to execute the instructions Inst transmitted by loadingunit 15. -
Loading unit 15 is more particularly detailed inFIG. 3 . Thisloading unit 15 comprises aninstruction decoder 23 coupled to a decoder ofarguments 25. For each line ofregister 12,loading unit 15 uses a pointer Point to extract a specific line. - In the example of
FIG. 3 , a line is copied into aninner register 22 to ease the understanding of the extraction of the useful bits. Preferably, the extraction of the data ofregister 12 may be directly carried out onregister 12 without requiring a copying into aninner register 22. - From this extracted line, the first three bits are transmitted to an instruction register in
instruction decoder 23. Again, the instruction register, likeinner register 22, aims at illustrating the useful bit extraction method and it is not necessary in practice. - When the bits corresponding to the instruction are extracted from
register 12, they may directly be transmitted toexecution unit 16 by signal Inst. Further, these bits are also directed towards aselector 24 having its inputs corresponding to the different possible argument sizes of the different instructions L_argO, L_arg1, L_arg2 . . . L_argX. Thus, according to the detected instruction, the size of its argument L_arg is delivered at the output ofselector 24. This argument size L_arg is transmitted to the decoder ofarguments 25 which copies the number of bits corresponding to the size of the argument into an argument register. Again, the argument register, likeinner register 22, aims at illustrating the useful bit extraction method and it is not necessary in practice. The bits corresponding to the argument may then be transmitted toexecution unit 16 by signal Arg. - As illustrated in
FIG. 3 ,loading unit 15 is preferably rated by a clock signal CIk1. For this purpose,instruction decoder 23 may be configured to perform a decoding at each rising edge of clock signal CIk1. Inside ofinstruction decoder 23,selector 24 may also be inhibited until a signal FinExec of end of execution ofexecution unit 16 is obtained. - To execute the different instructions,
execution unit 16 thus receives the instruction Inst and the argument Arg of the function to be executed. - When the instruction Inst to be executed corresponds to a computer function of application of a logic level Set_GPO_Init,
execution unit 16 directly controls controlled switches by means of signal Cmd1 according to the argument Arg transmitted by loadingunit 15. Similarly, to execute a toggle instruction,execution unit 16controls inverters 21 by means of signal Cmd2 according to the transmitted argument Arg. - These application and toggle functions may be implemented synchronously with the decoding of the instructions implemented by loading
unit 15. For the other wait and synchronization functions, it is necessary to inhibit the operation ofloading unit 15 for a duration. For this purpose, the clock signal CIk1 transmitted to the loading unit is preferably generated by theinhibition unit 17 controlled by the control signal Cmd3 ofexecution unit 16. Thus, for a synchronization instruction,execution unit 16 waits for the detection of the programmed synchronization signal before lifting the inhibition ofinhibition unit 17 and enableloading unit 15 to carry on the loading of a new instruction Inst and of its argument Arg. Similarly,inhibition unit 17 is also used during a wait instruction. In this case,execution unit 16 uses counter 18 to count for a wait duration corresponding to the programmed argument Arg before lifting the inhibition ofinhibition unit 17. - Instead of using an
inhibition unit 17 directly positioned on the clock signal ofloading unit 15, an end-of-execution signal FinExec may be transmitted toloading unit 15 byexecution unit 16, when the execution is over andexecution unit 16 can receive a new instruction Inst. - Further, the wait instruction may be coded in the form of two distinct instructions: a long wait and a short wait with arguments of different length. In both cases,
execution unit 16 is capable of interpreting these two waits by means ofcounter 18. - As concerns the program restarting instruction, this instruction only aims at modifying the position of pointer Point of
loading unit 15. For this purpose,execution unit 16 uses control signal Cmd4 to displace pointer Point onto the position corresponding to the programmed argument Arg. - In addition to these six instructions, it is possible to implement a seventh instruction with a 3-bit coding for these different instructions. Preferably, the seventh instruction corresponds to the placing of
elementary machine 14 in a low power consumption mode. In this mode, the execution unit may control the deactivation of a portion of the electronic components ofelementary machine 14 to limit its power consumption. - As illustrated in
FIG. 4 , the relations betweenloading unit 15 andexecution unit 16 are sometimes regular and sometimes irregular. For application or toggle instructions, at the first clock signal,loading unit 15 reads instruction Inst, and then transmits the argument Arg of this instruction Inst toexecution unit 16. At the second clock cycle,loading unit 15 loads the second instruction Inst whileexecution unit 16 executes the first instruction Inst. - The second instruction requires an inhibition of
loading unit 15, for example, for the synchronization of a signal on a control input GPI_0, GPI_1 ofelementary machine 14. Thus, during the third clock cycle,loading unit 15 reads the third instruction hist, whileexecution unit 16 executes the second instruction while inhibiting the operation ofloading unit 15. When the second instruction is executed, for example, when the signal of adetector 19 is received byexecution unit 16, the operation ofloading module 15 is reactivated, and the latter may load a new instruction Inst whileexecution unit 16 executes the previously-loaded instruction Inst. - This operation between
loading unit 15 andexecution unit 16 enables to rapidly and efficiently generate the different phases of adetector 10. Thus, it is possible to form agenerator 10 of phases of a detector with a singleelementary machine 14. - To improve the number of phases that may be generated,
phase generator 10 may comprise a plurality of juxtaposedelementary machines 14, as illustrated inFIG. 5 . - In the example of
FIG. 5 , twoelementary machines 14 are used and eachelementary machine 14 integrates itsown register 12. Further, the outputs ofelementary machines 14 are introduced into aprogrammable multiplexer 26 having aregister 27 enabling to specify the routing topology. - Based on
programming file 11, programmingmachine 28 can thus program the tworegisters 12 of the twoelementary machines 14 as well as theregister 27 ofprogrammable multiplexer 26. - In the example of
FIG. 5 , the control inputs GPI_0, GPI_1 of the twoelementary machines 14 are associated with signals originating from a detector FromROIC, while the outputs ofprogrammable multiplexer 26 form the phases INT, XRINT1, XRINT2 enabling to control the operation of detector ToROIC. As a variant, it is possible to use one or a plurality of control inputs GPI_0, GPI_1 of anelementary machine 16 to control the phase generation mode by using a synchronization computer function on a control input GPI_0, GPI_1. -
FIG. 6 illustrates an example of characteristic phases of adetector 10 generated from theprogramming file 11 ofFIG. 1 and implemented by anelementary machine 14. As illustrated inFIG. 6 , a clock signal MCK is used to rate the generation of the different phases INT, XRINT1, XRINT2 and the transitions between these phases INT, XRINT1, XRINT2 appear with the wait durations, 8 and 12, coded inprogramming file 11. - The invention thus enables to generate the phases INT, XRINT1, XRINT2 of a detector, for example, of an infrared detector. By reprogramming
phase generator 10, the shape of the phases may be determined after the forming of the detector by taking into account the technical limitations thereof. Thus, the shape of the phases can be optimal according to the desired operating mode. - Further, the simplicity of the components used to implement this
phase generator 10 enables to limit its power consumption, so that the power consumption ofprogrammable phase generator 10 is similar to that of a hardcoded phase generator integrating more than 15 operating modes.
Claims (9)
1. A generator of phases of a detector, the generator integrating at least one elementary machine for interpreting a microcode stored in a register, each elementary machine comprising:
at least one control input comprising a logic level change detector;
at least one phase output comprising a controlled switch, enabling to define the logic level of the phase output, and a controlled inverter enabling to toggle the logic level of the phase output;
at least one clock signal associated with a counter;
a unit for loading the instructions and the arguments stored in the register, the instructions being coded over 3 bits and enabling to implement at least:
an application of a logic level onto at least one phase output;
a toggling of the logic level of at least one phase output;
a synchronization with a logic change of a control input;
a wait for a predetermined duration; and
a restarting of a predetermined sequence;
means for inhibiting the loading unit; and
a unit for executing the instructions loaded by the loading unit, the execution unit being configured to:
control the position of at least one controlled switch after an instruction of application;
control the activation of at least one controlled inverter after an instruction to toggle;
detect a logic change after an instruction of synchronization;
control the inhibition of the inhibition means for a duration measured by the counter after a wait instruction; and
control the position of a pointer of the loading unit after a restart instruction.
2. The phase generator according to claim 1 , wherein said means for inhibiting the loading unit are interposed between a clock signal of the elementary machine and a clock signal transmitted to the loading unit.
3. The phase generator according to claim 1 , wherein the instructions enable to implement:
a short wait; and
a long wait;
the length of the argument of the long wait being greater than the length of the argument of the short wait.
4. The phase generator according to claim 3 , wherein the argument of the short wait is coded over 4 bits.
5. The phase generator according to claim 3 , wherein the argument of the long wait is coded over 14 bits.
6. The phase generator according to claim 1 , wherein an instruction enables to place the elementary machine in a low power consumption mode, where the execution unit inhibits the operation of a plurality of components of the elementary machine.
7. The phase generator according to claim 1 , wherein the execution module executes an instruction while the loading unit loads the next instruction to be executed by the execution unit.
8. The phase generator according to claim 1 , wherein the phase generator comprises at least two elementary machines.
9. The phase generator according to claim 1 , wherein the phase generator comprises a programmable multiplexer arranged at the output of said at least one elementary machine.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FRFR2011862 | 2020-11-19 | ||
FR2011862A FR3116403B1 (en) | 2020-11-19 | 2020-11-19 | PROGRAMMABLE DETECTOR PHASE GENERATOR |
FR2011862 | 2020-11-19 | ||
PCT/FR2021/051816 WO2022106766A1 (en) | 2020-11-19 | 2021-10-19 | Programmable phase generator for a radiation detector |
Publications (2)
Publication Number | Publication Date |
---|---|
US20240031707A1 true US20240031707A1 (en) | 2024-01-25 |
US11902687B1 US11902687B1 (en) | 2024-02-13 |
Family
ID=74592121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/025,264 Active US11902687B1 (en) | 2020-11-19 | 2021-10-19 | Programmable phase generator for a radiation detector |
Country Status (6)
Country | Link |
---|---|
US (1) | US11902687B1 (en) |
EP (1) | EP4248312A1 (en) |
FR (1) | FR3116403B1 (en) |
IL (1) | IL301661A (en) |
TW (1) | TW202236844A (en) |
WO (1) | WO2022106766A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060197849A1 (en) * | 2005-03-02 | 2006-09-07 | Mats Wernersson | Methods, electronic devices, and computer program products for processing images using multiple image buffers |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2867872A1 (en) * | 2004-03-18 | 2005-09-23 | St Microelectronics Sa | DEVICE AND METHOD FOR MANAGING A WAITING STATUS OF A MICROPROCESSOR |
GB201117319D0 (en) * | 2011-10-06 | 2011-11-16 | Isis Innovation | Active pixel image sensor |
FR3078596B1 (en) | 2018-03-02 | 2020-02-14 | Ulis | HIGH DYNAMIC DEVICE FOR INTEGRATING AN ELECTRIC CURRENT |
-
2020
- 2020-11-19 FR FR2011862A patent/FR3116403B1/en active Active
-
2021
- 2021-10-14 TW TW110138129A patent/TW202236844A/en unknown
- 2021-10-19 US US18/025,264 patent/US11902687B1/en active Active
- 2021-10-19 EP EP21807182.7A patent/EP4248312A1/en active Pending
- 2021-10-19 WO PCT/FR2021/051816 patent/WO2022106766A1/en active Application Filing
- 2021-10-19 IL IL301661A patent/IL301661A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060197849A1 (en) * | 2005-03-02 | 2006-09-07 | Mats Wernersson | Methods, electronic devices, and computer program products for processing images using multiple image buffers |
Also Published As
Publication number | Publication date |
---|---|
EP4248312A1 (en) | 2023-09-27 |
US11902687B1 (en) | 2024-02-13 |
WO2022106766A1 (en) | 2022-05-27 |
FR3116403A1 (en) | 2022-05-20 |
TW202236844A (en) | 2022-09-16 |
IL301661A (en) | 2023-05-01 |
FR3116403B1 (en) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1322397C (en) | Processor system, instruction sequence optimization device, and instruction sequence optimization program | |
KR100731371B1 (en) | Data processor with a configurable functional unit and method using such a data processor | |
CN107229463B (en) | Computing device and corresponding computing method | |
JPS5936857A (en) | Processor unit | |
JPH0922318A (en) | Processor and control method therefor | |
JP2017531375A (en) | Analog / digital conversion with micro-coded sequencer | |
US5838896A (en) | Central processing unit for preventing program malfunction | |
US4794518A (en) | Pipeline control system for an execution section of a pipeline computer with multiple selectable control registers in an address control stage | |
US11902687B1 (en) | Programmable phase generator for a radiation detector | |
KR940006916B1 (en) | Microprocessor with selective cache memory | |
US5526500A (en) | System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions | |
JP2007087284A (en) | Memory interface control method in integrated circuit | |
US6931506B2 (en) | Electronic device for data processing, such as an audio processor for an audio/video decoder | |
US7080204B2 (en) | Cache controller computer system and method for program recompilation | |
US20080229063A1 (en) | Processor Array with Separate Serial Module | |
TW200300904A (en) | Computer processor architecture selectively using finite-state-machine for control code execution | |
US4987534A (en) | Processor having synchronized operation between a CPU and a vector processor | |
US20150293766A1 (en) | Processor and method | |
US7197653B2 (en) | Microcontroller for fetching and decoding a frequency control signal together with an operation code | |
US5301345A (en) | Data processing system for performing a shifting operation and a constant generation operation and method therefor | |
JP2002268877A (en) | Clock control method and information processor using the same | |
EP4098788A1 (en) | Laundry treatment device, control method and apparatus thereof, and storage medium | |
US20220206704A1 (en) | Embedded memory system and memory testing method | |
CN1703670B (en) | Data processing apparatus address range dependent parallelization of instructions | |
KR0167307B1 (en) | Program branch control circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: LYNRED, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MEJEAN, PHILIPPE;REEL/FRAME:062928/0381 Effective date: 20230309 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |