登录站点

用户名

密码

Microchip公司的图形库的使用。

6已有 3029 次阅读  2009-09-17 18:01   标签Microchip  图形 
年前的项目,用到了Microchip的图形库和PIC32系列的32位单片机,最重要的是在Microchip的成都的FAE帮助下,成功移植到SSD1926上,呵呵谢谢田Sir。现在分享给大家。。。。。

基于PIC32MX和液晶触摸屏的人机界面应用方案

摘要:本文介绍Microchip公司32位单片机PIC32MX460F512L及其并行接口模块,基于该模块与所罗门公司的SSD1926芯片接口,设计实现了5.7英寸TFT彩色液晶触模屏的触摸和显示功能。给出了控制策略、硬件接口电路和软件设计以及重要的程序段。该方案已经用于喷水织机中,效果很好。

关键PIC32MX  SSD1926  单片机   触摸屏 

Abs tract: This paper introduces the PIC32MX460F512L of Microchip and its Parallel Master Port. Communicating with the SSD1926 based on this module, the design realized touch and display function of the 5.7 inch TFT color touch screen. The control strategy as well as the interface circuit and software design of the project was explained. This project has already been used on the spinning machine, and it has got a perfect effect.

Key words: PIC32MX;  SSD1926;  single- chip microcomputer;  touch screen

0引言

   PIC32MXMicrochip公司推出的新型32位高性能单片机。采用改进的哈佛架构、C编译器优化的指令集、流水线取指令方式,具有实用、低价、指令集小、体积小、低功耗、高速度、功能强、抗干扰能力强等特点。除了有本文主要介绍的8/16位并行控制接口模块和10/12位的A/ D转换器(500ksps)还提供了如CANUARTSPII2C等丰富的外围接口功能,可以方便的同其它设备进行通讯互联。

彩色液晶触摸屏不仅可以显示字符、数字、各种图形、曲线及汉字,还具有触摸功能,用途十分广泛。

工业上用新型32位单片机PIC32MX406F521L来控制触摸屏液晶显示器是一种理想的方案。文使用PIC32MX460F512L的并行接口模块(Parallel Master Port),按照8080时序驱动所罗门公司的SSD1926芯片,完成了5.7英寸TFT彩色液晶触模屏的触摸和彩色显示功能。该方案在喷水织机控制应用中,已经整体实现了数据输入输出,数据储存,数据处理及数据传输等一系列上位机功能,而且用户界面友好

1 PIC32MX406F521LSSD1926模块的接口电路

SSD1926是一款中小规模的显示控制芯片。采样128引脚LQFP封装,256K静态存储空间和2D图像引擎,可以支持单色和彩色L C D32 位的内部数据通道,可以提供高带宽的显示内存, 以实现快速的屏幕刷新。拥有MMC/SD接口,可以与SD卡等外部存储器件方便的进行数据交换。采用单电源供电和单时钟输入,具有很短的CPU 访问延迟时间,因而可以支持无READY/WAIT信号的微处理器,这些特点都能够极大的简化外围电路的设计。SSD1926同时还具有强大的总线兼容性,可与多种类型的MCU 连接,除了支持SRAM接口与ARM系列连接、ISA接口与NEC系列连接外,还支持8/168080时序间接寻找方式,能够与各种具有并口的MCU方便的接口。本文即使用PIC32MX406F521L8/16位并行控制接口模块与其接口。硬件接口电路原理如图1 所示:

1  满足8080时序的液晶屏驱动接口框图

1CS#为片选信号、RESET#为复位信号、RS#为地址与数据选择信号,都可以用通用I/O口进行控制,本文分别用RC1RC2RC3与其连接。数据总线DB[15:0]并行控制接口模块中的PMD[150]引脚分别对接。WRRD为读写信号,也由并行控制接口模块中的PMRDPMWR引脚分别控制。SSD1926对接收到的数据进行处理之后,再通过与LCD的接口驱动TFT彩色液晶屏进行显示。

2触摸功能的硬件及软件流程

电阻式触摸屏处于对外界完全隔离工作环境,不怕灰尘和水汽,它可以用任何物体来触摸,可以写字画图,在工业控制领域中大量使用。触摸屏工作时,上下导体层可以看作电阻网络,当某一层电极加上电压时,会在该电阻网络上形成电压梯度。如外力使得上下两层电极在某一点相接触时,则在电极未施加电压的另一层可以检测出接触点的电压,从而换算出接触点的坐标值。本文选用4线电阻式触摸屏,其硬件接线和工作原理如图2 所示:

2  触摸屏电阻网络工作原理图

3   触摸功能软件流程框图

系统工作时首先把AN11/RB11AN4/RB4复用引脚设置为I/O引脚,RB11输出高电平(+3.3V),RB4引脚输出低电平(0V),在顶层的电极X+X-上即产生了3.3V的电压,当有外力使得上下两层在某一点接触时,在底层Y+Y-引脚上就会输出接触点处的电压,此时AN10/RB10AN5/RB5设置为A/D输入通道,采样此引脚上的电压信号,即可得到Y+Y-引脚上的电压值,根据下式可以计算出X坐标:

触点X坐标=X轴分辨率*X相电压采样值/1024

本文采样10位精度A/D采样,3.3V输入时对应采样值即为1024然后,改变4个引脚的输出定义,将A/D输入引脚RB10设置为I/O引脚输出高电平,RB5设置为I/O引脚输出低电平,将3.3V电压切换到底层电极Y+Y-上,设置AN11AN4A/D输入引脚,对X+X-引脚进行A/D采样,测量得到接触点处的Y相电压,根据下式可以计算出Y坐标:

触点Y坐标=Y轴分辨率*Y相电压采样值/1024

在工业应用中,由于A/D采样信号为模拟量输入,很容易受到现场环境的电磁干扰。除了在硬件上设计滤波电路等抗干扰措施外,还需要在软件中设计抗干扰算法,具体软件流程如图3 所示。

通过采样两次输入进行比较的方法,能够有效的规避由A/D采样模拟信号源带来的干扰。根据采样得到的XY坐标值,能够准确的知道触摸屏上触摸点的位置,再根据XY坐标的历史值,还能够分析出触点的状态是接触,移动还是放开等状态。

3 彩色液晶显示器程序流程

     PIC32MX系列的并行控制接口模块功能非常强大,只需要对其寄存器进行正确的初始化配置后,即可自动适应各种并行接口的时序要求。当需要进行读写指令切换时只需要改变读写状态寄存器的值,芯片会根据初始化配置时设置的值,自动产生时序电平。在进行写操作时,芯片也会根据设置的值,自动使数据信号按要求达到建立电平和保持电平的时间。本文所用的SSD1926相对应的寄存器配置如下:

    PMMODEbits.MODE   = 2;  // Intel8080时序

    PMMODEbits.WAITB  = 0;  // 电平建立等待时间为1个外部时钟周期(B 

PMMODEbits.WAITM  = 3;  // 电平保持时间为4个外部时钟周期(M

PMMODEbits.WAITE  = 0;  // 电平建立等待时间为1个外部时钟周期(E 

    PMMODEbits.MODE16 = 1;  // 16 位模式

并行接口数据传输时序图如图4

4  并行接口数据传输时序图

4CS信号为片选信号,对SS1926进行操作时在整个操作周期中保持高电平。RS信号为地址、数据选择信号,写地址时保持低电平,写数据时保持高电平。PMWR为写操作使能信号,当写操作开始时,首先等待一个时钟周期(B),确保PMD[15:0]上的数据或地址信号已稳定建立,然后保持三个时钟周期的高电平(M),确保信号内容完全写入SSD1926,最后用一个时钟周期(E)结束写操作。BUSY信号为PMMODEbits.BUSY寄存器的状态。当读写操作进行时,BUSY信号自动置高,只有读到BUSY信号为低时(表示上一次操作已完成,总线空闲),程序才能开始下一次读写操作。把对应I/O口和寄存器的操作编程集成起来,编写为子程序,可方便的在主程序中实现PIC32单片机与SSD1926之间的数据传送。

人机界面主程序流程图如图5所示:

5   人机界面主程序流程图

A/D采样得到的触摸点XY坐标发生变化时,消息处理函数根据得到的消息,发出相应的指令。除了进行数据输入输出和与下位机通讯外,当需要进行页面切换时,就更改页面状态,调用新页面建立函数,切换到新的页面,当需要进行页面内容更新时,就调用页面更新函数,更新当前页面的状态。

为了简化编程,软件中定义了几种常用的图型模块,如按键,静态图片,静态文字段,动态数据显示框等。每个模块都具有模块创建,模块更新和消息响应3个子程序。模块创建子程序根据模块的上下左右坐标、模块的颜色、模块的内容及状态等参数,在液晶显示器的对应位置上显示出模块的图案,并在对应的内存空间中记录下模块的状态。模块更新子程序定义了模块不同状态下图案的变化,比如按键模块当被触摸时即显示出3D效果的凹陷图案,没被触摸时即显示3D效果的凸出图案。消息处理子程序则根据A/D采样得到的接触点XY坐标,判断模块是否处于触摸过程的接触、移动还是放开状态,并对状态进行响应。

Microchip公司特别针对PIC32MX系列还开发了图形软件库(Graphics Library),该软件可以方便的把各种语言、各种字体的文字以及位图格式的图片转化为能够在软件中直接使用的数组矩阵,极大的方便了应用者。

4应用情况

该方案已经成功应用在了某公司自主开发的喷水织机上。图6为该喷水织机上本系统的照片。

 

6   喷水织机及人机界面照片

喷水织机是采用喷射水柱牵引纬纱穿越梭口的无梭织机。为了完成开口、引纬、打纬、卷取、送经过程,需要多单元高精度的协同配合工作。旧式的喷水织机完全靠机械齿轮齿条传动的方式,一旦更换织造品种,就得更换大量齿轮齿条,改变传动比。而且由于机械精度及强度的限制,很难提高织造的速度。

采样CAN总线电气一体化控制策略的电控喷水织机,能够利用CAN总线高速传输的能力以及交流电机伺服系统的高精度,实现多单元的高度协同工作,大幅度提高织造速度和质量。并且更换织造品种时只需要进行相关参数的调整,无需改变机械传动比。由于电气单元和交流伺服电机的引入,需要设置大量的参数,并需要及时准确的故障报警以监测织机系统状态并方便织机系统的维护。

为此我们设计开发了人机界面。以PIC32MX460F512L 芯片和液晶触摸屏为核心,它具有精度高、价格低、抗干扰能力强、简化了输入输出设备等优点。系统通过I2C总线用片外EEPROM接口,能够方便的保存用户由界面输入的数据,还通过I2C总线与日历时钟芯片接口,得到准确的时间信息。采用CAN通讯方式与电机控制器通讯,将设置的参数及时传输给主控制器,并把用户需要的数据实时显示在液晶显示屏上。具备故障监测和自动报警功能,实现了电气智能化控制。系统结构框图如图7

7  系统结构框图

5 结论

本文介绍了带触摸屏的液晶控制器SSD1926 与数字信号处理器PIC32MX460F512L 的接口电路, 并行接口时序的模块化实现及电阻式触摸屏的触摸功能。实践证明,这种方案具有完善的汉字显示和图形显示功能,占用引脚少,程序模块化强,编写方便,触摸功能可以取代应用系统中的键盘模块,具有良好的人机交互功能,该方案已经用于喷水织机中,效果很好。相信触摸液晶屏将会有很广阔的工业应用空间。

上一篇: dsPIC33FJ256MC710疑难问题及解决方法 下一篇: 微芯公司的音频处理库学习中(Audio & Speech Solutions for Communications Equ

分享 举报

发表评论 评论 (5 个评论)

  • 高尚勇 2009-09-17 18:02
    为什么我上传上去以后边边有问题啊?以后上传我的2007-2008年Microchip大奖的,高效利用DSP技术奖的相关设计内容,大家多多捧场哈,呵呵
  • SongZQ 2009-09-18 13:52
    木有图啊。。。
  • 高尚勇 2009-09-18 17:18
    yumuzi: 图片是要上传上来的
    可是我上传不上来啊,呵呵!我也很想上传
  • 醉八仙 2011-09-12 09:37
    我也在学习中。谢谢你的文章
涂鸦板