外设测试 - LCD 接口测试

概述

本文描述板卡上的 LCD 功能与接口的测试方案。
 

基于原始设计功能进行测试

该方案就是按一般使用方法,接入 LCD 显示屏,直接查看其显示、触控、背光控制的效果确认功能正常。
 

配置成 GPIO 进行测试

LCD 的大部分管脚可以在内核(设备树)配置作为 GPIO 功能,由此我们就可以对 GPIO 进行两两配对测试了。不能配置 GPIO 功能的管脚的测试在后文说明。
 
首先,需要确保管脚没有断路(比如接口端子虚焊或 B2B 异常的情况),配对的 GPIO 能够正常拉高拉低即可。比方说 A  与 B 配对,在外部把 A 与 B 短接。然后执行以下两轮测试:
1)A 作为 GPO,输出 1,B 作为 GPI,作为输入读取数值,确保读到1;然后 A 输出 0,B 确保读到 0。
2)B 作为 GPO,输出 1,A 作为 GPI,作为输入读取数值,确保读到1;然后 B 输出 0,A 确保读到 0。
 
其次,还要验证测试管脚之间没有短路,主要是确保相邻管脚没有短路,间隔排列的管脚之间短路而相邻不短路情况不大可能发生,不做考虑。方法是相邻的管脚一起作为输入或输出,作为输出时输出 010101 这样的排列,原则就是相邻管脚输出或者需要读取不一样的数值。如果发生短路了,对端输入就会读到一致的数值,从而发现错误。假设共 ABCDEFGH 8 根并列排列 GPIO 需要测试,那么 ABCD 一起作为输入或输出(甲组),EFGH 一起作为输入或输出(乙组),外部短接的情况为 A-E,B-F,C-G,D-H。
 

一个无法使用该方案的 LCD 设计

需要注意的是,常见的 LCD 信号线设计有两种,RGB888 输出与 RGB565 输出。当输出为 565 而需要外接使用的 LCD 屏为 888 的情况下,就会对 565 管脚进行复用,16 根信号线复用为 24 根。如下图所示,FFC 的 VD0 与 VD3 连接的都是来自处理器的 D0 信号,还有其他几根同样设计的信号。

现在开始证明该设计下使用 GPIO 方案进行测试,无法满足检测短路的异常。
 
这里 VD0-VD3,VD1-VD4,VD2-VD5 三对是复用的,也就是内部已经短接了。所以对于 VD0 来说,VD1、VD2、VD4、VD6 是相邻的,不能一起同时作为输入或输出。当 VD0 为甲组时,VD1、2、4、6 必须为乙组。而乙组当中 VD1、VD2 也是相邻的,也不能在同一组。但没有丙组了。所以无解。
 
另外,关于断路是可以检测的。采用简单粗暴的方法,FFC 的每一个管脚与没有复用其他管脚短接,即 VD0 短接 VD3 以外的管脚。测试这一对时,所有其他 GPIO 在 Linux 上 unexport,不使能。如此重复,一对一对全部测完。
 
这种设计下,要么降低标准允许不覆盖部分管脚的短路情况,要么采用一般的使用方法进行测试,就是麻烦了一些。可以优化的一个地方是,采用下文描述的触控功能测试方法,修改接入的 LCD 屏,对于触控功能可做到自动化。

 

电源与地管脚的测试

这些管脚出现问题的概率通常很低,如果是内部电源出了问题,整个板卡系统都会异常,也就容易发现。确实需要严格检测,可以采用接入 LED 的办法,让电源与地点亮 LED,从而检查确认。
 

触控功能的测试

LCD 的触控一般有两种设计,一个是从处理器引出 SPI 总线接入一个 XPT2046 这样的小芯片,再通过 FFC 接口与电阻屏对接。另一个设计是接入电容屏,使用的是 I2C 总线而非 SPI,而且是直接通过 FFC 接到电容屏,信号处理芯片在电容屏上。
 
对于接电容屏的设计目前还没有已实践的测试方案。下面说明电阻屏 LCD 接口的测试。

考虑到电阻屏通过排线传到 XPT2046 的信号就是按压触控时激发的电压,通过 TSXP、TSXM、TSYP、TSYM 传入芯片,解析后通过 SPI 传到处理器。所以测试方法就是通过短接 TSXP、TSXM、TSYP、TSYM 触发 XPT2046 不断地发送触控事件到处理器,程序从驱动层获取到事件即可确认触控功能正常。需要注意的是,短接时采用的电阻阻值可根据实际情况调整,因为可能触发的坐标事件偏离太厉害,驱动会自动过滤,程序就无法获取到了。一般采用 10 欧就可以。
 
2020-09-28
已标记关键词 清除标记
相关推荐
课程简介: 历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页