基于STM32 的智能笔筒设计

2015-03-06 01:31王晓龙穆春阳张盼盼陈雪涛
电子科技 2015年8期
关键词:笔筒解码温湿度

王晓龙,穆春阳,张盼盼,陈雪涛

(北方民族大学 电气信息工程学院,宁夏 银川 750021)

笔筒是书案上的重要文具之一,具有较高实用价值与艺术价值,在某种意义上讲也是文化的一种载体[1]。传统笔筒多采用竹木制或瓷制,一旦制作完成就难以改变,且功能单一。目前,笔筒主要被用在办公场所,那种只具有观赏价值或只能放笔的笔筒不能满足工作需要。

针对上述情况,本文基于STM32F103VET6 单片机设计了智能笔筒。该设计充分利用此单片机的FSMC,SDIO 和SPI 等片上资源,结合MP3 解码技术、图像解码技术和蓝牙通信技术等多种技术实现笔筒的智能化。此笔筒不仅满足常用的功能,且还可在液晶屏上查看电子相册、听MP3 歌曲、玩小游戏。此外还可显示周围环境的温湿度和光线强度,具有节假日和预设提醒等功能。

1 智能笔筒硬件设计

1.1 硬件总体结构

系统硬件以STM32F103VET6 为核心,硬件框图如图1 所示。

传感器感知模块包括温湿度传感器、光敏传感器和人体感应传感器,用于获取当前环境的参数;声光模块包括7 色LED 灯和蜂鸣器,使笔筒更加绚丽并具有提示功能;以触摸屏为核心的人机交互模块,可实时显示当前温湿度、光强和时间,各应用程序的切换,系统参数设置以及系统异常状态的报警提示,各个模块的自检和测试的控制。此外,支持热插拔的设备有传感器感知模块、存储模块和蓝牙模块。

1.2 存储模块电路设计

该设计选择SD 卡作为存储模块。目前SD 卡已经成为消费设备中技术最成熟、应用最广泛的一种存储卡,具有低价格、大容量、高性能、安全、读写速度快等多种优势[2]。SD 卡支持的总线模式为SD 模式和SPI 模式[3],而STM32VET6 具有一个SDIO 接口,故设计中采用SD 模式,SD 卡连接在SDIO 接口上。为了使SD 卡支持热插拔,SD 卡的接口电路如图2 所示。

图1 系统硬件框图

图2 SD 卡接口图

此电路中,增加一条I/O 口控制线SD_IRQ,用于产生中断,默认状态SD_IRQ 为高电平,当插入SD 卡后,SD_IRQ 变为低电平,且只要卡槽中有SD 卡,此线就一直为低电平。通过添加这一条控制线,系统实现SD 卡的热插拔,并可检测SD 是否存在。

1.3 MP3 解码模块电路设计

VS1003B 作为本设计的MP3 解码芯片,是一个单片MP3/WAM/MIDI 音频解码器ADPCM 解码器,拥有一个高性能低功耗的DSP 处理器核VSDSP,5 kB 数据缓冲区,0.5 kB 的数据RAM,支持SPI 总线传输数据,有一个高品质可变采样率的ADC 和立体声DAC,还有一个耳机放大器和地线缓冲器[4]。根据VS1003B数据手册设计的MP3 解码电路,由STM32 主控模块的接口SPI2 控制,解码相应的音频文件并播放MP3 音乐,其中Speak 是耳机接口,MP3/LEFT 控线连接音频驱动电路。

1.4 传感器模块热插拔电路设计

热插拔(Hot-Plugging 或Hot Swap)即带电插拔,最早出现在服务器领域,是为了提高服务器易用性而提出的。热插拔根本目的:系统在允许不停机或很少需要操作人员参与的情况下拔出故障模块及插入备份模块,且不影响系统运行,以便维修故障或重新配置系统,实现故障恢复和系统重新配置,提供高可靠应用[5]。本设计中传感器感知模块包括温湿度传感器、人体感应传感器和光线强度传感器,在系统电路设计时,为了方便检测各个传感器是否存在和是否正常工作,方便检修更换,故引入了热插拔技术,支持热插拔的硬件电路如图3 所示。在电路中各个传感器接口电路均有一个中断控制线,默认状态下中断线为高电平,当插入相应的传感器模块后,此控制线由高电平变为低电平,引起中断,并配合相应的软件即可实现热插拔技术。

图3 传感器模块硬件电路图

1.5 蓝牙通信模块

TI 公司的CC2540 采用Bluetooth Specification V4.0 BLE 协议,支持AT 指令,工作频率为2.4 GHz,具有AES-128 硬体加密/解密功能。同时考虑到本设计的无线传输及其低功耗需求。因此选择CC2540为主控芯片的蓝牙模块作为本设计的蓝牙通信模块。该模块与STM32 主控模块的接口为USART2,默认波特率设置为115 200 bit·s-1,8 bit 数据位无校验位,无停止位,工作模式为从设备模式,也可通过人机交互模块设置其波特率等参数。笔筒主要通过蓝牙模块与智能设备进行交互,接收智能设备发送的数据包,进行数据包校验和解码,并对主机做出答复,接收的数据包格式为包ID+包长度+数据+校验位,校验方式为和校验。

2 系统软件设计

为使该设计成为“娱乐+实用”的电子产品,软件包括文件系统、图片和MP3 解码、蓝牙通信、图形界面设计、传感器驱动、AD 采样等。图4 是该设计的软件流程。按系统设计要求,系统开机首先对各个模块自检,如出现异常情况,跳转异常状态,并给用户做出相应的提示,否则将在正常开机同时初始化文件系统。接着读取触摸屏的校正参数,若无,则重新校正触摸屏并保存,最后进入主循环。

2.1 文件系统

FatFs 是一个通用的文件系统模块,具有清晰的层次结构,如图5 所示,用于在小的嵌入式系统上实现FAT 文件系统。FatFs 的编程遵守ANSI C 格式语法,故FatFs 独立于具体的硬件,可在不做修改或少量修改的情况下移植到常用的微控制器,如51、PIC、AVR、ARM等中。最重要的是该文件系统通过修改配置文件可实现任意裁剪,且支持中文长文件名;采用分离缓冲FAT结构的技术,可快速访问多个文件;支持多个驱动器和分区;支持FAT12、FAT16 和FAT32 文件系统。因此设计移植的文件系统为FatFs,支持读写和中文长文件名,存储介质为SD 卡,主要用于存放系统配置文件,系统图标和MP3、图片等应用文件,移植步骤见文献[6]。

图4 系统软件流程图

图5 FatFs 层次结构图

2.2 电子相册设计

电子相册与传统相册相比具有无法比拟的优越性,如图、文、声、像并茂的表现手法;随意修改编辑的功能;具有欣赏方便、选择性强、易于保存、生动活泼、成本低廉、内容易换等优点。因此,在智能笔筒中也添加了电子相册功能,可让用户在闲暇休息时观看图片,也可将自己喜爱的图片设为背景。系统中电子相册是触摸操作,向左或向右滑动彩屏实现翻页,具有自动播放等功能,程序流程图如图6 所示。首先从文件系统中读取图片文件,判断文件的格式,然后解码,最后把读到的文件送到相应的解码算法中,解码后的图片可自动调整尺寸显示在彩色液晶屏上。

图6 电子相册程序流程图

2.3 MP3 播放设计

在本设计中,STM32 微处理器是播放器的“大脑”,用来接受用户选择的播放控制,从文件系统中读取MP3 文件,将当前播放的歌曲信息显示在液晶屏上。然后向MP3 解码芯片VS1003B 发出指令,使其准确地处理音频信号,MP3 播放器的软件框图如图7 所示。此外MP3 播放器的控制界面含有上一曲、下一曲、暂停、播放等控件,其程序的设计流程和电子相册的类似。

图7 MP3 播放器的软件框图

2.4 系统热插拔程序设计

按系统设计要求,热插拔的程序在中断函数里执行,这里以传感器感知模块中的温湿度传感器SHT11程序为例。由硬件图可知,插入设备时,中断线由低电平变为高电平,拔出时反之,且均可产生中断信号,然后执行中断函数。SHT11 中断程序的流程如图8 所示,首先进入中断函数,并通过延时来消除电平抖动的影响,然后判断引脚的高低电平,最后做出处理。

图8 SHT11 中断程序的流程图

3 系统测试

利用STM32 单片机资源丰富、功能强大的优势[7],最终设计出一款基于STM32 单片机的智能笔筒,如图9 所示,并对系统进行了测试,测试结果如表1 和表2 所示。

图9 智能笔筒实物图

表1 热插拔验证数据

表2 稳定性测试数据

表1 为系统的热插拔的测试结果,SD 卡的失败率较高,驱动程序需要进一步改进。表2 为系统的稳定性进行测试结果,开机未出现异常,电子相册出现死机达4%,MP3 死机为2%,使用蓝牙控制游戏出现死机高达8%,但复位后系统继续可正常运行。经观察和分析原因可能出现在软件上,JPG 解码算法比较复杂,而蓝牙串口接收的数据包容易堵塞,需要进一步优化代码。

4 结束语

根据测试的结果,本文设计的智能笔筒达到了设计要求,稳定可靠,实现了实时显示温湿度和光强,播放MP3,电子相册显示等功能,并可通过蓝牙可传输文件,其它智能设备可通过蓝牙控制游戏的进行。此外,也可作为物联网的一个终端,获得数据并上传。

[1] 黄友华.笔筒述略[J].南方文物,2004(2):94-95.

[2] 刘文艳.SD 卡或将成为视频监控又一利刃[J].中国公共安全,2014(Z2):126-127.

[3] 何丹,李树国.SD 存储卡接口SPI 模式的FPGA 实现[J].微电子学,2014(2):206-209.

[4] 洪家平.基于VS1003B 解码器的MP3 播放器设计[J].单片机与嵌入式系统应用,2010(11):54-56.

[5] 宋克柱.CompactPCI 总线热插拔单板的电气设计[J].电子技术应用,2002(11):58-60.

[6] 李世奇,董浩斌,李荣生.基于FatFs 文件系统的SD 卡存储器设计[J].测控技术,2011,30(12):79-81.

[7] 王永虹,徐炜,郝立平.STM32 系列为ARM Cortex-M3 微控制器原理与实践[M].北京:北京航空航天大学出版社,2008.

猜你喜欢
笔筒解码温湿度
《解码万吨站》
自制笔筒
基于AT89C51的数字型蚕用温湿度计的设计
“鼠来宝”笔筒
解码eUCP2.0
基于DSP的多路温湿度监测系统
做一只怪魚笔筒
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于温湿度控制的天气预测装置