Announcement

Collapse
No announcement yet.

Goldelox display memory access time

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Goldelox display memory access time

    I'm newbie and this is my first post. I'd like to find out if I can write new image to the display memory fast enough to have a smooth motion on the screen. I wanted to create a bitmap image 120 x 1600 pixels of a tall ruler, for example, and save to uSD card, then based on an input data via serial bus, I will read 120x160 pixels from SD and write to the display memory to simulate a moving ruler. This way I save the Goldelox time for drawing.

    In the Goldelox spec it says the 8-bit write cycle is 255ns min, then for each 65K color pixel (16bit) the processor needs two write cycles or 510ns per pixel. If I only moving pixels from uSD memory card to the display, then the processor needs to read 16bit pixel from SD card and write to the display, and each pixel refresh needs:

    given 12mhz SPI clock max, two 8-bit reads = 2*8*83ns=1.3usec per pixel read

    one pixel write to display needs two 8-bit writes = 2 x 255ns = 510ns

    total time per pixel = 1.3usec + 0.51us = 1.81usec

    160x120 pixels write time = 1.81usec x 160x120 = 0.035sec or 28fps refresh rate.

    So instead of asking the processor to draw the "window" ruler for each frame (this gives about 10fps update rate which is too jerky for the moving scale), I created and stored the whole ruler in SD, then read a window of the full scale and write to the display based on external input. Doing this way I can have a refresh rate of 28fps, not 10fps. Does this work?

    Thank you.

    Brian

  • #2
    Unfortunately hardly anything in this world converts from theoretical to actual without some 'losses'. In this case there are quite a few things 'missing' from your theory (probably the major one that comes to mind is that it takes time to read a uSD card, so you can't just assume SPI speed),

    In general Goldeox can transfer a bit over 210,000 pixels per second to the screen from uSD which gives just under 11fps.

    Also, you can't read a 'window' of the ruler without a lot of calculations, seeking and reading data that is just being thrown away (because you can only start reading on sector boundaries). In most cases it is quicker to read the whole image and ignore the data outside of the window. That should give you an idea of how much 'windowing' actually slows things down.

    You also need to ask why you are after 28fps and whether it is really necessary. It might look smoother than 10fps (and 10fps will only look slightly jerky, not as much as you might think), but is it really necessary?

    So if you really need to have 10fps you will need to have some sort of 'video' of each possible position and display that.

    You might consider drawing the ruler a different way, rather than from uSD. Wont look as great, but it should be faster.

    Good luck
    Mark

    Comment


    • #3
      Thank you, Mark. Actually we think even 28fps might not be enough for this project: say a linear servo motor is used to move the ruler in a precise fashion. The users want to set the ruler at certain mark pointed by an index using a remote control system and they have to look at the display for position feedback instead of looking at the actual ruler. If the displayed image is not refreshed fast enough then there is a delay and this cause feedback close loop control a difficult task: over shoot and undershoot motion. We might be thinking about using a fast Diablo16 connected to the uOLED 120x160 display to achieve the task, but before doing that we wanted to make sure it's the only option.

      Is there a generic Pmmc to be loaded into Diablo16 regardless what size displays being used?

      Brian

      Comment


      • #4
        For Diablo16 a specific display driver needs to be written for each display
        Mark

        Comment


        • #5
          So for those who bought your processors chip -- Diablo or Goldelox and used them on other display sizes, they used 4D for the drivers (Pmmc?) for they wrote themselves? Buying 4D drivers is the only option?

          Comment


          • #6
            For Goldelox you can implement your display drivers in 4DGL.

            For Picaso and Diablo 4D need to be engaged to write the drivers, this is basically for performance reasons, but is also due to the larger 'differences' between the design of displays once you leave the smaller 8 bit display arena (i.e. the ones directly suited to Goldelox).

            The costs associated can be accommodated for in various ways, you should contact sales at 4dsystems dot com dot au for further information
            Mark

            Comment


            • #7
              I wanted to make a new post, but every time I clicked on NEW POST the site just listed a Search result. I couldn't find a way to start a new post, so here is my question on this product:

              4DLCD-24QA
              This display was listed as 2.4" and I believe it's an error. It should be listed as 1.4"

              Brian


              Comment


              • #8
                Hi Brian,
                Sorry what do you mean?
                the 4DLCD-24QA is a 2.4" diagonal TFT LCD Display.
                Why are you thinking it should be listed as 1.4"?
                James

                Comment


                • #9
                  James,

                  You're right that it's 2.4". However the product feature sheet was wrong as it says the viewing area is 25 x 26mm (about) and diagonal 1.44". This information needs to be corrected. I was confused by this.

                  Brian

                  Comment


                  • #10
                    Here it is: Information about the display




                    • Screen Size: 1.44" diagonal
                    • Screen Dimensions: 30.9 x 36.5 x 2.6mm.
                    • Viewing Area: 25.5 x 26.5mm
                    • 65K true to life colours
                    • Brightness: 250 cd/m2
                    • Contrast Ratio: 450:1
                    • Viewing Direction: 12 O'Clock




                    Comment


                    • #11
                      Btw, I seem not able to start a new post -- I just can't find way to do it for some reasons. Every time I click on New Post, it just lists a search result.

                      Comment


                      • #12
                        Ok thank you, will look into that 1.44" reference.

                        Regarding starting a new post... hmm
                        It works fine here...

                        Can you screenshot and upload here?
                        James

                        Comment


                        • #13
                          Can you please give me the link to the document in question referring to 1.44" ?
                          Thanks
                          James

                          Comment


                          • #14
                            Link to the error:http://www.4dsystems.com.au/product/4DLCD_24QA/

                            Comment


                            • #15
                              Screen shot after I cick on "new post" is attached as png file.

                              Brian

                              Attached Files

                              Comment

                              Working...
                              X