Nothing Special   »   [go: up one dir, main page]

CN101495940A - Demodulator device and method of operating the same - Google Patents

Demodulator device and method of operating the same Download PDF

Info

Publication number
CN101495940A
CN101495940A CNA2007800277440A CN200780027744A CN101495940A CN 101495940 A CN101495940 A CN 101495940A CN A2007800277440 A CNA2007800277440 A CN A2007800277440A CN 200780027744 A CN200780027744 A CN 200780027744A CN 101495940 A CN101495940 A CN 101495940A
Authority
CN
China
Prior art keywords
hardware
counter
hardware block
power supply
clock
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
CNA2007800277440A
Other languages
Chinese (zh)
Inventor
O·埃尔斯霍赫特
J·霍恩斯比
J·格拉德
P·阿库多普洛斯
P·马里维特
T·阿佩蒙特
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.)
Sony Europe BV United Kingdom Branch
Original Assignee
Sony Service Center Europe NV
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
Application filed by Sony Service Center Europe NV filed Critical Sony Service Center Europe NV
Publication of CN101495940A publication Critical patent/CN101495940A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

A system having a plurality of hardware blocks and a method of operating that system where power to each hardware block is independently controlled according to whether or not the respective hardware block is needed for use. A counter is provided in the respective device driver of each hardware block, the counter being configured to be incremented each time a task requests use of the respective hardware block and to be decremented each time a task ceases use of the respective hardware block. The value of the counter is used to control whether or not to power up or power down the respective hardware block.

Description

Have the system of a plurality of hardware blocks and the method for this system of operation
The present invention relates to a kind of the have system of a plurality of hardware blocks (hardware block) and the method for operating this system, especially, described system and method is applicable to the situation that electrical source consumption is paid close attention to, for example in the detuner of digital television receiver.
Known, need to operate a plurality of hardware blocks in the system of the detuner that for example is used for digital television receiver.This system can move a plurality of different tasks, and these tasks can be used these hardware blocks at different time.Especially, if in battery powered apparatus, for example meeting in the digital television receiver of handheld digital broadcasting (DVB-H) standard this system is provided, electric quantity consumption will be very important so.
The application is based on a kind of like this understanding, and that is exactly by the control hardware piece, can help economize on electricity.
According to the present invention, a kind of method that is used for operating system here is provided, wherein this system has a plurality of hardware blocks, and this method comprises: according to whether needs use relevant block independently to be controlled to the power supply of each hardware block.
According to the present invention, a kind of system with a plurality of hardware blocks here also is provided, this system is configured to according to whether needs use corresponding hardware block independently to be controlled to the power supply of each hardware block.
Thus, only when particular piece of hardware was used as the part of specific service or the task of moving in system, described hardware block just can be switched on.And at other any time, this hardware block can be de-energized, thereby reduces the electric quantity consumption of system.
Preferably, this system comprises the device driver that is used for corresponding hardware block, and is configured to support a plurality of tasks, and wherein each task is all used one or more hardware blocks by communicating with the relevant device driver.
Utilize this scheme, want to determine that hardware block should be switched on or outage is difficult relatively, and will need thus to handle in a large number.In a plurality of tasks, in fact be in the service of using for these tasks, any one task or service all might be used particular piece of hardware in certain time.When some particular tasks no longer need to use certain hardware block, at this moment and do not mean that described hardware block can cut off the power supply, because other task might need to use this hardware block equally.
Preferably, in each relevant device driver, all can implement counter, this counter is configured to increase progressively when corresponding hardware block is used in the each request of one of a plurality of tasks, and is configured to successively decrease when one of a plurality of tasks are stopped using corresponding hardware block at every turn.
Doing like this provides a kind of very effective and favourable mode to determine and power up still outage for particular piece of hardware.Give an example,, when counter is nonzero value, is easy to just can determine and powers up for corresponding hardware block so if the initial value of counter is 0.
Preferably, this counter is implemented as application programming interface.
Doing like this provides a kind of simple embodiment, otherwise it will be a very complicated processing.
Preferably, this counter provides an output, so that when the counter indication requires the request of not finishing of the corresponding hardware block of use corresponding hardware block is cut off the power supply.Thus, its meaning between the lines is that counter can provide an output similarly, so that be corresponding hardware block energising when the counter indication needs to use corresponding hardware block.
Preferably, this counter has initial value of zero, so that this output can only be the energising of relevant hardware piece when counter has nonzero value.
This system can also comprise a hardware clock piece, and wherein this piece has: be used for the clock output of clock signal of system, be used to receive the power supply input of the corresponding output of described counter, be used for the clock output of corresponding hardware block, and a plurality of corresponding logic gate.Each respective logic Men Douyu clock input, corresponding power supply input and corresponding clock output link to each other, and are configured to provide clock signal to corresponding clock output selectively according to power supply input.
Should be appreciated that thus hardware block is de-energized by it is removed from clock signal of system.About this point, will be appreciated that most of energy consumptions change generation because of clock.The output of counter can easily be used to control and whether clock signal of system be offered the relevant hardware piece.Hardware block can comprise at least one among timer, UART, SPI, SDIO, tuner, detuner, wave filter and the MPE-FEC.
Timer provides the indication of system time, and allows configure alert is become after through schedule time amount to disappear.UART (universal asynchronous receiver/transmitter) is the standard serial universal data link, and described serial communication data link is used at the DVB-H receiver the log tracks of activity to the computing machine that for example is used to debug.SPI (serial peripheral interface) is one and is used for the equipment that this class of integrated circuit is used at the DVB-H receiver is interconnected the standard synchronous communication data link that communicates and be subjected to its control (just receive order and send the response that comprises command result) with the host application processor.As the feasible alternative of SPI, SDIO (secure digital I/O) is a kind of standard that is used for auxiliary device is connected to the host application processor that the DVB-H receiver uses.Tuner is to be used for extracting and to isolate the specific radio frequency channel of frequency spectrum and with the Analogous Integrated Electronic Circuits of its downward conversion to base band (just taking carrier frequency to 0Hz).Detuner is the digital integrated circuit that is used for demodulation DVB-H signal.Wave filter is to be used to extract as the subclass of mpeg 2 transport stream or from the digital integrated circuit of the specific data packet of this transport stream, wherein these packets are represented with its packet ID (PID) and table I D.MPE-FEC (Multi-Protocol Encapsulation-Forward Error Correction) is a kind of standard mode that encapsulates the data (for example the IP with regard to DVB-H divides into groups) of any kind in mpeg 2 transport stream.FEC is a kind of method that comprises following processing: at the emission pusher side extra code is encapsulated in the mpeg 2 transport stream, and uses these codes to detect and correct transmission error in the MPE data at receiver side.
This system can be used as detuner, for example the interchangeable module as integrated circuit provides.Equally, in digital television receiver, also can provide this system, for example its detuner as receiver inside be provided.Preferably, described detuner and/or receiver meet the DVB-H standard.
The present invention also provides a kind of computer program that is used to implement described processing.For example the computer program of application programming interfaces can be provided to be used in the described device driver.
From below with reference to more clearly understanding the present invention accompanying drawing and the description that only provides as an example, wherein:
What Fig. 1 described is the example that can realize equipment of the present invention;
Fig. 2 schematically describes one and uses system of the present invention;
Fig. 3 provides the alternative synoptic diagram of the embodiment of the present application;
What Fig. 4 described is the reset processing that is used for Fig. 3 device;
What Fig. 5 described is that the cancellation (abort) that is used for Fig. 3 device is handled;
Fig. 6 schematically describes the example of task, service and the device driver of working in Fig. 3 device;
Fig. 7 schematically describes a device driver;
Fig. 8 schematically describes the power control of hardware device;
Fig. 9 has described various energisings and off-position;
Figure 10 has described and has had additional period sheet scheme task, Fig. 6; And
Figure 11 has described the relative priority level of various tasks.
The present invention is intended to be applied in the mobile TV receiver (2), mobile telephone equipment for example shown in Figure 1 (2).This mobile TV receiver can come work according to DVB-H (handheld digital video broadcasting) standard that use in Europe.
Diagram receiver (2) comprising: be used to show the display (4) of the TV programme image that receives, and the user interface (6) that allows user's operation or receiver control (2), wherein this user interface for example comprises a plurality of buttons (8).The audio reproducing of the audio-frequency unit of the TV programme that receives can be provided for the user by a pair of earphone (10).
Fig. 2 schematically describes the part of the receiver (2) that uses in the process of receiving digital television signal.
In the illustrated embodiment, receiver (2) comprises its application processor or main frame (12), and wherein said application processor or main frame can be used to operate the TV functions of receiver (2) and other functions, for example with the phone operation of receiver (2) when also being used as phone.In this connection, this application processor (12) can comprise multiple middleware (14) and the relational storage that is used to store this type of middleware.
Equally, as shown, receiver (2) comprises the module (16) that is configured to handle TV functions specially.This module (16) is produce and market separately, and is provided in numerous different receivers and uses.Though do not describe, this module (16) is configured to output and is used for going up video data that shows and the voice data that is reproduced by earphone (10) at display (4).Under the control of user interface (6), can control module (16) by application processor (12), for example change television channel.
Provide antenna (18), so that receive a plurality of TV signal that are modulated on the various radio-frequency carriers.
In module (16) inside, tuner (20) is configured to tuning particular carrier wave frequency, and the modulation signal that receives is offered detuner (22).This detuner (22) comprises a plurality of hardware cells (24) (except tuner (20)), for example detuner and filter block.These parts are the control work down of the firmware (26) formerly downloaded from application processor (12), can provide at the complete operation of module (16) thus and come output audio/vision signal as required.
Fig. 3 provides the synoptic diagram of replacement of the structure of module (16).
Bus (28) allows to communicate between the piece of module (16).Tuner (20) and other hardware blocks (24) then are connected, so that communicate with processor (30).Also provide serial peripheral interface (32) here, so that communicate with the application processor (12) of receiver (2).In addition, ROM (34) and RAM (36) are also provided here.
Fig. 4 is the process flow diagram that schematically describes the process that takes place in the start-up course of module (16) in the device of Fig. 3.At step S10, wherein provide a reset signal for module (16) and processor (30).So then can cause processor (30) to begin to carry out the instruction that is positioned at address 0x0000, wherein this address is mapped to ROM (34) physically, and described ROM self has comprised the boot-loader device that is used for from application processor (12) download code of receiver (2).At step S12, by using serial peripheral interface (32), the boot-loader device receives the boot configuration parameter and deposits it in RAM (36) from application processor (12).For instance, these parameters can comprise the bandwidth (for example 5,6,7 or 8MHz) of equipment and the frequency of receiver source clock.
Then, at step S14, the boot-loader device is kept at the RAM (36) from application processor (12) download firmware (26) and with it.The download images that is kept among the RAM (36) will comprise the operating system that is used for this module (16).Clearly, for the reason of being discussed, this processing will take tangible time quantum, for example about 200ms.
At step S16, the rom boot loading bin storer that remaps makes address 0x0000 point to RAM (36) rather than ROM (34).At step S18, make processor (30) begin to carry out the instruction that is positioned at address 0x0000 once more, this instruction (because step S16) now will be mapped to RAM (36) physically, and described RAM (36) self has then comprised firmware (26).
At step S20, the firmware that is kept among the RAM (36) impels processor (30) to start the operating system that is kept at equally among the RAM (36).
At step S22, firmware (26) is regained those stored configuration parameters values in step S12.Preferably, these parameter values are to be kept at predetermined or fixed position among the RAM (36).Then, these values will be transfused to storer as required, can carry out initialization to the hardware block that comprises tuner and wave filter or the like thus in step S24.Especially, this firmware uses these configuration parameters in hardware initialization.
At last, in step S26, create the appropriate thread (will further discuss hereinafter) that is used to carry out various tasks.At this moment, module (16) still can be waited for from application processor (12), about order tuning for appropriate TV programme or the like or the establishment wave filter.
In the process of using receiver (2), reinitialize a large amount of hardware elements or piece (20,24) if desired, will expend time in so.For example, might determine to change the RF channel, just change carrier wave.In fact, if Received Loss Of Signal, application processor (12) can determine to move to a different carrier so, rather than only Wait-to-Restore receives.
Concerning processor (30), can also arrange to discharge and restart each hardware block (20,24) subsequently individually.But the application assert that first this processing is very complicated and consuming time.The application has also considered the possibility of the described reset processing of application reference Fig. 4 again.This processing is a very simple and efficient processing.But this processing might be very consuming time, in addition, with reference to aforesaid step S14, is need be time-consuming with firmware downloads to RAM (36).
The application considers to use mandatum cassatorium first, wherein the whole reset processing with application drawing 4 is different, this order will impel module (16) to stop any and all current operations, and discharges all resources, and does not need processor (30) to stop each single operation separately.In this connection, the firmware (26) of processor controls (30) does not have independent shut-down operation and discharges resource, but has merely reinitialized operating system kernel.
Fig. 5 is the process flow diagram that schematically describes the processing that takes place when receiving mandatum cassatorium.
At step S30, send mandatum cassatorium to module (16) from application processor (12).
In response, at step (S32), firmware not only can stop (kill) all threads, timer and incident, but also can stop mutexes, and by means of this, operation is prevented from the time of by two thread execution.So, all processes that module (16) is carried out all can stop the work that it is being carried out, and all operating system memory constructions all can be cleared.In practice, a part of storer has comprised the operating system data that are used to activate thread, and operating system will be known the thread that those are movable thus.When firmware stops all threads, there is no need to delete all and stored thread, but only clear operation system is in order to the storage block of storage activities thread tabulation.Thus, operating system can not seen any thread that once existed.Clearly, this processing almost is instant.
At step S34, firmware starts the operating system once more.In other words, it can reinitialize guiding function, and the execution processing similar to the S20 among Fig. 4.
Then, compare with Fig. 4, then there is no need execution in step S22, this is because there is no need storage configuration parameter again here; These configuration parameters correctly have been kept in the storer.At this moment, what deserves to be mentioned is, use different configuration parameters if desired, for example use different bandwidth, an all reset is handled and is needed so.
Then, this processing jumps to step S36, and there, firmware will initiating hardware.Compare with the step S24 of reset processing, the step S36 that cancellation is handled is simpler.Especially, do not reinitialize the hardware that those relate to communication, especially serial peripheral interface (32).In a preferred embodiment, be to carry out with application processor (12) and relate to communicating by letter that cancellation handles because serial peripheral interface (32) handles, so serial peripheral interface (32) does not reinitialize.On the other hand, if in storer, kept treatment state and after initialization, it returned to serial peripheral interface (32), can carry out so with reset processing in the similar complete hardware of step S24 reinitialize.
At step S38, with reset processing in the similar mode of step S26 create appropriate thread.In addition, in step S40, firmware comes to send a cancellation response to application processor (12) by serial peripheral interface (32), confirms that to application processor (12) this cancellation processing finishes thus.
The following does not reinitialize: block configuration (having carried out in step S22), VIC (vector quantization interruptable controller).Some other piece is only partly reinitialized: detuner, SPI and SDIO controller (being used for host protocol communicates by letter), and DMA (direct memory access (DMA)) controller.
Thus, can provide a kind of demodulator device and a kind of method that is used to operate this demodulator device here, wherein in order to avoid shutdown by discharging single resource, guiding (bootstrap) operating system kernel stops receiver.Module (16) can be used as demodulator chip to be provided, for example the DVB-H demodulator chip.Can provide embedded firmware for the DVB-H demodulator chip.
Concerning any software systems of carrying out single basic operation, no matter whether these software systems are embedded, and this universal method all is suitable for; If in cancellation or stop the original state equivalence after the system state and energising after the current operation, so this universal method is especially suitable.
As from above knowing the understanding, receiver (16) is implemented enabled hosts application processor (12) to its communication protocol of controlling.This agreement has comprised the order that is used for configuration and starts the major function of receiver (16), for example scan frequency spectrum and find the DVB-H signal, be tuned to characteristic frequency and SI is set and the MPE wave filter, and receive payload data.The same with any control system, this agreement also comprises the order that is used for shut-down operation, for example stops the spectrum scan to carry out and handles, and stop and discharging (removing) SI and MPE wave filter.
But, what receiver (2) was implemented is a kind of like this communication protocol, wherein the novel part of this communication protocol is: 1) defined an additional #ABORT order, it is any with all current operations and discharge all resources that this order impels receiver to stop, and do not need the host application processor to stop each single task separately, and 2) provide #ABORT to order the firmware embodiment of self, it is shut-down operation and release resource separately not, but the substitute is, it can reinitialize operating system kernel.
For example be tuned to different frequency or create SI and the preparation of the different sets of MPE wave filter in, the #ABORT order provides a kind of fast simple mode that receiver (16) is turned back to clean state for host application processor (12).In addition,, will reduce code quantity so, and will make embedded firmware littler, save in-line memory thus if the process all operations that needn't circulate stops it and do not need to discharge all resources.
In a particular embodiment, receiver software (before being described as firmware) embodiment moves on the Embedded Real-Time kernel operating system ThreadX of Inc. from Express Logic.In the initialization procedure of ThreadX system, can distinguish a plurality of steps:
Initialization procedure
0. system reset (interrupting disabled)
1. jump to the image input point
2. developing instrument initialization (comprising the global variable initialization) (can remove this step in certain embodiments).
(3.main): carry out preliminary treatment (this comprises the hardware initialization that timer and so on is set) (this step can be finished in combination as the image input point, will not have main () function thus).
4. start ThreadX by calling tx_kernel_enter ().
5. call tx_application_define () by ThreadX:
A. create system resource (The Application of Thread, mutexes, event flag, timer)
B. actuating equipment initialization, and
C. call the initial method of software module.
6. enter thread scheduling circulation (interruption is enabled).
After this initialization process, system is in known state X, and wherein, it can begin to receive the order from main frame.
When receiving the #ABORT order, force system to enter identical known state X by a part that re-executes above-mentioned initialization sequence.
Cancellation is handled:
0. main frame sends #ABORT.
1. in the timer thread:
A. disable interrupts
B. by the OS resource structures being reinitialized to 0 discarded all OS resources (The Application of Thread, mutexes, event flag, timer).
C., PostABORT sign (can follow the global variable of the initialization process after #ABORT for the inquiry of module embodiment with identification) is set
Now, the state after this state and the initialization step 3 is complementary.
2. restart ThreadX by calling tx_kernel_enter ().
3.ThreadX will call tx_application_define ():
A. create system resource (The Application of Thread, mutexes, event flag, timer) again
B. re-execute device initialize
C. call the initial method of software module, and
D. to the response of main frame transmission about #ABORT.
4. enter thread scheduling circulation (enabling interruption).
As the part of step 3.c, the enforcement of software module only should be considered and in the step 2 of initialization process the overall situation and static variable be carried out initialization.If expection reinitializes arbitrary overall situation or static variable according to #ABORT, should in the initial method of particular module, dominance carry out this processing so.
Fig. 6 schematically describes the example of the software end in the Digital Television reception, and wherein for instance, described Digital Television receives and for example can work in the module of module as described above (16).
At top layer, a plurality of functions of being carried out by module (16) are illustrated as thread or task (40).In these threads and the task each has all been used one or more services (42) that can obtain from layer in the bottom.At least in some environment, in order to carry out the function of the service (42) that is used for these tasks, these services (42) will need to use the hardware (20,24) in the module (16).For this purpose, each service can use and relevant device or the corresponding one or more device drivers of hardware block (20,24) (44).
The application has considered the electric quantity consumption problem of distinct device or hardware block (20,24) first.When opening these equipment or hardware block (20,24), they will consumes power, and the application thinks, when not using these equipment or hardware block (20,24), it is closed, and will be useful so, and are especially true concerning battery powered apparatus.For example, for digital television receiver, the data block that receives and handle in the burst (burst) is quite common.Therefore, receiving and handling in the process of these bursts, at different time, various hardware blocks or equipment both might be among the use, also might not be used.
Refer again to Fig. 6, it should be understood that different tasks and service might need equipment and device driver at one time concerning the different task and service of operation simultaneously.So then being difficult in arbitrary time determines whether be particular device or still outage of hardware block (20,24) energising.Especially, single task can be worked in mode independent of each other, and is same, and independent service also can be worked in mode independent of each other, and thus in general, task or service will not know that other tasks or service using which equipment or hardware.
As the solution of this problem, the application has proposed to use power management applications DLL (dynamic link library) (API) (46) for each driver (44).In Fig. 7, this is schematically described.
In fact, power management API comprises counter, and this counter increases progressively when relevant device or hardware block (20,24) are used in the each request of service (42), and can successively decrease when stopping using equipment or hardware block (20,24) at every turn.Concerning this device, will be appreciated that as long as counter has and increases progressively or non-zero status, will there be an indication so, it indicates that at least one service needs to use corresponding apparatus or hardware clock (20,24), should keep energising thus.Have only when counter is in null value or does not increase progressively, relevant device or hardware block (20,24) just can cut off the power supply.
As Fig. 7 schematic description, power management API (46) is that relevant device or hardware block (20,24) provide a power supply signal (48).In response to this power supply signal (48), corresponding apparatus or hardware block (20,24) can be switched on or cut off the power supply.
This power supply signal (48) can use with multitude of different ways, so that the power supply of control relevant device or hardware block (20,24).
Fig. 8 schematically describes a kind of device, and in this device, power supply signal (48) is used in combination with master clock signal (50) and clock piece (52).
In equipment or hardware block (20,24), there are two main electric quantity consumption sources.At first, the conversion each time according to clock signal all has significant relatively electric quantity consumption.Secondly, also be to exist to reveal under the situation of not considering clock signal.For example according to as shown in Figure 8 preferred embodiment, all power supplys to particular device or hardware block (20,24) can be closed, but only stop to be used for relevant device or hardware block (20,24) clock stops because change the power loss that is caused, and this can not satisfy the demand.
In the embodiment shown in fig. 8, clock signal (50) is provided for hardware block (20,24) by clock piece (52).This can be used as one and has comprised respectively with the hardware block of the corresponding a plurality of doors of hardware block (20,24) (54) and realize.The corresponding power supply signal of each basis (48) is enabled or forbids.Like this, the power management API (46) of driver (44) controls whether clock signal (50) being offered relevant hardware piece (20,24).
Can use " or " or AND gate.Concerning AND gate,, will switch on for hardware so if power supply signal (48) is arranged to 1; If it is set to " zero ", then hardware can be cut off the power supply.Concerning OR-gate, if power supply signal (48) is arranged to " 1 ", the clock piece can be remained on " 1 " so, freeze clock thus and thus with the outage of this piece; If power supply signal (48) is arranged to zero, will make so piece clock and system clock equivalence will be this piece energising thus.Preferably, this hardware uses OR-gate, and thus must counter-rotating power supply signal (1 expression is cut off, and 0 expression is connected).
Will be appreciated that this device can use in any circuit that wherein has a plurality of independent hardware blocks, wherein these hardware blocks can be switched on or cut off the power supply selectively.This device is particularly useful in digital television receiver, for example DVB-H receiver or module, and wherein said module for example is the module of using in this type of receiver (16).But it also has other application, for example uses in mobile phone or personal computer.
The method of a kind of system and operating system can be provided thus, and especially described system and method has used reference count, so that come save power by the clock of forbidding those unwanted independent hardware blocks.For any power supply status of control hardware piece and by the system of a plurality of software tasks or the asynchronous use hardware block of thread, this method all is suitable for separately therein.
Concerning power management, independent primary power state (switching on or off) is different with having, and receiver hardware (20,24,52) will allow to control separately the power supply of each piece (20,24), so that save more electric power.For example, in case receive burst and deposit it in MPE-FEC storer (24), then can to burst error correction and send it to main frame or application processor (12) in close tuner (20), detuner (24) and filter block (24).Have only after this, the MPE-FEC piece just can be closed.As mentioned above, the difficult problem in the embedded firmware embodiment comes from such fact, and the power supply status of promptly single hardware block (20,24) might depend on the activity of a plurality of tasks (40).For example, tuner can use for interface processor (or interface processor task (40)), so that carry out the SCAN order, it also can be used by time slice device (or time slice device (40)) in addition, so that receive burst.Perhaps, described MPE-FEC handles parallel IP service possibly.
In order to simplify embodiment, each device driver (44) can be managed the power supply status of the hardware block that is subjected to its control independently.In this connection, the example of synchro source Administration API is as follows:
Requesting service remains on its power supply status on the POWERED_ON Err_t DrvXXX_PowerUp()
The waiver of premium is held on this power supply status Err_t DrvXXX_PowerDown()
Client computer or service (42) will be called PowerUp () function and be shown that it need remain on POWERED_ON with the power supply status of equipment.If equipment (20,24) is not opened as yet, driver (44) will be opened this equipment immediately so.Then, in the time can abandoning described maintenance, client computer or service (42) will be called PowerDown ().But in fact, only when not having other client computer or service (42) to keep energising, the power supply status of this equipment just can switch to POWERED_OFF.This processing is by allowing driver (44) keep a power supply status counter to realize.This state is initialized to 0, and can increase progressively when calling PowerUp () each time, and successively decreases when calling PowerDown () at every turn.When Counter Value was zero, equipment (20,24) will be closed.
Some services (42) (tuning, SI extracts with IP and extracts) will be implemented identical API.Each device driver is implemented power management API, and service or task can be controlled the power supply status of corresponding hardware block by using described API.Has only system task just need have for example when to need viewpoint for tuner and detuner energising.For example, tuning service is known tuner and demodulator blocka to be switched on and is carried out tuner operation.But when it can be with these piece outages if not being known, wherein this time might be in the latter stage that receives current burst (timeslice just), has only IP to receive task and just knows this time.
In preferred firmware framework, not direct access means driver of task and API thereof, but only come it is conducted interviews by the intermediary service piece in the service layer.Preferably, should exist a kind of service that supplies to be forwarded to the method for device driver from the power management request of task here.This realizes by allowing service and device driver implement identical power management API.
In service, power management API implements with its mode identical in device driver with a kind of, that is to say that it is implemented by reference count.This unique difference wherein is: replace the control power supply signal, and when reference count is non-zero or zero respectively, the PowerUp () of service call underlying device driver and PowerDown () function.
Give an example, by above-mentioned API, time slice shown in Figure 6 has a high regard for affair to be easy to just can implement as following false code shows:
Repeat forever:
SrvTune_PowerUp()
The asynchronous * of SrvTune_AcquireSignalLock ()/*/
SrvSi_PowerUp()
Srvlp_PowerU p()
The asynchronous * of SrvIp_ReceiveBurst ()/*/
SrvTune_PowerDown()
SrvSi_PowerDown()
The asynchronous * of SrvIp_ProcessBurst ()/*/
SrvIp_PowerDown()
RTOS sleep until SrvIp_GetNextTimeSlice ()/* prevention */
The application has proposed a kind of new system, and in this system, the power supply status of the independent hardware block (20,24) that is used in combination by a plurality of software tasks can independently be controlled by the independent clock signal of the independent hardware block of forbidding (20,24).In minimum software layer (device driver) (44), when 1) when having a plurality of software tasks to share identical hardware resource; And 2) in the time of the described hardware resource of the asynchronous use of a plurality of software tasks (and it need be switched on), can use reference count to determine when and to be hardware block energising or outage.
The power supply control reference count API of standard not only can implement in actuator layer, and can implement in all software layers thereon, is used indirectly by the function call for the middle layer so which hardware block top layer needn't know.
Like this, can conservation of power in the multitask multi-threaded system.In addition, because certain global state does not need to be utilized all software element inquiries of the hardware block that is subjected to power supply control or revises, therefore, the framework of this system and embodiment can be simplified.
Following example is based on the embodiment of Fig. 2 and 6, this example hypothesis IP extract mainly need be to use three main hardware elements, i.e. tuner/demodulators piece, transmission filter piece and fec frame controller block.Software architecture comprises being on the service top layer of task, and wherein said service is on the driver.
As mentioned above, each hardware block (20,24) is all controlled by driver (44).The hardware block (20,24) of implementing power management function have its PowerUp () and PowerDown () function right.Each PowerUp () function all can be counted its invoked number of times, and when it was called first, hardware block will be switched on, and counter uses and will increase progressively.And will only can increase progressively this usage counter at all subsequent calls of this PowerUp ().PowerDown () works in an identical manner, and its usage counter but it can successively decrease reaches 0 until this counter, at this moment, and actual outage of hardware (20,24).
Give an example, hardware block and power control function thereof are following providing.
Tuner block need be energized before any other piece.Demodulator blocka equally need be movable before can extracting data.In this example, for the purpose of simplifying the description, suppose that tuner and demodulator blocka are coupled.But tuner and demodulator blocka can have their PowerUp () and PowerDown () function, so that conservation of power.
By using DrvDemux_PowerUp () and DrvDemux_PowerDown () function, can activate or deactivation transmission filter clock, so that conservation of power.
By using DrvFec_PowerUp () and DrvFec_PowerDown () function, can activate or deactivation fec frame controller clock, so that conservation of power.The FEC piece needs the transmission filter piece to be in active state, so that the actual reception data, DrvFec_PowerUp () and DrvFec_PowerDown () function call DrvDemux_PowerUp () and DrvDemux_PowerDown () function equally respectively in inside thus.
As mentioned above, software function (being non-specific for the function of hardware) is to implement in the service (42) of using driver (44).These services (42) also can have PowerUp () and PowerDown () function, and these functions use these to serve by task and call.Usually, they use a usage counter equally and implement at calling of drive power supply control function.
Concerning extract a plurality of IP extraction processing of working with SI,, can easily realize accurate power supply control by this framework.Concerning processing is extracted in each the IP filtering that brings into operation from a task, as long as it needs specific resources, it will be described resource energising, when no longer needing these resources, it can be with these resource outages, here, crucial framework point is: each IP or SI wave filter are all treated independently, and each IP or SI wave filter have all used the power control function of each shared resource.
Below be the power supply use-case of tuner/demodulators, demodulation multiplexer and fec frame controller, suppose wherein that two IP wave filters are worked simultaneously and share the situation of hardware resource certain period.What Fig. 9 described is the power supply counter use value of three master drivers, and what illustrate below is the false code that is used for two stand-alone service, wherein these two stand-alone service are moved simultaneously, and the value in the bracket is represented the power supply usage counter of each driver.
IP0 IP1
SrvIp_GetNextTimeSlice ->Sleep DeltaT_0 msec SrvTuning_PowerUp ->DrvTuner_PowerUp (0->1) SrvTuning_Tune SrvIp_PowerUp ->DrvFec_PowerUp (0->1) ->DrvDemux_PowerUp (0->1) SrvSi_PowerUp ->DrvDemux_PowerUp (1->2) SrvIp_ReceiveBurst SrvTuning_PowerDown ->DrvTuner_PowerDown (2->1) SrvSi_PowerDown ->DrvDemux_PowerDown (4->3) SrvIp_PowerDown ->DrvDemux_PowerDown (3->2) ->DrvFec_PowerDown (2->1) SrvIp_Proces sBurst SrvIp_GetNextTimeSlice ->Sleep_DeltaT_1 msec SrvTuning_PowerUp ->DrvTuner_PowerUp (1->2) SrvTuning_Tune SrvIp_PowerUp ->DrvFec_PowerUp (1->2) ->DrvDemux_PowerUp (2->3) SrvSi_PowerUp ->DrvDemux_PowerUp (3->4) SrvIp_ReceiveBurst SrvTuning_PowerDown ->DrvTuner_PowerDown (1->0) SrvSi_PowerDown ->DrvDemux_PowerDown (2->1) SrvIp_PowerDown ->DrvDemux_PowerDown (1->0) ->DrvFec_PowerDown (1->0) SrvIp_ProcessBurst
As will at specific embodiment hereinafter discuss, in the equipment such such as the module (16) of Fig. 2, a plurality of mission requirementses are carried out simultaneously or are performed in overlapping mode at least.For example, after Fig. 6, as shown in figure 10, might exist a plurality of time slices to have a high regard for affair, wherein each time slice has a high regard for affair all can operate corresponding IP (Internet Protocol) reception journey.That each time slice has a high regard for affair to have to be in use, the respective service set (for example tuning, S/PSI: extract and IP: extract service) of himself, and as shown, more preferably share identical set of service.But, in any case, being necessary to provide certain system, it allows all tasks at one time at module (16) internal work.
As everyone knows, if real time operating system can be used, can be corresponding thread with independent duty mapping so.The storehouse that is used for each its respective thread all has been provided a memory area, and each thread all with every other thread independently mode handle, wherein said storehouse allows operating system to provide the time of resource to share in module (16).Especially, this storehouse allows to break away from certain thread in any convenient time in the mode that has precedence over other thread, and returns this thread in possible.
Like this, task shown in Figure 10 can be provided independent its respective thread, i.e. idle thread, interface processor, semaphore lock device and four time slice devices.
Regrettably, use thread by this way, can require to use those to need the corresponding storehouse of storer equally.In using most of equipment of real time operating system, wherein often have enough storeies and make the demand of storehouse become unimportant.Yet, as receiving for handheld televisions the equipment considered, the module (16) among for example Fig. 2, can be contemplated that its resource aspect storer is very limited to those.
As an alternative, possiblely be: all unitary part of task can be combined as single state machine.Do like this and will not have identical storage requirement, but its dirigibility is very low.Give an example, with regard to the task A of needing steps A 1 and A2 and the task B of needing step B1, B2 and B3, can construct an independent state machine, wherein for example operating procedure: A1, B1, B2, A2, B3 in the following order all the time of this state machine.Will be appreciated that this stationary installation has very limited dirigibility, when unexpected situation occurring, this device might be not suitable for very much.Especially, a kind of so unexpected situation may be to restrict the incident of handling in the time range of defined in real time.Concerning the stationary state machine, the stand-by period before this incident is processed can be until a complete cycle by this state machine.
Notion about coroutine is known equally.After the predetermined process in coroutine, coroutine can be bent and be allowed (yield), thus turn back to first coroutine bend the point that allows before the permission system select might be from the step of other coroutine.Like this, concerning the example that above provides, first coroutine can be constructed with yield point after steps A 1 and steps A 2, and is same, and coroutine can be at step B1, construct with yield point at step B2 and after step B3.Overall process will be proceeded in a kind of known mode, and for example by be beginning with steps A 1, and in the yield point of steps A 1 end, whether inspection understands system ready execution in step B1.If this system is ready, this processing moves to step B1 so, otherwise this processing moves to A2.This device provides certain flexibility ratio, and is not used in the storer needs of the storehouse of each processing.
The application has proposed a kind of device first, and in this device, coroutine is built in individual threads inside.Especially, the process (being described as task in other mode here) with same or similar priority can be arranged to the coroutine of single thread inside, and the process that allows thus to have complete different priorities has their individual threads.Concerning embodiment shown in Figure 10, this means that the coroutine that time slice that the filtering of data bursts is operated has a high regard for affair all to can be used as single thread inside comes work.Therefore, concerning a plurality of time slices were had a high regard for affair, needed only was an independent memory stack.On the other hand, as described below, if interface processor or semaphore lock device might need food slicer task break period, this can finish so, and this is because they are to come work with the individual threads with respective memory storehouse.
If there are a plurality of tuners to use, similar methods also is operable so.In this case, a plurality of interface processors or semaphore lock have a high regard for affair to coexist via the coroutine of its respective thread inside.
Thus, can provide a kind of system and method for prioritizing here, especially in the digital television receiver that for example uses real time operating system priorization those have the routine of time importance.Concerning having about the software systems of the hard real-time of performed task subclass restriction, this suggestion all is suitable for.
In the context of the processing of above-mentioned module (16) and Fig. 6 and 10, being carried out by the software of preferred embodiment of task is 1) configuration and control tuner and detuner, scheduling time sheet and extract the SI/PSI form and the IP service, and communicate with host application processor (12).The target of this framework is to carry out all software tasks when optimizing timing, electric quantity consumption and storer use.
The processor (30) of supposing Fig. 3 has enough electric power and carries out all software tasks.But, also have the particular event that needs particular concern because of the real-time restriction that is applied.This type of incident is that semaphore lock is lost interruption.The service that provides for this interruption and the startup of automatic restore procedure should be carried out as quickly as possible, also can suspend other activities if necessary, because any delay all might cause the IP packet loss.This means when the needs run signal is obtained task, this task must preemption any one just in the task of treatment S I/PSI table or MPE-FEC frame (for example extracting the IP data) by carrying out error correction.On the other hand, and handle the MPE-FEC frame and extract the IP service and compare, SI/PSI shows such as extracting, executive software AGC or all have less time importance to the task that UART sends out debugging message.Their may must become can come preemption by the IP service role.
As mentioned above, here imagination be that this storer is for example rare resources of extreme in the DVB-H receiver of a plurality of equipment.At some embodiment, operable RAM might be no more than 64kiB.Thus, this framework should be a target to minimize following: the code size; Size of data; And stack space.
As mentioned above, be used to realize that the typical way of restriction is to use real time operating system (RTOS) in real time, and be that each software task (40) is specified independent RTOS preemption (pre-emptible) thread and a priority.But each RTOS thread all needs independent operation storehouse, do like this will elevator system total storage requirement.
Suggestion according to the application, a kind of DVB-H receiver (2) can be provided, wherein this receiver can be assigned to software task following combination: 1) RTOS preemption thread, be used to task (40) to realize restriction in real time, and 2 with these threads) the typical collaboration type coroutine that is used for not having the task (40) of relative real-time priority.The group of coroutine is at single RTOS preemption thread internal operation, and will share identical operation storehouse thus.Multitask realizes by performing coordinated scheduling, this means that each task (being coroutine) cooperation all can produce time dependent control, so that allow operation other tasks (being coroutine).Like this, use RTOS preemption thread, make and realize restriction in real time when real-time restriction is very important, meanwhile, the coroutine of collaboration type will conserve memory.
With reference to figure 6 and 10, should be noted that top layer piece (40) is called as task, but they also can be regarded as thread.In reality, time slice device thread has moved several coroutines, and wherein each coroutine all can be carried out a corresponding IP and receive task.In order to limit stack space, the RTOS number of threads in the system should remain on the minimum value of a strictness.But as discussed previously, some task should be moved with asynchronous system in low regularly restriction inside.
An example that in Figure 11, has shown real-time task scheduling.Though addressed related task hereinbefore, still provided brief overview hereinafter about each task.
It is the low priority task of a control system heartbeat that time slice is had a high regard for affair.Concerning each (for example DVB-H) timeslice, it is 1 years old) ask tuner to wake hardware up and obtain semaphore lock again, 2) wait for SI/PSI or IP incident and it is handled 3) the tuning service of request closes hardware, and 4) dormancy always before next timeslice.By using the application's suggestion, this thread actual motion several coroutines.Each coroutine all can be carried out the task of the single IP service of the reception of as above enumerating, and wherein allows to use performing coordinated scheduling to handle other IP services.
Interface processor is the medium priority tasks of a processing host processor command, and it is asynchronous with the stream processing in essence.It manages receiver state, and uses tuning service to implement SCAN and TUNE order.Because the SPI host interface is a performance bottleneck, therefore, have a high regard for affair to compare with time slice, this task must have higher priority.
The semaphore lock device is one semaphore lock is lost the high-priority task that any incident that needs fast processing of incident or other is made response.In the semaphore lock loss situation, it can start rejuvenation.
Idle task is the minimum task of system's medium priority.Only every other task all dormancy and or etc. during pending certain incident, this task just can be scheduled.Its unique function is that processor (30) is arranged on low power supply status.
What Figure 11 described is typical scheduling scheme, and has proved RTOS and how to help to construct and satisfy low latency regularly and the simple designs that restricts of power.
Partly (a) is illustrated in the idle task of dispatching between the timeslice.Unique processing that this task is carried out is that processor (30) is placed low power supply status.Processor (30) can be waken up at next timeslice (being had a high regard for the timer that be engaged in to be provided with by time slice), perhaps wakes up when receiving Host Command (SPI/SDIO interruption) and being handled by interface processor.
How fast what partly (b) described is Real-Time Scheduling attribute enabled services Host Command, even when the time slice device is in operation.For example, if main frame has sent the SEND_STAT_DATA order when time slice device treatment S I form, before providing service for this request, unique delay is that context switches basically so.
What partly (c) described is multistage preemption.It has shown how RTOS helps to handle the semaphore lock that does not almost have to postpone and lose interruption.
The single IP service of the management of describing in the above-mentioned part is enough simple.But as shown in figure 10, receiver will support to receive simultaneously nearly four IP services, and wherein each IP service all has oneself delta-t value and the energising cycle of oneself, the energising cycle overlaid that this cycle can serve with other IP.
The straightforward procedure that is used to implement this processing is to be thread of each IP service-creation, but as mentioned above, preferably limits storage is used.Because different attribute is not the demand of IP service, therefore, use the collaboration type multitask.This can implement by state machine, but preferred embodiment use be exquisiter, be easier to the coroutine that reads and be easier to keep.As mentioned above, coroutine allows to have a plurality of exit points in a function, keeps executing state simultaneously, and compares based on the state machine that switches, and does to make control stream more clear and definite like this.In fact, coroutine allow with a kind of and other tasks mutually independently mode implement the collaboration type task.

Claims (22)

1. system with a plurality of hardware blocks, this system are configured to according to whether needs use the relevant hardware piece independently to be controlled to the power supply of each hardware block.
2. according to the system of claim 1, comprising: be used for the device driver of corresponding hardware block, this system is configured to support a plurality of tasks, and wherein each task has all been used one or more hardware blocks by communicating with the corresponding apparatus driver.
3. according to the system of claim 2, wherein in each relevant device driver, implemented counter, this counter is configured to increase progressively when corresponding hardware block is used in the each request of one of a plurality of tasks, and successively decreases when one of a plurality of tasks are stopped using corresponding hardware block at every turn.
4. according to the system of claim 3, wherein this counter is implemented as application programming interface.
5. according to the system of claim 3 or 4, wherein this counter provides an output, with the indication of convenient counter require to use the relevant hardware piece do not finish request the time with corresponding hardware block outage.
6. according to the system of claim 5, wherein this counter has initial value 0, and has only when this counter has nonzero value, and this output can make the energising of relevant hardware piece.
7. according to the system of claim 5 or 6, also comprise the hardware clock piece, it has the clock input of the clock signal that is used for this system, be used to receive the power supply input of the corresponding output of described counter, be used for the clock output of corresponding hardware block, and a plurality of corresponding logic gates, wherein each corresponding logic gate all links to each other with clock input, corresponding power supply input and corresponding clock output, and is configured to import according to power supply and clock signal is offered corresponding clock selectively exports.
8. according to the system of aforementioned arbitrary claim, wherein said a plurality of hardware blocks comprise at least one among timer, UART, SPI, SDIO, tuner, detuner, wave filter and the MPE-FEC.
9. according to the system of aforementioned arbitrary claim, wherein this system is a detuner.
10. according to the system of aforementioned arbitrary claim, wherein this system is the interchangeable module.
11. according to the system of aforementioned arbitrary claim, wherein this system is an integrated circuit.
12. according to the system of aforementioned arbitrary claim, wherein this system is a digital television receiver.
13. according to the system of aforementioned arbitrary claim, wherein this system meets the DVB-H standard.
14. a method that is used for operating system, wherein this system has a plurality of hardware blocks, and this method comprises: according to whether needs use relevant block independently to be controlled to the power supply of each hardware block.
15. the method according to claim 14 also comprises: the power supply of controlling independent hardware block by the clock of forbidding the relevant hardware piece selectively.
16. the method according to claim 14 or 15 also comprises: use the reference count in the minimum software layer to determine when and with the hardware block energising or to cut off the power supply.
17., also comprise according to claim 14,15 or 16 method:
For each hardware block provides counter;
Use the relevant hardware piece and thus in the request with its energising, increase progressively described counter receiving at every turn;
Stop using the relevant hardware piece and thus in the request with its outage, this counter successively decreases receiving at every turn; And
When counter indication do not require for the hardware block energising do not finish request the time, the signal with corresponding hardware block outage is provided.
18. the method according to claim 17 also comprises:
When the indication of described counter do not require with the hardware block energising do not finish request the time, the relevant hardware piece is cut off the power supply.
19. the method according to claim 17 or 18 also comprises:, and in the corresponding apparatus driver, implement described counter for each hardware block provides device driver.
20. a computer program, this program has comprised program code devices, and when moving described program on computers, described program code devices is used for institute that enforcement of rights requires 14~19 arbitrary claims in steps.
21. according to the computer program of claim 20, wherein said computer program is implemented as the application programming interface of using in device driver.
22. computer program, wherein this product has comprised the program code devices that is kept on the computer-readable medium, when moving described program product on computers, described program code devices is used for the method that enforcement of rights requires 14~19 arbitrary claims.
CNA2007800277440A 2006-07-21 2007-07-09 Demodulator device and method of operating the same Pending CN101495940A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0614547A GB0614547D0 (en) 2006-07-21 2006-07-21 Demodulator device
GB0614548.6 2006-07-21
GB0614547.8 2006-07-21
GB0614549.4 2006-07-21

Publications (1)

Publication Number Publication Date
CN101495940A true CN101495940A (en) 2009-07-29

Family

ID=36998518

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007800277440A Pending CN101495940A (en) 2006-07-21 2007-07-09 Demodulator device and method of operating the same
CNA2007800276185A Pending CN101490649A (en) 2006-07-21 2007-07-09 Demodulator device and method of operating the same

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA2007800276185A Pending CN101490649A (en) 2006-07-21 2007-07-09 Demodulator device and method of operating the same

Country Status (2)

Country Link
CN (2) CN101495940A (en)
GB (1) GB0614547D0 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970316A (en) * 2012-02-15 2013-03-13 中国人民解放军海军航空工程学院 Real-time propelling multi-platform mixed communication mechanism
CN105426253A (en) * 2015-12-18 2016-03-23 广州广电运通金融电子股份有限公司 Hardware management method and device for self-service equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970316A (en) * 2012-02-15 2013-03-13 中国人民解放军海军航空工程学院 Real-time propelling multi-platform mixed communication mechanism
CN105426253A (en) * 2015-12-18 2016-03-23 广州广电运通金融电子股份有限公司 Hardware management method and device for self-service equipment

Also Published As

Publication number Publication date
CN101490649A (en) 2009-07-22
GB0614547D0 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
US8161276B2 (en) Demodulator device and method of operating the same
CN105916010B (en) A kind of standby and awakening method and device of smart television
US9189049B2 (en) Power management in a device
US7860063B2 (en) Systems and methods for wireless access terminal command processing
US20060010446A1 (en) Method and system for concurrent execution of multiple kernels
CN113504985B (en) Task processing method and network equipment
US20110173254A1 (en) System and method for scheduling device management
US7795955B2 (en) Semiconductor integrated circuit and power control method
JP2005073231A (en) Control device for process device
US20090254901A1 (en) Systems and methods for using operating system (os) virtualisation for minimizing power consumption in mobile phones
US10531382B2 (en) Offloading MAC/link layer functions
US8984315B2 (en) Method and system for adjusting the operation mode of a multicore data processing device
US20090183153A1 (en) Method and computer for synchronous scheduling of multiple virtual CPUs
CN105376645A (en) Set-top box and power consumption reduction method
CN201387606Y (en) Interrupt processing device and physical connection state rollover event processing device
CN101495940A (en) Demodulator device and method of operating the same
JP2008515355A (en) Apparatus and related method for controlling a digital signal processor for radio isolation
US9077389B2 (en) Method and system for processing radio packages in a multimode software defined radio (SDR) terminal
US20100113084A1 (en) Power saving in wireless networks
CN116302402A (en) Method and device for processing embedded system task
EP1850489B1 (en) Method and device for power management
CN114546926A (en) Core cluster synchronization, control method, data processing method, core, device, and medium
CN203039822U (en) User receiving terminal capable of being intelligently awoken and standby
US20240330038A1 (en) Method for processing interrupt and interrupt processing device
CN102096604B (en) Reader and RO (Read Only) rule scheduling method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090729