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为核心的产品中,从而更加人性化。

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

    关注

    5999

    文章

    43964

    浏览量

    620711
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348690
  • VS1003
    +关注

    关注

    0

    文章

    28

    浏览量

    19933
收藏 人收藏

    评论

    相关推荐

    AVR单片机外接16M晶振和STM32F103外接8MHZ运行速度哪一个更快?

    ,就是在执行串口接收中断程序时,检测不到按键,发生丢失按键动作现象。 按理说STM32F103的系统时钟是72M,而AVR单片机晶振是16M,STM运行速度要快很多,不应该出现丢失按键动作的现象啊
    发表于 04-23 07:43

    求助,关于STM32 USB转串口与其他单片机通讯问题求解

    想实现stm32f103在usb转串口后,跟其他的单片机 通讯,可以实现吗? 如果用stm32f407也USB转串口,跟stm32f103的usb转串口互相通讯,可以实现吗?
    发表于 04-23 07:10

    STM32F103RCT6下载程序后无法启动的原因?

    我的STM32F103的程序是HEX文件, 是2012年的时候编译,并开始批量生产的。 最近产线上下来的单片机,都无法启动。 新买了多批单片机,都无法正常启动。 一定要用旧单片机,才能
    发表于 03-19 07:04

    STM32F103如何使用BOOT下载程序?

    STM32F103如何使用BOOT下载程序
    发表于 03-15 07:21

    ARM系列STM32F103芯片的解密方法

    本文介绍ARM系列STM32F103芯片的解密方法,其内核是Cortex-M3,内存从16K-512K都有。
    发表于 02-28 11:20 363次阅读

    stm32f103 flash模拟eeprom

    STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其
    的头像 发表于 01-09 11:21 619次阅读

    stm32F103单片机同时使用串口1和定时中断会产生冲突吗?

    stm32F103单片机同时使用串口1和定时中断会产生冲突吗?为什么我的程序进入不了定时的中断服务函数,但串口能正产使用。
    发表于 11-09 08:21

    STM32F103x4/STM32F103x6单片机数据手册

    电子发烧友网站提供《STM32F103x4/STM32F103x6单片机数据手册.pdf》资料免费下载
    发表于 09-21 09:40 4次下载
    <b class='flag-5'>STM32F103</b>x4/<b class='flag-5'>STM32F103</b>x6<b class='flag-5'>单片机</b>数据手册

    STM32F103xC/STM32F103xD/STM32F103xE单片机数据手册

    电子发烧友网站提供《STM32F103xC/STM32F103xD/STM32F103xE单片机数据手册.pdf》资料免费下载
    发表于 09-21 09:38 7次下载
    <b class='flag-5'>STM32F103</b>xC/<b class='flag-5'>STM32F103</b>xD/<b class='flag-5'>STM32F103</b>xE<b class='flag-5'>单片机</b>数据手册

    stm32f103可以使用nandflash吗?

    stm32f103可以使用nandflash吗
    发表于 09-21 06:25

    ARM系列STM32F103芯片的解密方法

    破解STM32F103芯片的方法
    的头像 发表于 09-19 09:03 2170次阅读
    ARM<b class='flag-5'>系列</b><b class='flag-5'>STM32F103</b>芯片的解密方法

    基于STM32F103单片机设计

    情况,基于STM32F103单片机设计一个数字电压表仿真设计。该设计应满足的功能要求为: 1、以STM32单片机为控制核心设计数字电压表;  2、可以测量0~3.3V输入电压值;  3
    的头像 发表于 09-10 09:53 1006次阅读
    基于<b class='flag-5'>STM32F103</b><b class='flag-5'>单片机</b>设计

    基于STM32单片机的烟雾测量系统设计

    本设计选用MQ-2烟雾传感器、温度传感器以及STM32F103单片机作为核心器件并与其他电子技术相结合,通过STM32F103单片机控制传感器对检测地点的烟雾进行实时检测,并把检测结果
    的头像 发表于 09-04 09:53 1454次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的烟雾测量系统设计

    ch32v103stm32f103的区别

    ch32v103stm32f103的区别  Ch32v103STM32f103是两种不同的芯片,虽然它们都是基于ARM Cortex-M3内核的32位微控制器,但它们在硬件配置、功
    的头像 发表于 08-22 15:49 1358次阅读

    用于stm32f103 A/D信号采集的处理

    用于stm32f103 A/D信号采集的处理
    发表于 08-01 18:13 3次下载