I have a DSP (Digital Signal Processor) with a very well defined application, (this explication will be simplified)
The DSP uses TDM (Time Division Multiplexer) frames to receive audio information, the audio information is processed (simple IIR (Infinite Impulse Response) filter) and then outputted thru TDM, mainly the application works on 2 interruptions:
Interruption 1: [4 TDM Frames received, SPORT buffer full]: when this interrupt is fired, the information is loaded to ping-pong buffer
Interruption 2: [Timer interrupt] When this interrupt is fired, the ping pong buffer information is passed thru the Filter and then loaded to the output TDM buffer so it gets transmitted by HW.
This application works great the timer is configured to run at 4 TDM frames each time so there is a delay between the data in and data out (processing) but there is no frames lost in the TDM stream.
The DSP is performing a endless loop (background worker) when there are no interruptions being used.
The DSP runs pretty cool but i want to make a temperature profile, so i need to increase the CPU usage, any idea on what can i put to my background worker to increase CPU usage and thus temperature?
-
3Please define your alphabet soup. Forcing us to guess is fairly rude. Digital Signal Processor, Time Division Multiplexer, and Infinite Impulse Response are not exactly common abbreviations here.candied_orange– candied_orange2017年11月07日 21:06:59 +00:00Commented Nov 7, 2017 at 21:06
-
It seems you already have a background worker keeping the CPU busy. This effectively means its running at 100%. There are other ways of increasing the temperature profile. It may depend on your processor, I/O accesses or memory fetches and memory interfaces. Please shed light on this if you want more details.nikhil_kotian– nikhil_kotian2018年01月29日 15:22:37 +00:00Commented Jan 29, 2018 at 15:22
-
The most common way to heat up a processor is to have it perform complicated math without any breaks. I.e. no interrupts, just a range of functions to hit as much of the silicon as possible. Floating point and integer arithmetic combined in the appropriate mix to exercise those units in the DSP as much as possible. Doing a simple spin wait doesn't really hit all the functions of the device so you are limited on how hot you can make it.Berin Loritsch– Berin Loritsch2018年06月06日 16:00:13 +00:00Commented Jun 6, 2018 at 16:00
-
Ask your EEs if there is anything like built-in linear voltage regulators or other things which you can use to heat up the SoC apart from the CPU.jaskij– jaskij2018年08月06日 09:03:47 +00:00Commented Aug 6, 2018 at 9:03
2 Answers 2
looks like this is a SHArC (i dunno what other DSP has "SPORT" s). i dunno which instructions heat up the processor more than others. but unless you're invoking the IDLE instruction, i don't see any instruction being hotter or cooler than others. i could be wrong. if i am wrong, the IIR filter uses the multiply and add operations every DSP instruction. the FIR also uses the modulo indexing operation. maybe doing that solid will warm up the SHArC core to the max. i dunno.
The easiest thing would be to double up the processing in interrupts 1 and 2.
Or even "N"-up it, for N a parameter, and then you do your temperature profile against N.