第三十五章 AT32F403A基于V2库 XMC 16bit驱动LCD

目录

概述

硬件

XMC

软件

地址线

地址设定

        基地址

        地址线地址计算

宏定义数据/命令地址:

初始化xmc:

测试

测试代码

测试结果

最后


概述

         本文主要是使用AT32F403A开发板,基于V2库实现xmc 使用16bit驱动LCD。

         串口工具使用的Atlink-ez自带的串口功能.

         工程建立、调试工具配置在前面章节有详细介绍。

硬件

         硬件方面使用的是参考官方AT32F437 SURF板子而设计的一个AT32F403A开发板,板子上的芯片是AT32F403AVGT7的型号,开发板上面还板载了一个atlink-ez的仿真器,atlink-ez除了可以在线仿真和下载之外还有一个串口的功能,硬件上是通过跳线帽接到了MCU的串口1,pa9/10上面。

        如下图是开发板pcb图,以及硬件资源。(左边上角的就是atlink-ez,用usb线接到pc即可):

         如下为实物图:

         本章是xmc驱动LCD,LCD的驱动芯片是ILI9488,尺寸为3.5寸,分辨率为320*480,触摸控制芯片为gt911并通过iic通信,相关原理图如下:

XMC

        外部存储器控制器XMC模块,这个模块和STM32的FSMC是一样的。

        XMC的详细入门资料可以看这个文档 :xmc入门资料

        AT32F403A系列集成了外部存储器控制器XMC模块。它具有2个片选输出,支持复用信号的         NOR/PSRAM存储器和16位或8位NAND闪存存储器。

        主要功能:

                写入FIFO;

                代码可以在复用信号的NOR/PSRAM片外存储器运行。

               XMC也可以配置成与多数图形LCD控制器连接,它支持Intel 8080和Motorola 6800的模式。

软件

        由于 LCD 屏的引脚和 XMC 接口有很大一部分的重合,因此 XMC 接口还可以用于驱动 LCD 屏,不同的地方就是LCD的命令和数据控制脚,LCD select data/command:数据/命令选择信号,用于指示数据总线上是数据还是命令。高电平表示数据和参数,低电平表示命令。而xmc没有。

地址线

        这里我们是使用xmc驱动sram的方式,并且使用一个地址线接到LCD的命令和数据控制脚,本章的硬件设计是使用的XMC_A16。

地址设定

         XMC的A16连接到LCD的D/C选择。 由于此处使用的是bank1,操作基地址为0x60000000。 那么向LCD发送命令时,XMC写入地址应选择0x60000000;发送数据/ 参数时,XMC写入地址为(0x60000000 | 0x20000)。

        基地址

         这里需要配合芯片的地址映射图来说明,如下图中是AT32F403A的xmc地址映射图。可以看出bank1的地址是从0x60000000~0x60FFFFFF,16MB的大小,同时bank1对应的xmc_ne是ne1,硬件xmc_ne是使用的xmc_ne1,所以基地址是0x60000000。

        地址线地址计算

        发送数据的写入地址跟所使用的地址线和xmc的数据总线有关。

        当总线为16bit模式时计算方式为:2的(地址线序数+1)次方,比如我们使用的A16,那么就是2的(16+1)次方,也就是0x20000,所以发送数据的写入地址为(0x60000000 | 0x20000)。

        当总线为8bit模式时计算方式为:2的(地址线序数)次方,比如我们使用的A16,那么就是2的16次方,也就是0x10000,所以发送数据的写入地址为(0x60000000 | 0x10000)。

宏定义数据/命令地址:

        从硬件设计原理图来看,我们是使用xmc_ne1,也就是bank1,并且为16bit模式,地址线为xmc_a16,所以基地址为0x60000000,发送数据的写入地址为(0x60000000 | 0x20000)。

初始化xmc:

         LCD驱动部分太多,这里就不贴了,需要的可以下源码来看。

测试

测试代码

         显示字符,并且改变屏幕颜色。

测试结果

        测试通过,可以看到显示字符,以及颜色在改变。   

最后

        有问题的可以加QQ群技术交流,同时相关代码上传到QQ群中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值