新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于RFID技术的智能语音播报系统设计

基于RFID技术的智能语音播报系统设计

作者:时间:2016-10-16来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/201610/307930.htm

射频识别(Radio Frequency Identification,)作为一种非接触式的自动识别新技术,近年来得到了迅速的发展并逐步走向成熟。其原理是基于无线射频信号的传输特性,进行非接触式自动识别,从而自动识别被标识对象,获取对应数据进行交换。最常见的识别方法是一个串行存储号码识别一个人或物体。在此介绍一种基于和单片机技术的智能语音播报系统,可广泛应用于旅游景点自助导游、博物馆自助讲解、公交车站自动报站等场合。

1 系统总体设计

本系统由两大部分组成:和智能终端。RFID内部由RFID晶片和外界线圈组成,每张有唯一的ID号。智能终端主要包括单片机、最小系统电路、RFID读卡器、等。其中由WT588D语音芯片、编程器和用于语音下载、编程、模式设置的上位机软件WT588D VioceChip组成。系统整体框图如图1所示。

基于RFID技术的智能语音播报系统设计

智能终端在有效读取范围内检测到RFID电子标签时,产生串行中断,单片机通过RXD引脚读取并存储电子标签ID值,然后查询与读取的ID号对应的语音地址,单片机通过一线串口控制模式控制完成对应语音信息的准确播报。

2 系统硬件设计

2.1 RFID读卡器模块DM-S28140

本系统采用中科鸥鹏公司的串口通信版DM—S28140读卡器模块实现RFID电子标签的ID值的读取。DM-S28140读卡器具有低功耗被动读取RFID标签、串口通信、波特率为2 400 bps、输入使能允许软件启用或禁用等特点。可以读取EM4100无源只读系列125 kHz标签卡,每个标签包含一个唯一的标识符,由RFID读卡器读取后,通过串行接口传输。

2.1.1 读卡原理

当RFID读卡器工作时,读卡器的控制电路将电流注入线圈,产生低频电磁场。若RFID电子标签放置在有效读取范围内(10 cm内),电子标签的线圈就会感应低频电磁场,共振耦合产生电流,供给其晶片足够的电源,在充分的电源供应下,晶片就可以将内存中唯一的ID信号转换成射频信号,传送给读卡器。只要有充分的电源,电子标签就会持续不断地发送ID值。

2.1.2 硬件连接

RFID读卡器串行接口版本可以与微控制器仅用4个信号(VCC、/ENABLE、SOUT、GND)互连。读卡器外观及引脚功能如图2所示。其中,SOU T连接到的P3.0(RXD)引脚实现串口通信,使能引脚/ENABLE由P3.2控制。

基于RFID技术的智能语音播报系统设计

与WT588D的连接如图3所示。选择AT89S52 P1.4引脚连接AT89S52 RESET控制复位信号,AT89S52的P1.5引脚连接P03作为数据输出端,选择PWM音频输出方式,PWM引脚接至扬声器。

2.1.3 通信协议

当RFID射频识别卡开始工作时,且RFID标签放置在有效读取的范围内,唯一的ID以12位ASCII字符串方式发送给主机,如图4所示。

基于RFID技术的智能语音播报系统设计

其中,起始位和停止位有助于识别一个正确的接收信息串,中间10位是实际标签唯一ID号。

2.2 语音模块

语音模块包括16个引脚的语音芯片WT588D、一个对语音模块进行语音下载的编程器和上位机软件Vioce Chip。WT588D语音芯片是一款可重复擦除烧写的语音单片机芯片。表1为各个引脚的功能描述。

图5为一线串口控制模式时序及电平占空比示意图。配套WT588D VioceChip上位机操作软件可随意更换WT588D语音单片机芯片的任何一种控制模式,把信息下载到SPI-Flash上即可,可控制220个语音地址,每个地址位能加载组合128段语音。支持DAC/PWM两种输出方式,PWM输出可直接推动0.5W/8Ω扬声器。支持加载WAV,音频格式,以及MP3控制模式、按键控制模式、一线串口控制模式、三线串口控制模式。本系统采用一线串口控制模式接收待合成的文本,直接合成为语音输出。

基于RFID技术的智能语音播报系统设计

一线串口只通过一条数据通信线控制时序,依照电平占空比不同来代表不同的数据位。先拉低RESET复位信号5 ms,然后置于高电平等待17 ms,再将数据信号拉低5 ms,最后发送数据。高电平与低电平数据占空比为1:3,代表数据位0;高电平与低电平数据位占空比为3:1,代表数据位1。高电平在前,低电平在后。

3 系统软件设计

3.1 主函数及语音编程

软件系统主要由主函数main、读卡函数getRFID()、语音播放函数Send oneline(uint8_tcmd)组成。主函数完成系统初始化(定义标签卡ID数组)、调用读卡函数实现标签卡ID信息的读取、查询ID卡号对应的语音地址、调用语音播报函数实现信息的准确播报。流程图如图6所示。

值得注意的是,播放的语音必须下载到语音芯片SPI-Flash存储器中,通过语音编程器及VioceChip上位机软件进行语音模块的编程(即语音的装载、模式设置等),编程流程如图7所示。

语音下载后,须将语音地址与下载的语音文件一一对应起来,这是单片机读取语音并且准确播报的重要参考点,语音地址对应关系如表2所列。

基于RFID技术的智能语音播报系统设计

3.2 读卡功能的实现

读卡函数getRFID()程序流程图如图8所示。首先进行UART初始化,当读卡器检测到标签卡时产生串行中断,按照12位通信协议按位读取数据,直到接收到停止位0x0D结束。

基于RFID技术的智能语音播报系统设计

截取有效数据后4个字节,有效数据是指每个字节的大小在指定范围内(即0x30~0x46),对应字符为0~F,程序中只需要0x0D(停止字节)前的4个字节。

例如这4个字节分别为0x41、0x32、0x36、0X46,对应的字符为A26F,转换成十进制数,则数值等于41 583。因此,主程序定义的标签卡数组元素应为每个标签卡后5位十进制ID对应的十六进制数。

3.3 语音播报功能的实现

根据图3和图5,语音播报函数Send_oneline(uint8_tcmd)程序流程图如图9所示。函数中的形参cmd即语音的地址。

基于RFID技术的智能语音播报系统设计

结语

本文使用AT89S52单片机、DM-S28140读卡器和WT588D语音模块,配合RFID电子标签,实现了智能语音播报系统。

实践证明,此方案可行并且可靠,可用于旅游景点自助导游、博物馆的自助讲解、公交车站智能报站等场合,具有较高的实用价值。



评论


相关推荐

技术专区

关闭