0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32F103系列单片机的无线解说器

电子设计 来源:网络整理 作者:工程师1 2018-05-25 10:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本实例是以STM32F103系列单片机作为核心处理器,利用VS1003芯片进行音频解码的一种无线解说器。通过对触摸显示屏的操作,实现手持部分和终端部分二者的无线通讯。系统采用大容量的SD卡作为存储部分,通过SPI将VS1003B与SD卡的数据与STM32进行交互通信。本解说器在播放时没有出现理论上的断续情况,音质较好,占用的软硬件资源也较少,为后续的扩展留下了很大空间。

无线讲解器通常用于工厂、博物馆、景区等室外空旷场所供参观介绍用,通过事先在场所安放无线发射模块,并控制发射模块的工作范围。听众到达景点后,手上的讲解器将自动接收各个地点的无线编码信号,经解码后即可将存储在SD卡中的语音播放,以便清晰地全程收听全部介绍内容。

1 系统总体构成

系统主要器件包括TFT触摸屏、STM32F103RCT6微控制器、SD卡、语音解码芯片VS1003、扬声器。STM32F103RCT6微控制器为系统终端的控制核心,通过它与手持式设备之间进行无线串口通讯,读取SD卡中的音频文件,控制VS1003解码读取的数据,实现声音的播放与控制,该系统主体结构如图1所示。

图1 系统设计框图

2 硬件电路控制

2.1 TFT触摸屏控制电路

单片机芯片STM32F103RCT6工作在8MHz时钟下,RTC工作在32.768kHz时钟下。单片机PA3、PA5、PA6、PA7、与SD卡SD_CS、SPI1_SCK、SPI1_MISO、SPI1_MOSI相连,采用SPI通讯。显示屏接口采用并行总线方式(数据总线D[7:0]、地址总线A[1:0]、片选/CS、读/RD、写/WR),直接与单片机引脚相连,如图2所示。

图2 TFT触摸屏与单片机连接控制原理图

2.2 VS1003音频解码控制电路

语音解码芯片VS1003可解码MP3(MPEG 1&2音频层III)(CBR+VBR+ABR)、WMA 4.0/4.1/7/8/9的所有配置文件(5.384kbit/s的)、WAV(PCM+IMAADPCM)、MIDI/SP—MIDI文件,对话筒输入或线路输入的音频信号进行IMA ADPCM编码,内含高性能片上立体声数模转换器,两声道间无相位差。

图3 音频解码电路原理

VS1003通过7根引脚(VS RST、VS DREQ、VS_MISO、VS_MOSI、VS_SCK、VS_XDCS、VS_XCS)与主控芯片相连,如图3所示。需要播放音频文件时,首先应复位VS1003(包括硬复位和软复位),让其回到原始状态,准备解码下一个音频文件。接着需配置VS1003相关寄存器,包括VS1003的模式寄存器(MODE)、时钟寄存器(CLOCKF)等。最后向VS1003里写入数据。VS1003会自动识别它所支持的音频格式并进行播放。

3 软件控制设计

3.1 手持设备控制流程

对手持式设备进行软件控制编程时,第一步使用需要对系统时钟进行初始化,需要对外部高速时钟使能,中断向量表配置,锁相环配置等过程。这样系统才能正确执行相关程序。接下来对串口进行初始化,本设计使用的串口一,需要对GPIOA进行初始化,并配置其复用功能,将TXD引脚设置成复用延迟输出,RXD配置成浮空输入。下面设置USAT的波特率、传输字长、有无奇偶校验、数据流控制、收发模式、中断优先级、中断服务函数等。

图4 手持设备控制程序流程图

手持设备上的TFT初始化以后,就可显示初始化界面,接着等待终端设备发送数据显示,手持设备在完成各种初始化工作后与终端设备进行握手连接,握手成功之后便能显示终端设备上发送过来的信息,握手失败后就不停尝试着与终端设备进行握手,直到握手成功。触摸屏点击后进行软件判断得到点击的坐标值,并将坐标值传送至终端设备。

3.2 终端设备程序流程图

终端设备开机后需要设置无线单片机的初始值,初始值为包括解说区域的坐标代码,因此在游览干道旁需每隔约25m设置一个终端,当游人在游览干道上行进,身上的手持设备就可随时和道路旁放置的无线终端相互交换信息,播放需要的解说词。

因此终端流程最开始对所需要的外设进行初始化,确认初始化无误以后进入正弦波测试,如有初始化不成功的程序将不能进入下一个流程。在正弦波测试完之后确定终端设备上的外设运行良好,将SD卡中的音频文件信息解码出来,并发送出去,此时进入串口监控状态,时刻监控串口信息,当收到播放指令时即在SD卡中寻找对应的信息,并从SD卡中将数据读取出来,发送至VS1003进行解码,在播放过程中如接收到新的串口数据,再进行判断,是停止还是暂停或者其他命令,然后执行相应的命令。

图5 终端设备程序流程图

4 结论

本文所设计的无线解说器以STM32F103系列单片机作为核心处理器,处理速度快且性价比高。利用VS1003解码芯片控制音频解码文件,选用合适的通讯方式,严格把控时序,确保播放声音的清晰与真实。通过对触摸显示屏的操作,实现手持部分和终端部分二者的无线通讯,确保游人在指定地点接收到相应解说词,本系统经过实际使用,通信效果良好,播放的解说词流畅,音质较好。在后期设备升级中,可考虑采用高速DSP作为中央控制芯片,即可无需解码芯片,且更好地将系统嵌入到DSP为核心的产品中,从而更加人性化。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45341

    浏览量

    663714
  • STM32
    +关注

    关注

    2305

    文章

    11122

    浏览量

    371194
  • VS1003
    +关注

    关注

    0

    文章

    28

    浏览量

    20623
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MH32F103A系列单片机的功能特性

    MH32F103A是一款硬件完美兼容ST32的国产32位单片机,使用高性能的ARM Cortex-M3 内核,最高工作频率216 MHz。内置最大512K Flash,96K Sram存储。MH32
    的头像 发表于 09-12 10:58 848次阅读
    MH32<b class='flag-5'>F103</b>A<b class='flag-5'>系列</b><b class='flag-5'>单片机</b>的功能特性

    32位单片机常见型号有哪些?

    32位单片机在工业控制、物联网、消费电子等领域应用广泛,常见型号涵盖国际与国内品牌,以下从厂商、型号、特点、应用场景四个维度展开介绍: 一、国际品牌主流型号 STM32系列(意法半导体) 基于ARM
    的头像 发表于 09-08 09:54 1384次阅读

    单片机最小系统工作原理及搭建

    系列)、STM32F103(ARM Cortex-M)、ATmega328P(Arduino)等。 封装类型 :DIP(直插式,适合面包板)、SMD(贴片式,节省空间)。 电源电路 电压要求 :5V
    的头像 发表于 08-11 10:55 2518次阅读
    <b class='flag-5'>单片机</b>最小系统工作原理及搭建

    STM32F103c8上做DLQR最优控制算法的C编程资料

    这是我近期做的一个项目--基于STM32F103c8的DLQR控制算法的C编程,涉及DLQR最优控制算法、嵌入式STM32F103编程、CMSIS-DSP库使用。    附有完整的程序。
    发表于 07-23 15:30 0次下载

    MH32F103A系列单片机产品概述

    MH32F103A系列单片机软硬件兼容STM32F103A系列,可以快速替换,同时强化许多功能。性能和价格都非常的有优势。
    的头像 发表于 07-21 15:45 1092次阅读
    MH32<b class='flag-5'>F103</b>A<b class='flag-5'>系列</b><b class='flag-5'>单片机</b>产品概述

    STM32L433单片机如何在调试的时候关闭看门狗?

    背景:在STM32L433单片机上使能了看门狗,但是不能像STM32F103那样配置调试时关闭看门狗 STM32F103配置如何: __HAL_DBGMCU_FREEZE_IWDG()
    发表于 07-11 07:15

    STM32F103驱动LD3320语音识别模块

    本文介绍了如何使用STM32F103微控制驱动LD3320语音识别模块,该模块具备非特定人语音识别功能,支持动态编辑关键词,且无需额外Flash和RAM。通过SPI接口连接并配置代码,实现在不同指令下执行相应操作,如流水灯、闪烁等。实验结果显示,
    的头像 发表于 06-28 14:16 1280次阅读
    <b class='flag-5'>STM32F103</b>驱动LD3320语音识别模块

    KF32A136系列单片机产品介绍

    F32A136 系列单片机是基于 KF32 内核架构开发的单片机
    的头像 发表于 06-27 11:42 1687次阅读
    KF32A136<b class='flag-5'>系列</b><b class='flag-5'>单片机</b>产品介绍

    STM32F10xxx单片机编程手册

    电子发烧友网站提供《STM32F10xxx单片机编程手册.pdf》资料免费下载
    发表于 04-14 14:56 17次下载

    STM32F103x8 STM32F103xB单片机数据手册

    STM32F103x8STM32F103xB单片机数据手册
    发表于 04-14 14:55 6次下载

    STM32F103×8/STM32F103×B MCU手册

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制的订购信息和机械器件特性。有关整个STMicroelectronics
    发表于 03-18 16:37 0次下载

    MH32F103A单片机 低价替代STM32,硬件完美兼容 主频可达216M

    MH32F103A是一款基于高性能32位ARM Cortex-M3内核的单片机,工作频率最高可达216 MHz,相比STM32F103系列的72 MHz有了显著提升。内置最大512KB
    的头像 发表于 02-14 16:14 900次阅读
    MH32<b class='flag-5'>F103</b>A<b class='flag-5'>单片机</b> 低价替代<b class='flag-5'>STM32</b>,硬件完美兼容 主频可达216M

    零死角玩转STM32F103—指南者

    电子发烧友网站提供《零死角玩转STM32F103—指南者.pdf》资料免费下载
    发表于 01-20 14:18 49次下载

    STM32单片机+MPU6050设计一个电子水平仪

    本项目基于STM32F103C8T6单片机设计一款电子水平仪。STM32F103C8T6作为一种性能强大的微控制,具有较高的计算能力和丰富的外设接口,能够满足项目对实时数据处理和显示
    的头像 发表于 01-09 11:14 2632次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>+MPU6050设计一个电子水平仪

    MH32F103A单片机介绍 STM32替代 增强多种功能,替换简单,性能优异

    。MH32F103A系列单片机内置了最大512KB Flash存储和96KB SRAM,有LQFP48/64/100多种封装。 MH32F103
    的头像 发表于 12-17 15:53 1186次阅读
    MH32<b class='flag-5'>F103</b>A<b class='flag-5'>单片机</b>介绍 <b class='flag-5'>STM32</b>替代 增强多种功能,替换简单,性能优异