视频介绍版本: 哔哩哔哩:https://www.bilibili.com/video/BV1ZeyNYcE3F/
引言
由液晶驱动控制芯片RA8889实现车载液晶仪表的方案,本系列文章会从最基本的UI界面制作,硬件平台的介绍,以及软件代码实现来详细介绍。
正文本期视频详细介绍 RA8889的初始化是如何配置的。程序代码开发平台用的是ARM公司的Keil 软件。下图是Keil开发平台的界面。
在Keil软件中建好STM32F103的工程,然后把RA8889所需的文件添加到工程中,文件如下:RA8889.c 、RA8889.h 、RA8889_MCU_IF.c 、RA8889_MCU_IF.h 、RA8889_API.c 、RA8889_API.h 、W25N01GV.c 、W25N01GV.h;分别介绍下以上几个文件的作用; 1、 RA8889.c :把RA8889的寄存器的每个位都封装好成函数体。 2、 RA8889_MCU_IF.c:主控(STM32)与RA8889之间的通讯接口,以及STM对RA8889的应用,如写数据到RA8889的RAM,如STMT通过读取SD卡数据写到RA8889上的FLASH。 3、 RA8889_API.c:把RA8889的功能基本全部封装成API的接口函数,使用哪个功能时,调用API接口函数即可,把文件也有对应的应用文档说明。 4、 W25N01GV.c :该文件是RA8889使用NAND FLASH时的配置,NAND FLASH相比NOR FLASH有以下优点:低成本、大容量存储密度;
下图是主函数main介绍: GPIO_Configuration API是主控芯片对RA8889之间的并口通讯的GPIO配置,配置GPIO的模式、速度等等。NVIC以及EXTI这两个API函数是主控端配置外部中断。USART_Configuration 是主控端配置串口的API函数。 主控端与RA8889采用FSMC通讯协议进行通讯,打开 FSMC 时钟使能:RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);
以下几个API函数分别是:屏SPIGPIO的配置,主控端通过SPI通讯驱动屏,发送屏驱动芯片所需的初始化代码配置FSMC的初始化,以及RA8889的初始化。也是我们本期视频讲解的主要重点。 1、 介绍Driver_GPIO_Configuration 函数; 屏驱动芯片支持3线SPI通讯,以下是主控端控制屏驱动芯片的SPI GPIO配置 主控端的PA4 、PA5 、PA6 、PB7、 PE0 与屏驱芯片映射,模式配置IO口为推挽输出,输出速度模式配置为50Mhz。
主控通过模拟IO口的方式,与屏驱芯片通讯,编写模拟SPI发送数据接口函数。 下图API函数是参考屏驱动芯片的规格书中的SPI通讯协议来编写,具体的时序要求可参考屏驱动芯片的规格书。 主控与RA8889采用FSMC通讯协议,代码可参考下图: 配置主控端控制RA8889的4个底层通讯函数(如下图),分别是写命令、写数据、读状态寄存器数据、读数据。配置好这4个底层函数后,主控就可以与RA8889正常通讯。 下面我们来详细讲解RA8889的初始化,步骤如下:
1、 软硬件复位 2、 检测工作状态,正常通讯就可以正常读取IC状态。 3、 RA8889 配置PLL:SDRAM的频率为166MHz,主频:120M,对屏的扫描频率:34M 4、配置SDRAM初始化 5、 配置 TFT Panel I/F Output pin Setting 6、 配置主控端数据总线宽度 7、 主控端 Read/Write image Data Format 8、主控端写入数据到RA8889的SDRAM显存方向,方向可自定义,具体可参考规格书。 9、图形模式 10、内存选择SDRAM 11、TFT显示色深选择,TFT显示窗口色深、内存色深、PIP色深、BTE色深 12、屏初始化时序的配置,该部分是参考屏规格书来写,也可以请深圳瑞福科技的技术支持帮忙写屏时序 13、设定显示视窗在SDRAM的起始地址 14 、Canvas_image_width,设定水平显示视窗的画布大小,建议设置为屏分辨率宽度 15、设定显示视窗的大小,Main_Image_Width=Canvas_image_width,这两个大小需要一致,建议设置为屏分辨率宽度 16、设定显示视窗的起始坐标 17、设定数据写入SDRAM的起始地址 18、该部分是工作窗口的设定,初始化中建议设定为屏分辨率大小。 19、写入SDRAM地址的模式选择 20、FLASH 初始化 21、内存的读写地址 22、Display_ON,打开显示后,RA8889则开始输出信号到屏。 23、Color Bar 是显示彩色条,在调试的时候,验证RA8889是否正常工作,屏是否能正常显示彩色条。 以上是RA8889配置初始化的步骤,参考以上的配置即可。可直接调用,想要了解更详细的配置,可联系我们深圳瑞福科技。
下期是该系列方案的重点,也是精华,讲解如何简单快速,用很简单的API功能函数即可实现指针的转动,下期文章再见。
|