Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - joaBaur

Pages: [1]
1
TFTs / Raspberry Pi driver for 1.8" and 2.4" TFT models
« on: June 14, 2018, 01:55:15 AM »
So after the FPGA drivers I went for something easier, and connected the TFTs to the Raspberry Pi's GPIOs.

Repo for the NHD-1.8-128160EF TFTs:
https://github.com/joaBaur/RaspberryPi-NHD-1.8-TFT

Repo for the NHD-2.4-240320CF TFTs:
https://github.com/joaBaur/RaspberryPi-NHD-2.4-TFT

Both drivers are native C, they map the main display's internal framebuffer (/dev/fb0) to memory, read the pixels' RGB values and bit bang them to TFT via the GPIOs.

The frame rates are ok, about 20 fps on the 2.4" and 34 fps on the 1.8" display.

2
TFTs / FPGA driver for NHD-1.8-128160EF TFTs
« on: June 12, 2018, 08:45:03 AM »
This is the FPGA driver for the NHD-1.8-128160EF TFTs with the ILI9163 driver IC using the 8 bit parallel interface. The basic design is the same as for the NHD-2.4-240320CF project last week

The driver runs on an Arty Z7-20 FPGA board, reads the HDMI IN video signals and outputs a 160x128 pixel area to the connected TFT via IO. So you can connect a HDMI source to the board and the NHD TFT will display a 160x128 chunk of the picture (or a crudely downscaled 320x256 chunk) on the TFT with a frame rate of 200 fps.

Here's the link to the Github repo:

https://github.com/joaBaur/ArtyZ7-20-NHD-1.8-TFT

One strange issue I came across with my test setup (using a NHD-1.8-128160EF-CTXI#-T):
The MADCTL function of the driver (Memory Access Control, determines the orientation/mirroring of the image and the RGB order of the pixels) doesn't work for me. When the init sequence sends the 0x36 MADCTL-command, no matter what data value I send after that, the orientation of the image is always the same and the pixel order is always BGR, like the default 0x00 value that MADCTL is set to after a reset is not updated.

No idea why, maybe an electronic fault of my driver IC's MADCTL register? Other commands work fine, when I send a 0x21 (Display Inversion On) command after the MADCTL cmd+data, the display is inverted as expected, for example.

3
TFTs / FPGA driver for NHD-2.4-240320CF TFTs
« on: June 06, 2018, 08:25:25 AM »
Hi all,

I just completed my first VHDL project, a driver for the NHD-2.4-240320CF TFTs with the ST7789 driver IC using the 16 bit parallel interface. The drive runs on an Arty Z7-20 FPGA board, reads the HDMI IN video signals and outputs a 320x240 pixel area to the connected TFT via IO. So you can connect a HDMI source to the board and the NHD TFT will display a 320x240 chunk of the picture (or a crudely downscaled 640x480 chunk) on the TFT with a frame rate of 160 fps...

You can find the project (vhd files and tcl script for the Vivado IDE) here on Github:

https://github.com/joaBaur/ArtyZ7-20-NHD-2.4-TFT

The project doesn't use the Arty's advanced components like ZYNQ, Cortex or AXI, so it should be portable to other FPGA boards that have at least an HDMI or DVI input.

Pages: [1]