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所示。