搜索
bottom↓
回复: 12
打印 上一主题 下一主题

Tiny6410点亮S70LCD的裸机教程

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2014-10-10 15:59:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 王者之心style 于 2014-10-10 15:58 编辑

1.原理图分析
左图是tiny6410实际LCD电路图,右图是S70液晶屏参考电路图。在左图中,VDD5V_1,VDD5V_2是用来调节背光的引脚。VD0-VD23对应右图的R0-B7,分为三组,是R,G,B三原色,每组8个引脚。VDEN-VCLK是LCD控制配置用管脚。下面AIN6-AIN5是触摸屏控制引脚。

根据原理图知Rx和Gx连GPIx,Bx连GPJ0-GPJ7。控制信号连GPG8-GPJ11。



2.芯片手册导读

2.1
配置GPIO

首先配置GPIO的引脚为LCD模式。根据截图应全部填入10。因此代码应为,GPICON = 0xAAAAAAAA;


GPJ的前8位也一样。

GPJ8-GPJ11配成LCD控制器的信号模式。

所以代码为GPJCON = 0x00AAAAAA;
2.2配置LCD控制器
根据手册的步骤来配置。

l     配置MIFPCON为普通模式

根据图示,需将MIFPCON的第3位填入0。所以代码为MIFPCON&= ~(1<<3);

l     配置SPCON为RGB模式
根据图示将SPCON的第1和0位填入01,所以代码为SPCON =  (SPCON & ~(0x3))| 1;

l     配置VIDCON0,设置接口类型,时钟,极性和使能LCD控制器。
第27和26位填入00,再次配成RGB模式。

第18和17位填入00,配成RGB并行模式。


第16位填入0,配置时钟。

设置时钟源的系数。此处应根据LCD芯片手册填入CLKVAL的值。

根据LCD手册可以看出CLK的标准值是33.3M,根据上图公式,Video Clock Source是HCLK,大小是133M,因此33.3 = 133 / (CLKVAL + 1), 所以CLKVAL约等于3。因此向第16位填入3。

向第5位填入0,配置成普通模式.

向第4位写入1,选择CLKVAL_F。

向第3和第2位写入00,选择时钟源位HCLK。

向第1和第0位写入11,使能LCD控制器。

最终代码为VIDCON0 =(0<<26)|(0<<17)|(0<<16)|(3<<6)|(0<<5)|(1<<4)|(0<<2)|(3<<0);
l     配置VIDCON1,设置信号极性。
向第6和第5位填入11,使HSYNC和VSYNC的信号波形的极性为相反。

下方第一幅图是S3C6410提供的时序图,可以看到HSYNC和VSYNC的信号波形开始是高电平。第二幅图是S70手册提供的时序图,可以看到HSYNC和VSYNC的信号波形开始是低电平,所以要把极性设为相反。

代码为VIDCON1 |= 1<<5 | 1<<6;
l     配置VIDTCON0,设置VSYNC的三个参数。
根据下图所示,需配置VSPW, VBPD, LINEVAL,VFPD四个参数。去S70手册找。

根据S70给出的时序图可知,VSPW+1 = tvpw, VBPD +1 = tvb, LINEVAL + 1 = tvd, VFPD + 1 = tvfp。

由表知,VSPW可以设成2,VBPD为22,LINEVAL为479,VFPD为22。

根据下图,向第16位写入22,向第8位写入22,向第0位写入2。

最终代码为VIDTCON0 = VBPD<<16 | VFPD<<8 | VSPW<<0;
l    配置VIDTCON1,设置HSYNC的三个参数。
根据下图所示,需配置HSPW, HBPD,HOZVAL, HFPD四个参数。去S70手册找。

根据S70给出的时序图可知,HSPW+1 = thpw, HBPD +1 = thb, HOZVAL + 1 = thd, HFPD + 1 = thfp。

由表知,HSPW可以设成30,HBPD为46,HOZVAL为799,HFPD为210。

根据下图,向第16位写入46,向第8位写入210,向第0位写入30。

最终代码为VIDTCON1 = HBPD<<16 | HFPD<<8 | HSPW<<0;
l    配置VIDTCON2,设置长宽
根据上一节的计算,LINEVAL为479,HOZVAL为799。向第11位写入479,向第0位写入799。最终代码为VIDTCON2 = (LINEVAL << 11) |(HOZVAL << 0);

l     配置WINCON0,设置颜色格式。
向第5至2位写入1011,配置成24位格式。代码为WINCON0 |= 0xB<<2;

l     配置VIDOSD0A,VIDOSD0B,VIDOSD0C,设置边界。
A是左上角,B是右下角,C是整体大小。

最终代码为
#define LeftTopX     0
#define LeftTopY     0
#define RightBotX   799
#define RightBotY   479
VIDOSD0A = (LeftTopX<<11) | (LeftTopY << 0);
VIDOSD0B = (RightBotX<<11) | (RightBotY << 0);

VIDOSD0C = (LINEVAL + 1) * (HOZVAL + 1);
l    配置VIDW00ADD0B0,将framebuffer地址赋给LCD控制器。
代码为VIDW00ADD0B0 = FRAME_BUFFER;

代码为VIDW00ADD1B0 =(((HOZVAL + 1)*4 + 0) * (LINEVAL + 1)) & (0xffffff);

3.LCD代码设计
最终代码在下一附件。

如果各位网友觉得讲的还行,请在下面留言点赞。如果赞的多,我将在后续继续推出嵌入式linux的教学贴。










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

2
发表于 2014-10-10 16:51:06 | 只看该作者
不错~ 支持!

出0入0汤圆

3
 楼主| 发表于 2014-10-11 12:11:11 | 只看该作者

谢谢!

出0入0汤圆

4
发表于 2014-10-11 15:54:25 | 只看该作者
不错,学习

出0入131汤圆

5
发表于 2014-10-11 16:09:06 | 只看该作者
牛  请问裸机如何编译?用rvds?

出0入0汤圆

6
发表于 2014-10-11 16:10:23 | 只看该作者
支持,我买的6410吃灰两年多了

出0入0汤圆

7
 楼主| 发表于 2014-10-11 21:32:48 | 只看该作者

出0入0汤圆

8
 楼主| 发表于 2014-10-11 21:33:30 | 只看该作者
asj1989 发表于 2014-10-11 16:09
牛  请问裸机如何编译?用rvds?

在linux环境下用gcc编译器变异

出0入0汤圆

9
 楼主| 发表于 2014-10-11 21:33:51 | 只看该作者
gallop020142 发表于 2014-10-11 16:10
支持,我买的6410吃灰两年多了

出0入0汤圆

10
发表于 2014-10-11 21:36:44 | 只看该作者
顶楼主,确实分析的不错,期待你的嵌入式linux的教学贴

出0入0汤圆

11
 楼主| 发表于 2014-10-12 10:47:16 | 只看该作者
wangcjishu 发表于 2014-10-11 21:36
顶楼主,确实分析的不错,期待你的嵌入式linux的教学贴

谢谢支持

出0入4汤圆

12
发表于 2015-5-11 16:34:23 | 只看该作者
神作,在找Tiny6410核心板LCD引脚所对应的RGB看到这个帮助很大哈哈

出0入0汤圆

13
 楼主| 发表于 2015-6-6 20:29:43 | 只看该作者
suebillt 发表于 2015-5-11 16:34
神作,在找Tiny6410核心板LCD引脚所对应的RGB看到这个帮助很大哈哈

回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 21:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表