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.

DLP2021LEQ1EVM: Regarding DLP Composer

Part Number: DLP2021LEQ1EVM

Tool/software:

Hello,

I'm now trying to make the DLP2021 flashing SW by using CAN or CANFD.

I'm already using the DLP composer, but this is using the USB to SPI cable only.

So, Is it possible to get some source code of DLP composer or could you please help me?

  • Hello User,

    Welcome to the E2E forum and thank you for your interest in DLP® technology.

    Unfortunately, we don't share the source code for DLP Composer to public. If you need to continue using Composer, then you will need to implement a SPI to CAN communication. Otherwise, you will need to develop your own user interface.

    Regards,

    Lori 

  • Thank you for your reply.

    I would like to describe our task more detailly.

    I want to customize the DGP device based on the DLP2021.

    My DGP device can be flashed via CAN communication (destop_r32.bin, image, video etc.).

    Currently, the DLP composer using the SPI only.

    Question 1: could you please describe the SPI message contents? the ID? data? etc.

    The DLP composer can build the whole rom binary with any contents.

    And the FPGA can read the flash data based on the FPGA binary (blackbox) and configuration file (I think it has all address of contents)

    Question 2: could you please tell me the flash information or configuration? Is it possible to make it by me?

    Can you please help me? or any advice? 

    Best regards and thanks in advance

  • Hello User,

    Please see my response below:

    Question 1: You can refer to the DLP2021-Q1 and DLP3021-Q1 FPGA User's Guide for more details of the SPI write/read command and the FPGA registers that can be accessed over SPI. If you use the DLP Control Program to write/read registers, then you can look at the Command Log window to give you information about the command/transmit data/receive data. 

    Question 2: I'm not sure if I understand your question correctly. If you want to create customize flash image file, you can use DLP Composer to create your own .img file. For example, change RGB duty cycle, your own image/video, default content when power up, and etc. 

    Regards,

    Lori 

  • Thank you for your answer.

    But, regarding the SPI, I mean that the SPI with flash data from DLP composer. In the datasheet from your link, this shows only the SPI command from DLP control program.

    I'd like to make the new DLP composer by using CAN signal. This means that the new DLP composer make the flash binary and send it to the flash rom data via CAN. So I want to know what data was included in the SPI message from DLP composer when the user click the flash button. 

    For example, I want to send the 1.jpg, 2.jpg, 3.mp4 contents to the DLP. Then I will select these files in my own GUI (e.g. CANoe panel), and click the send button, then the multimedia contents are flashed to the flash memory of DLP device.

    And as far as I know, If I update the flash data, then it also requires the configuration data of flash binary (it include the address of contents). So I want to update the configuration data also in my GUI. But I can't see the configuration data.

    I'm not sure this is possible. So I want to clarify.

    Best regards

  • Hello User,

    Thank you for clarification! 

    Unfortunately, we have limited information that can be shared about the configuration data of the DLP Composer. 

    Are you able to use DLP Composer and implement a SPI to CAN communication?

    Regards,

    Lori 

  • Thank you for your supporting.

    I'd like to show you the two images below.

    This is the DLP2021.

    This is our concept. As you can see we would like to change the external SPI to CAN.

    Because we'd like to make this product as mass product. So we need CAN interface. We can't use the DLP composer and DLP control in the car.

    To implement this, we have to know the SPI communication data or configuration data of DLP composer at least.

    I hope my image can be helpful.

    By the way, I have one more question. The DLP2021 is just for demonstration? I think this DLP2021 is not easy to apply to the car. Because If the car user want to change the contents of DLP, then they should connect car with DLP via SPI only. Am I right?

    I need your help or any solution.

    Best regards.

  • Hi Ryu,

    Thank you for sharing the information! 

    I will need to check with our team to see if we have further information can be shared with you and get back to you by the end of next week. 

    Regards,

    Lori 

  • Hi Ryu,

    Sorry for the delay, I just received the information from our internal team. Please see the SPI commands that using the SPI Flash in the attachment. 

    Also, you should refer to the MCU datasheet to get the information for needed registers. 

    DGP_FlashCommands.txt
    1. ValidateFlashImage
    --> ReadFlashSize
    	--> DeviceIDCommand = 0x9F
    
    
    2. EraseFlash(FlashWriteStartAddress, TotalFlashWriteSize, IsSlaveController)
       for (RemainingBytes = EraseSize, Offset = EraseStartAddress;
                    RemainingBytes > 0;
                    RemainingBytes -= FlashEraseChunkSize, Offset += FlashEraseChunkSize)
                    {
                    	 Write Enable
                    	 --> WriteEnableCommand = 0x06
    
                    	 WaitForFlashWriteEnable
                    	 --> DeviceStatusCommand = 0x05
    
                    	 EraseCommand = 0x20
    
                    	 WaitForFlashOperationToComplete
                    	 --> DeviceStatusCommand = 0x05
                    }
    
    
    3. InitFlashOperation
    
       for (RemainingBytes = TotalFlashWriteSize, Offset = 0;
                         RemainingBytes > 0;
                         RemainingBytes -= FlashWriteChunkSize, Offset += FlashWriteChunkSize)
                         {
                         	StartWrite
                         	--> WriteEnableCommand = 0x06
    
                         	WaitForFlashWriteEnable
                         	--> DeviceStatusCommand = 0x05
    
                         	PageProgramCommand = 0x02
    
                         	WaitForFlashOperationToComplete
                         	--> DeviceStatusCommand = 0x05
                         } 
    
    
    4. Verify
    --> FastReadCommand = 0x0B
    
    

    Regards,

    Lori