微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于Cortex-M3的TFT触摸屏在环境监控系统中的应用

基于Cortex-M3的TFT触摸屏在环境监控系统中的应用

时间:09-28 来源:互联网 点击:

0 引言
触摸屏是一种新型的电子输入设备,是目前最简单、方便、自然的一种人机交互方式,它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。将ARM Cortex-M3内核和TFT触摸屏结合在一起,以环境监控系统为应用,对ARM公司的Cortex-M3内核进行了分析,并研究了Cortex-M3内核驱动TFT液晶屏幕的可行性。

1 系统工作原理
无线环境监控系统总体的设计框图如图1所示。以基于第二代Cortex-M3内核的LPC1758为核心,以TFT触摸屏为显示和控制单元,以2.4 GHz无线模块为通信单元,合理移植μCOS-II系统,对环境参数进行监测和控制。

2 硬件电路设计与实现
2.1 电源方案

硬件电路降压稳压电路采用降压稳压芯片SPXlll7-3.3 V。电路在启动过程中会产生较大的冲击电流,会对其他电路造成电磁干扰,系统在电源中增加容值较大的电解电容以满足系统中各项要求。降压稳压电路如图2所示。

硬件电路升压稳压电路是为TFT液晶屏提供直流12 V电压驱动而设计的。该电路选用PT4102芯片,PT4102是一款由单节锂电池(持续电流)来驱动至多个串联LED的升压转换器,采用固定频率电流模式来调节LED电流,并通过一个外部电流监测电阻来测量此电流,95 mV的低反馈电压可降低功耗和提高效率,PT4102还含有电流限制以避免在输出过载时对器件造成损害。升压稳压电路如图3所示。
2.2 MCU方案
基于CorteX-M3的MCU选用的是荷兰Philips公司LPCI000系列的LPC1758。运行频率高达100 MHz,支持8个区域的存储器保护单元(MPU),高达512 KB片内FLASH程序存储器。增强型的FLASH存储器加速器使能高速的100 MHz操作,而无需等待状态(with zero wait states)。互连的多层AHB矩阵为每个AHB主机提供独立的总线。这种互连所提供的通信不会有仲裁延时分开的APB总线允许高吞吐量,几乎不会在CPU和DMA之间出现中止。
系统采用12 MHz的无源晶振,为了保证晶振的谐振频率和输出幅度,在晶振的两个引脚上加入了两个22 pF的负载电容。在不影响电路正常工作的情况下,为了简化电路设计,没有将数字电路和模拟电路区分开来,VDDA与VDD直接相连、GNDA与GND直接相连。但是为了追求更优秀的模拟性能(ADC和模拟比较器模块),可以另外安排一路3.3 V电源,连接到VDDA和GNDA,使其与VDD和GND分开。LPC1758部分电路图如图4所示。

系统采用如图5所示的RC复位电路。复位电路中的二极管是为了解决电源毛刺和电源缓慢下降等问题,而104电容可避免高频谐波对电路的干扰。
2.3 TFT触摸屏方案
TFT液晶显示方案包括触摸控制和液晶显示两个部分。为了保证显示的速度要求和系统的稳定性,触摸屏控制器选用的是TI公司的TSC20 46,该控制器为SPI接口,具有触摸中断功能,性价比很高。而液晶屏选用的是SPFD5408A,该屏幕为3.5英寸,具有高速8,9,16,18位并行接口。可以显示16位和18位的RGB色彩。
触摸屏控制电路主要是TSC2046的外围电路。MISO,MOSI是TSC2046与MCU之间的信号线。SCK是时钟线。X+/-,Y+/-是触摸屏的信号,INT中触摸中断信号。VCC和VCCl是电路的供电信号。在输入引脚为了保证电源的波形稳定性,避免高频谐波对TSC2046的干扰,加入了1个0.1μF的滤波电容。触摸屏控制电路如图6所示。

TFT液晶显示电路包括模式选择,16位接口,触摸屏接口三个部分。SPFD5408A接口模式有7种模式,本设计中用的是16位并行接口模式。X+/-,Y+/-是四线电阻式触摸屏的输出线。

3 软件设计与实现
为了提高系统的性能和满足多任务处理的要求,系统中合理地移植了μCOS-Ⅱ操作系统。
μCOS-Ⅱ可以简单地看作是一个多任务的调度器,在这个任务调度器之上完善并添加了很多任务操作系统相关的一些系统服务。μCOS-Ⅱ 90%的代码用C语言编写,具有可移植性。移植工作的绝大部分都集中在多任务切换的实现上,因为这部分代码主要是用来保存和恢复处理器现场(即相关寄存器),因此不能用C语言,只能使用特定的处理器汇编语言完成。为了使适时内核μCOS-Ⅱ能在Cortex-M3处理器上运行,同时为了保证代码不依赖于编译器和良好的扩展性。采用了不依赖于编译器的数据类型,使用软中断SWI作为底层接口。移植μCOS-Ⅱ到Cortex-M3内核需要3个文件:C语言头文件(OS_CPU.H),C程序源文件(OS_CPU_C.C),汇编程序源文件(OS_CPU_A.ASM)。除此之外,还有一个文件定义的汇编宏也是移植的重点,它是μCOS-Ⅱ为Cortex-M3通用的中断服务程序的汇编和C函数的接口代码。

OS_CPU.H中包含两部分的代码,数据类型定义代码和与处理器相关的代码。其中数据类型重定义

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top