基于PIC32MX的液晶触摸屏人机界面设计
PIC32MX是Microchip公司推出的新型32位高性能系列单片机。采用改进的哈佛架构、C编译器优化的指令集、流水线取指令方式,具有实用、指令集小、体积小、功耗低、速度高、功能强、抗干扰能力强等特点。除了本文主要介绍的8位/16位并行控制接口模块和10/12位的A/D转换器(500 Ksps)外,还提供了CAN、UART、SPI、I2C等丰富的外围接口,可以方便地与其他设备进行通信。彩色液晶触摸屏不仅可以显示字符、数字、图形、曲线及汉字,还具有触摸功能,用途十分广泛。
工业上用32位单片机PIC32MX460F512L来控制带触摸屏的液晶显示器是一种理想的方案。本文使用PIC32MX460F512L的并行接口模块,按照8080时序驱动所罗门公司的SSD1926芯片,实现了5.7 in TFT彩色液晶触模屏的触摸和显示功能。该方案在喷水织机控制应用中,已经整体实现了数据输入/输出、数据存储、数据处理及传输等一系列上位机功能,而且用户界面友好。
1 PIC32MX与SSD1926的接口电路
SSD1926是一款中小规模的显示控制芯片。采用128引脚LQFP封装,256 KB静态存储空间和2D图像引擎,可以支持单色和彩色LCD;32位内部数据通道,可以提供高带宽的显示内存,以实现快速的屏幕刷新;拥有MMC/SD接口,可以与SD卡等外部存储器件方便地进行数据交换;采用单电源供电和单时钟输入,具有很短的CPU访问延迟时间,可以支持无READY/WAIT信号的微处理器。这些特点能够极大地简化外围电路的设计。同时,SSD1926还具有强大的总线兼容性,可与多种类型的MCU连接,除了支持SRAM接口与ARM系列连接、ISA接口与NEC系列连接外,还支持8/16位8080时序间接寻址方式,能够方便地与各种具有并口的MCU连接。本文使用:PIC32MX460F512L的8位/16位并行控制接口模块与SSD1926接口。硬件接口框图如图1所示。
CS为片选信号,RS为地址与数据选择信号,RESET为复位信号,都可以由通用I/O口进行控制,分别用RC1、RC2和RC3与其连接。数据总线DB[15:0]与并行控制接口模块中的PMD[15:0]引脚分别对接。WR和RD为读写信号,由并行控制接口模块中的PMWR和PMRD引脚分别控制。SSD1926对接收到的数据进行处理之后,再通过与LCD的接口驱动TFT彩色液晶屏进行显示。
2 触摸功能的软硬件设计
电阻式触摸屏处于与外界完全隔离的工作环境,不怕灰尘和水汽,可以用任何物体来触摸,可以写字画图,广泛应用于工业控制领域中。触摸屏工作时,上下导体层可以看作电阻网络。当某一层电极加上电压时,会在该电阻网络上形成电压梯度。若外力使得上下两层电极在某一点相接触,则在电极未施加电压的另一层可以检测出接触点的电压,从而换算出接触点的坐标值。本文选用4线电阻式触摸屏,其电阻网络工作原理如图2所示。
系统工作时,首先把AN11/RB11、AN4/RB4复用引脚设置为I/O引脚。RB11输出高电平(+3.3 V),RB4引脚输出低电平(0 V),在顶层的电极X+、X-上即产生了3.3 V的电压。当有外力使得上下两层在某一点接触时,在底层Y+、Y-引脚上就会输出接触点处的电压。此时,AN10/RB10、AN5/RB5设置为A/D输入通道。采样此引脚上的电压信号,即可得到Y+、Y-引脚上的电压值,根据下式可以计算出X坐标:
触点X坐标=X轴分辨率×X相电压采样值/1 024
本文为10位精度A/D采样,3.3 V输入时对应的采样值即为1 024。然后,改变4个引脚的输出定义,将A/D输入引脚RB10设置为I/O引脚输出高电平,RB5设置为I/O引脚输出低电平,将3.3 V电压切换到底层电极Y+、Y-上,设置AN11和AN4为A/D输入引脚。对X+、X-引脚进行A/D采样,测量得到接触点处的Y相电压,根据下式可以计算出Y坐标:
触点Y坐标=y轴分辨率×y相电压采样值/1 024
在工业应用中,由于A/D采样信号为模拟量输入,很容易受到现场环境的电磁干扰。除了在硬件上设计滤波电路等抗干扰措施外,还需要在软件中设计抗干扰算法,具体软件流程如图3所示。通过采样两次输入进行比较的方法,能够有效地减少由A/D采样模拟信号源带来的干扰。根据采样得到的X、Y坐标值,能够准确地知道触摸屏上接触点的位置,再根据X、Y坐标的历史值,还能够分析出接触点的状态是接触、移动,还是放开等状态。
3 显示触摸功能的综合实现
PIC32MX系列的并行控制接口模块功能非常强大,只需要对其寄存器进行正确的初始化配置,即可自动适应各种并行接口的时序要求。当需要进行读写指令切换时,只需要改变读写状态寄存器的值,芯片就会根据初始化配置时设置的值自动产生时序电平。在进行写操作时,芯片也会根据设置的值,自动使数据信号达到所要求的建立电平和保持电平的时间。SSD1926相对应的寄存器配置如下:
并行接口数据传输时序如图4所示。
评论