硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4909|回复: 2
收起左侧

【STM32F429】LTDC如何配置驱动LVDS接口屏幕?

[复制链接]

5

主题

8

回帖

5

积分

新手上路

积分
5
发表于 2016-12-8 18:21:23 | 显示全部楼层 |阅读模式
项目使用STM32F429的芯片通过LVDS转换器驱动LVDS接口的屏幕,配置完成后,颜色不对。
颜色会随着LCD时钟频率变化而变化。

参照大神eric2013的配置
http://www.armbbs.cn/forum.php?mod=viewthread&tid=18528
我估计是参数配错了,我的参数配置是:
  1. /* 面板宽度,单位:像素 */
  2.     lcdltdc.pwidth = LCD_X_SIZE;    // 1024        
  3.     /* 面板高度,单位:像素 */            
  4.     lcdltdc.pheight = LCD_Y_SIZE;    // 600        
  5.     /* 水平同步宽度 */
  6.     lcdltdc.hsw = 20;                    
  7.     /* 垂直同步宽度 */
  8.     lcdltdc.vsw = 3;                    
  9.     /* 水平后廊 */
  10.     lcdltdc.hbp = 140;               
  11.     /* 垂直后廊 */
  12.     lcdltdc.vbp = 20;                  
  13.     /* 水平前廊 */
  14.     lcdltdc.hfp = 160;               
  15.     /* 垂直前廊 */
  16.     lcdltdc.vfp = 12;   
  17.    /* 像素时钟 */
  18.     LTDC_Clk_Set(PLL_SAIN,2,RCC_PLLSAIDIVR_2);       //设置45Mhz
  19. /* !< LTDC配置 */
  20.   /* */
  21.   LTDC_Handler.Instance = LTDC;
  22.   /* 水平同步极性 */
  23.   LTDC_Handler.Init.HSPolarity =              LTDC_HSPOLARITY_AL;            
  24.   /* 垂直同步极性 */
  25.   LTDC_Handler.Init.VSPolarity =              LTDC_VSPOLARITY_AL;            
  26.   /* 数据使能极性 */
  27.   LTDC_Handler.Init.DEPolarity =              LTDC_DEPOLARITY_AL;            
  28.   /* 像素时钟极性 */
  29.   LTDC_Handler.Init.PCPolarity =              LTDC_PCPOLARITY_IPC;            
  30.   /* 水平同步宽度 */
  31.   LTDC_Handler.Init.HorizontalSync =          lcdltdc.hsw-1;   // 19               
  32.   /* 垂直同步宽度 */
  33.   LTDC_Handler.Init.VerticalSync =            lcdltdc.vsw-1;         // 2         
  34.   /* 水平同步后沿宽度 */
  35.   LTDC_Handler.Init.AccumulatedHBP =          lcdltdc.hsw+lcdltdc.hbp-1;   // 159   
  36.   /* 垂直同步后沿高度 */
  37.   LTDC_Handler.Init.AccumulatedVBP =          lcdltdc.vsw+lcdltdc.vbp-1;   // 22   
  38.   /* 有效宽度 */
  39.   LTDC_Handler.Init.AccumulatedActiveW =      lcdltdc.hsw+lcdltdc.hbp+lcdltdc.pwidth-1;   // 1183   
  40.   /* 有效高度 */
  41.   LTDC_Handler.Init.AccumulatedActiveH =      lcdltdc.vsw+lcdltdc.vbp+lcdltdc.pheight-1;     // 622
  42.   /* 总宽度 */
  43.   LTDC_Handler.Init.TotalWidth =              lcdltdc.hsw+lcdltdc.hbp+lcdltdc.pwidth+lcdltdc.hfp-1; // 1343  
  44.   /* 总高度 */
  45.   LTDC_Handler.Init.TotalHeigh =              lcdltdc.vsw+lcdltdc.vbp+lcdltdc.pheight+lcdltdc.vfp-1;  // 634
  46.   /* 屏幕背景层红色部分 */
  47.   LTDC_Handler.Init.Backcolor.Red =           0X00;         
  48.   /* 屏幕背景层绿色部分 */
  49.   LTDC_Handler.Init.Backcolor.Green =         0Xff;         
  50.   /* 屏幕背景色蓝色部分 */
  51.   LTDC_Handler.Init.Backcolor.Blue =          0x00;         
  52.   /* 初始化LTDC */
  53.   HAL_LTDC_Init(<DC_Handler);
复制代码
但是哪些些参数 ,如“水平同步宽度”、“垂直同步宽度”、水平后廊“、“垂直后廊”等我在LCD手册上并没有找到,在LVDS转换器上也没找到。

7.DTC34LM85AL_Rev.1.0.pdf (131 KB, 下载次数: 266)
DTC_AN01_V1.3(DTC34L85AL).pdf (260 KB, 下载次数: 279)

LCD (3).png 44444.png

求大神帮忙看看!![s:128][s:128]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2016-12-9 09:10:31 | 显示全部楼层
降低LTDC输出时钟看看,配置为10-15MHz
回复

使用道具 举报

5

主题

8

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2017-5-8 09:59:05 | 显示全部楼层
结贴,已经解决了。
是硬件问题,去掉一个电容就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 14:09 , Processed in 0.163066 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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