基于STM32的高性能低功耗人机界面系统设计

本文选用了意法半导体公司基于ARM最新Cortex—M3内核的STM32F103RB作为主控芯片,通过选择合适的液晶模块,构建了一个高性能低功耗的中文人机界面系统。

1、系统的工作原理

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

2、系统硬件设计

2.1、供电部分电路

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

基于STM32的高性能低功耗人机界面系统设计

图1 系统供电部分原理图

2.2、液晶显示部分电路设计

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

2.2.1、STM32F系列ARM微控制器的特点

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

2.2.2、TFT液晶显示模块的特点

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

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

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

基于STM32的高性能低功耗人机界面系统设计

图2 系统液晶接口原理图

2.3、SPI接口Flash存储叠的特点

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

基于STM32的高性能低功耗人机界面系统设计

图3 SPIFlash接口部分原理图

3、系统软件设计

用户喜欢...

STM32H750B-DK开发套件产品信息和数据手册

STMicroelectronics STM32H750B-DK Discovery Kit是STM32H750XB MCU的完整演示和开发平台。这些MCU基于STMicroelectronics的ArmCortex-M7和-M4双核微控制器。在移植到最终产品之前,STM32H750B-DK套件用作用户应用程序开发...


如何基于 Arduino 设计创客产品

市面上约有数百种资源专门面向创客,这些人希望学习如何构建设备,以此感知并响应周围环境。事实证明,对于非工程师和工程师而言,这是一种创造性的亚文化倡导每个人都参与学习、相互...


利用市场上基于FirstFarm®®M33的MCU - 第2部分:生命周期安全管理

对于基于微控制器的系统的开发人员而言,物联网(IoT),工业自动化或个人电子等快速增长应用的广泛设计要求往往会迫使系统功能,性能或功耗之间达成妥协。面对不断增长的安全威胁,在...


第一款基于Arm®Cortex®-M33的MCU - 第1部分:管理功耗和性能

开发人员不断发现自己正在努力平衡在各种功能和应用程序中以较低功耗实现更高应用程序性能的经常冲突的需求。这些应用包括物联网(IoT),工业自动化,医疗系统和消费设备。在这些应用...


面向基于微控制器的快速原型设计与开发的 CircuitPython 基础知识

虽然 Python 语言让编程变得更加简单,但它最初的设计目的是在拥有足够的处理、内存和外设资源的个人电脑及其他机器上运行。而对于面临较严格的资源和接口限制的嵌入式系统,针对微控制...


使用FPGA通过机器学习构建高性能嵌入式视觉应用

本文将介绍ML处理的要求以及FPGA解决许多性能问题的原因。然后,它将介绍一个合适的基于FPGA的ML平台以及如何使用它。...


stm32 PID调速控制直流无刷电机+ 源码

笔记 具备知识,stm32基础,了解无刷直流电机原理,pid控制原理 工具: 无刷直流电机:12v电源驱动,50HZ,占空比为5%的pwm波2秒以上解锁电调,再将占空比改为6%,则电机正常运行,改变占空比...


STM32无刷电机驱动选型

STM32无刷电机驱动选型 - 案例:基于STM32的无刷电机的双闭环控制,硬件电路主要包括三部分:电源稳压、STM32控制部分、驱动部分。...


MCU提供基于硬件的物联网安全性

伦敦 - 安全突然成为一个热门话题。考虑到所有关于连接设备和实现物联网(IoT)设备的讨论,以及对网络攻击的潜在威胁的更多认识,这并不令人惊讶。认识到这一点,意法半导体和恩智浦半...


为物联网设计添加高性能语音关键字定位:第2部分 - 使用MCU

编者注:使用新兴的高效算法类,任何开发人员现在都可以在低功耗,资源受限的系统上部署复杂的关键字定位功能。这个由两部分组成的系列文章的第一部分展示了如何使用FPGA实现这一目标...


为物联网设计添加高性能语音关键字检测:第 1 部分 - 使用 FPGA

随着Alexa、Hey Siri或Hi Google等多个产品成功响应关键词,关键字检测 (KWS) 已成为越来越多嵌入式应用的一项重要要求。虽然典型的先进 KWS 解决方案依赖于复杂的卷积神经网络 (CNN) 和其他深度神...


如何利用 GCP 和 STMicroelectronics 的 STM32F779 微控制器来设置和执行图像识别

本文将探讨嵌入式开发人员如何利用 GCP 和STMicroelectronics的STM32F779微控制器来设置和执行图像识别。 机器视觉简介 识别图像中的对象并加以标识,这一功能见诸于各类广泛应用中,包括自主驾...


使用 FPGA 构建具有机器学习能力的高性能嵌入式视觉应用

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取更多有用的信息。专用器件有望在嵌入式视觉应用中实现高性能机器学习 (ML...


基于MSP430的电机功率因数的测量系统

计算机技术,尤其是单片机技术和大规模集成电路及各种新型传感元件的迅速发展和日臻成熟,微机技术在电力系统中的普及应用,使电力系统的测量和监控技术得到了快速的发展。在工业生...


一种基于总线的智能型执行器系统设计

在自动控制系统中,执行器同控制器或控制系统相连,共同实现对工业过程的控制。现场总线是过程控制技术、仪表工业技术和计算机网络技术三大技术领域相结合的产物。WorldFIP现场总线既...


stm32之时钟控制

• 时钟系统与总线矩阵 • SysTick系统定时器 • RTC实时时钟 • 看门狗定时器 • 通用定时器 一、时钟系统与总线矩阵 stm32F4的时钟树如下图所示: 在STM32中,有五个时钟源,为HSI、HSE、LSI、...