Electronics > Beginners
Creating controller for LED display, help / review needed
muktupavels:
--- Quote from: Eka on July 29, 2018, 10:53:28 pm ---What you are doing in the software may be of vital importance. I don't know the layout of the panels you have. I'd guess serpentine. That is first row one direction, then second row goes the opposite direction. It makes manufacture easier. That unfortunately messes up just using a double length buffer, and moving the start point in the buffer.
--- End quote ---
Display is built from 72 P10 modules that are placed in two rows. Each row is connected to controller and modules in row are daisy chained. Total display size in diodes is 1152 x 32. Module is divided in 4 groups and only one group is displayed - 1/4 scan rate or whatever is proper name for it...
--- Quote from: Eka on July 29, 2018, 10:53:28 pm ---Next idea: Drawing buffer is like a ring buffer, but both in X and Y directions. To scroll, you change the start X/Y pointer, and only draw the part between the old and new location of the start point. A routine will need to be written to copy from the start point to the output buffer. It will need to wrap around to the beginning of the physical buffer when it reaches the end of the physical buffer. I'd also look into double buffering the output buffer. That way one can be displayed from using DMA while the other is being copied to.
--- End quote ---
Hmm, sounds like something I could try. :) Right now existing content is moved left and new content appended...
So you suggest to use 3 buffers? One that is used for drawing and two for output? That can be problematic, xmega has 16 kb sram and one buffer needs 4.5 kb...
--- Quote from: Eka on July 29, 2018, 10:53:28 pm ---A few notes:
* The drawing buffer can be larger than the display.
* Having the drawing buffer larger than the display may make it so the area being redrawn can be outside the currently actively displayed area.
--- End quote ---
I was thinking about having buffer that could contain all content, but then sram is my problem.
--- Quote from: Eka on July 29, 2018, 10:53:28 pm ---* With the drawing buffer as an X/Y array, it should be possible to scroll up and down and left and right.
* If you want to have both fixed and scrolling areas, they can be implemented with separate drawing buffers. The copy to output buffer routine then selects which one to grab pixels from based on where it is writing into the output buffer.
--- End quote ---
Text just moves from right to left. Different areas are not needed. :) I am creating this controller because of two reasons/problems with controllers that was used with display:
- existing controllers could not scroll text fast enough.
- multiple things require separate areas. you can place temperature in one area, text in other, but client wants that all content scrolls as one big text. so one area with temperature, text, time...
Anyway I think that I will try to finish new pcb. I have updated it to add 4.7uF capacitor (c19) for VDDCORE. Added also 10uF (c20) capacitor and ferrite bead (l1) for VDDANA, and 47uF (C21) for 3V3.
Lt_Flash:
--- Quote from: muktupavels on July 30, 2018, 10:53:01 am ---Anyway I think that I will try to finish new pcb. I have updated it to add 4.7uF capacitor (c19) for VDDCORE. Added also 10uF (c20) capacitor and ferrite bead (l1) for VDDANA, and 47uF (C21) for 3V3.
--- End quote ---
Sounds and looks good to me, should be much more stable now even in an environment with high noise!
Navigation
[0] Message Index
[*] Previous page
Go to full version