无线讲解器通常用于工厂、博物馆、景区等室外空旷场所供参观介绍用,通过事先在场所安放无线发射模块,并控制发射模块的工作范围。听众到达景点后,手上的讲解器将自动接收各个地点的无线编码信号,经解码后即可将存储在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.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编码,内含高性能片上立体声数模转换器,两声道间无相位差。
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的波特率、传输字长、有无奇偶校验、数据流控制、收发模式、中断优先级、中断服务函数等。
手持设备上的TFT初始化以后,就可显示初始化界面,接着等待终端设备发送数据显示,手持设备在完成各种初始化工作后与终端设备进行握手连接,握手成功之后便能显示终端设备上发送过来的信息,握手失败后就不停尝试着与终端设备进行握手,直到握手成功。触摸屏点击后进行软件判断得到点击的坐标值,并将坐标值传送至终端设备。
3.2 终端设备程序流程图
终端设备开机后需要设置无线单片机的初始值,初始值为包括解说区域的坐标代码,因此在游览干道旁需每隔约25m设置一个终端,当游人在游览干道上行进,身上的手持设备就可随时和道路旁放置的无线终端相互交换信息,播放需要的解说词。
因此终端流程最开始对所需要的外设进行初始化,确认初始化无误以后进入正弦波测试,如有初始化不成功的程序将不能进入下一个流程。在正弦波测试完之后确定终端设备上的外设运行良好,将SD卡中的音频文件信息解码出来,并发送出去,此时进入串口监控状态,时刻监控串口信息,当收到播放指令时即在SD卡中寻找对应的信息,并从SD卡中将数据读取出来,发送至VS1003进行解码,在播放过程中如接收到新的串口数据,再进行判断,是停止还是暂停或者其他命令,然后执行相应的命令。
4 结论
本文所设计的无线解说器以STM32F103系列单片机作为核心处理器,处理速度快且性价比高。利用VS1003解码芯片控制音频解码文件,选用合适的通讯方式,严格把控时序,确保播放声音的清晰与真实。通过对触摸显示屏的操作,实现手持部分和终端部分二者的无线通讯,确保游人在指定地点接收到相应解说词,本系统经过实际使用,通信效果良好,播放的解说词流畅,音质较好。在后期设备升级中,可考虑采用高速DSP作为中央控制芯片,即可无需解码芯片,且更好地将系统嵌入到DSP为核心的产品中,从而更加人性化。
关键字:单片机 核心处理器 无线解说器
引用地址:
以单片机为核心处理器 无线解说器
推荐阅读最新更新时间:2024-11-17 06:14
单片机应用系统的抗干扰解决方案
1. 引言 单片机应用系统的抗干扰设计是系统设计的重要内容之一,抗干扰性能的好坏将决定系统能否在复杂的电磁环境下稳定可靠地工作,从而决定了系统的实际使用价值。特别是在各种实时控制的远距离系统中,由于现场环境恶劣,干扰因素较多,系统不可避免地要受到其他电磁设备的干扰,若仅按常规设计就很难保证系统的正常运行。因此,抗干扰问题是设计者必须充分考虑和解决的,下面从硬件和软件两个方面谈谈抗干扰设计。 2. 硬件抗干扰设计 2.1 供电系统 为了防止从电源系统引入干扰,首先采用交流稳压器保证供电系统的稳定性,防止电源的过压和欠压。其次,电源滤波和退耦是抑制电源干扰的主要方式,可将电源变压器的初级隔离起来,使混入初级的噪声干扰不致
[单片机]
富士通半导体强化FM3家族32位微控制器产品阵容
富士通半导体(上海)有限公司近日宣布,推出第五波基于ARM® CortexTM-M3处理器内核的32位RISC微控制器的FM3系列新产品。此次,富士通半导体共推出93款新产品,即日起可逐步提供样片。 新产品分为基本组和低功耗组两个类别。其中基本产品组有MB9B520M系列,包含MB9BF524MPMC和其他产品共72款;低功耗产品组有MB9A150R系列,包含MB9AF156RPMC和其他产品共21款。随着这些新产品面世,富士通半导体推出的基于ARM® Cortex™-M3处理器内核的微控制器阵容将扩展到463款。 富士通半导体未来还将继续扩充FM3系列产品线,并计划于2012年底达到500款。 FM3家族整合了Cortex
[单片机]
汽车行驶记录仪中USB HOST相关模块的设计
USB HOST相关模块的总体设计 汽车行驶记录仪中的USB HOST相关模块由单片机、USB HOST接口、FLASH、铁电存储体(FRAM)、实时时钟和电源管理等部分组成,其功能框图如图1所示。汽车行驶记录仪工作时,由单片机通过前端接口电路拾取汽车行驶状态的各种信息,包括车速、发动机转速和各种车辆开关信号等。汽车行驶记录仪以实时时钟为基准,把车辆信息按类别分别存入FRAM和FLASH。需要从汽车行驶记录仪中获取汽车记录状态信息时,用户插入优盘,单片机自动识别优盘并加载驱动程序,当完成设备枚举和Bulk_Only传输协议后,单片机就可以把汽车行驶记录仪中记录的状态信息以文件的形式传输到优盘。本文重点介绍电源模块、USB H
[应用]
单片机自动报时控制器
电脑时钟可模拟电子钟显示时、分、秒,此外还可根据学校的作息时间按时打铃,播放音乐和广播操节目。本系统设制了二个按钮,分别用来调时调分,以保证时钟与标准时间相吻合,打开电源开关即可运行。 本系统是通过MCS-51内部定时器T0产生中断来实现计时的。T0工作在定时器工作方式1,每100 ms产生一次中断,利用软件将基准100 ms(1/10 s)单元进行累加计数。当定时器产生10次中断后就产生了1秒信号,这时秒单元加1,同理,可对分单元和时单元计数,从而产生秒、分、时的时间值,并通过连接在8155A口、B口上的六位七段显示器进行显示。系统硬件框图如图1所示。 把学校的作息时间预先制成表格存入EPROM数据区中,利用软件每过1
[单片机]
基于MCU+FPGA的LED大屏幕控制系统的设计
引言 只要在现在的市场上走一圈就会发现,大部分的中小规模 LED显示系统,采用的是传统的单片机作为主控芯片。但是内部资源较少、运行速度较慢的单片机,很难满足LED大屏幕的显示屏,因为系统要求数据传输量大,扫描速度要快。以FPGA作为控制器,一方面,FPGA采用软件编程实现硬件功能,可以有效提高运行速度;另一方面,它的引脚资源丰富,可扩展性强。因此,用单片FPGA和简单的外围电路就可以实现大屏幕LED显示屏的控制,具有集成度高、稳定性好、设计灵活和效率高等优点。 1 系统总体结构 LED大屏幕显示系统由上位机(PC机)、单片机系统、FPGA控制器、LED显示屏的行列驱动电路等模块组成,如图1所示。上位机负责汉字、字符等数
[单片机]
GD32单片机和STM32单片机的区别
一、前言 什么GD32? GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。 所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。 二、区别 1、内核 GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。 2、主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大10
[单片机]
TI MSP430系列单片机串口通信波特率计算方法
TI MSP430系列单片机,usart模块的波特率值设定是通过以下三个寄存器决定的:UxBR0,UxBR1,UxMCTL 波特率=BRCLK/N ,主要是计算出N。 BRCLK:时钟源,可以通过寄存器设定何为时钟源; 通过寄存器UCAxCTL1的SSEL两位选择,01:ACLK,02:SMCLK N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分,其中 UxBR1为高位,UxBR0为低位,两者结合起来为一个16位的字。 举例说明:波特率=115200,时钟源=8MHz ,为外部晶体振荡器 N=8000000/115200=69.44
[单片机]
MAX1169 ADC与PIC微控制器的接口
本应用笔记介绍如何连接MAX1169模数转换器(ADC)至PIC微控制器。提供了对应PIC18F442的实例电路和软件。该软件包含了利用内部MSSP I2C*端口,以400kHz速率连接ADC至PIC微控制器的函数调用。 MAX1169是一款16位、低功耗ADC,具有I2C兼容的2线串行接口。MAX1169的接口可支持快速模式(400kHz)和高速模式(高达1.7MHz)。 本应用笔记包括实例应用电路和用于PIC18F442的软件。该软件提供了利用内部MSSP I2C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。因为其它微控制器具有类似的片上外围设备,所以实例中所提供的I2C通信程序被有意拆分为单独的I2C函数调
[单片机]