基于ARM和RTOS的嵌入式GUI应用平台设计

2011-12-29 00:00:00袁睿
考试周刊 2011年39期


  近几年嵌入式技术快速发展,对人机界面的要求越来越高,友好的图形人机界面为嵌入式系统的人机交互提供丰富的图形图像信息、直观的表达方式。嵌入式GUI(Graphical User Interface)作为人机界面的软件系统,具有简洁、美观、方便好用且更具人性化的特点,采用嵌入式GUI进行人机界面设计能够提高设备开发效率,节省维护成本,丰富人机交互信息,因而,已经被越来越多的领域所采用。uC/GUI是一款不仅可以实现快速开发,而且能够提供低功耗型GUI支持的软件。用户可以使用它方便地定制出自己的图形用户界面,完成各种应用程序的开发。
  一、系统总体方案构想
  我们所设计的应用系统是一个便携式高精度数据采集与液显人机交互系统,系统集高精度数据采集、快速数据处理、彩色液晶显示于一体。应用系统的硬件部分主要由两大块构成,即前端数据采集、处理电路和后端数据处理、液晶显示电路组成,这两部分是通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。
  我们所设计的这套系统,前后端硬件部分接口丰富,扩展性强,硬件一旦成型就相对固定。使用时,根据具体的应用场合不同,前端辅以不同类型的传感器,组成高精度的数据采集传输模块,前后端分别编写相应的应用软件完成高精度的数据采集、处理和人机交互显示。系统的架构在一定的应用领域具有通用性,可广泛用于工业过程控制、医疗仪器、智能传感器等各个领域。
  二、数据采集部分的软硬件设计
  1.硬件电路设计
  数据采集部分的核心器件MSC1210是德州仪器公司推出的系统级高精度ADC芯片系列,内置24位低功耗Σ—ΔADC前端信号调理电路——多路模拟开关、缓冲器、PGA(可编程增益放大)、电压参考,且集成了高性能8051处理器内核、Flash存储器和32位累加器、兼容SPI串口等多种片上外设。
  数据采集部分的电路结构原理图和PCB截图如图2所示。
  由电路结构原理图可知,整个数据采集电路是以片上系统——MSC1210Y5为中心的电路,由前面介绍可以看出这个IC芯片已经集成了模拟电路和控制逻辑,一方面内部逻辑功能比较强,另一方面包含了比较完整的测量通道。因此所需要的外围电路很少,是一种结构紧凑的实用电路。由图2可见线路中主PuGCSqnU5Vb36vNQ7z2b1A==要2块IC芯片为:MSC1210Y5和MAX3223,前者是一个片上系统,工作频率为1.8432MHz,并且包含32kB Flash存储器;后者提供片上系统与后端人机交互系统串口通信的RS-232接口。由于IC芯片的功耗很低,板上的DVdd电源(3.3V)由后端系统通过RS—232接口提供,除了RS—232接口的接线,就只需要接入J1、J2插座的信号(8个AIN线、REF及公共地)线,不再需要其它连接,使用非常方便。此外,在电路中还预留一部分接口线供以后系统功能扩展使用,包含第二串行口以及四根可配置为SPI接口、中断输入和I/O端口线等。
  2.软件设计
  在基于此电路的智能高精度测温模块应用中,MSC1210Y5完成了微弱信号的多路切换、信号缓冲、PGA编程放大、24位Δ—ΣA/D转换、数字滤波、数据处理、信号校准及串口通信等功能。MSC1210Y5包含2个串口,我们选取其中的一个串口用来与后端人机交互系统通信,负责接收后端发送的控制命令和控制参数以及发送前端采集、处理的数据。因此数据采集电路的程序主要任务为以下几点。
  (1)控制内部的ADC的测量过程,读取转换的数据。
  (2)与后端(S3C44B0X系统)通信,读取上位机的命令和有关的控制参数,同时向上位机传送转换的数据。
  图3表示了数据采集电路的程序控制流程。
  程序开始部分设置串口通信的基本参数,如设置波特率、数据格式、定时/计数器工作方式、时间常数等,同时使串口处于“接收”状态——等待上位机送过来的命令和数据,在框图中将依次读到的后端系统的2个字节的串码(暂存在R6,R7)的控制字传送到MSC1210Y5内部寄存器ADCON1和ADCON0,实现对于ADC的控制命令写入。其后还将ADCON3、ADCON2、ADMUX和PDCON这几个寄存器的内部写入相应的命令或参数值,通过这些过程就能够完成对于MSC1210Y5内的ADC的设置和启动。在这之后内部ADC的转换过程就不需要用程序干预了,控制程序的任务则是不断地去读取ADC转换结果,并且向上位机传送。在程序流程的后半部分是一个循环过程,在这个循环部分的开始是将MSC1210Y5串口转换为“发送”状态——向后端系统发送数据,由于它的ADC是24位精度,转换数据必须分为3个字节传送,依次向上位机发送——即首先将ADC转换结果寄存器1的数据通过SBUF发送,然后是ADC转换结果寄存器2的数据,最后是ADC转换结果寄存器3。当然这个过程还应包含:发送同步字符,CRC校验等过程,这些不是本文研究的重点,因此在此不加细述。
  三、嵌入式GUI应用系统概述
  前面已经介绍了整个应用系统的总体结构,已知整个系统在硬件上是由两大块组成,一个是上面介绍的前端的数据采集部分,另外的一个即是后端的基于S3C44B0X微处理器的数据处理和液晶显示部分,两部分是通过RS—232串行接口进行通信。
  后端的硬件部分主要是由三大块构成:以S3C44B0X为核心的系统板,集JTAG调试电路、系统电源、LCD接口电路的辅助板,液晶屏。
  为了整个系统的便携性,我们在设计的过程中充分考虑了系统的整体结构,首先是根据实际应用的需要进行了液晶屏型号的选取,我们选择的是5.7寸的256色,320×240像素的STN液晶屏,然后根据液晶屏的尺寸大小并结合最终应用系统的外形结构特点,绘制了以S3C44B0X为核心的系统板和集JTAG调试电路、系统电源、LCD接口电路的辅助板。这三大块的构成模型如图4所示。
  后端的软件部分也是由三个部分所组成:系统启动加载程序Boot loader程序,嵌入式实时多任务操作系统uC/OS-II,基于uC/OS-II的应用程序。根据系统应用的需要,其中基于uC/OS-II的应用程序主要包括串行口通信程序和基于uC/GUI的图形用户接口程序。图5为后端软件部分的启动和运行过程。
  本文研究设计的基于ARM微处理器和嵌入式实时操作系统的嵌入式GUI应用平台的方案,完成了系统硬件电路的设计与调试,实现了包括:系统启动加载程序Boot Loader、uC/OS-II操作系统的移植、串口通信程序、uC/GUI图形软件应用等系统软件平台的设计与应用。该嵌入式GUI应用平台既可以满足用户对应用系统实时性和快速处理的要求,又能够给用户提供生动、直观的图形人机交互界面,具有广泛的应用前景。
   注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”