天马3.5寸TFT屏调试文档

这篇文档详细介绍了天马3.5寸TFT液晶屏的调试过程,包括坐标定位、时序控制以及SSD1926驱动芯片的参数设置。调试涉及五个基准点的逻辑坐标值记录,通过线性回归计算参数KX和KY,以确定屏幕坐标与逻辑坐标的比例。文档还探讨了SSD1926的时序设置,如HT、VT、HDP等参数,并展示了针对天马屏的SPI时序和屏参数匹配。此外,还讨论了横屏与竖屏的宏定义,以及触摸屏参数配置。
摘要由CSDN通过智能技术生成

天马 3.5 TFT 屏调试文档

王小涛 2009 年 6 月 12 日

修订版

1 、坐标定位

触摸屏点击时驱动读入的是ADC值,也就是电压值(AD后),一个是x坐标的ADC值,一个是y坐标的ADC值。一个点的x坐标和y坐标的ADC值存放在变量LogicNumber[presstimes]中,高16位是x坐标的ADC值,低16位是y坐标的ADC值,而ADC值也就是屏幕的逻辑坐标值,因此在变量LogicNumber[presstimes]中存储的实际上也是屏的逻辑坐标值。

ADC值是通过函数LogicNumber[presstimes] = WRTAmuse.Common.getStoredNumber();来读取的。

我们的坐标定位程序设置了五个基准点(屏幕坐标),五个基准点(屏幕坐标)分别如下:

PointPX[0] = 30; //第一个基准点的屏幕坐标

PointPY[0] = 30;

PointPX[1] = 290; //第二个基准点的屏幕坐标

PointPY[1] = 30;

PointPX[2] = 30; //第三个基准点的屏幕坐标

PointPY[2] = 210;

PointPX[3] = 290; //第四个基准点的屏幕坐标

PointPY[3] = 210;

PointPX[4] = 160; //第五个基准点的屏幕坐标

PointPY[4] = 120;

通过依次点击这五个基准点分别得到五个点的逻辑坐标值,并判断用户是否对准五个点依次点击。当用户操作正确后,我们的坐标定位程序会将用户依次点击的五个基准点的逻辑坐标记录下来。然后通过线性回归公式计算得出LCD屏的屏幕坐标系与逻辑坐标系之间的比例关系(即计算出参数KX和KY)。而事实上我们的坐标定位程序需要六个参数,其中有四个参数是直接得到的,有两个是需要计算出来的(即KX和KY)。六个参数如下:

XLC(第一个点的逻辑x坐标,即x方向的ADC值)、

YLC(第一个点的逻辑y坐标,即y方向的ADC值)、

XC(第一个点的屏幕x坐标,这里是30)、

YC(第一个点的屏幕y坐标,这里是30)、

KX(逻辑坐标系和屏幕坐标系的x轴比例关系)、

KY(逻辑坐标系和屏幕坐标系的y轴比例关系)。

其中XLC和YLC可以通过函数

LogicNumber[presstimes] = WRTAmuse.Common.getStoredNumber();读取,而XC和YC是我们自己预先设置好的屏幕坐标,KX和KY的计算公式如下:

未命名

我们运行我们的坐标定位程序,并通过程序将坐标信息打印出来。结果如下:

_xmouse = 30

_ymouse = 29

1presstimes =0

_xmouse = 288

_ymouse = 30

1presstimes =1

Math.abs(tmpLogicNum_2 - tmpLogicNum_1) =6

Math.abs(tmpLogicNum_3 - tmpLogicNum_4) =3046

_xmouse = 29

_ymouse = 207

1presstimes =2

_xmouse = 288

_ymouse = 209

1presstimes =3

Math.abs(tmpLogicNum_2 - tmpLogicNum_1)=20

(Math.abs(tmpLogicNum_3 - tmpLogicNum_4)=3054

_xmouse = 160

_ymouse = 119

1presstimes =4

PointLX[0] = 461

PointLY[0] = 3279

PointLX[1] = 3507

PointLY[1] = 3285

PointLX[2] = 465

PointLY[2] = 621

PointLX[3] = 3519

PointLY[3] = 601

PointLX[4] = 1991

PointLY[4] = 1941

XLC = 461

YLC = 3279

YC = 30

XC = 30

KX = 11730.76923076923

KY = -14838.888888888889

//刚开始调试大屏的时候,坐标不准,是因为硬件上x和y两根线反了,调过来就ok了。

2 、天马屏的时序

未命名

一般来说,液晶屏或者是ssd1926在上电复位后,其寄存器会有一个默认的参数。一般来说我们可以选择屏复位后的默认参数,然后通过设置ssd1926的寄存器来匹配屏的那些默认参数。而我们的调试正是通过设置ssd1926的寄存器来配合屏的默认参数的。

我们先看看天马屏的默认参数:

未命名

其中大部分寄存器都可以采用默认参数,只有少数需要进行修改。下面将介绍那部分需要修改的寄存器:

R03h:一般来说,DEN都是为高有效,CLKIN上升沿锁存数据,HSD为低有效,VSD为低有效,24-bit digital RGB input format HV Mode,6.4M。

R0eh:当时出现屏闪的现象,实际上就是这个寄存器参数的问题。我们将这个寄存器值设置为0x6A后,屏闪的现象就消失了。我们在设置这个寄存器的时候,主要是改变VCOMDC的值。但我们在写入寄存器的时候,记得Bit[6](即OTP_BYPS)要设置为1。否则VCOMDC的值不会被写入。

R04h:设置Source Timing delay control register,默认为:70,实际上就是SSD1926中的HDPS

R05h:设置Gate Timing delay control register,默认为:13,实际上就是SSD1926中的VDPS

虽然这里我们是采用天马屏的默认参数来用,但有时候我们需要对屏的一些参数进行一些调整,这里先介绍下如何设置屏的参数。

一般来说设置屏的参数是通过SPI,I2C或者是串口等方式来实现的,一般来说SPI和I2C用得比较多,而我们的天马屏正是SPI接口来设置屏参数的。所以我们要在天马屏的手册中找到屏的SPI时序,如下图:

注意:不同屏的SPI时序可能有所不同,详细应该参见屏的技术手册。

未命名

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值