求教:TM035HDHT1 LCD 无显示问题

时间:2022-09-07 13:05:37
请各位高手赐教:
   问题是: 配置TM035HDHT1  LCD(240 * 320) (MCU S3C6410), LCD 无显示。

   TM035HDHT1   datasheet 参数如下:
    DCLK frequency    fDCYC       —        5.64         10          MHz
     DCLK period         tDCYC      100      177.15      —            ns

   Horizontal                  Thd          240                                          DCLK
 1horizontalline            Th             —           310         —            DCLK
  Horizontal blank         Thb           56           60          —            DCLK
 Horizontal front porch Thfp          2             10           16          DCLK

Vertical display area    Tvd         320                                          Line
Vsync period time         Tv           —               328       —            Line
Vsync blank                    Tvb         2                 4           —            Line
Vsync Front porch          Tvfp        2                 4           —      Line   

用示波器测量: fDCYC   为  6.33MHZ;    
                              HSYNC  为   20.18KHZ;
               VSYNC   为  64HZ
                             ENAB       为  20.18KHZ

MCU 配置如下:
rSPCON &= 0xFFFFFFFD; /*清除SPCON 中BIT1~ BIT0*/
rSPCON |= 0x01;  /*BIT1~ BIT0设为01,(RGB I/F) */
S3C6410_SFR32(0x7410800C) &= (~BIT3);  /*MOFPCON:SEL_BYPASS[3] value@0x7410800C 必须为0*/
rVIDCON0 &= 0x03FFFFF0; /* 清除BIT29; BIT27/BIT26 --- RGB I/F*/
rVIDCON0 |= (1<<25)|(1<<22)|(0<<17)|(0<<16)|(20<<6)|(1<<5)|(1<<4);
rVIDCON1 |= (1<<7)|(1<<6)|(1<<5)|(0<<4);      /*根据时序极性配置*/
rVIDCON2 = 0x00;
rVIDTCON0 = VBPDE(0)|VBPD(2)| VFPD(4)|VSPW(2);
rVIDTCON1 = VFPDE(0)|HBPD(58)|HFPD(10)|HSPW(2);
rVIDTCON2 = ((LCD_YSIZE - 1)<< 11)|(LCD_XSIZE - 1);

rDITHMODE = 0x00;  /*抖动控制 1寄存器*/
rDITHMODE = (1<<5)|(1<<3)|(1<<1); /* R--6BIT; G---6BIT; B---6BIT*/

rWINCON0 |= (0<<26)|(0<<22)|(0<<20)|(0<<19)|(0<<18)|(1<<17)|(0<<16)|(0<<13)|(0<<9)|(1<<5); /*配置为RGB(666),Eable 半字交换*/

rVIDOSD0A = 0x00;   /*左上角像素X /Y坐标*/
rVIDOSD0B = ((LCD_XSIZE-1)<<11)|(LCD_YSIZE -1); /*右下角像素X /Y坐标*/
rVIDOSD0C = (LCD_XSIZE * LCD_YSIZE);
rVIDW00ADD0B0 = (uint32)LCD_BUFF; /*窗口0缓冲的起始地址  */
rVIDW00ADD1B0 =(uint32)LCD_BUFF +(LCD_XSIZE * (LCD_YSIZE +1)); /*窗口0缓冲的结束地址  */
rVIDW00ADD2 = (0<<13)|(LCD_XSIZE * 2) ;  /*虚拟平面的页面宽度*/

上电后,背光灯点亮,往BUFF 传了一些字符,但LCD无字符显示。
已经查找了很久,没找到原因,还请高手多多赐教,谢谢了!



    

1 个解决方案

#1


原因查到了,配置错误导致,
rWINCON0 |= (0<<26)|(0<<22)|(0<<20)|(0<<19)|(0<<18)|(0<<17)|(0<<16)|(0<<13)|(0<<9)|(1<<5); /*配置为RGB(666),Disable 半字交换*/

#1


原因查到了,配置错误导致,
rWINCON0 |= (0<<26)|(0<<22)|(0<<20)|(0<<19)|(0<<18)|(0<<17)|(0<<16)|(0<<13)|(0<<9)|(1<<5); /*配置为RGB(666),Disable 半字交换*/