首页 > 范文大全 > 正文

基于移位寄存器的LCM模组开路短路测试方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于移位寄存器的LCM模组开路短路测试方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:文章介绍了基于串入并出移位寄存器74LS164及并入串出移位寄存器74LS165与MCU配合工作,检测lcm模组中各外接功能接口的连通性,判断是否存在开路短路等缺陷。同时讲述了该测试方法的硬件电路设计及相应的软件设计,并延伸介绍了该测试电路的级联扩展方法。该测试方法使用较少的GPIO口就能实现对较多管脚的接口连通性的检测,具有一定的实用意义。

关键词:LCM;移位寄存器;开路测试;短路测试

中图分类号:TN141.9文献标识码:B

Open and Short Circuit Test Method of LCM Based

on Shift Register

XU Ze-yu, CHANG Bi-bo,LIN Wei-hao

(Shantou Goworld Display Co., Ltd., Shantou Guangdong 515065, China)

Abstract: This article introduces an open and short circuit test method of external functional interface of LCM based on shift register 74LS164, 74LS165 and MCU. The paper describes hardware circuit design and relevant software design, serial connection of this method. This design can test the connection of interface with many pins by using only a few GPIO and will be useful for LCM suppliers.

Keywords: LCM; shift register; open circuit test; short circuit test

引言

随着LCM显示模组集成度的不断提高,越来越多的功能器件或其它组件连接器被添加到显示模组中。例如应用于双屏手机的显示模组,模组中主插座与CPU各控制信号相连,而模组中从插座(比如摄像头接口插座)的各管脚则与主插座对应相连。对于显示模组厂商而言,如果本身没有同时供应摄像头模块的话,就不能通过摄像显示效果来直观判断显示模组中主从插座的连接性能是否良好。因此需要通过其它测试方法来检测LCM模组中外接功能接口部件是否存在开路、短路等缺陷。

针对此种情况的测试要求,本文提出了采用串入并出移位寄存器74LS164和并入串出移位寄存器74LS165与MCU配合工作,通过收发数据判定检验的方法,实现对显示模组中各外接功能接口进行连通性能的检测,并将存在缺陷的管脚信息通过LCM模组的显示屏显示出来。使用该测试方法,仅需占用3个GPIO口,就能在实现检测LCM模组常规显示功能的同时,快速、准确、直观地判断大量外接功能接口的连通性。

1硬件电路设计

MCU通过GPIO口向74LS164发送串行数据和同步时钟信号,74LS164进行串并转换后将数据实时送至主插座,而主插座和从插座中网络名定义相同的引脚在PCB板中走线是相连的,74LS165则获取并锁存从插座引脚数据后,将其转换为串行数据并发送到MCU,MCU将接收到的数据与先前相应发送出的数据进行比较,从而自动判定主从插座之间是否存在开路、短路等不良现象。图1为使用一组74LS164和74LS165的电路框架图,图2为相应的移位寄存器电路原理图,图中的电阻R1~R8主要起限流作用,电阻R9~R16的主要作用是下拉74LS165的引脚A~H,使CHI_1~CHI_8和CHO_1~CHO_8之间出现开路时,74LS165的引脚A~H能提供固定的低电平。

2软件设计

2.1软件流程图

2.2数据收发子函数

子函数void Senddata(a)把8位全局变量a从高位到低位逐位移入到74LS164,最终使QH~QA(CHI_8~CHI_1)输出为a。

void Senddata(a) //MCU数据发送子函数

{

unsigned char x,i;

x=a; //a为全局变量

CLR=0;//把74LS164的QA~QH清零

CLR=1;

for(i=0;i

{

if(x&0x80)

DOUT=1;

else

DOUT=0;

CLK164=0;

CLK164=1;

x

}

}

子函数void Receivedata(void)使74LS165把H~A(CHO_8~CHO_1)的8位状态载入寄存器,并把这8位数据按H到A的顺序逐位移出,保存在8位全局变量b中。

void Receivedata(void) //MCU数据接收子函数

{

unsigned char i;

LOAD=1;

LOAD=0;//LOAD低电平时把H~A的状态

载入寄存器

LOAD=1;

b=0; //b为全局变量

for(i=0;i

{

if(DIN)

b=b+1;

else

b=b+0;

b

CLK165=0;

CLK165=1;

}

if(DIN)

b=b+1;

else

b=b+0;

}

2.3 软件主体功能描述

整个主程序主要分为三部分:第一部分判断开路;第二部分判断短路;第三部分是结果输出显示。

判断开路部分,首先让MCU使用子函数void Senddata(a)把数据a=0xff移入到74LS164中,使74LS164的“QH~QA”输出都是1,即“1111 1111”,经过适当的延时后,使用子函数void Receivedata(void)让74LS165把H~A的8位状态载入到寄存器,并把这8位数据逐位移出,且保存到全局变量b中(注意延时是有必要的,可以等待74LS164输出稳定后再让74LS165载入各管脚的状态)。接下来由MCU判断从74LS165接收到的数据b是否与MCU发送到74LS164的数据a=0xff(1111 1111)相等,如果相等,则表示所有管脚都不会开路(但不排除有短路),如果不相等,则判断b的哪些bit为0 (因为74LS164的H~A均有用电阻下拉到GND,所以H~A默认状态为低电平),如bit3=0 (1111 0111),则令result[3]=0x01代表第4管脚存在开路(无符号字符型数组result[8]用来记录对应的8根管脚连通情况,例如,开路记录为0x01,短路记录为0x02,正常则为0x00)。

接下来是判断短路部分,使用一个循环,每次循环依次往74LS164送数据a=0x01、0x02、0x04、0x08,0x10、0x20、0x40、0x80,然后用74LS165载入数据并传送到MCU中的变量b,接下来判断每次循环b是否等于a,如果相等,则表示相应的管脚不会与其它管脚短路(当然,如果a=b,该管脚肯定是不会开路的,也就是说,如果a=b,则该管脚是完全正常的)。如果在某次循环中,例如当a=0x04,且测得b不等于a时,则表示管脚3存在开路或者与其它管脚短路,此时通过判定result[2]的值是否为0x01,可以知道该管脚3是否开路,如果没开路,则把result[2]赋值为0x02代表短路。

最后是结果显示部分,通过判断数组result[8]各个元素的值,把各个管脚的情况在模组显示屏上显示出来。例如,如果result[0]~result[7]都为0x00,显示屏可以显示“正常”字样,表示8个管脚既不会开路,也没有短路。如果result[3]为0x01,result[2]、result[5]和result[7]为0x02,其余为0x00,则显示屏可以显示“4开路 3、6、8短路”,表示管脚4开路,管脚3、6、8短路。

3 测试电路的级联扩展方法

以上所描述的是使用一组74LS164和74LS165的情况,只能检测8根管脚的连通性,所占用的GPIO口有6个,分别是用于74LS164的串行数据输入DOUT、时钟输入CLK164和清零CLR,还有用于74LS165的锁存信号LOAD、时钟输入CLK165以及串行数据输出DIN。而实际应用中,需要检测的管脚数目通常会超过8根,这时可以级联多组74LS164和74LS165来检测,例如级联两组可以检测16根管脚,三组可以检测24根管脚,依此类推。而所占用的GPIO口也可以优化为只用3个,即74LS164的串行数据输入和74LS165的锁存信号可共用为DOUT/LD,74LS164和74LS165的时钟信号可共用为CLK,74LS165的串行数据输出DIN维持不变(74LS164清零信号CLR可以直接置为高电平)。图4所示为级联两组74LS164和74LS165的电路原理图。

4结论

本文论述的基于串入并出移位寄存器74LS164和并入串出移位寄存器74LS165设计的开路、短路测试方法,仅需占用MCU的3个GPIO口,就能实现对较多管脚的接口连通性检测。目前,该方法已经成功应用于几款LCM模组的检测,可以在毫秒级的时间内,准确判断出数十根管脚的连通情况,并在检测LCM模组常规显示功能的同时直观地把各管脚的连通情况显示出来。此方法还可以推广应用于其它需要检测线路开路、短路的场合,如ITO像素较大,且形状、排列不规则的LCD飞针短路检测等。

参考文献

[1] 胡汉才. 单片机原理及其接口技术(第2版)[M]. 北京:清华大学出版社,2004.2.

[2] 郭天祥. 新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M]. 北京:电子工业出版社,2009.1.

[3] National Semiconductor.54LS164/DM54LS164/DM74

LS164 8-Bit Serial In/Parallel Out Shift Registers.June 1989

[4] FAIRCHILD SEMICONDUCTOR. DM74LS165 8-Bit Parallel In/Serial Output Shift Registers. June 1989

作者简介:许泽宇(1984-),男,籍贯广东揭阳,目前就职于汕头超声显示器有限公司,主要从事液晶器件开发工作,E-mail:。