# lcdTest **Repository Path**: LcdTest/lcdTest ## Basic Information - **Project Name**: lcdTest - **Description**: LCD 测试软件,可以通过上位机下发命令,亦可以通过SD卡直接点屏 - **Primary Language**: C# - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 10 - **Created**: 2020-06-21 - **Last Updated**: 2024-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lcdtest #### 介绍 LCD 调试软件,可以通过上位机下发命令,亦可以通过SD卡直接点屏 #### 软件架构 软件架构说明 1,上位机采用C#编写。可以直接下发点屏代码,伪指令,方便产品点亮与调试,连接CA310后具备自动调整Gamma功能; 2,下位机Keil 5.23 以上版本。接受上位机格式化后的命令执行点屏/功耗测试等功能; #### 安装教程 安装支持软件(上位机使用): 串口驱动 STM32虚拟串口VCP_V1.3.1_Setup_x64.exe 上位机支持包 NDP462-DevPack-KB3151934-ENU.exe CA310/CA410驱动: casdk_ver450_all--ca310.zip CA410-cas40_ver131_win_all.rar #### **脱机使用说明** 1、 首先 开机会判断2K平台 是否有SD卡插入; 2、 拔掉电源接口端左侧的LED边的跳帽; 3、 第一次或者需要更新BMP/配置文件时,在SD卡根目录下放对应分辨率(一定要和实际屏体的一模一样)的BMP图片和配置文件(文件名:PGconfig1.CFG); 4、 重新上电,2K平台绿色LED会连续闪烁,此时SD卡内图片被搬入2K平台,待闪烁停止后屏幕会自动显示SD卡内图片。 5、 断电,拔掉SD卡(否则重新上电时会重复此过程),再上电后,之前搬入的图片会继续显示; 6、 若重新上电后,sd卡没有取出,那此时sd卡内的图片会被重新搬入 7、 平台根据配置文件的分辨率,自动寻找SD卡根目录下的BMP图片是否是一样的分辨率;如果有相同分辨率的BMP图片,MCU会连续的将所有一样分辨率的BMP图片发送到FPGA,(例:SD卡有2幅1280x720,2幅720x1280,2幅1920x1080,配置文件是720x1280的分辨率,则自动并且连续的将2幅720x1280的BMP发送到FPGA,其余的BMP不处理); 8、 发送完毕以后,MCU根据配置文件是MIPI信号或者RGB信号来区分是否需要配置2828初始化和Driver IC初始化; 9、 根据按键去处理上,下,自动,开关的功能; ------------------------------------------------------------------------------------------------------------ 1、 FPGA上电复位,通过Command接口等待Timing数据和BMP图片数据; 2、 将Timing数据保存并根据ICS307输出的频率产生OLED需要的HS,VS,DE,PCLK信号; 3、 根据Addr参数将BMP图片的数据写入到DDR3里面; 4、 当MCU发送了写完BMP的状态标志,FPGA将DDR3的BMP数据读取出来,送入到屏体点亮。 #### **上位机使用说明** 连接USB线及 **5V** 电源 1、文件 打开配置文件 2、点击RUN 即可点亮屏幕 --------------------------------------------------------------------------- #### 配置文件的格式说明 | cfg文件 | | | | | | -------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------- | | | | | | | | 地址 | 具体内容 | | 含义 | 具体说明 | | 0x00-0x0C | GVOConfig.CFG | | 文件头 | 固定不变 | | 0x0D-0x1F | 0x00 | | 预留 | 预留 | | 0x20-0x21 | H_Dis pixel | | 水平像素 | (0x21,0x20) | | 0x22-0x23 | V_Dis pixel | | 垂直像素 | (0x23,0x22) | | 0x24-0x25 | H_BP | | 水平后廊 | (0x25,0x24) | | 0x26-0x27 | V_BP | | 垂直后廊 | (0x27,0x26) | | 0x28-0x29 | H_FP | | 水平前廊 | (0x29,0x28) | | 0x2A-0x2B | V_FP | | 垂直前廊 | (0x2B,0x2A) | | 0x2C-0x2D | H_sync | | 水平消隐区 | (0x2D,0x2C) | | 0x2E-0x2F | V_sync | | 垂直消隐区 | (0x2F,0x2E) | | 0X30 | H0x CMD | Hx0单通道6bits | 模组的接口说明/ 高四位:接口类型 低四位:接口位数 | 单通道6bits | | H1x MIPI | Hx1单通道8bits | 单通道8bits | | | | H2x SPI3 | Hx2双通道6bits | 双通道6bits | | | | H3x SPI4 | Hx3双通道8bits | 双通道8bits | | | | 0x31-0x32 | | | (设定的像素时钟*10)%256 (设定的像素时钟*10)/256 | | | 0x33 | | | | | | 0x34-0x37 | | | ICS307时钟数据 | (0x37,0x36,0x35,0x34) | | 0x38 | 0-0XFF | 7 ,6 ,5 ,4 ,3 ,2 ,1 ,0 X X X X VS ,HS,DE,P边沿 | Timing信号的一些其他边沿配置 | | | 0x39-0x3e | 无效 | 无效 | 预留 | 预留 | | 0x3f | 0x55 RGB 0xA0,0XA1,0XA2 Solom GDS RM | | 初始化代码界面的选择MIPI/RGB | 0X3F | | 0x40-0x42/0xff 如果不需要2828则为0xff | SSD2828配置1 | 0x40:地址 0x41:数据高8 0x42:数据低8 | | | | ……. | …… | ……. | | | | | | | | | | 驱动IC的初始化代码 | 长度n,地址,数据1,数据2,数据3,数据4,数据n-1 | | | | | 最后一个字节为0xff | | | | | | | | | | | | | | | | |