LCD的DE模式和HV模式
首先RGB的信号线如下:
然后看一下LCD的时序图:

LCD在显示可视数据之前,在行数据上有HFP、HBP、HSYNC,在列数据上有VFP、VBP、VSYNC,而不是所有的数据都是可以显示的数据,因此LCD的驱动和LCD之间需要采用某种方式来同步,比如让LCD知道现在我在发送的是HFP时序,你不要显示出来;或者通知LCD,现在开始后面的数据是可视数据,你可以开始显示了。为实现这种目的,有两种方式:DE模式和HV模式。
DE模式:使用DE信号线来表示有效数据的开始和结束,如下图:

当DE变为高电平时,表示有效数据开始了;变为低电平,表示有效数据结束。在DE模式下,LCD是不需要HS信号线的,也就是说LCD选择了DE模式,即使没有接HS信号线,LCD也能正常工作。
HV模式:LCD需要HS和VS,即水平同步和垂直同步信号来确定时序,如下:

在HV模式下,不需要DE信号线。靠HS和VS来同步时序。
DE模式和HV模式总结:
两种不同的同步方式中,现在的大尺寸屏幕一般都是DE同步模式,小尺寸的HV同步模式多。HV模式是早期的驱动模式了,现在的液晶屏面板驱动IC基本都是支持HV和DE两种模式的。很多已经直接去掉了HV模式,仅支持DE模式,DE模式的好处就是使用比较简单方便。对于支持DE模式的液晶屏,单片机可以不接行同步和场同步引脚。针对这个问题,armfly专门的进行了测试,将板子的行同步和场同步引脚直接接地或者接3.3V,正常工作,不受影响。又或者直接不初始化行同步和场同步引脚也是不受影响的。
点屏时,常用参数如下:
struct fb_videomode { const char *name; //name u32 refresh; //Frequency u32 xres; u32 yres; u32 pixclock; //时钟频率 u32 left_margin; //HBPD( Horizontal sync Back porch (pixels)) u32 right_margin; //HFPD(Horizontal sync Front porch (pixels)) u32 upper_margin; //VBPD(Vertical sync Back porch (pixels)) u32 lower_margin; //VFPD( vertical sync Front porch (pixels)) u32 hsync_len; //HSPW(Horizontal sync pulse width (pixels)) u32 vsync_len; //VSPW(Vertical Sync pulse width (pixels)) u32 sync; u32 vmode; u32 flag; }; HBP/HFP/VBP/VFP/HSP/VSP具体作用可以参考下图:具体数值可以参考: --------------------------------------------------- 720x480p: Generic timing details for 720x480: HFP=76 HSW=40 HBP=100 HF=34KHz VFP=29 VSW=1 VBP=53 VF=60Hz ---------------------------------------------------- Widescreen 16:9 848x480p Generic timing details for 848x480: HFP=88 HSW=48 HBP=120 HF=34KHz VFP=28 VSW=1 VBP=54 VF=60Hz ---------------------------------------------------- Widescreen 16:9 856x480p Generic timing details for 856x480: HFP=87 HSW=48 HBP=121 HF=34KHz VFP=28 VSW=1 VBP=54 VF=60Hz ---------------------------------------------------- Screen 4:3 1080x480p Generic timing details for 1080x480: HFP=108 HSW=48 HBP=164 HF=34KHz VFP=29 VSW=1 VBP=53 VF=60Hz ---------------------------------------------------- Screen 4:3 1440x480p Generic timing details for 1440x480: HFP=144 HSW=80 HBP=208 HF=34KHz VFP=29 VSW=1 VBP=53 VF=60Hz ----------------------------------------------------- Screen 4:3 1800x480p Generic timing details for 1800x480: HFP=154 HSW=96 HBP=246 HF=34KHz VFP=32 VSW=1 VBP=50 VF=60Hz ----------------------------------------------------- Screen 4:3 1800x540p Generic timing details for 1800x540: HFP=148 HSW=96 HBP=244 HF=34KHz VFP=7 VSW=1 VBP=15 VF=60Hz ----------------------------------------------------- Screen 4:3 1920x540p Generic timing details for 1920x540: HFP=161 HSW=104 HBP=255 HF=34KHz VFP=7 VSW=1 VBP=15 VF=60Hz ----------------------------------------------------- Screen 4:3 960x540p Generic timing details for 960x540: HFP=98 HSW=48 HBP=142 HF=34KHz VFP=7 VSW=1 VBP=15 VF=60Hz -------------------------------------------------------------------------------------- Powerstrip dongle 540P/1080i custom timings: ------------------------------------------------------------------------ Screen 4:3 640x480p HDTV Generic timing details for 640x480: HFP=143 HSW=48 HBP=169 HF=34KHz VFP=28 VSW=1 VBP=54 VF=60Hz ------------------------------------------------------------------- Screen 4:3 720x480p HDTV Generic timing details for 720x480: HFP=72 HSW=48 HBP=88 HF=34KHz VFP=29 VSW=1 VBP=53 VF=60Hz ------------------------------------------------------------------- Screen 4:3 856x480p HDTV Generic timing details for 856x480: HFP=88 HSW=48 HBP=120 HF=34KHz VFP=28 VSW=1 VBP=54 VF=60Hz -------------------------------------------------------------------- Screen 4:3 1776x1000i HDTV Generic timing details for 1776x1000: HFP=136 HSW=48 HBP=240 kHz=34 VFP=42 VSW=5 VBP=78 Hz=30 interlace -------------------------------------------------------------------- Screen 16:9 1920x1080i HDTV Generic timing details for 1920x1080: HFP=169 HSW=64 HBP=295 HF=34KHz VFP=20 VSW=5 VBP=20 VF=30Hz interlace ------------------------------------------------------------------------------------ Screen 4:3 800x600i Generic timing details for 800x600: HFP=279 HSW=56 HBP=329 HF=34KHz VFP=250 VSW=1 VBP=274 VF =30Hz interlace ------------------------------------------------------- Screen 4:3 1024x768i Generic timing details for 1024x768: HFP=164 HSW=56 HBP=220 HF=34KHz VFP=160 VSW=1 VBP=196 VF=30Hz interlace -------------------------------------------------------- Screen 4:3 1152x864i Generic timing details for 1152x864: HFP=190 HSW=112 HBP=218 HF=34KHz VFP=112 VSW=1 VBP=148 VF=30Hz interlace ----------------------------------------------------------- Screen 4:3 1280x720i Generic timing details for 1280x720: HFP=125 HSW=120 HBP=139 HF=34KHz VFP=180 VSW=1 VBP=224 VF=30Hz interlace ----------------------------------------------------------- Screen 4:3 1280x768i Generic timing details for 1280x768: HFP=138 HSW=96 HBP=166 HF=34KHz VFP=156 VSW=1 VBP=200 VF=30Hz interlace -------------------------------------------------------------- Screen 4:3 1280x960i Generic timing details for 1280x960: HFP=128 HSW=96 HBP=160 HF=34KHz VFP=44 VSW=1 VBP=120 VF=30Hz interlace ---------------------------------------------------------------- Screen 4:3 1280x1024i Generic timing details for 1280x1024: HFP=127 HSW=96 HBP=161 HF=34KHz VFP=43 VSW=3 VBP=55 VF=30Hz interlace ---------------------------------------------------------------- Screen 4:3 1440x960i Generic timing details for 1440x960: HFP=140 HSW=104 HBP=180 HF=34KHz VFP=60 VSW=1 VBP=104 VF=30Hz interlace ------------------------------------------------------------------ Screen 4:3 1600x900i Generic timing details for 1600x900: HFP=159 HSW=80 HBP=249 HF=34KHz VFP=89 VSW=3 VBP=133 VF=30Hz interlace ----------------------------------------------------------------- Screen 4:3 1776x1000i Generic timing details for 1776x1000: HFP=166 HSW=88 HBP=274 HF=34KHz VFP=44 VSW=5 VBP=76 VF=30Hz interlace ------------------------------------------------------------------ Screen 4:3 1920x1080i Generic timing details for 1920x1080: HFP=180 HSW=144 HBP=244 HF=34KHz VFP=24 VSW=2 VBP=20 VF=30Hz interlace *************************************** 480p timings *************************************** Screen 4:3 640x480p Generic timing details for 640x480: HFP=55 HSW=96 HBP=57 HF=32KHz VFP=11 VSW=5 VBP=29 VF=60Hz ------------------------------------------------------- Screen 4:3 720x480p Generic timing details for 720x480: HFP=67 HSW=96 HBP=85 HF=32KHz VFP=21 VSW=5 VBP=19 VF=60Hz -------------------------------------------------------- Screen 4:3 1440x480p Generic timing details for 1440x480: HFP=118 HSW=144 HBP=218 HF=32KHz VFP=13 VSW=5 VBP=27 VF=60Hz -------------------------------------------------------- HV模式点屏方法:手册里面应该有一张图表和一副时序图,里面有很多参数的值从上面的时序图上可以看到, VBP=vertical back porch, VFP=vertical front porch. 这个应该是 垂直回扫和垂直前扫. HBF和HFP应该也是Horizontal back porch 和Horizontal front porch 也就是 水平回扫和水平前扫. Hsync= HBP+HFP+Display period+pluse width, Vsync=VBF+HBP+Display period+pluse width. Vsync垂直扫描的时钟频率=垂直前扫+垂直回扫+LCD屏的显示宽度+脉冲宽度. Hsync水平扫描的时钟频率=水平前扫+水平回扫+LCD屏的显示高度+脉冲宽度. 用上面的参数举例: DCLK是时钟频率, 时钟频率6.4MHZ. Hsync是408个Dclk, 其频率是6.4M/408=15.6KHZ Vsync是262.5个TH,(NTSC和PAL是显示的制式) 其频率是15.6K/262=59HZ 你可以看到Hsync=HBP+HFP+DP=38+20+320+30=408 这些参数都需要你通过寄存器去调整, 用示波器去检验.