液晶显示器边框精密检测系统的实现
扫描二维码
随时随地手机看文章
液晶显示器现在已实现了大规模生产,其外部框架要求和液晶面板达到无缝结合,为了达到工业标准,需要对批量生产的显示器边框的制作精度进行检测。其检测过程为用固定位置的12个传感器对显示器边框上不同的12个点进行测距,并与样品参数进行比较,来检测是否合格。随着微电子工艺的发展,数字信号处理器(DSP)的应用领域已从通信领域拓展到工业控制领域。TI公司推出的TMS320LF2407芯片是专门针对控制领域应用的DSP,它具有高速信号处理和数字控制所必需的体系结构,其指令执行速度高达40MIPS,且大部分的指令都可以在一个25ns的周期内执行完毕。另外,它还具有非常强大的片内I/O端口和其他外围设备,可以简化外围电路设计,降低系统成本。
1 接触式测距原理
由于该系统对检测精度要求非常高,所以在距离测量中采用接触式传感器。接触式测距的原理较简单,该系统中采用了输力强公司的高精度气动接触式传感器。采用LVDT技术,工作原理如图1所示。芯轴位于中心位置,一次(Ve)到每一个二次线圈的耦合相等,所以VA=VB,且输出Vo=0。由于芯轴被移动,VA和VB的差与位移成正比,因此Vo放大变化和定相与从零开始的向任何一个方向的运动成正比。传感器使用正弦曲线AC充电,输出曲线取决于芯位移和充电信号,其关系用敏感度表示,单位为:mV(输出)/V(充电)/mm(移动)。
2 系统硬件设计
在设备的工作箱内固定的位置放置了12个接触式传感器,其编号为1#~12#,用来测量显示器边框上12个不同位置的距离。检测板主要包括两大模块:12路接触式传感器的距离数据采集模块及与上位机(PC机)通讯的CAN总线通讯模块。其硬件结构如图2所示。
考虑到系统功能的实现,数据采集部分包括三部分:信号前置处理和信号滤波处理、信号A/D转换和DSP功能实现。
(1)信号前置主要通过DG419二选一模拟开关对两个量程的信号进行切换选通,DG419的控制端由DSP直接控制,模拟信号通过运算放大器进行信号的放大和一级滤波。这里用运算放大器人为做了一个二阶滤波器,将信号整形处理为幅值为±10V的电压信号,准备供给A/D转换器。
(2)经前置整形和滤波后的±10V电压信号被送到数模转换器。由于是12路信号,所以采用两片具有六通道转换能力的A/D转换芯片ADS8364。模拟量经A/D转换后产生16位的数字电压量并锁存,等待DSP来读取数据。这里ADS8364的转换及前置DG419的信号选通都是由DSP主控的,从时间上保证了可靠读取A/D转换后的有效数据。
(3)TMS320LF2407是高性能定点数字信号处理芯片,根据芯片本身特点,需要考虑其电源供给电路、晶振产生电路、锁相环电路以及电平转换电路。
3 软件设计
系统软件主要由测距数据采集及处理模块和CAN总线通讯模块构成。
3.1 多路数据采集模块
接触式传感器被分成两组,每组分别接一片A/D转换芯片,所以数据采集部分软件的核心设计主要是如何对12个通道传感器同时采集的数据完成A/D转换,并能够准确、实时地传给处理器。详细硬件图如图3所示,其中每片A/D转换芯片ADS8364与六个传感器通道相连,地址分别映射为0x10和0x11。A/D转换芯片ADS8364具有数据处理速度快、自带锁存、多通道处理等功能,根据其特点采用了其专有的Cycle模式。该模式下让处理器认为只访问同一个存储器,而ADS8364却能在六个读周期内分别将六个通道转换好的数据传输到这个存储器。采用这种模式能极大地简化软件的设计,使得对多通道数据的采集变得非常方便。
[!--empirenews.page--]
按照Cycle模式,其处理多通道数据的代码如下(以地址为0x10的那片ADS8364为例):
PBDATDIR &= 0XFFFB; // 给IOPB2一个低电平脉冲,复位ADS8364
asm (‘ NOP‘);
PBDATDIR |= 0X0004;
PBDATDIR &= 0XFFFD; // 给IOPB1一个低电平脉冲,触发ADS8364采样
asm (‘NOP‘);
PBDATDIR |= 0X0002;
Delay_2ms(); // 延时一段时间,等待采样结束
/* 来自ADS8364的6个测量值:6个通道 */
Channel1 = port10;
Channel2 = port10;
Channel3 = port10;
Channel4 = port10;
Channel5 = port10;
Channel6 = port10;
3.2 基于CAN总线的通讯模块
测距数据采集板发送测距数据以中断的方式完成。TMS320LF2407有专门的mailbox中断,用于响应发送/接收中断。每个接触式传感器的测距值在DSP内用2个字节存储,而CAN总线传输标准要求每个数据帧最多只能传输8个字节的数据。本系统有12个传感器,共有24个字节存储所有测距值。CAN总线传输所有测距值需要3个数据帧才能传送完。该系统中将通讯模块分成发送和接收模块两个部分。在设计中将发送和接收封装成结构体,大大简化了通讯驱动模块的设计,并可将此通讯结构应用在任何CAN通讯方面,具有很强的通用性。
发送模块:
typedef struct Transmit
{
BOOLEAN ExtendFlag; // 扩展帧标志
BOOLEAN RemoteFlag; // 远程帧标志
LONG ID; // 本机地址
BYTE DataLen; // 发送数据长度
BYTE Data[8]; // 待发数据缓冲区
}TRANSMIT;
接收模块:
typedef struct Receive
{
BYTE DataLen;
BYTE Data[8];
}RECEIVE;
编写驱动函数不仅能省去对寄存器的繁琐设置,使数据帧的发送和接收更方便,而且可使代码具有很强的可移植性,调用驱动函数的代码完全可以在不同的系统中移植,只要改写驱动函数部分即可。
本文介绍的显示器边框检测系统采用接触式测距的方式,并用TMS320LF2407作为核心处理器,可以达到很高的测量精度。通过CAN总线通讯,可以将测量数据可靠地发给PC机,并实现大规模检测。此系统已经在实际生产中得到应用,验证了硬件系统的可靠性和稳定性。