新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STM32处理器的便携式人机界面系统设计

STM32处理器的便携式人机界面系统设计

作者:时间:2014-07-18来源:网络收藏

  摘要:设计应用于全站仪测量计算的基于处理器的便携式人机界面系统。采用了处理器IO口模拟总线时序和外挂接口Flash存储字库的方法,将字库存储在外部的接口Flash中,在使用时再从字库中查询调出,有效地减少了内部存储器的消耗。完成了基于最新Cortex—M3处理器汉字显示系统的硬件电路设计和软件程序设计。实现了可以自定义汉字字库的人机界面系统。

本文引用地址:http://www.eepw.com.cn/article/255770.htm

  在全站仪应用于飞机的测量过程中,常会涉及到计算,以满足不同的应用环境与测量要求,以往的方式是测量后期编辑软件在计算机上实现,现代测量迫切需要一种便携式手持计算系统,来完成实时的测量要求,而这一系统中中文人机界面成为一种事实上的行业标准。实现显示汉字的TFT液晶和可输入数字的小键盘已成为智能设备必不可少的组成部分。同时作为便携式设备基本要求的低功耗特性也贯穿于中文人机界面的设计始终。这种低功耗中文人机交互界面需要在选取处理器和具体元器件上有特殊考虑。微功耗、高性能应作为选择相关器件的首要要求。本文选用了意法半导体公司基于最新Cortex—M3内核的F103RB作为主控芯片,通过选择合适的液晶模块,构建了一个高性能低功耗的中文人机界面系统。

  1 系统的工作原理

  本系统以F103RBT6为核心,采用晶彩光电的AM240320TFT液晶屏作为显示器,完成内容的显示,由于STM32F103RBT6内部Flash为128 K,如果用来储存汉字字库,对芯片资源是一种极大的浪费,所以本文中采用微控制器外挂接口Flash的设计思路,将不用重复改变的中文字库存放在外部Flash芯片里面,需要时再通过SPI口调入处理器。由于STM32F103RBT6不带有FSMC,所以采用软件模拟总线的方法,完成对液晶模块的驱动。

  2 系统硬件设计

  2.1 供电部分电路

  由于整个系统采用3.3 V供电,所以必须外部稳压电路将电压稳定到3.3 V,本设计中采用三端稳压芯片LM1117-3.3,将外部电池电压稳定为3.3 V位系统提供电源,为处理器、液晶显示器、SPI Flash供电,采用二极管IN4007串接在电源正极,为系统提供电源反接保护。供电部分原理图如图1所示。

  

 

  2.2 液晶显示部分电路设计

  液晶显示部分主要由微控制器驱动液晶显示模块完成人机界面状态的显示,通过发送命令字,完成液晶模块的初始化以及汉字的显示。

  2.2.1 STM32F系列微控制器的特点

  STM32处理器采用ARM公司最新的V7体系架构的内核Cortex—M3,它的速度比ARM7快三分之一,功耗低四分之三,同时集成了分支预测,单周期乘法,硬件除法等功能,大大地提高了处理器的数据处理能力,同时采用最新的Thumb-2指令集,有效地降低了代码的密度,提高了程序的执行效率,通过对功耗和性能的分析,本文中采用的处理器为STM32F103RBT6,该处理器工作频率为72 MHz,内置高速存储器(高达128 K字节的闪存和20 K字节的SRAM),丰富的增强I/O端口和联接到2条APB总线的外设。供电电压2.0~3.6V,一系列的省电模式保证低功耗应用的要求,达到了性能和功耗的平衡。

  2.2.2 TFT液晶显示模块的特点

  TFT液晶显示屏是薄膜晶体管型液晶显示屏。TFT液晶为每个像素都设有一个半导体开关,每个像素都可以通过点脉冲直接控制,因而每个节点都相对独立,并可以连续控制。不仅提高了显示屏的反应速度,同时可以精确控制显示色阶,所以TFT液晶的色彩更真。

  由于大多数带有LCD控制器的ARM处理器都没有内部的程序存储器和数据存储器,而一般的Cortex—M3内核微控制器都不带有专门的LCD控制器,对于不带有LCD控制器的系统,一般长常用Intel 8080接口或者Motorola的6800接口,本系统中采用STM32高速的IO口模拟8080接口时序。综上所述,选用的TFT液晶必须满足两个条件,第一,带有独立的显存。第二,带有8080接口。设计中采用了台湾采用晶彩光电的AM2403 20TFT液晶屏,它的主控制芯片为ILI9320,自带总大小为172 820(24Ox320x18/8)的显存,模块的16位数据线与显寸的对应关系为565方式,它支持包括8080接口在内多种控制输入信号。

  STM32采用外部8 MHz的晶振作为输入时钟,内部锁相环将时钟倍频到72MHz作为系统时钟,采用GPIO口模拟8080时序并行驱动2.8寸TFT屏,显示部分的处理器和液晶显示器的硬件电路接口电路如图2所示。

  

 

  2.3 SPI接口Flash存储叠的特点

  由于在本系统中整个的汉字字库需要存储在外部Flash中,所以需要选择一种Flash存储芯片,Flash芯片选择需要满足以下要求。第一,尽量占用少的IO口,因为液晶显示器已经采用了并行接口,如果继续选用并行接口的Flash,对芯片的IO消耗较大,这样势必要选用IO更多的芯片,对于便携式设备来说,这是不合理的,所以本系统的设计过程中选用的Flash为SST公司的SST25VF080B,它采用SPI接口,SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,本文中的SPI Flash采用美国SST公司的SST25VF080B芯片,容量为8 M位,它工作电压范围为2.7~3.6 V,工作在SPI模式0或者模式3,最高工作在50MHz,最小擦除单位为4K字节的扇区,可擦写10万次,数据保持100年以上。而STM32F103RBT6带有高速的硬件SPI接口,可以很方便与SST25VF080B连接通信。所以我们采用SPI Flash来完成对汉字字库的存储,字库存储部分的硬件电路接口图如图3所示。

  

晶振相关文章:晶振原理
锁相环相关文章:锁相环原理

上一页 1 2 下一页

关键词: ARM STM32 SPI

评论


相关推荐

技术专区

关闭