Hallo,
ich habe mir ein TFT Display gekauft.
Das TFT Display hat einen FT813 Chip intigriert, sodass ich dieses über
SPI mit einem ATmega328P ansteuern kann.
An sich ist die Dokumentation vom FT813 ganz gut aber leider bin ich
überfordert herauszufinden, welche Einstellungen ich für die Parallel
RGB Schnittstelle setzen muss.
Im Programmer Guide zum FT813 ist zu den einzelnen Parametern leider
sehr wenig erklärt und ansonsten wird auch nur eine Beispielhafte
Konfiguration gezeigt:
1 | /* Configure display registers - demonstration for WQVGA resolution */
|
2 | wr16(REG_HCYCLE, 548);
|
3 | wr16(REG_HOFFSET, 43);
|
4 | wr16(REG_HSYNC0, 0);
|
5 | wr16(REG_HSYNC1, 41);
|
6 | wr16(REG_VCYCLE, 292);
|
7 | wr16(REG_VOFFSET, 12);
|
8 | wr16(REG_VSYNC0, 0);
|
9 | wr16(REG_VSYNC1, 10);
|
10 | wr8(REG_SWIZZLE, 0);
|
11 | wr8(REG_PCLK_POL, 1);
|
12 | wr8(REG_CSPREAD, 1);
|
13 | wr16(REG_HSIZE, 480);
|
14 | wr16(REG_VSIZE, 272);
|
Das macht es mir mit wenigen Ausnahmen sehr schwer herauszufinden, was
die einzelnen Werte in den Registern zu bedeuten haben und welchen Wert
ich jeweils aus dem TFT Display Datenblatt heraussuchen muss.
1 | REG_HCYCLE
|
2 | REG_HOFFSET
|
3 | REG_HSYNC0
|
4 | REG_HSYNC1
|
5 | REG_VCYCLE
|
6 | REG_VOFFSET
|
7 | REG_VSYNC0
|
8 | REG_VSYNC1
|
9 | REG_SWIZZLE
|
10 | REG_PCLK_POL
|
11 | REG_CPSREAD
|
12 | REG_HSIZE
|
13 | REG_VSIZE
|
Kennt sich da jemand aus und kann mir helfen die richtige Konfiguration
herauszufinden?
Ich würde mich auch sehr darüber freuen, wenn dieser jemand mir auch
erklären würde, was es mit den einzelnen Parametern auf sich hat.
Das Prinzip der RGB Parallel Schnittstelle habe ich durch die Skizze im
TFT Datenblatt auf Seite 11 grob verstanden.
Mich würde aber auch interessieren wozu man die RGB Parallel
Schnittstelle so "kompliziert" aufgebaut hat.
Was hätte dagegen gesprochen das HSNYC Signal wegzulassen und quasi für
ein Bild nur eine einzige riesige Zeile zu übertragen welche das Display
wiederum in die einzelnen Zeilen von alleine aufteilt.
Also z.B. bei einem 4x4 großem Display statt
1 | VSYNC
|
2 | HSYNC PA1 PB1 PC1 PD1
|
3 | HSYNC PA2 PB2 PC2 PD2
|
4 | HSYNC PA3 PB3 PC3 PD3
|
5 | HSYNC PA4 PB4 PC4 PD4
|
so
1 | VSYNC
|
2 | PA1 PB1 PC1 PD1 PA2 PB2 PC2 PD2 PA3 PB3 PC3 PD3 PA4 PB4 PC4 PD4
|
3 | ^ ^ ^
|
4 | | | |
|
5 | X Y Z
|
An den Stellen X, Y und Z müsste das Display doch selbst wissen, dass
eine neue Zeile beginnt ohne das diesem das über ein extra HSYNC Signal
mitgeteilt werden muss.
TFT Display:
https://riverdi.com/product/rvt70uqfnwc0x/
TFT Display Datenblatt (Seite 11 sind die wichtigsten Daten angegeben):
http://riverdi.com/wp-content/uploads/datasheet/RVT70UQFNWC0x_Rev.2.1.pdf
FT813 Chip:
http://www.ftdichip.com/Products/ICs/FT81X.html
FT813 Datenblatt (Ab Seite 41 sind die Register aufgezählt):
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT81x.pdf
FT813 Progmmer Guide (Ab Seite 26 sind die Register erklärt):
http://www.ftdichip.com/Support/Documents/ProgramGuides/FT81X_Series_Programmer_Guide.pdf