S3C2440 LCD控制器中引脚极性的判断、一些名词解释、重要结构体的抽象

最近在学韦东山老师的LCD新一期视频,看了两遍,一些问题差不多都看明白了,因此想针对视频里一些疑惑和自己出现问题的地方写写总结,这也是我的第一篇原创博文!

首先,跟着视频一步步走,先是利用面向对象的思想建立框架,将不同型号的lcd的共同设置参数抽象出来,定义成结构体lcd_parameters,同时定义指向该结构体的指针*p_lcd_parameters,以后定义结构体的时候就这么干!!!相关结构体如下 ,里面的参数我自己做了详细说明,为了更加明了,下面针对一些不易说明白的地方我插图说明。

1、先解释下各参数的全称

HFPD(thf-1) : Horizontal Front Porch Delay  表示一行的有效数据结束到下一个水平同步信号开始 前 (Front)的VCLK的个数    右侧黑框

HSPW(thp-1): Horizontal Sync Pulse Width  一行中有效像素数

HBPD(thb-1) :Horizontal Back Porch Delay  水平同步信号发出后(BACK)到一行 有效数据开始之间的VCLK个数             左侧黑框

VFPD (tvf-1):Vertical Front Porch Delay  表示一帧的有效数据结束到下一个帧同步信号开始之间的VCLK的个数 下侧黑框

VSPW (tvp-1):Vertical Pulse width 帧脉冲宽度 即有效行数

VBPD(tvb-1):Vertical BackPorch Delay  垂直同步信号发出后到一行有效数据开始之间的VCLK个数         上侧黑框

2、S3C2440引脚极性的有效电平确定

a、VDEN :查看VD数据传输时,VDEN对应的电平信号 NORMAL 高电平

b、PWREN:2440数据手册P421 在Figure 15-8中 LCDCON5中的PWREN = 1时 INVPWREN=0时在LCD_PWREN高电平期间LCD屏幕为ON,因此NORMAL为高电平有效
      这是在LCD控制器里面怎查询,那么再具体赋值的时候对于某款选定的LCD来说应该查看具体原理图电路确定


c、VSYNC/HSYNC :查看VSPW(tvp)/HSPW(thp)(帧/行同步信号宽度,有效脉冲)对应段的VSYNC/HSYNC信号电平  NORMAL 高电平有效


d、VD(RGB)信号极性的判断:VD是Vieo Data 的缩写 顾名思义是图像数据 也就是RGB数据  数据的极性一般就是 高电平用  1  表示 因此 NORMAL 及高电平有效



/*抽象出LCD所需的参数,构造结构体*/

/*Back Porch
 *Front Porch
 *前廊后廊
 *前是指 信号 结束 后 到 下一个信号开始前
 *后是指 信号 开始 后 到 有效数据开始前
 *因此Vertical Back Porch 就是垂直信号发出后 到 第一个有效行开始 也即上边黑框
 *Vertical Front Porch 就是垂直信号结束(一帧结束)后到下一帧信号到来前(信号不来就不会
 *跳转到左上角) 也就是下边黑框
 */
typedef struct time_sequence{

    /*水平时序参数*/
    int thf; /*Horizontal Front porch 表示一行的有效数据结束到
              *下一个水平同步信号开始之间的VCLK的个数 右侧黑框
              *相当于HFPD + 1 Horizontal Front Porch Delay
              */
    int thp; /*Horizontal Pulse width 水平脉冲宽度 即每行有效像素数
              *相当于HSPW+1 Horizontal Sync Pulse Width
              */
    
    int thb; /*Horizontal Back porch  水平同步信号发出后到一行
              *有效数据开始之间的PCLK个数             左侧黑框
              *相当于HBPD + 1
              */
    /*垂直时序参数*/
    int tvf;/*Vertical Front porch 表示一帧的有效数据结束到
              *下一个帧同步信号开始之间的VCLK的个数 下侧黑框
              *相当于VFPD + 1 Vertical Front Porch Delay
              */
    int tvp;/*Vertical Pulse width 水平脉冲宽度 即有效行数
              *相当于VSPW+1 Vertical Sync Pulse Width
              */
    int tvb;/*Vertical Back porch  垂直同步信号发出后到一行
              *有效数据开始之间的PCLK个数             上侧黑框
              *相当于HBPD + 1
              */
    /*像素时钟*/
    int pclk;//VCLK
    
}time_sequence,*p_time_sequence;

typedef struct pins_polarity{

    int VDEN;  /*查看VD数据传输时,VDEN对应的电平信号 NORMAL 高电平 */
    int PWREN; /*LCD POWER ENABLE P421 NORMAL 高电平有效*/
    int VSYNC; /*查看VSPW(帧同步信号宽度,有效脉冲)对应段的VSYNC信号电平           
                *NORMAL 高电平
                */
    int HSYNC;/*查看HSPW(水平同步信号宽度,有效脉冲)对应段的HSYNC信号电平           
                *NORMAL 高电平
                */
    int VCLK; /*寄存器相应位说明了 NORMAL 下降沿有效*/
    int VD;   /*RGB数据有效 一般数据类的信号               NORMAL 表示 高电平*/
    
}pins_polarity,*p_pins_polarity;

typedef struct lcd_parameters{

    char *name;
    /*引脚极性*/
    pins_polarity pins_pol;

    /*时序*/
    time_sequence time_seq;

    /*分辨率*/
    int xres;
    int yres;
    int bpp;/*bit per pixel 像素位数*/

    /*像素基地址*/
    unsigned int fb_base;

}lcd_parameters,*p_lcd_parameters;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值