零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf

上传人:b****3 文档编号:16121327 上传时间:2022-11-20 格式:PDF 页数:34 大小:1.38MB
下载 相关 举报
零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf_第1页
第1页 / 共34页
零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf_第2页
第2页 / 共34页
零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf_第3页
第3页 / 共34页
零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf_第4页
第4页 / 共34页
零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf

《零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf》由会员分享,可在线阅读,更多相关《零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf(34页珍藏版)》请在冰豆网上搜索。

零死角玩转stm32-高级篇4、FSMC详解(3.2寸液晶触摸画板)资料下载.pdf

4.2.1ILI9341控制器结构控制器结构液晶屏的控制芯片内部结构非常复杂,见错误!

未找到引用源。

错误!

最主要的是位于中间GRAM(GraphicsRAM),可以理解为显存。

GRAM中每个存储单元都对应着液晶面板的一个像素点。

它右侧的各种模块共同作用把GRAM存储单元的数据转化成液晶面板的控制信号,使像素点呈现特定的颜色,而像素点组合起来则成为一幅完整的图像。

框图的左上角为ILI9341的主要控制信号线和配置引脚,根据其不同状态设置可以使芯片工作在不同的模式,如每个像素点的位数是6、16还是18位;

使用SPI接口还是8080接口与MCU进行通讯;

使用8080接口的哪种模式。

MUC通过SPI或8080接口与ILI9341进行通讯,从而访问它的控制寄存器(CR)、地址计数器(AC)、及GRAM。

-第4页-在GRAM的左侧还有一个LED控制器(LEDController)。

LCD为非发光性的显示装置,它需要借助背光源才能达到显示功能,LED控制器就是用来控制液晶屏中的LED背光源。

图0-1ILI9341控制器内部框图4.2.2像素点的数据格式像素点的数据格式图像数据的像素点由红(R)、绿(G)、蓝(B)三原色组成,三原色根据其深浅程度被分为0255个级别,它们按不同比例的混合可以得出各种色彩。

如R:

255,G255,B255混合后为白色。

根据描述像素点数据的长度,主要分为8、16、24及32位。

如以8位来描述的像素点可表示28=256色,16位描述的为-第5页-216=65536色,称为真彩色,也称为64K色。

实际上受人眼对颜色的识别能力的限制,16位色与12位色已经难以分辨了。

ILI9341最高能够控制18位的LCD,但为了数据传输简便,我们采用它的16位控制模式,以16位描述的像素点。

按照标准格式,16位的像素点的三原色描述的位数为R:

G:

B=5:

6:

5,描述绿色的位数较多是因为人眼对绿色更为敏感。

16位的像素点格式见图0-2。

图0-216位像素点格式图中的是默认18条数据线时,像素点三原色的分配状况,D1D5为蓝色,D6D11为绿色,D13D17为红色。

这样分配有D0和D12位是无效的。

若使用16根数据线传送像素点的数据,则D0D4为蓝色,D5D10为绿色,D11D15为红色,使得刚好使用完整的16位。

RGB比例为5:

5是一个十分通用的颜色标准,在GRAM相应的地址中填入该颜色的编码,即可控制LCD输出该颜色的像素点。

如黑色的编码为0x0000,白色的编码为0xffff,红色为0xf800。

4.2.3ILI9341的通讯时序的通讯时序目前,大多数的液晶控制器都使用8080或6800接口与MCU进行通讯,它们的时序十分相似,野火以ILI9341使用的8080通讯时序进行分析,实际上ILI9341也可以使用SPI接口来控制。

ILI9341的8080接口有5条基本的控制信号线:

1.用于片选的CSX信号线;

2.用于写使能的WRX信号线;

3.用于读使能的RDX信号线;

4.用于区分数据和命令的D/CX信号线;

5.用于复位的RESX信号线。

-第6页-其中带X的表示低电平有效。

除了控制信号,还有数据信号线,它的数目不定,可根据ILI9341框图中的IM3:

0来设定,这部分一般由制作液晶屏的厂家完成。

为便于传输像素点数据,野火使用的液晶屏设定为16条数据线D15:

0。

使用8080接口的写命令时序图见错误!

图0-3使用18条数据线的8080接口写命令时序由图可知,写命令时序由CSX信号线拉低开始,D/CX信号线也置低电平表示写入的是命令地址(可理解为命令编码,如软件复位命令:

0x01),以WRX信号线为低,RDX信号为高表示数据传输方向为写入,同时,在数据线17:

0输出命令地址,在第地二个传输阶段传送的为命令的参数,所以D/CX要置高电平,表示写入的是命令数据。

当我们需要向GRAM写入数据的时候,把CSX信号线拉低后,把D/CX信号线置为高电平,这时由D17:

0传输的数据则会被ILI9341保存至它的GRAM中。

4.3用用STM32驱动驱动LCDILI9341的8080通讯接口时序可以由STM32使用普通I/O接口进行模拟,但这样效率较低,它提供了一种特别的控制方法使用FSMC接口。

-第7页-FSMC简介简介FSMC(flexiblestaticmemorycontroller),译为静态存储控制器。

可用于STM32芯片控制NORFLASH、PSRAM、和NANDFLASH存储芯片。

其结构见图0-4。

图0-4FSMC结构图我们是使用FSMC的NORPSRAM模式控制LCD,所以我们重点分析框图中NORFLASH控制信号线部分。

控制NORFLASH主要使用到如下信号线:

-第8页-图0-5FSMC控制NORFLASH的信号线根据STM32对寻址空间的地址映射,见前面的错误!

,地址0x600000000x9FFFFFFF是映射到外部存储器的,而其中的0x600000000x6FFFFFFF则是分配给NORFLASH、PSRAM这类可直接寻址的器件。

当FSMC外设被配置为正常工作,并且外部接了NORFLASH,这时若向0x60000000地址写入数据0xffff,FSMC会自动在各信号线上产生相应的电平信号,写入数据。

该过程的时序图见图0-6。

图0-6FSMC写NOR时序图它会控制片选信号NEX选择相应的某块NOR芯片,然后使用地址线A25:

0输出0x60000000,在NEW写使能信号线上发出写使能信号,而要写与与8080类类似的信号线似的信号线D/CXCSXRDXWRXD15:

0-第9页-入的数据信号0xffff则从数据线D15:

0输出,然后数据就被保存到NORFLASH中了。

用用FSMC模拟模拟8080时序时序在图0-6的时序图中NADV信号是在地址、信号线复用时作为锁存信号的,在此,我们略它。

然后读者会发现,这个FSMC写NOR时序是跟8080接口的时序(见图0-3)是十分相似的,对它们的信号线对比如下:

8080信号线功能FSMC-NOR信号线功能CSX片选信号NEx片选WRX写使能NWR写使能RDX读使能NOE读使能D15:

0数据信号D15:

0数据信号DCX数据/命令选择A25:

0地址信号前四种信号线都是完全一样的,仅在8080的数据命令选择线与FSMC的地址信号线有区别。

为了模拟出8080时序,我们把FSMC的A0地址线(也可以使用其它地址线)连接8080的DCX,即A0为高电平时,数据线D15:

0的信号会被理解ILI9341为数值,若A0为低电平时,传输的信号则会被理解为命令。

也就是说,当向地址为0x6xxxxxx1、0x6xxxxxx3、0x6xxxxxx5这些奇数地址写入数据时,地址线A0(D/CX)会为高电平,这个数据被理解为数值;

若向0x6xxxxxx0、0x6xxxxxx2、0x6xxxxxx4这些偶数地址写入数据时,地址线A0(D/CX)会为低电平,这个数据会被理解为命令。

有了这个基础,只要我们在代码中利用指针变量,向不同的地址单元写入数据,就能够由FSMC模拟出的8080接口向ILI9341写入控制命令或GRAM的数据了。

-第10页-4.3.1触摸屏感应原理触摸屏感应原理触摸屏常与液晶屏配套使用,组合成为一个可交互的输入输出系统。

除了熟悉的电阻、电容屏外,触摸屏的种类还有超声波屏、红外屏。

由于电阻屏的控制系统简单、成本低,且能适应各种上恶劣环境,被广泛采用。

电阻触摸屏的基本原理为分压,它由一层或两层阻性材料组成,在检测坐标时,在阻性材料的一端接参考电压Vref,另一端接地,形成一个沿坐标方向的均匀电场。

当触摸屏受到挤压时,阻性材料与下层电极接触,阻性材料被分为两部分,因而在触摸点的电压,反映了触摸点与阻性材料的Vref端的距离,而且为线性关系,而该触点的电压可由ADC测得。

更改电场方向,以同样的方法,可测得另一方向的坐标。

4.3.2TSC2046触摸屏控制器触摸屏控制器TSC2046是专用在四线电阻屏的触摸屏控制器,MCU可通过SPI接口向它写入控制字,由它测得X、Y方向的触点电压返回给MCU。

见图0-7。

图0-7TSC2046与电阻屏的连接图图中,电阻屏两层阻性材料的两端分别接入到TSC2046的X+、X-和Y+、Y-。

当要测量X坐标时,MCU通过SPI接口写命令到TSC2046,使它通过内部的模拟开关使X+、X-接通电源,于是在电阻屏的X方向上产生一个匀强电场;

把Y+、Y-连接到TSC2046的ADC。

当电阻屏被触摸时,上、下两层的-第11页-阻性材料接触,在PENIRQ引脚产生一个中断信号,通知MCU。

该触点的电压由Y+或Y-(此时的Y+Y-电阻很小,可忽略)引入到ADC进行测量,MCU读取该电压,进行软件转换,就可以测得触点X方向的坐标。

同理可以测得Y方向的坐标。

4.4实验实验讲解讲解4.4.1实实验描述及工程文件清单验描述及工程文件清单实验描述实验描述野火STM32开发板驱动配套的3.2寸液晶、触摸屏,使用FSMC接口控制该屏幕自带的液晶控制器ILI9341,使用SPI接口与触摸屏控制器TSC2046通讯。

驱动成功后可在屏幕上使用基本的触摸绘图功能。

硬件连接硬件连接TFT数据线PD14-FSMC-D0-LCD-DB0PD15-FSMC-D1-LCD-DB1PD0-FSMC-D2-LCD-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1