华芯微特32位MCU 发表于 2024-1-2 15:40:19

SWM341系列应用(驱动TTL RGB应用)

二、SWM341系列驱动TTL RGB应用可参阅 “SWM34SRET7应用笔记_20220225.pdf”
2.1、背光供电对图像的影响   --2023.4.14现象:应用SWM34SRET6驱动480x272 tftlcd 出现图像闪烁。采用SWM34SVET6驱动没有问题,LCDC参数配置符合显示屏模组规格。分析:背光的噪声大,在背光两极并电容,降低噪音,图像显示正常。   需注意电容的耐压值。分析&解决:降低主频后,将168Mhz将至160Mhz,测试10多次为出现白点现象。但是单独应用LVGL显示应用,主频在168Mhz条件下,不会有闪白点现象,或者单独应用JPG_AVI的例程,也不会有白点现象。 暂评估为SDRAM 频率带宽的原因。

2.2、SWM341TEST板(MPW1)显示驱动板播放视频闪屏--2021.07.20现象:使用SWM341_JPEG_AVI在完成SD卡拷贝文件至Flash完成后立即播放AVI视频会出现花屏的现象,调试 中有发现JPEG_SR的DMA_RD/WR一直都是忙的现象。如果拷贝完成后,去除TF卡再上电播放AVI则又不会出现花屏现象,或者直接从TF卡进行播放也不会出现花屏现象。                                    
分析&解决;1、option->C/C++(AC6)配置页下,“Language/Code Generation->Link-TimeOptimization”选项需要进行勾选,进行编译后,花屏现象消失。另外,SWM341的C编译只能选择AC6。
关于“Link-Time Optimization”,如下介绍:
2.4、SWM341TEST板显示驱动板显示白屏、花屏现象 现象:调试过程出现显示白屏现象。 花屏现象,如下图。
分析&解决:显示白屏或图像不同步的情况,测量RGB、DCLK、HSYNC、VSYNC、DE,连接没有问题,也没有短 路。测量DCLK信号与正常的信号有差别,幅度相差较大。
                                                               正常DCLK信号                                     显示白屏的DCLK信号
检查原理图,是由于DCLK 信号对地多接了104电容导致。拆除104电容后,显示正常。显示花屏的情况,测量RGB、DCLK、HSYNC、VSYNC、DE信号都正常。结合应用例程程序调试,发现程序在Spiflash初始化过程中检测,没有继续往下执行。检测Spiflash端口的连接,在MCU端的S0_CLK&S0_D2短路。排除短路后,显示还是花屏,继续跟踪调试,发现程序又停留在触摸通讯程序中,测量发现触摸通讯的IIC_SDA&IIC_SCL短路。排除短路后,显示正常。

2.5、驱动4.0寸480X480 灰色字体出现红色“鬼影”现象    --2021.09.22现象:在驱动 TL040WVS03CT(480RGB) 和 TL021WVC02(480x480) TFTLCD过程中,出现灰色字体的边缘有红色鬼影的现象,如下图所示:   
分析&解决:将 LCDC 驱动模块的取样边缘,有下降沿更改为上升沿,鬼影现象消失。即如下:LCD_initStruct.SampleEdge = LCD_SAMPLE_RISE;

2.6、高温状态和静态测试状态下花屏现象现象:客户在高温老化过程中和在静电测试过程中,出现花屏现象测试和解决:高温花屏和静电花屏是同一个现象,属于屏的初始化中,边沿采样方式 和MCU的LCDC中边沿采样方式不一致导致的,两边都设置成下降沿采样即可(之前实验过默认上升沿采样和MCU配置一致,屏显示会抖动)

2.7、显示PNG图片,采用LVGL转换工具,转换注意现象:底色透明的png图片转换成.bin文件后,加载到屏幕上,但显示的底色变成了黑色,分析:转换没带alpha通道转换选项选择:CF_TRUE_COLOR_ALPHA

2.8、SWM34S上电概率性花屏      现      象: 客户使用SWM34S上电有几率花屏。分析及解决:SWM34SIMG_Cache设置建议不使能,否则cache错误命中有可能会导致 底图指向被释放的指针,所以开机整屏切换出现花屏的现象。

2.9、LCDC模块传输完成标注位    现      象:客户反映SWM34SLCD模块关闭中断后无法读取传输完成的标志位。分析及解决:SWM34S的LCD模块有硬件传输完成标志位,按理说就算关掉中断使用硬件的方式,传输完成也能正常获取标志位值,但现在关掉中断之后标志位就不能正常获取了。导致客户会有大部分时间都在等待传输完成上面,目前尚无很好的解决办法。

2.10、SWM34S系列屏驱上位机                现      象:客户升级HMIBuilder版本后,移植完成后可以正常播放开机视频,但播完后显示黑屏,蓝牙等其他外设功能均正常。分析及解决:能够正常播放开机视频,但播放完成后显示黑屏,怀疑是更新时没有更新上位机生成的app.c以及各个界面的*.h文件,造成ID不匹配导致不正常显示,但客户经过调整后仍然显示黑屏。[注] 虽然并非此原因造成黑屏不显示,但仍然将其收录,之后遇到类似问题时可以考虑排查是否由此原因造成的不显示。
2.11、LCDC 驱动引脚的应用配置         由于SWM34SRE和SWM34SVE的板子LCD_HS和LCD_DEN的脚位不一样,有些客户会误以为34SRE和34SVE的脚位一样,在给客户调屏的时候需注意一下。


2.12、显示抖动现象               现象:客户使用SWM34SVE过程中,COG是77903,屏幕出现上下抖动问题;分析解决:把VBP和VFP的值设为最大,问题解决;


2.13、HBP与显示颜色的关系       现象:客户使用SWM34SRE过程中,反馈显示图片颜色不对,后续排查发现显示蓝色却变成黄色;分析解决:把HBP的值20改为10后,问题解决;

2.14、数据拷贝应用中数据类型定义引起的显示闪烁       现象:客户使用自己的GUI做7寸1024*600 美容仪,遇到抖屏闪烁的问题。分析与解决:在开启LCD中断的同时,没有对TIMER4进行中断优先级设置。导致TIMTR4中断和LCD中断进行抢占,而且客户的GUI必须改LCD中断,所以需要把TIMER4中断优先级设低。改中断优先级后闪屏现象好了很多,但是依旧会有轻微的抖动,因为客户的GUI做的两个缓存区切换,有一处需要做纯色背景色填充,抖动的是被填充的背景。客户原本是uint16_t的方式做for循环填充,后面改成memset或者memcpy都不会造成抖屏,一度怀疑是32bit传输对齐导致的,所以客户更换成uint32_t方式做for循环填充,这样子也不会造成抖屏,并且时间比原先快了一半。虽然不清楚具体什么原因但是 目前客户问题解决了,可以正常交样机。(技术支持过程中排查过屏参,SDRAM参数,皆无本质上的影响)

2.15、34S匹配需要初始化的rgb屏幕      现象:绿联客户,调试客户寄过来的屏幕,最终显示效果扫描原点偏移,如图:问题与分析:屏幕规格书写的分辨率是360x640,但实际是480x640,两边用外框挡着了不用,导致初始化点亮的区域一直不对。

2.16、整理SWM34SVE的IO口分配,方便对客户的应用快速分配IO;      
     
Pin NAME已分配优先显示屏驱动次分配建议如此配置 
1C5/I2C1SCL/SPI1MISO/BT9O/LCD_R1/ADC0_CH1/OPAVN0 SPI1MISOSPI*1
2C4/I2C1SDA/SPI1SSEL/B10O/T4I/T4O/LCD_R0/ADC0_CH2 SPI1SSEL
3C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2LCD_G7  
4C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2LCD_G6  
5C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2LCD_G5  
6C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6LCD_G4  
7A15/HALL3/LCD_G3/FILTER1/ADC0_CH7/OPAOUT3LCD_G3  
8A14/HALL5/LCD_G2/ADC0_CH8/OPAVP3LCD_G2  
9A13/UART0TX/HALL4/BT0O/LCD_G1/ADC0_CH9/OPAVN3   
10VSSIO地  
11VDDIO电源.3V  
12A12/UART0RX/HALL3/BT1O/LCD_G0/ADC0_TRIG1/ADC0_CH10   
13A11/UART0RTS/PWM_CLK0/BT2O/LCD_B7/ADC1_TRIG1/OPAVP1LCD_B7  
14A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11/OPAOUT1LCD_B6  
15A9/CAN0RX/LCD_B5/OPAVN1LCD_B5  
16AGND地  
17USB_DPUSB_DP  
18USB_DMUSB_DM  
19VCC 3.3V电源.3V  
20N C   
21VDDA12USB需要外部提供电压 输入1.2V  
22A8/ISPISP正常接L,需要接HISP 
23A7/I2C1SCL/T3I/T3O/XLI 32K_XI 
24A6/I2C1SDA/PWM_BRK0/PWM_CLK0/XLO 32K_XO 
25A5/PWM_BRK1/PWM_CLK1/LDQM   
26A3/I2C0SDA/LCD_B6/XI XI(4---30M) 
27A4/I2C0SCL/LCD_B5/XO XO(4---30M) 
28VDD33电源3.3V  
29CAP 1.2V内部核电压 输出1.2V  
30VSS33地  
31RESTnReset_MCU  
32A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0LCD_B4  
33A1/I2C0SCL/UART2RTS/HALL1/LCD_B3/ACMPVP1 I2C0SCLI2C*1
34A0/I2C0SDA/UART1TX/HALL0/LCD_B7/ACMPVP2 I2C0SDA
35B15/JTAGTRSTN/I2C1SCL/UART2CTS/PWM4A/T0I/T0O/LCD_B3LCD_B3  
36B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1OSWDIO(调试口)  
37B13/JTAGTDI/I2C1SDA/UART2RX/PWM4B/T2I/T2O/LCD_B2   
38B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0SWCLK(调试口)  
39B11/JTAGTDO/UART2TX/PWM_BRK2/T0I/T0O/LCD_B1   
40B5/SPI1SSEL/UART3CTS/HALL2/BT0O/CAN0RX/LCDC_RD/FILTER0/ACMPVN1LCD_DCK   
41B4/SPI1MOSI/UART3RX/HALL1/BT1O/CAN0TX/LCDC_RS/FILTER0/ACMPVN2LCD_DE  
42B3/SPI1MISO/UART3TX/PWM2A/HALL0/BT2O/CAN1RX/LCDC_WNR/FILTER0LCD_HSYNC  
43B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0LCD_VSYNC  
44B1/PWM3B/T0I/T0O/LCD_B0/SD_D7   
45B0/UART1TX/PWM3BN/DMA_TRIG1/T1I/T1O/SD_D6   
46N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/SD_D5/ADC0_TRIG0   
47N4/I2C0SDA/SPI1MISO/UART1RTS/PWM2AN/BT5O/T3I/T3O/CAN0TX/SD_D4/ADC1_TRIG0   
48VDDIO电源3.3V  
49VSSIO地  
50N1/SPI1SSEL/PWM2BN/BT6O/T0I/T0O/SD_D3 SD_D3SDIO*1
51N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD/SD_D2 SD_D2
52M6/I2C1SCL/UART2RX/PWM1AN/T0I/T0O/SD_D1 SD_D1
53M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O/SD_D0 SD_D0
54M11/PWM2B/LCDC_RS   
55M10/PWM3A PWM3APWM*1
56M9/PWM2AN/CAN0RX   
57M8/PWM2BN/CAN0TX/LCDC_WNR   
58VDDIO电源3.3V  
59D15/WAKEUP1 WAKEUP1 
60EFLASH_VSS地  
61EFLASH_VDD电源3.3V  
62D14   
63M15/T2I/T2O   
64D13   
65D12   
66M7/UART2TX   
67VDDIO电源3.3V  
68M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN/SD_CMD SD_CMDSDIO*1
69M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O/SD_DETECT  
70M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O/SD_CLK SD_CLK
71M1/UART0TX/PWM0A/T2I/T2O/CAN1RX DBG_UART_TX0UART*1
72M0/UART0RX/PWM_BRK1/CAN1TX DBG_UART_RX0
73D11/PWM_CLK0   
74VDDIO电源3.3V  
75VSSIO地  
76D9/PWM1B/T3I/T3O   
77D8/I2C1SCL/FSI/PWM1BN/T4I/T4OFLS_MOSISPI FLASHSPI*1
78D7/UPDN/I2C1SDA/FSO/BT8OFLS_MISO
79D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0FLS_CSN
80D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TXFLASH_CLK
81D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1FLS_HOLD
82D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1FLS_WP
83VDDIO电源3.3V  
84D2/INDEX/HALL3/DAC_OUT   
85D1/LCD_R5/ADC1_CH0LCD_RST  
86D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1   
87C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2LCD_R7  
88C12/UART0RX/BT4O/LCD_R6/ADC1_CH3LCD_R6  
89C11/BT5O/T0I/T0O/LCD_R5/ADC1_CH4LCD_R5  
90C10/BT6O/T1I/T1O/LCD_R4/ADC1_CH5LCD_R4  
91C7/SPI1SCLK   
92C6/SPI1MOSI/BT8O/ADC0_CH0   
93D10/PWM_CLK1   
94DACVSS地  
95DACVDD电源3.3V  
96ADC1_REFP电源3.3V  
97AVDD0电源3.3V  
98AVSS0地  
99C9/BT7O/T2I/T2O/LCD_R3/ADC1_CH6/OPAVP0LCD_R3SPI1_CLKSPI*1
100C8/LCD_R2/OPAVP0 SPI1_MOSI


配完显示驱动后,不够6组PWM,需要复用SWC组成4B 4BN; 或DEBUG串口0A 0AN



2.16、SWM34Sxxxx与ST7701驱动应用时的几种情况      --Yinfc    2023-11


当34S系列 MCU驱动RGB888接口的显示屏,其内部是ST7701S时,34SVE(100pin)的MCU,输出有RGB888的引线,可以直接和7701的RGB888对应连接,初始化为24bit;
当使用34SRE或34SCE来驱动显示屏时,可以有如下两种方式:MCU的R0—R2; B0—B2; G0—G1未引出来,可以按如下方案1或方案2连接:方案1:            方案1                                                 方案2
对于ST7701的按RGB888初始化的接口,在7701初始化为RGB888时,可以接R3---R7 G2--G7, B3--B7(方案1); 在7701初始化为RGB565时,接R0--R4 G0--G5B0--B4(方案2) 在7701初始化为RGB666时,如果34SRE,可以按上图连接:R1—R5 G0--G5B1—B5(方案2)

2.17、对于串行RGB(SRGB)显示屏接口,如下接口,显示屏分辨率一般为400x400圆屏,已调试好显示,可以给客户参考,在IO口数量上和8080的8BIT类似,但是驱动的速度上比8bit快很多,可以显示视频的效果,相关的接口方式如下:         
   对于以上的显示屏接口,在和SWM34S系列的MCU连接时,可以把DCLK DEHS VS 分别接MCU对应固定的IO,LCD_CS LCD_SDA LCD_SCL接到MCU的除A8以外的任意IO模拟显示屏的初始化SPI口,接IO口到显示屏RESET对显示屏复位, D0----D7如果接RGB888可以接到34SVE的G0---G7, 分三次传输到显示屏;或使用34SCE/34SRE的G2---G7的接口,把显示屏的D0 D1通过1K电阻接地,接成RGB565的驱动显示方式。

   软件方面的的配置参考如下:

页: [1]
查看完整版本: SWM341系列应用(驱动TTL RGB应用)