传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[我的日记] AT91SAM9261笔记讲解

© 庭院深深深几许 金牌黑马   /  2019-5-13 09:39  /  141 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  通过近期的摸索,终于完全了解了此lcd控制器的各个寄存器的意义以及配置,现在将其特别需要的注意的地方记录如下:
  一、时序问题:
  有三个寄存器LCDCON1,LCDTIM1,LCDTIM2设置很重要
  寄存器LCDCON1中有二个域BYPASS和CLKVAL,其中如果BYPASS写1代表着LCD屏的像素时钟为LCD内核时钟,也即主控时钟;如果BYPASS写0代表着LCD屏的像素时钟为如下公式计算:
  Pixel_clock=system_clock/(clkval+1)×2
  其中:system_clock代表的是lcd内核时钟,也就是主控时钟
  Pixel_clock代表的是lcd屏的像素时钟,也即是信号LCDDOTCK的时钟
  寄存器LCDTIM1和LCDTIM2这二个的设置要根据具体的lcd屏的数据手册来设置,手册上面已经说的很清楚了。
  其中LCDTIM1中需要根据手册设置的域为:VFP,VBP,VPW,VHDLY
  其中LCDTIM2中需要根据手册设置的域为:HBP,HFP,HPW
  二、图片格式问题:
  9261的lcd控制器可以驱动16位或24位的数字TFT液晶屏,其中16位屏的图片格式为:555格式,且从低位到高位依次为颜色:红,绿,蓝。
  三、lcd的像素时钟频率与lcd帧刷新频率的关系:
  lcd的像素时钟频率为:LCDDOTCK的频率
  lcd帧刷新频率为:LCDVSYNC的频率
  其关系为公式:
  其中HOZVAL为水平像素个数;LINEVAL为垂直像素个数
  四、9261的lcd控制器配置LCD屏时序的步骤:
  我使用的lcd屏是群创公司生产的AT070TN83 V.1型号的7寸数字液晶屏其主要的参数如下:
  VFP=132,VBP=22,VPW=1, HBP=45, HFP=210, HPW=1,其中VHDLY好像没有说明,其分辨率为800*480。 Lcd像素时钟频率为32.4MHZ~43MHZ,其推荐值为40MHZ
  首先,利用屏的资料把VFP,VBP,VPW,HBP,HFP,HPW设置好,VHDLY可以先不要设置
  其次,根据屏的数据手册可以得出lcd屏的最佳分辨率为60HZ,它是通过这样计算出来的:
  查屏的数据手册可以得知:一个LCDHSYNC周期为1056(推荐值)个LCDDOTCK周期,一个LCDVSYNC周期为635(推荐值)个LCDHSYNC周期。
  当屏的刷新频率为60HZ时,得到的LCDDOTCK的频率为:
  60*1056*635=40233600HZ,大约等于40MHZ,等于其推荐的lcd像素时钟频率。
  注意:但在lcd控制器上设置lcd像素时钟频率时,不要设置成为40MHZ,其设置公式为:lcd像素时钟频率=屏的刷新频率×HOZVAL×LINEVAL
  其中,屏的刷新频率也就是LCDVSYNC信号的频率,HOZVAL为lcd屏的宽度像素大小,LINEVAL为lcd屏的水平像素大小
  我设置的是60*800*480,大约等于:23MHZ.
  所以设置的时候,并不要在lcd控制器上把LCDDOTCK像素时钟设置成为40MHZ,只要设置为23MHZ就可以了。LCD屏数据手册上的推荐频率40MHZ是针对1056*635个像素周期的,而9261的lcd控制器上的23MHZ是针对800*480个像素周期的。但它之间的联系是60HZ
  还有VHDLY的设置可以通过下面这个公式来计算:
  其中PCLK_PERIOD为LCDC时钟周期中测量的LCDDOTCK的信号周期,也就LCDDOTCK的周期,DPATH_LATENCY为数据路径延迟。其值为下面的表:
  这个表是at91sam9261的数据手册中的,根据这个表以及lcd屏的数据手册,我们就可以确定VHDLY的值了。
  我的屏的VHDLY的值为1,因为HBP=45,HPW=1,已经大于9了,这里只要把VHDLY设置成1就符合要求了。


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马