基于STM32的智能笔筒设计
s是一个通用的文件系统模块,具有清晰的层次结构,如图5所示,用于在小的嵌入式系统上实现FAT文件系统。s的编程遵守ANSI C格式语法,故s独立于具体的硬件,可在不做修改或少量修改的情况下移植到常用的微控制器,如51、PIC、AVR、ARM等中。最重要的是该文件系统通过修改配置文件可实现任意裁剪,且支持中文长文件名;采用分离缓冲FAT结构的技术,可快速访问多个文件;支持多个驱动器和分区;支持FAT12、FAT16和FAT32文件系统。因此设计移植的文件系统为s,支持读写和中文长文件名,存储介质为SD卡,主要用于存放系统配置文件,系统图标和MP3、图片等应用文件,移植步骤见文献。
![e.jpg](../img/eep/emb/emb-53572bl3wj5eghrq.jpg)
2.2 电子相册设计
电子相册与传统相册相比具有无法比拟的优越性,如图、文、声、像并茂的表现手法;随意修改编辑的功能;具有欣赏方便、选择性强、易于保存、生动活泼、成本低廉、内容易换等优点。因此,在智能笔筒中也添加了电子相册功能,可让用户在闲暇休息时观看图片,也可将自己喜爱的图片设为背景。系统中电子相册是触摸操作,向左或向右滑动彩屏实现翻页,具有自动播放等功能,程序流程图如图6所示。首先从文件系统中读取图片文件,判断文件的格式,然后解码,最后把读到的文件送到相应的解码算法中,解码后的图片可自动调整尺寸显示在彩色液晶屏上。
![f.jpg](../img/eep/emb/emb-5357511szrfe1x0q.jpg)
2.3 MP3播放设计
在本设计中,STM32微处理器是播放器的“大脑”,用来接受用户选择的播放控制,从文件系统中读取MP3文件,将当前播放的歌曲信息显示在液晶屏上。然后向MP3解码芯片VS1003B发出指令,使其准确地处理音频信号,MP3播放器的软件框图如图7所示。此外MP3播放器的控制界面含有上一曲、下一曲、暂停、播放等控件,其程序的设计流程和电子相册的类似。
![g.jpg](../img/eep/emb/emb-53578blopiqa41su.jpg)
2.4 系统热插拔程序设计
按系统设计要求,热插拔的程序在中断函数里执行,这里以传感器感知模块中的温湿度传感器SHT11程序为例。由硬件图可知,插入设备时,中断线由低电平变为高电平,拔出时反之,且均可产生中断信号,然后执行中断函数。SHT11中断程序的流程如图8所示,首先进入中断函数,并通过延时来消除电平抖动的影响,然后判断引脚的高低电平,最后做出处理。
![h.jpg](../img/eep/emb/emb-53579nztkzgpz1a0.jpg)
3 系统测试
利用STM32单片机资源丰富、功能强大的优势,最终设计出一款基于STM32单片机的智能笔筒,如图9所示,并对系统进行了测试,测试结果如表1和表2所示。
![i.jpg](../img/eep/emb/emb-535800hkyfvogne1.jpg)
![j.jpg](../img/eep/emb/emb-53581urlt2wdbzpz.jpg)
表1为系统的热插拔的测试结果,SD卡的失败率较高,驱动程序需要进一步改进。表2为系统的稳定性进行测试结果,开机未出现异常,电子相册出现死机达4%,MP3死机为2%,使用蓝牙控制游戏出现死机高达8%,但复位后系统继续可正常运行。经观察和分析原因可能出现在软件上,JPG解码算法比较复杂,而蓝牙串口接收的数据包容易堵塞,需要进一步优化代码。
4 结束语
根据测试的结果,本文设计的智能笔筒达到了设计要求,稳定可靠,实现了实时显示温湿度和光强,播放MP3,电子相册显示等功能,并可通过蓝牙可传输文件,其它智能设备可通过蓝牙控制游戏的进行。此外,也可作为物联网的一个终端,获得数据并上传。
- STM32单片机中文官网
- STM32单片机官方开发工具
- STM32单片机参考设计
- STM32学习笔记:在IAR中建立FWlib 3.0项目(08-13)
- 基于STM32单片机的火控系统信号采集测试(11-14)
- 基于LabVIEW的STM32调试平台设计(11-17)
- 基于STM32的LF RFID识别系统设计(11-25)
- STM32中断与嵌套NVIC快速入门(01-25)
- 基于TLC5947的旋转LED屏显示控制器设计(01-25)