Funpack第六期-基于MAX32660-EVSYS的OLED手表
利用MAX32660,配合1.54寸OLED彩色显示屏,Si7021温湿度传感器,DS3231高精度实时时钟,实现基础OLED手表功能
标签
嵌入式系统
MAX32660
不是茄子
更新2021-04-01
792

Funpack第六期-基于MAX32660-EVSYS的OLED手表

1. 概述

大家好,我是“不是茄子”,来自安徽合肥。

智能手表的DIY一直令我十分着迷,尤其是那些大牛做出炫酷的界面和功能时,更是让我羡慕不已。另一个让我非常着迷的就是手持示波器设备。值得庆幸的是,硬禾学堂在这两个方面均有相应的活动,让我有机会开拓眼界、提高自己。在此,感谢苏老师以及曾经帮助和启发我的人们。

在智能手表方面,之前用STM32F103,也用过ESP8266和ESP32。总体来讲,同样是驱动1.54寸的OLED彩色屏幕,均使用模拟4线SPI,即便是基于Ardunio开发,ESP8266也因其160MHz的主频而能够提供较为出色的刷新率。反观STM32F103(主频72MHz)下的刷新率就非常可怜了,基于硬件SPI会快一些。而本次Funpark第六期是来自MAXIM的MAX32660单片机,虽是不同的公司,但采用ARM Cortex M4内核,因此,在一些功能的开发上,可以说与STM32的开发差别不大。

为了加快开发速度,我使用了部分原有工程中的代码,在显示屏驱动方面同样是用模拟SPI来做。考虑到该MCU其主频96MHz,因此,刷新率可能也不会太高,因此,需要减少动画效果,并采用局刷方式,节省带宽。

 

2. 硬件设计

 

2.1. 总体设计

 

FjWxJeyanjPsItAabqLkK5STBP0W

 

2.2. 主控制器

FgsPG5m_ysdsZSYjU5yGXioN1Toy

本次采用的是MAX32660-EVSYS核心板,该板配备了一个CMSIS-DAP下载器,MCU有20个PIN,并提供了一个按键和一个LED可供使用。由于在进行串口例程验证时,收到的数据一直为乱码,在后期调试时便换成了J-Link OB进行开发,后来听群里的朋友讲可以通过重新插拔解决该问题。

FkFvLtfJqb8-utPvQm0BdVeghUtt

在管脚分配方面,目前的外设有I2C和SPI两种接口,为避免与SWD接口冲突,I2C选择P0_8、P0_9(I2C_0A),SPI选择P0_5、P0_6、P0_7,这样即使是使用模拟SPI,在以后也可以方便的改成硬件SPI。

2.3. 温湿度传感器

温湿度传感器方面,比较有趣的是,Si7021、SHT20这两个不同公司生产的温湿度传感器是可以无缝替代的,本项目中使用Si7021,为I2C接口。个人认为,I2C接口真的是为可穿戴设备而生的,仅需要两根数据线,就可以挂在多个设备,节省管脚,也节省PCB面积占用。

2.4. 实时时钟芯片

MAX32660的RTC给我的感觉是比较鸡肋,或者说标准库做的还有待完善,使用起来不是很方便。正好手头有一个DS3231高精度实时时钟模块,也是I2C接口。该时钟的突出优点是内部有温补晶振,时间准确度非常好。缺点就是个头大,我认为这也限制了DS3231的广泛应用。当前万物互联的背景下,通过在线同步,即使使用定时器做的时钟也能获得非常好的时间精度。

2.5. 1.54寸OLED

128×128点阵,主控为SSD1351。显示效果不错,不过,长时间用蓝色容易产生光衰。此外,由于UI是用比较原始的方式,通过图片、字体转C代码的形式实现的,效率比较低,因此,在使用中统一用白色来做。

3. 软件设计

右图为软件基本流程。首先是初始化各个IO以及模块的寄存器。

 

之后进入显示欢迎界面,这个部分由于MCU的模拟SPI数据率过低,因此,在切换页面的时候,关闭显示屏显示。

 

之后进入到外部模块数据获取和数据显示的while阶段。

FqPxc9rV7MpkQdTiS2hWHf5dr1Rp

 

4. 小结

很高兴能够参与这次Funpark活动,没参加之前总觉得,能用STM32就可以了啊,但是,通过这次活动,让我迈出了第一步。不仅,让我确信自己能够开发STM32之外基于ARM的MCU,同时也让我领悟到MAX32660这款MCU的强大、简洁、高集成度。虽然,Funpark第六期要结束了,但我想我与MAX32660相伴的日子不会结束。最后上一个阶段性成果照吧。

FrXn4cpI0OIpKw2wypdKgd6_oI4z

附件下载
Funpark 6th - OLED Watch - 20210331.zip
Keil项目工程
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号