TFT display
Posted: Sun Oct 12, 2014 4:17 pm
bare-metal drivers for the DisplayTech DT028 TFT display (~25 bucks on Mouser)
(don't know when I'll make a pcb for my Parallella so for now basic testing done on the MicroZed only)
Using parallel 8-bit mode, it takes about 3.5ms to dump a complete bitmap 320x240 16-bit to the display. That's about 10 times faster than SPI running with DMA on a 40MHz clock (gonna be 20 times if using parallel 16-bit mode). Not too shabby!
PL built with Vivado 2014.3 (TCL script is provided so project can easily be modified to earlier or future Vivado versions)
PS built with Crossworks for Arm toolchain.
A word of caution: DisplayTech recommends 2.8V to power this display but I've always been using 3.3V without any problems. Also, DisplayTechs recommends a minimum of 66ns write cycle in parallel mode but so far 20ns seems to be working fine. Still, exceeding the OEM recommended settings does carry some risks, so be warned.
Edit:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
(don't know when I'll make a pcb for my Parallella so for now basic testing done on the MicroZed only)
Using parallel 8-bit mode, it takes about 3.5ms to dump a complete bitmap 320x240 16-bit to the display. That's about 10 times faster than SPI running with DMA on a 40MHz clock (gonna be 20 times if using parallel 16-bit mode). Not too shabby!
PL built with Vivado 2014.3 (TCL script is provided so project can easily be modified to earlier or future Vivado versions)
PS built with Crossworks for Arm toolchain.
A word of caution: DisplayTech recommends 2.8V to power this display but I've always been using 3.3V without any problems. Also, DisplayTechs recommends a minimum of 66ns write cycle in parallel mode but so far 20ns seems to be working fine. Still, exceeding the OEM recommended settings does carry some risks, so be warned.
Edit:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.