Part Number: DLP2010EVM-LC
Please check the screencap:
The "Frame Rate (Hz)" is unresponsive and I am unable to change the default value of 60. Why? I want to set it to 103 to get 103x24hz monochrome streaming.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: DLP2010EVM-LC
Please check the screencap:
The "Frame Rate (Hz)" is unresponsive and I am unable to change the default value of 60. Why? I want to set it to 103 to get 103x24hz monochrome streaming.
Hi John,
The Frame Rate field is not editable, it calculates the effective frame rate based on the timings and number of patterns specified. You don't have to specify the Frame Rate field, just provide a 103Hz HDMI input and set the appropriate timings.
To update the Frame Rate field, provide the required timings and number of patterns, hit 'Set', and then hit 'Get' to see the effective Frame Rate. Note that this field is just provided by the GUI software for user information and not actually used by the EVM.
Regards
Azad
Hello Azad,
Appreciate the response but it seems confusing and the GUI program functioning sound a bit disorderly. Clarifications would be appreciated.
1) Normally the GPU checks what the display device, typically the monitor, supports and caps the refresh rate it sends accordingly. Are you saying if we write our PC program with the refresh rate set to not exceed 103 fps and not go lower if the computational power allows, turn off v-sync, that should be sufficient, even if Lightcrafter does not specify to the GPU what refresh rate it expects/supports?
2) As far as I understand I cannot specify "number of patterns per second" but "number of patterns per frame". So if answer to above is yes, I assume it must be 24 and can't be set higher. then Lightcrafter will take the 103 frames each second and extract 24 monochrome frames from each and display 103x24 monochrome frames per second. is this correct?
3) Doing as you suggested with the Set and Get I get a value of 103.6484. As far as I know GPUs don't support non-integer (floating point) refresh rates. Please let me know if I'm wrong.
4) Can you please clarify whether the Set button updates the firmware or not? You said "Note that this field is just provided by the GUI software for user information and not actually used by the EVM." which is not very clear to me. Is this menu just a GUI calculator? If so, Why? And how to actually update the firmware?
Thank you.
Hi John,
1) The EVM doesn't have an option to specify frame rate. Once it receives a Vsync pulse, the DLPC3470 starts projecting as many patterns as specified by the Number of patterns field. It continues to do this until the requested number of patterns are projected, and waits for the next VSYNC (assuming VSYNC does not arrive in between). Once the next Vsync arrives, it moves to the next frame and repeats the same sequence. It is up to the GPU to ensure that data is sent at 103 Hz.
2) The number of frames that the EVM will process per second depends purely on the number of Vsync pulses it recieves every second.
3) The Frame Rate is calculated from the timings entered in the GUI and and has nothing to do with the HDMI input. Frame Rate (Hz) = 1000/[(Patterns per Frame) * (Exposure Time (us) + Pre-Dark Time (us) + Post-Dark Time (us))]
4) By "this field", I meant the Frame Rate field. As you can see above, the GUI calculates the effective frame rate of input required for the given timings. This is just for the user's convenience and not sent to the EVM, unlike the information in other fields.
To get the Frame Rate of the HDMI input, refer to the "Video and Color" tab in the Display page:
Regards
Azad
1) VSync when it comes to GPUs refers to a feature which syncs up the frame rate of a program and the refresh rate of a monitor, projector or other display device. I don't believe GPU VSync can be specified as an aribtrary value such as 103, unlike 50,60,120, 144 or 240.
Is this the Vsync you are referring to, or are you referring to timing inside the DLPC and DMD?
2) Same as 1. Which VSync are you referring to?
3) "The Frame Rate is calculated from the timings entered in the GUI and and has nothing to do with the HDMI input."
Nothing? Of course it does, what do you mean? Frame rate is also = pattern rate per frame x frame rate. If HDMI input provides 103 frames per second and "pattern rate per frame" is equal to 24 then frame rate of the DLPC EVM is equal to 103 x 24, unless the exspore time, pre and post dark time are set longer than possible at that frame rate.
4) Okay, then as already asked, "how to actually update the firmware?"
Also, "This is just for the user's convenience and not sent to the EVM, unlike the information in other fields."
When I get the values and press "Set", the EVM stops displaying the splash screen and is changed to the specified mode. While this is reset when the EVM is powered off and on again, meaning it wasn't written to the firmware, it does seem to be sent to the EVM and change the mode the EVM is running in and so does not seem to merely be a glorified calculator for the user. Please double check this.
Thanks.
John,
1) Yes, this is the VSync I'm referring to. What I'm trying to convey is that the frame rate is mainly determined by the front-end providing the video input. If you want to project patterns at 103 Hz, you can provide 60Hz input from GPU and set the same timings, in which case you'll get additional dark time at the end of the frame. Or you can use an FPGA to provide video input at 103 Hz and avoid the extra dark time.
3) By "Frame Rate", I'm referring to the field in the GUI. This is purely calculated based on the values entered in that page.
4) When you press 'Set' the configuration is sent as I2C to the EVM. These commands are processed in real-time and will not be stored to the firmware in flash. To update the firmware, you'll have to add these commands in a batch file and update the flash image. Check out the Firmware -> Update Flash Image and Debug -> Command Log pages for more information.
Regards
Azad
Well, obviously adding a whole FPGA just to solve how your controller currently works is a terrible and impractical (expensive) design approach both for consume prroduct as well as prototype.
I'll ask around whether modern GPUs can do non-standard refresh rate vertical syncs, or whether we can just turn off VSync and code the program to not exceed 103 fps.
But for the future, please, just keep in mind that the standard is for the display device to provide the refresh rates it supports, not have the GPU make the guess. There's no reason for us to learn how your evaluation modules work because they don't follow standards.
John,
Think about it, it's logically not possible to project patterns at 103 Hz when the input data is coming at (say) 120 Hz. So your request is absurd.
The problem here arises because you want to project at a non-standard frame rate of 103 Hz. Obviously if you project at 120Hz then you will have no issues.
Regards
Azad
Azad, your responses is what's absurd. To get this kind of support from Texas Instruments is absurd.
Calm down or let someone else answer instead.
No one is suggesting to have the input data at 120Hz. Re-read what I actually wrote or let someone else respond.
And as you should know, the DLP2010EVM-LC does not support 120Hz at 1 bit external pattern mode.
John,
Thanks for your advice. Please let me know what your exact question and I'll answer it for you.
And yes, the DLP2010EVM-LC supports 120Hz input if you project less than 24 patterns per frame.
Regards
Azad
Azad, the datasheet for DLPC3470 specifically mentions "the maximum supported input frame for 1-bit external pattern mode is 104.2Hz.". I don't believe there is a mention that if the pattern rate per frame is decreased this "maximum" of 104.2Hz rate can be increased. Let me know if the latter is the case and this sentence in the datasheet is not quite accurate.
As for my actual question, it is more GPU and DirectX/OpenGL related so I will ask them in more appropriate places. But to quote myself, "I'll ask around whether modern GPUs can do non-standard refresh rate vertical syncs, or whether we can just turn off VSync and code the program to not exceed 103 fps."
Hi John,
You can definitely ask the GPU to output "non-standard" resolution and frequencies.
If you are using an nVidia card, you can enter a custom resolution in the Nvidia Control Panel. Go under the Change Resolution tab, make sure you select the projector then click "Customize". Then, click "Create Custom Resolution" and you'll get a dialog box which allows you to enter the desired resolution and framerate, and you may also tweak the actual video timings. (note that this tools seems a bit buggy, after entering the mode parameters, select any other standard than "Automatic" (e.g. GTF) otherwise the timings are not properly calculated)
You may also use the "Custom Resolution Utility" (https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU) which allows you to create EDID overrides in Windows' registry (this has the same effect but I tend to find it more reliable when tweaking the resolution than the Nvidia tool).
You can then select the newly added resolution in Windows' display settings / Advanced and change the refresh rate (please note that I did not effectively add the 103Hz resolution on my system, this is an older EVM that does not support refresh rates over 60Hz, but the principle is the same).
To make these changes permanent (otherwise they will only be valid on the computer where you did the manipulations), you'll need to add the mode line to your projector's EDID Flash ROM (I have not tried to do that).
Hope this helps
Thank you Guillaume.
I can also confirm that locking the framerate inside the program sending the HDMI signal alone is not sufficient as it just fixes where the tearing happens (which may itself drift over time).
Yes, definitely I need both the refresh rate the projector expects as well as the default mode set to 1 bit binary pattern streaming both written to the firmware/flash to be practical even for dev kits, let alone consumer products.
But I believe I should ask that in a separate topic. The original question of why the 60Hz input field cannot be overridden has already been answered, that it is not an input field but an output only.
Does the Lightcrafter 2010EVM-LC also have that EDID Flash on it? Asking because you used the word "projector".
Thanks.
Hi John,
The DLP2010 and 3010 EVMs (which share the same board) store the EDID in a 24C02 EEPROM.
You can find the schematics here: http://www.ti.com/tool/TIDA-080001
In the present case, the EEPROM (U17) is only visible from the HDMI bus and the ITE6801 HDMI receiver. It may, or may not, be possible to access it from the main I²C bus on the board (using the onboard Cypress USB to I²C adapter), but there is no documentation for the ITE6801 chip (I think it is under NDA >:-( )
You may be able to rewrite the EEPROM by closing J5 (disables write protection) and using the i2ctools command under Linux. You will also need the binary EDID data, which you can export from the Custom Resolution Utility.
You can find examples for flashing the EDID under Linux here:
Note that I have not tried flashing a 2010 or 3010EVM yet, but reflashing the EDID over HDMI under Linux successfully worked for me for another projector.
NOTE : be *VERY* cautious when issuing the write commands: make sure the I²C bus you are writing to is indeed the projector ! If it is not, you may be overwriting your primary monitor's EDID, rendering it unusable !
Best regards,
Guillaume