版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章嵌入式接口技术应用LCD显示器接口I2C总线I2S总线AC97控制器6.1LCD显示器接口S3C2440内置的LCD控制器能将显示在LCD上的数据从系统内部的数据缓冲区通过逻辑单元传送到外部的LCD驱动器中。它可以支持不同分辨率的显示,如:640×480、320×240等,最大可支持24位数据的16.7M彩色TFT模块。LCD特点: (1)低压微功耗 (2)平板型结构 (3)被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳) (4)显示信息量大(因为像素可以做得很小) (5)易于彩色化(在色谱上可以非常准确的复现) (6)无电磁辐射(对人体安全,利于信息保密) (7)长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。S3C2440的LCD控制器特性(1)STNLCD屏:3种扫描方式:
4位单扫描、4位双扫描、8位单扫描黑白:单色(1BPP)(BPP:BitPerPixel,位/像素)灰度:4级灰度(2BPP),16级灰度(4BPP)彩色:256彩色(8BPP),4096彩色(12BPP)多种分辨率:640×480、320×240等,最大2048×1024,视频存储器最大4M(2)TFTLCD屏:调色板显示模式:1BPP,2BPP,4BPP,8BPP非调色板显示模式:
64K彩色(16BPP),16M彩色(24BPP)多种分辨率:640×480、320×240等,最大2048×1024,视频存储器最大4M(3)共同特点:可以产生两个中断请求信号:LCD帧同步中断、FIFO中断使用系统内存作为显存支持多种虚拟显示屏(支持水平/垂直滚屏)对于不同的显示屏,支持可编程定时控制支持小端和大端字节模式支持SECTFTLCD屏
液晶显示器LCD:LiquidCrystalDisplay,液晶显示器,一种采用液晶为材料的平面超薄显示设备。特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在嵌入式系统中有广泛的应用。液晶:是介于固态和液态之间的具有规则性分子排列的有机化合物。将其加热会变成透明液态,冷却后会变成结晶的混浊固态。基本显示原理:在电场作用下,液晶分子会发生排列上的变化,从而影响通过它的光线的变化,这种光线的变化通过偏光片的作用可以表现为明暗的变化。这样,通过对电场的控制最终控制了光线的明暗变化,从而达到显示图像的目的。
晶体液晶液体液晶分类按分子结构排列,液晶分为3类:
(1)向列型液晶(Nematic)
(2)近晶型液晶(Smectic) (3)胆固醇型液晶(Cholestic)向列型液晶向列型液晶:Nematic,又称丝状液晶,类似细火柴棒状。向列型液晶由长径比很大的棒状分子组成,保持与轴向平行的排列状态。因为分子的重心杂乱无序,并容易顺着长轴方向自由移动,所以像液体一样富于流动性。用于液晶显示器的是向列型液晶。采用此类液晶制造的液晶显示器被称为了LCD(LiquidCrystalDisplay)。向列液晶在偏光显微镜下的图近晶型液晶近晶型液晶:Smectic,又称层状液晶,类似粘土状。近晶型液晶按层状排列,由棒状或条状分子呈二维有序排列组成。层内分子长轴相互平行,其方向可以垂直于层面或与层面成倾斜排列。层与层之间的作用较弱,容易滑动,因此具有二维的流动特性。隧道显微镜下的近晶型层状液晶胆固醇型液晶胆固醇型液晶:Cholestic,也称螺旋状液晶,类似胆固醇状。胆固醇型液晶和近晶型一样具有层状结构,但层内分子排列则与向列型液晶类似,分子长轴在层内是相互平行的,而在垂直这个平面上,每层分子都会旋转一个角度。液晶整体呈螺旋结构。螺距的长度是可见光波长的数量级。LCD显示方式液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。从使用光源角度看,LCD有3种显示方式:反射型、透射型、透反射型。 (1)反射型:反射型LCD的底偏光片后面加了一块反射板,一般在户外和光线良好的办公室中使用。 (2)透射型:透射型LCD的底偏光片后面是一个背光源,一般在光线差的环境中使用。 (3)透反射型:透反射型LCD介于上述两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候可关掉背光源,光线差时可点亮背光源。LCD分类按物理结构,液晶显示器一般分为四种: (1)TN型:TwistedNematic,扭曲向列型,液晶分子扭曲角度为90度。技术层次较低,价格低廉,仅能呈现黑白单色,适合3英寸以下产品:电子表、电器产品。 (2)STN型:SuperTN,超扭曲向列型,液晶分子扭转角度加大,呈180度或270度,对比度加大,达到更优越的显示效果。STN型液晶显示器较TFT型工艺简单,成品率较高,价格适中,反应时间较快,可单色或彩色显示。多应用于信息处理设备:移动电话、PDA、电子辞典、掌上型电脑、低档显示器。 (3)DSTN型:DualScanTortuosityNomograph,双层超扭曲向列型,双层,比STN更优异,采用双扫描技术,显示面板结构较TN与STN复杂,显示效果提高。
(4)TFT型:ThinFilmTransistor,薄膜晶体管型,TFT是液晶面板的一种驱动方式,通过有源开关实现对各个像素的独立精确控制,显示效果更精细,反应速度更快,彩色显示,价格高。是市场上的主流产品:笔记本/掌上型电脑、汽车导航系统、数码相机、投影仪。STN和TFT的区别目前市场上主要是STN型彩色液晶屏(俗称伪彩屏)和TFT型彩色液晶屏(俗称真彩屏)。STN是早期彩屏的主要器件,最初只能显示256色,经过技术改造,可以显示4096色甚至65536色。
优点:价格低,能耗小。
缺点:亮度、色彩鲜艳度较差,响应时间长(200ms)。TFT是目前市场上的主流产品。
优点:亮度好,对比度高,层次感强,颜色鲜艳,响应时间短(小于80ms)。
缺点:比较耗电,成本较高。液晶显示器结构液晶与薄膜晶体管TFT组成的有源矩阵方式是液晶显示的主流。TFT-LCD的构成:背光源(萤光管或者LEDLightBar)、导光板、偏光片、彩色滤光片、玻璃基板、配向膜、液晶材料、薄膜晶体管TFT。液晶屏组成ColorFilterAlignmentLayer背光源导光板TFT-扭曲向列型(TN)显示原理玻璃基板偏光片偏光片液晶TN型彩色滤光片配向膜薄膜晶体管TFT导光板CRT显示器的结构和工作原理1为对比液晶显示器显示原理,先简要说明CRT显示原理。六部分组成:视频放大驱动电路、行扫描电路、场扫描电路、高压电路、CRT显象管、机内直流电源CRT显示器的结构和工作原理2由显示卡送来的水平(行)同步信号与垂直(场)同步信号,分别经行扫描电路和场扫描电路,为CRT显象管的水平(行)偏转线圈和垂直(场)偏转线圈提供具有一定幅度和线性良好的锯齿波电流,产生垂直方向和水平方向的偏转磁场,控制电子束在水平或垂直方向偏转,形成扫描光栅。CRT显示器的结构和工作原理3视频放大驱动电路将主机经显示卡送来的视频信号放大驱动后,送到CRT显象管的阴极,产生电子束轰击屏幕而出现光点。高压电路利用行扫描电路产生的行逆程脉冲,经过行逆程变压器(俗称高压包)升压、整流、滤波后,为CRT显象管提供正常工作所需的各档电压,以及为视频等电路提供电源电压。CRT显示器的结构和工作原理4CRT显示器的显象管是用来实现字符或图形显示的电-光转换器件,要使其正常进行显示工作,必须按要求为它的各个电极提供所需的高、中、低电压。CRT显象管的结构很简单,它是一个真空玻璃管,在其颈部有一个电子枪,电子枪的对面有一个荧光敷面。当电子枪被激活时,即发射一串电子束,电子束轰击屏幕内侧的荧光敷面,从而在屏幕上产生一个荧光点。真空管上附有水平偏转线圈和垂直偏转线圈,依据电磁吸引、排斥原则形成电子束的偏转,控制屏幕表面的电子束的位置。对光栅扫描方式而言,不同的信号作用于水平、垂直线圈,从而使电子束在屏幕上移动,随着电子束的移动,在屏幕上就会留下一条荧光轨迹,这条轨迹过一段时间才能消散。这段时间是由荧光敷面的特性决定的,荧光消散率由荧光暂留时间决定。CRT显示器的光栅扫描电子束首先出现在屏幕的左上角,再扫至右上角,这样在屏幕上就留下一条线。这条线就称为光栅线,当电子束到达屏幕右边后,它又以极高的速度重新定位到屏幕左边,这样在第一条轨迹的下面又出现一条线,叫水平回扫。从这点开始经水平扫描又在屏幕上产生了第二条显示线。这个扫描过程一直持续到水平扫描到达屏幕底部,此时一帧画面扫描完毕。最后,电子束又以极高的速度回扫到屏幕左上角,称为垂直回扫。在水平回扫和垂直回扫的过程中,要对电子束进行抑制(消隐),使回扫线不在屏幕上显示出来。于是在屏幕上出现水平的光栅扫描线。TFT-STN液晶显示器显示原理Y1Y2Y3Y4Y5…Ym
信号(列)电极X1X2X3X4X5┇Xn扫描(行)电极同步电路扫描电路Y1Y2Y3…
YmX1X2X3┇Xm漏极母线栅极母线电容器液晶FET信号CRT点扫描,TFT-LCD行扫描LCD控制结构要使LCD屏显示图像,不但需要LCD驱动器,还需要有相应的LCD控制器。通常LCD驱动器与LCD玻璃基板制作在一起,而LCD控制器则由外部电路来实现。
市面上出售的LCD有两种类型:(1)带有控制电路的LCD显示模块,可以方便地与各种单片机进行接口,如8051系列单片机。由于有控制电路,所以体积比较大。控制模块具有八位数据总线,外加一些电源接口和控制信号,自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。(2)LCD显示屏,没有控制电路,需要与控制电路配合使用。特点是体积小,但需要另外的控制芯片,也可以使用带有LCD控制能力的高档MCU驱动,如ARM系列的S3C2440。微控制器LCD控制器LCD驱动器液晶屏LCD控制结构:S3C2440内置LCD控制器功能结构REGBANKLCDCDMAVIDEOMUXVCLK/LCD_HCLKVLINE/HSYNC/CPVVFRAME/VSYNC/STVVM/VDEN/TPLCD_LPCOE/LCD_LCCINVLCD_LPCREV/LCD_LCCREVLCD_LPCREVB/LCD_LCCREVBVD[23:0]系统总线TIMEGENLCC3600LPC3600VIDPRCSLPC3600:定时逻辑,专用于产生三星TFT-LCDLTS350Q1-PD1或LTS350Q1-PD2的控制信号REGBANK:LCD控制器的寄存器组,含17个寄存器及一块256×16的调色板存储器,用来设置各项参数VIDPRCS:将LCDCDMA中的数据组合成特定的格式(比如4位单扫、4位双扫和8位单扫),然后从VD[23:0]发给LCD驱动器TIMEGEN和LPC3600:产生LCD驱动器需要的控制信号,比如VSYNC、HSYNC、VCLK和LEND等,这些信号与REGBANK中的LCDCON1-5寄存器的配置相关,配置不同,TIMEGEN产生的信号也不同,从而支持不同的LCD驱动器(即不同的STN/TFT屏)LCC3600:定时逻辑,专用于产生三星TFT-LCDLTS350Q1-PE1或LTS350Q1-PE2的控制信号VIDEOMUX:控制信号多路选择逻辑,根据控制参数的设置,输出不同的控制信号PWRENLEND/STH1234567S3C2440内置LCD控制器功能结构LCDCDMA:LCD控制器专用DMA通道,能自动地把帧存储器中的视频数据传送到LCD驱动器,不需要CPU的干预LCDDMA模块中包含了一个FIFO存储器组。当FIFO寄存器为空或部分为空时,LCDDMA请求从帧存储器以突发传输模式获取数据。FIFO寄存器组有28个字,包括FIFOL(低12字)和FIFOH(高16字)。双扫描模式使用FIFOH(上半屏)、FIFOL(下半屏)。单扫描模式仅使用FIFOH。REGBANKLCDCDMAVIDEOMUXVCLK/LCD_HCLKVLINE/HSYNC/CPVVFRAME/VSYNC/STVVM/VDEN/TPLCD_LPCOE/LCD_LCCINVLCD_LPCREV/LCD_LCCREVLCD_LPCREVB/LCD_LCCREVBVD[23:0]系统总线TIMEGENLCC3600LPC3600VIDPRCSPWRENLEND/STH1234567当把VSYNC、HSYNC、VCLOCK等信号的时间参数设置好后,并将帧内存的地址告诉LCD控制器,LCD控制器即可自动地发起DMA传输从帧内存中得到图像数据,最终在上述信号的控制下出现在数据总线VD[23:0]上。LCD控制器从内存中获得某个像素的24位颜色值后,直接通过VD[23:0]数据线发送给LCD。只需要把要显示的图像数据写入帧内存中。S3C2440LCD控制器-STN接口信号REGBANKLCDCDMAVIDEOMUXVCLK/LCD_HCLKVLINE/HSYNC/CPVVFRAME/VSYNC/STVVM/VDEN/TPLCD_LPCOE/LCD_LCCINVLCD_LPCREV/LCD_LCCREVLCD_LPCREVB/LCD_LCCREVBVD[23:87:0]系统总线TIMEGENLCC3600LPC3600VIDPRCSPWRENLEND/STHVCLK:像素时钟信号。VCLK上升沿由LCD控制器送出数据。VCLK下降沿由LCD驱动器采样。该信号与LCD模块的XCK信号相对应。VLINE:行同步信号,用于LCD驱动器将水平线(行)移位寄存器的内容传送给LCD屏显示。LCD控制器在整个水平线(整行)数据移入LCD驱动器后,插入一个VLINE信号。该信号与LCD模块的LP信号相对应。VFRAME:帧同步信号,告诉LCD新的一帧开始。LCD控制器在一个完整帧显示完成后立即插入一个VFRAME信号,并开始新一帧的显示。该信号与LCD模块的YD信号相对应。VM:电压极性信号,用于控制LCD驱动器改变行和列的电压极性,从而控制像素点的显示或熄灭。VM信号可以与每个帧同步,也可以与可变数量的VLINE信号同步。该信号与LCD模块的DISP信号相对应。VD[7:4]:LCD像素点数据输出端口。与LCD模块的D[7:4]相对应。VD[3:0]:LCD像素点数据输出端口。与LCD模块的D[3:0]相对应。PWREN:电源开关信号S3C2440LCD控制器-TFT接口信号REGBANKLCDCDMAVIDEOMUXVCLK/LCD_HCLKVLINE/HSYNC/CPVVFRAME/VSYNC/STVVM/VDEN/TPLCD_LPCOE/LCD_LCCINVLCD_LPCREV/LCD_LCCREVLCD_LPCREVB/LCD_LCCREVBVD[23:0]系统总线TIMEGENLCC3600LPC3600VIDPRCSPWRENLEND/STHVSYNC:垂直同步信号。HSYNC:水平同步信号。VCLK:像素时钟信号。VD[23:0]:LCD像素数据输出端口。VDEN:数据使能信号。LEND:行结束信号。PWREN:LCD屏电源控制信号。S3C2440LCD控制器-SEC
TFT接口信号STV:SEC
TFT
信号CPV:SEC
TFT
信号LCD_HCLK:SEC
TFT
信号VD[23:0]:LCD像素数据输出端口TP:SEC
TFT
信号STH:SEC
TFT
信号PWREN:LCD屏电源控制信号LCD_LPCOE/LCD_LCCINV:SEC
TFT信号
OELCD_LPCREV/LCD_LCCREV:SEC
TFT信号
REVLCD_LPCREVB/LCD_LCCREVB:SEC
TFT信号
REVBREGBANKLCDCDMAVIDEOMUXVCLK/LCD_HCLKVLINE/HSYNC/CPVVFRAME/VSYNC/STVVM/VDEN/TPLCD_LPCOE/LCD_LCCINVLCD_LPCREV/LCD_LCCREVLCD_LPCREVB/LCD_LCCREVBVD[23:0]系统总线TIMEGENLCC3600LPC3600VIDPRCSPWRENLEND/STHSEC:Samsung
Electronics
Company,三星公司
SEC
TFT接口信号:三星公司专门为三星TFT-LCDLTS350Q1-PD1或LTS350Q1-PD2、LTS350Q1-PE1或LTS350Q1-PE2配置的控制信号TFT接口时序VBPD:verticalbackporch,一帧图像开始时,垂直同步信号以后的无效的行数HSPW:horizontalsyncpulsewidth,水平同步信号的脉冲宽度,用VCLK计算HFPD:horizontalfrontporth,一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数HBPD:horizontalbackporch,从水平同步信号开始到一行的有效数据开始之间的VCLK的个数VSPW:verticalsyncpulsewidth,垂直同步脉冲的宽度,用行数计算VFBD:verticalfrontporch,一帧图像结束后,垂直同步信号以前的无效的行数VSYNC垂直同步信号,HSYNC水平同步信号VCLK像素时钟信号,VD[23:0]数据输出端口VDEN数据使能信号,LEND行结束信号TFT接口时序分析VSYNC是帧同步信号:每发出1个脉冲,意味着新的1屏视频数据开始发送。HSYNC是行同步信号:每发出1个脉冲,表明新的1行视频数据开始发送。VDEN:用来标明视频数据有效。这样的时序要求是源于当初CRT显示器电子枪偏转需要时间,但后来成了实际上的工业标准,乃至于后来出现的TFT屏为了在时序上与CRT兼容,也采用了这样的控制时序。行的前回扫时间:
(HSPW+1)+(HBPD+1)行的后回扫时间:
(HFPD+1)帧的前回扫时间:
(VSPW+1)+(VBPD+1)帧的后回扫时间:
(VFPD+1)在帧同步、行同步的头、尾都必须留有回扫时间TFT时序计算LCD屏分辨率参数:
LINEVAL:垂直显示尺寸-1(LCD屏的行数、垂直像素点数-1)。
HOZVAL:水平显示尺寸-1(LCD屏的列数、水平像素点数-1)。帧时序中:在VSPW(帧脉冲宽度)、VBPD(帧后沿)、VFPD(帧前沿)时序内,不会出现有效数据。VSPW、VBPD和VFPD的单位是行。行时序中:在HSPW(行脉冲宽度)、HBPD(行后沿)、HFPD(行前沿)时序内,不会出现有效数据。HSPW、HBPD和HFPD的单位是VCLK周期。在寄存器中,LINEVAL、HOZVAL、VSPW、VBPD、VFPD、HSPW、HBPD、HFPD都是实际值减1。这些值通过寄存器LCDCON2、LCDCON3和LCDCON4配置。像素时钟:
VCLK=HCLK/[(CLKVAL+1)×2]行频:
HSF=VCLK/[(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)]帧频:
VSF=HSF/[(VSPW+1)+(VBPD+1)+(VFPD+1)+(LINEVAL+1)]
TFT时序计算-举例例如:HCLK=100MHz,驱动像素时钟为6.4MHz的320×240的3.5寸LCD屏。根据像素时钟计算公式VCLK=HCLK÷[(CLKVAL+1)×2],代入参数
6.4MHz=100MHz÷[(CLKVAL+1)×2]计算CLKVAL值为6.8,取整后(值为6)放入寄存器LCDCON1中相应的位置即可。由于CLKVAL进行了取整,因此我们把取整后的值代入上式,重新计算VCLK,得到VCLK=7.1MHz。分辨率为240×320,则:LINEVAL=240-1,HOZVAL=320-1,水平同步信号的HSPW、HBPD和HFPD分别为30、38、20,垂直同步信号的VSPW、VBPD和VFPD3、15、12(这些参数由LCD屏手册给出),则:
HSPW=30-1,HBPD=38-1,HFPD=20-1 VSPW=3-1,VBPD=15-1,VFPD=12-1HSF=VCLK÷[(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)]
=7.1÷408=17.5KHzVSF=HSF÷[(VSPW+1)+(VBPD+1)+(VFPD+1)+(LINEVAL+1)]
=17.5÷270=64.8Hz在有些情况下,S3C2440的LCD时序信号的默认极性与所控制的LCD时序信号的极性相反,这时可通过寄存器LCDCON5的相关位来改变某些时序信号的极性。STN显示类型STN-LCD控制器支持3种类型的LCD驱动器:
4位单扫描
4位双扫描
8位单扫描STN4位单扫描4位单扫描: (1)扫描线从左上角位置进行数据显示。 (2)显示数据从VD[3:0]获得。 (3)彩色液晶屏数据位代表RGB色。彩色像素点的显示包含3种颜色的图像数据,这使得行数据移位寄存器需要传输3倍于每行像素点个数的数据。STN4位双扫描4位双扫描: (1)分别使用两个扫描线进行数据显示。 (2)显示数据从VD[3:0]获得高扫描数据。 (3)VD[7:4]获得低扫描数据。 (4)彩色液晶屏数据位代表RGB色。STN8位单扫描8位单扫描: (1)扫描线从左上角位置进行数据显示。 (2)显示数据从VD[7:0]获得。 (3)彩色液晶屏数据位代表RGB色。STN8位单扫描接口时序MMODE=1,VM触发速率由MVAL决定MMODE=0 ,VM每帧触发VCLK像素时钟VLINE行同步VFRAME帧同步VM电压极性VD[7:0]数据输出WLH:行同步信号的脉冲宽度,用HCLK计算LINEBLANK
:一行的有效数据结束到下一个行同步信号开始之间的8倍HCLK的个数WDLY:从行同步信号开始到一行的有效数据开始之间的HCLK的个数STN时序计算像素时钟:
VCLK=HCLK/(CLKVAL×2)HOZVAL、LINEVAL参数与LCD屏的大小和显示模式有关:
HOZVAL=(水平显示尺寸/有效VD数据队列数)-1
彩色显示模式下:水平显示尺寸=3×水平像素数
4位单扫描模式下:有效VD数据队列数=4 4位双扫描模式下:有效VD数据队列数=4 8位单扫描模式下:有效VD数据队列数=8
单扫描:LINEVAL=(垂直显示尺寸)-1
双扫描:LINEVAL=(垂直显示尺寸/2)-1帧频:
VSF=1/{[行的数据周期
+行的附加周期
]×(行的个数)}=1/{[(1/VCLK)×(HOZVAL+1)+(1/HCLK)×(A+B+(LINEBLANK×8))]×(LINEVAL+1)}
式中:A=2(4+WLH),B=2(4+WDLY)
当MMODE=1时,VM触发速率由MVAL参数决定:
VM速率=HSF/(2×MVAL)视频操作S3C2440的LCD控制器可以支持单色(1BPP)、4级灰度(2BPP)、16级灰度(4BPP)、256色(8BPP)、2048色(12BPP)、64K色(16BPP)、16M色(24BPP)模式。单色模式:直接把视频数据(单扫描使用FIFOH,双扫描使用FIFOH、FIFOL)按输出格式(4位单扫描为4位,4位双扫描或8位单扫描为8位)送给LCD驱动器。灰度或彩色模式:需要使用调色板选择灰度或颜色,使用时间抖动算法和帧频控制算法来实现灰度或彩色的分级。查找表:调色板,支持多种颜色或灰度映射的选择。颜色查找表是可以选择彩色或灰度级别的调色板。在4级灰度模式下可选择16级灰度中的4级,在256色模式下可选择16级红色中的8种,16级绿色中的8种和16级蓝色中的4种。16级灰度模式不使用调色板。4096色模式不使用调色板。调色板调色板:就是颜色查找表,支持选择不同的颜色或灰度。S3C2440中用4位二进制数表示不同的颜色或灰度: 灰度:16级 红色:16级 绿色:16级 蓝色:16级这样: (1)在4级灰度模式下,可选择16级灰度中的4级。 (2)在256色模式下,可选择16级红色中的8种。 (3)在256色模式下,可选择16级绿色中的8种。 (4)在256色模式下,可选择16级蓝色中的4种。在16级灰度模式下,不需要选择。在4096色模式下,不需要选择。抖动和帧频控制时间抖动算法:减少闪烁。帧频控制算法:通过控制帧内容的显示与不显示的频率,达到显示不同的灰度级或不同的颜色。帧频控制算法原理:针对16个灰度和颜色,把显示一个像素的时间分为16个时间单位,显示n个时间单位,关闭m和时间单位,n+m=16,从而实现灰度或颜色变化。例如,为了显示总共16级灰度中的第3级灰度(3/16),显示的像素需要开启3个时间单位而关闭13个时间单位。换言之,在16帧数据中,一个特定的像素在3帧中是显示的,而在其它13帧中这一像素是不显示的。这16帧数据是周期性地被显示的。灰度模式操作S3C2440LCD控制器支持2种灰度模式:
4级灰度(2BPP)、16级灰度(4BPP)。BPP:BitPerPixel,位/像素。1BPP:单色,没有灰度级,1个二进制位表示一个像素点,每个字节表示8个像素点。2BPP:4级灰度,2个位表示一个像素点。通过查找表可以在16级灰度中选择4种灰度,使用蓝色查找表(BLUELUT)寄存器。每个字节表示4个像素点。4BPP:16级灰度,4个位表示一个像素点。由于4个位编码恰好对应16级灰度,所以,4BPP的16级灰度不需要查找表。每个字节表示2个像素点。彩色模式操作-256色利用时间抖动算法和帧频控制算法,彩色显示模式下可产生256种颜色。8BPP:
256种颜色,8个位(1个字节)表示一个像素点。像素点字节在存储器中保存的格式为3:3:2模式:3位红色、3位绿色、2位蓝色。通过各自的查找表可以在16种颜色中选择4种颜色,每个字节表示1个像素点。红色使用红色查找表(REDLUT)。绿色使用绿色查找表(GREENLUT)。蓝色使用蓝色查找表(BLUELUT)。Bit[7:5]Bit[4:2]Bit[1:0]红(R)绿(G)蓝(B)256色LCD屏接口时序彩色显示中每个像素需要3位(红,绿,蓝)数据,因此每一个水平行的水平移位寄存器的数目是每一个水平行像素数目的3倍。RGB通过并行数据线连续的被移入LCD驱动器。如图是256色LCD屏LM057QC1T01的接口时序。LM057QC1T01的扫描模式图可见LM057QC1T01是按照8位单扫描模式工作的。LCD控制器的8条VD[7:0]数据输出可以直接与LCD驱动器连接。彩色模式操作-4096色利用时间抖动算法和帧频控制算法,彩色显示模式下可产生4096种颜色。12BPP:
4096种颜色,12个位表示一个像素点。像素点在存储器中保存的格式为4:4:4模式:4位红色、4位绿色、4位蓝色。由于4个位编码恰好对应每个颜色的16种,所以,12BPP的每种颜色的16个颜色级别不需要查找表。3个字表示8个像素点。彩色模式操作-64K色16BPP:
64K种颜色,16个位表示一个像素点。不需要查找表。像素点在存储器中保存的格式有2种:5:6:5、5:5:5:15:6:5模式:5位红色、6位绿色、5位蓝色。5:5:5:1模式:5位红色、5位绿色、5位蓝色、1位亮度。数据传送时,亮度I位用于每个RGB数据的最低位,即I位对于每个RGB数据有效。2个字节表示1个像素点。Bit[15:11]Bit[10:5]Bit[4:0]红(R)绿(G)蓝(B)Bit[15:11]Bit[10:6]Bit[5:1]Bit[0]红(R)绿(G)蓝(B)亮度(I)5:6:5模式5:5:5:1模式彩色模式操作-16M色24BPP:
16M种颜色,24个位表示一个像素点。不需要查找表。像素点在存储器中保存的格式为8:8:8模式:8位红色、8位绿色、8位蓝色。
为方便DMA传输,在内存中使用一个字(32位)来表示一个像素。4个字节表示1个像素点。Bit[31:24]Bit[23:16]Bit[15:8]Bit[7:0]不用红(R)绿(G)蓝(B)虚拟显示S3C2440支持硬件上的水平或垂直卷轴。如果屏幕滚动,应该修改:
LCDSADDR1:LCDBASEU LCDSADDR2:LCDBASELPAGEWIDTH和OFFSIZE不变。
存储图像数据的视频缓冲器应该比LCD面版屏幕大小大一些。6.1.2S3C2440芯片的LCD专用寄存器LCD控制寄存器1(LCDCON1),可读/写,地址0x4D000000,复位值0x00000000LCD控制寄存器2(LCDCON2),可读/写,地址0x4D000004,复位值0x00000000LCD控制寄存器3(LCDCON3),可读/写,地址0x4D000008,复位值0x00000000LCD控制寄存器4(LCDCON4),可读/写,地址0x4D00000C,复位值0x00000000LCD控制寄存器5(LCDCON5),可读/写,地址0x4D000010,复位值0x00000000帧缓冲起始地址寄存器1(LCDSADDR1),可读/写,地址0x4D000014,复位值0x00000000帧缓冲起始地址寄存器2(LCDSADDR2),可读/写,地址0x4D000018,复位值0x00000000帧缓冲起始地址寄存器3(LCDSADDR3),可读/写,地址0x4D00001C,复位值0x00000000红色查找表寄存器(REDLUT),可读/写,地址0x4D000020,复位值0x00000000绿色查找表寄存器(GREENLUT),可读/写,地址0x4D000024,复位值0x00000000蓝色查找表寄存器(BLUELUT),可读/写,地址0x4D000028,复位值0x0000抖动模式寄存器(DITHMODE),可读/写,地址0x4D00004C,复位值0x00000临时调色板寄存器(TPAL),可读/写,地址0x4D000050,复位值0x00000000LCD中断未决寄存器(LCDINTPND),可读/写,地址0x4D000054,复位值0x0LCD中断源未决寄存器(LCDSRCPND),可读/写,地址0x4D000058,复位值0x0LCD中断屏蔽寄存器(LCDINTMSK),可读/写,地址0x4D00005C,复位值0x3LCD控制寄存器1LCDCON1LCDCON1位描述初始值LINECNT(只读)[27:18]行计数器状态位,值由LINEVAL递减至0。0000000000CLKVAL[17:8]确定VCLK的速率。STN:VCLK=HCLK/(CLKVAL×2)CLKVAL≧2;TFT:VCLK=HCLK/[(CLKVAL+1)×2]
CLKVAL≧0。0000000000MMODE[7]决定VM信号的触发速率。0=每帧触发;1=触发速率由MVAL决定。0PNRMODE[6:5]显示模式选择位。00=4位双扫描显示模式(STN);01=4位单扫描显示模式(STN);10=8位单扫描显示模式(STN);11=TFT型LCD显示。00BPPMODE[4:1]单个像素的位数选择。0000=STN型1位/像素,单色模式;0001=STN型2位/像素,4级灰度模式;0010=STN型4位/像素16级灰度模式;0011=STN型8位/像素,彩色模式;0100=STN型12位/像素,彩色模式;1000=TFT型1位/像素;1001=TFT型2位/像素;1010=TFT型4位/像素;1011=TFT型8位/像素;1100=TFT型16位/像素;1101=TFT型24位/像素。0000ENVID[0]LCD视频输出和逻辑信号使能位。0=视频输出和控制信号无效;1=视频输出和控制信号有效。0LCD控制寄存器2LCDCON2LCDCON2位描述初始值VBPD[31:24]TFT:垂直后沿(VBPD)指在一帧开始时,垂直同步时期之后非活动行的数目;STN:使用STN型LCD时此位应为0。0x00LINEVAL[23:14]TFT/STN:确定
LCD屏的垂直尺寸。0000000000VFPD[13:6]TFT:垂直后沿指在一帧结束时,垂直同步时期后非活动行的数目;STN:使用STN型LCD时此位应为0。00000000VSPW[5:0]TFT:垂直同步脉冲宽度的无效行数,决定VSYNC脉冲的高电平宽度;STN:STNLCD时应该设置此位为000000LCD控制寄存器3LCDCON3LCDCON3位描述初始值HBPD(TFT)[25:19]TFT:在HSYNC信号下降沿和有效数据开始之间的VCLK脉冲数。0x00WDLY(STN)STN:WDLY[1:0]位确定VLINE与VCLK之间的延时。00=16HCLK;01=32HCLK;10=48HCLK;11=64HCLK。WDLY[7:2]为保留位。0000000HOZVAL[18:8]确决LCD显示屏水平尺寸。HOZVAL必须被指定以满足一行有4n个字节的条件。0000000000HFPD(TFT)[7:0]TFT:在HSYNC信号上升沿和有效数据结束之间的VCLK脉冲数。00000000LINEBLANK(STN)STN:一行的有效数据结束到下一个行同步信号开始之间的8倍HCLK的个数。确定行扫描的占空时间.这些位可微调VLINE的速率。LINEBLANK的最小数为HCLK*8。如:LINEBLANK=10,占空时间在80个HCLK期间插入VCLK。00000LCD控制寄存器4LCDCON4LCDCON4位描述初始值MVAL[15:8]STN:当MMODE=1时,MVAL位定确定VM信号的速率。0x00HSPW(TFT)[7:0]TFT:通过对VCLK的计数水平同步脉冲宽度决定着HSYNC脉高电平脉冲的宽度。0x00WLH(STN)STN:WLH[1:0]位确定VLINE脉冲的宽度。00=16HCLK;01=32HCLK;10=48HCLK;11=64HCLK。WLH[7:2]作为保留位。LCD控制寄存器5LCDCON5LCDCON5位描述初始值Reserved[15:8]保留位。0VSTATUS[16:15]TFT:垂直扫描状态(只读).00=VSYNC;01=BACKPorch;10=ACTIVE;11=FRONTPorch。00HSTATUS[14:13]TFT:水平扫描状态(只读)。00=HSYNC;01=BACKPorch;10=ACTIVE;11=FRONTPorch。00BPP24BL[12]TFT:确定24bpp显示时显存中数据的格式。0=LSB有效;1=MSB有效。0FRM565[11]TFT:确定16bpp显示时输出数据的格式。0=5:5:5:1格式;1=5:6:5格式。0INVVCLK[10]STN/TFT:确定VCLK信号的有效边沿。0=CLK信号的下降沿时取数据;1=VCLK信号的上升沿时取数据。0INVVLINE[9]STN/TFT:确定VLINE/HSYNC的脉冲极性。0=正常;1=反转。0续LCDCON5LCDCON5位描述初始值INVVFRAME[8]STN/TFT:确定VFRAME/VSYNC的脉冲极性。0=正常;1=反转。0INVVD[7]STN/TFT:确定VD(视频数据)的脉冲极性。0=正常;1=反转。0INVVDEN[6]TFT:确定VDEN信号的脉冲极性。0=正常;1=反转。0INVPWREN[5]STN/TFT:确定PWREN信号的脉冲极性。0=正常;1=反转。0INVLEND[4]TFT:确定LEND信号的脉冲极性。0=正常;1=反转。0PWREN[3]STN/TFT:LCD_PWREN输出信号使能位。0=不使能;1=使能。0ENLEND[2]TFT:LEND输出信号使能位。0=不使能;1=使能。0BSWP[1]STN/TFT:字节交换使能位。0=不使能;1=使能。0HWSWP[0]STN/TFT:半字交换使能位。0=不使能;1=使能。0帧缓冲起始地址寄存器1LCDSADDR1LCDSADDR1位描述初始值LCDBANK[29:21]指示系统内存中视频缓冲区的位置A[30:22]。0x00LCDBASEU[20:0]对于双扫描LCD:指示帧缓冲区或在双扫描LCD时的上帧缓冲区的开始地址A[21:1];对于单扫描LCD:指示帧缓冲区的开始地址A[21:1]。0x000000帧缓冲起始地址寄存器2LCDSADDR2LCDSADDR2位描述初始值LCDBASEL[20:0]对于双扫描LCD:指示在使用双扫描LCD时的下帧存储区的开始地址A[21:1];对于单扫描LCD:指示帧存储区的结束地址为A[21:1]。0x0000帧缓冲起始地址寄存器3LCDSADDR3LCDSADDR3位描述初始值OFFSIZE[21:11]实际屏幕的偏移量大小。00000000000PAGEWIDTH[10:0]实际屏幕的页宽度。000000000视频缓冲区地址PAGEWIDTH:实际屏幕的宽度,由水平分辨率、像素存储模式计算,单位是半字。OFFSIZE:实际屏幕的偏移量大小,单位是半字。虚拟屏幕的宽度=PAGEWIDTH+OFFSIZE实际屏幕,大小由LCD分辨率决定,比如320×240虚拟屏幕,其大小依赖于视频缓冲区,但至少应该比LCD实际屏幕大一些实际屏幕的行数LCDBASEL:帧缓冲区的结束地址A[21:1]LCDBASEU:帧缓冲区的开始地址A[21:1]LCDBANK:视频缓冲区的位置A[30:22]视频缓冲区地址:A[31][30…22]
[21…1][0]改变首址LCDBASEU、结束地址LCDBASEL的值,实际屏幕可以在虚拟屏幕中移动,但实际屏幕宽度PAGEWIDTH、偏移量OFFSIZE不变半字对齐不使用如果不使用虚拟屏幕,OFFSIZE可以设置为0视频缓冲区计算:例6-1例6-1:LCD屏分辨率320×240,16级灰度,单扫描。假设:帧起始地址A=0x0C500000,偏移点数=2048像素点。试确定视频缓冲区参数。在单扫描中,LCDBASEU是实际屏幕显示缓冲区的开始地址, LCDBASEL是实际屏幕显示缓冲区的结束地址。LINEVAL=垂直尺寸(分辨率)-1=240-1=0xEF16级灰度模式(4BPP)中,1个像素点用4位二进制数表示,于是,320个像素点需要320×4位,2048个像素点需要2048×4位。PAGEWIDTH以半字(16位)为单位:
PAGEWIDTH=320×4/16=80=0x50(半字)OFFSIZE以半字(16位)为单位:
OFFSIZE=2048×4/16=512=0x200(半字)LCDBANK=A[30:22]=0x0C500000>>22=0x31LCDBASEU=A[21:1]=0x100000>>1=0x80000LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)×(LINEVAL+1)
=0x80000+(0x50+0x200)×(0xEF+1)=0xA2B00视频缓冲区计算:例6-2例6-2:LCD屏分辨率320×240,16级灰度,双扫描。假设:帧起始地址A=0x0C500000,偏移点数=2048像素点。试确定视频缓冲区参数。在双扫描中,LCDBASEU是实际屏幕上半部显示缓冲区的开始地址, LCDBASEL是实际屏幕下半部显示缓冲区的开始地址。LINEVAL=垂直尺寸(分辨率)/2-1=120-1=0x7716级灰度模式(4BPP)中,1个像素点用4位二进制数表示,于是,320个像素点需要320×4位,2048个像素点需要2048×4位。PAGEWIDTH以半字(16位)为单位:
PAGEWIDTH=320×4/16=80=0x50(半字)OFFSIZE以半字(16位)为单位:
OFFSIZE=2048×4/16=512=0x200(半字)LCDBANK=A[30:22]=0x0C500000>>22=0x31LCDBASEU=A[21:1]=0x100000>>1=0x80000LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)×(LINEVAL+1)
=0x80000+(0x50+0x200)×(0x77+1)=0x91580红色查找表寄存器REDLUTREDLUT位描述初始值REDVAL[31:0]定义了选择16种色度当中的哪8种红色组合。000=REDVAL[3:0];001=REDVAL[7:4];010=REDVAL[11:8];011=REDVAL[15:12];100=REDVAL[19:16];101=REDVAL[23:20];110=REDVAL[27:24];111=REDVAL[31:28]。0x00000000绿色查找表寄存器GREENLUTGREENLUT位描述初始值GREENVAL[31:0]定义了选择16种色度当中的哪8种绿色组合。000=GREENVAL[3:0];001=GREENVAL[7:4];010=GREENVAL[11:8];011=GREENVAL[15:12];100=GREENVAL[19:16];101=GREENVAL[23:20];110=GREENVAL[27:24];111=GREENVAL[31:28]。0x00000000蓝色查找表寄存器BLUELUTBLUELUT位描述初始值BLUEVAL[15:0]定义了选择16种色度当中的哪4种蓝色组合。00=BLUEVAL[3:0];01=BLUEVAL[7:4];10=BLUEVAL[11:8];11=BLUEVAL[15:12]。0x0000抖动模式寄存器DITHMODEDITHMODE位描述初始值DITHMODE[18:0]选择下面2个值之一:0x00000或0x12210。0x00000临时调色板寄存器TPALTPAL位描述初始值TPALEN[24]临时调色板寄存器使能位。0=不使能;1=使能。0TPALVAL[23:0]临时调色板值。TPALVAL[23:16]=红色;TPALVAL[15:8]=绿色;TPALVAL[7:0]=蓝色。0x000000LCD中断未决寄存器LCDINTPNDLCDINTPND位描述初始值INT_FrSyn[1]LCD帧同步中断未决位。0=未产生中断请求;1=帧提出中断请求。0INT_FiCnt[0]LCD的FIFO中断未决位。0=未产生中断请求;1=当LCDFIFO已达到翻转值时提出中断请求。0LCD中断源未决寄存器LCDSRCPNDLCDSRCPND位描述初始值INT_FrSyn[1]LCD帧同步中断未决位。0=未产生中断请求;1=帧提出中断请求。0INT_FiCnt[0]LCD的FIFO中断未决位。0=未产生中断请求;1=当LCDFIFO已达到翻转值时提出中断请求。0LCD中断屏蔽寄存器LCDINTMSKLCDINTMSK位描述初始值FIWSEL[2]确定LCDFIFO的翻转值。0=4字;1=8字。0INT_FrSyn[1]LCD帧同步中断屏蔽位。0=中断请求有效;1=中断请求被屏蔽。1INT_FiCnt[0]LCD的FIFO中断屏蔽。0=中断请求有效;1=中断请求被屏蔽。16.1.3S3C2440芯片LCD寄存器的设置本节举例针对STN-LCD控制器。VCLK的频率由CLKVAL的值决定。CLKVAL的取值依据:VCLK>数据传输速率数据传输速率=HS×VS×FR×MV
=水平像素点×垂直像素点×帧频×模式依赖值模式MV值(模式依赖值)单色,4位单扫描显示模式1/4单色,8位单扫描显示模式或4位双扫描显示模式1/84级灰度,4位单扫描显示模式1/44级灰度,8位单扫描显示模式或4位双扫描显示模式1/816级灰度,4位单扫描显示模式1/416级灰度8位单扫描显示模式或4位双扫描显示模式1/8彩色,4位单扫描显示模式3/4彩色,8位单扫描显示模式或4位双扫描显示模式3/8例6-3:LCD参数计算例6-3:
STN-LCD,160×160,4级灰度,80帧/秒,4位单扫描显示,
HCLK=60MHz,WLH=1,WDLY=1。求解CLKVAL:(1)已知:VCLK=HCLK/(CLKVAL×2)(2)计算:数据传输速率=水平像素点×垂直像素点×帧频×模式依赖值
=160×160×80×1/4=512kHz(3)依据:
VCLK>数据传输速率(4)代入参数:
60MHz/(CLKVAL×2)>512kHz,CLKVAL=58(5)验证:
VCLK=HCLK/(CLKVAL×2)=60MHz/(58×2)=517kHz求解LINEBLANK:(1)已知:VSF=1/{[行的数据周期+行的附加周期]×(行的个数)}=1/{[(1/VCLK)×(HOZVAL+1)+(1/HCLK)×(A+B+(LINEBLANK×8))]×(LINEVAL+1)}
式中:A=2(4+WLH),B=2(4+WDLY)
(2)计算:HOZVAL=(水平显示尺寸/有效VD数据队列数)-1=(160/4)-1=39(3)计算:单扫描,LINEVAL=(垂直显示尺寸)-1=160–1=159(4)已知:
VSF=80帧/秒,WLH=1,WDLY=1(5)代入参数:LINEBLANK=106.2I2C总线I2C总线:
Inter-IntegratedCircuit,串行总线,双向,两线制,由PHILIPS公司开发,用于连接微控制器及其外围设备。起源:
I2C总线产生于80年代,最初为音频和视频设备开发。应用场合:服务器管理,组件状态通信,例如管理员可对各个组件进行查询,以便管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可监控内存、硬盘、网络、系统温度等多个参数。目前I2C总线已经成为业界嵌入式应用的标准解决方案,被广泛地应用在各式各样基于微控器的消费与电信产品中,作为控制、诊断与电源管理总线。多个符合I2C总线标准的器件都可以通过同一条I2C总线进行通信,而不需要额外的地址译码器。由于I2C是一种两线式串行总线,因此简单的操作特性成为它快速崛起成为业界标准的关键因素。I2C总线特点
2根信号线,节省芯片I/O、节省PCB面积、节省线材成本。总线协议简单。协议容易实现。可硬件实现I2C部件逻辑,也可利用开漏的I/O软件模拟实现。支持的器件多。德州仪器(TI)、美国国家半导体(NationalSemi)、意法半导体(ST)、美信半导体(Maxim-IC)等都有大量器件带有I2C总线接口。总线上可同时挂接多个器件。一般可达数十个以上,器件之间是靠不同的编址来区分的,不需要附加的I/O线或地址译码部件。总线可裁减性好。可以随时新增或者删除器件。用软件可以实现I2C总线的自检功能,能够及时发现总线上的变动。总线电气兼容性好。I2C总线规定器件之间以开漏I/O互联,这样,只要选取适当的上拉电阻就能实现3V/5V逻辑电平的兼容,而不需要额外的转换。支持多种通信方式。常见的通信方式是一主多从。通信速率高。I2C总线标准传输速率为100Kbps,快速模式传输速率为400Kbps,高速模式传输速率为3.4Mbps。较好的通信距离。I2C总线通信距离为几米到十几米。通过降低传输速率等办法,通信距离可延长到数十米乃至数百米以上。I2C总线的构成构成:数据线SDA,时钟线SCL。SDA和SCL管脚都是漏极开路(或集电极开路)输出结构。因此实际使用时,SDA和SCL信号线都必须要加上拉电阻。上拉电阻一般取值3~10KΩ。I2C部件均并联在I2C总线上。I2C部件的SDA及SCL都是线“与”关系,即任一部件输出低电平,都将使总线的信号变低。I2C总线信号连接I2C总线使用2根信号线,串行数据线SDA、串行时钟线SCL,连接时需要共地。发送器:Transmitter,发送数据到总线的器件。接收器:Receiver,从总线接收数据的器件。主机:Master,产生时钟信号,启动发送、终止发送的器件。从机:Slave,被主机寻址的器件。I2C总线是双向传输总线,因此主机和从机都可能成为发送器和接收器。如果主机向从机发送数据,则主机是发送器,从机是接收器;如果主机从从机读取数据,则主机是接收器,而从机是发送器。任何时候只能有一个主机,时钟信号SCL都要由主机来产生。S3C2440S3C2440EEPROMA/D、D/A日历时钟其他I2C设备SDASCLSDASCLSDASCLSDASCLSDASCLSDASCLSDASCLI2C总线信息类型I2C总线通信双方之间的信息类型:空闲状态、数据位起始条件、停止条件响应信号等待状态7位地址码读/写控制位10位地址码重复起始条件空闲状态、数据位总线必须由主机控制,主机产生串行时钟SCL,控制总线的传输方向,并产生起始和停止条件。总线的空闲状态:SDA=1且SCL=1。此时各个部件的输出场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。数据位的有效性规定:
I2C总线进行数据传送时,时钟信号SCL=1期间,数据线SDA上的数据必须保持稳定。只有在时钟信号SCL=0期间,数据线SDA上的信号状态才允许变化。SDASCL要求数据稳定要求数据稳定允许数据变化起始条件、停止条件SCL=1期间,SDA状态的改变被用来表示起始条件和停止条件。起始条件:SCL=1时,SDA由高向低跳变,表示开始传送。停止条件:SCL=1时,SDA由低向高跳变,表示停止传送。起始条件和停止条件由主器件产生。在起始条件后,总线处于“忙”的状态。在停止条件后,总线处于“空闲”状态。起始条件S停止条件PSDASCL总线忙总线空闲总线空闲响应信号响应信号:接收器在收到8bit数据后,通过SDA向发送器返回低脉冲ACK信号,表示已收到数据。响应信号产生原则:谁接收谁产生。 主机:SCL=1,时钟信号SCL由主机产生。 发送器:SDA=1,发送器发送完LSB之后,应当释放SDA线,等待接收器产生响应信号。 接收器:SDA=0(ACK=0),响应信号总是由接收器产生。发送器向接收器发出一个字节数据后,等待接收器返回一个响应信号,接收到响应信号后,作出是否继续传递后续数据的判断。若未收到响应信号,判断为接收器因某种原因不能继续接收数据,发送器应停止传送。
起始条件S响应信号A发送器SDA主机SCL1…89响应ACK不响应NACK接收器SDA时钟同步时钟同步:产生的同步SCL时钟的低电平周期由低电平时钟周期最长的器件决定,而高电平周期由高电平时钟周期最短的器件决定。时钟同步规则:线“与”,有低则为低,全高则为高。(低电平优先)主机等待计数复位开始计数等待状态等待状态:从机需要延迟下一个数据字节开始传送的时间,使SCL=0并且保持,使主机进入等待状态。一旦从机释放SCL,数据传送就可以继续下去。利用等待状态,从机可以有足够的时间去处理接收的数据,或者准备发送的数据。比如去执行中断服务程序,此时就使SCL=0,直到处理妥当后才释放SCL线,进而使主机继续后续数据字节的发送。主机等待计数复位开始计数D7D6D5D4D3D2D1D0ACKD7D6D5D4D3D2D1D0ACK123456789123456789基本的数据传输格式传送单位:数据传送以字节为单位,一次传送1个字节。整个传送过程中,传送的字节数量不受限制。字节传送顺序:先高后低。先传送字节数据的最高位(D7),最后传送最低位(D0),每个字节之后还要跟一个响应位。一帧数据格式:字节数据+ACK主机发送数据传输过程:由主机(主控器)发送起始条件S开始,紧跟着发送一个字节的命令字(7位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程承包合同(2篇)
- 2025年度个人股权变更及分红权转让合同4篇
- 2025年度个人信托产品购买合同样本3篇
- 二零二五版人工智能技术研发公司并购合同3篇
- 亲情记叙文800字6篇
- 二零二五年度养老产业用地租赁协议4篇
- 高级数据分析课程设计
- 2024年育婴员(高级)理论考试题库附答案(培训复习用)
- 二零二五年度苗圃苗木移植与景观设计实施合同4篇
- 课程设计答疑记录表
- 2025年湖北武汉工程大学招聘6人历年高频重点提升(共500题)附带答案详解
- 【数 学】2024-2025学年北师大版数学七年级上册期末能力提升卷
- GB/T 26846-2024电动自行车用电动机和控制器的引出线及接插件
- 辽宁省沈阳市皇姑区2024-2025学年九年级上学期期末考试语文试题(含答案)
- 2024年国家工作人员学法用法考试题库及参考答案
- 妊娠咳嗽的临床特征
- 国家公务员考试(面试)试题及解答参考(2024年)
- 《阻燃材料与技术》课件 第6讲 阻燃纤维及织物
- 2024年金融理财-担保公司考试近5年真题附答案
- 泰山产业领军人才申报书
- 高中语文古代文学课件:先秦文学
评论
0/150
提交评论