《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 智能无线电子解说系统的设计与实现

智能无线电子解说系统的设计与实现

2008-04-17
作者:冯文江,邱 宇,张立鹏

  摘 要: 提出一种采用短距离无线通信芯片CYWUSB6934的全智能电子解说" title="电子解说">电子解说系统解决方案。介绍了系统功能、构成、无线模块" title="无线模块">无线模块及其与单片机的接口编程等。
  关键词: 无线电 导游 电子解说 CYWUSB6934


  传统的旅游景区、展览馆、博物馆中的解说工作主要由解说员担任,相同的内容每天要重复讲解多次,且绝大多数解说员只能用单一语种解说。其工作不但乏味,而且不能保证解说质量。特别是人数较多、多个解说员同时讲解时,观众或游客大多听不到或听不清楚解说内容。本文介绍一种智能无线" title="智能无线">智能无线电子解说系统,具有智能化、个性化、高音质、实用性强等特点。无论观众到达的时间先后,也无论观众的语言是否相同,该系统都能根据观众的位置和需要自动确定解说的语言和内容,使每个观众不但得到每个展位、景点的完整信息,而且感受到高清晰、低噪声的音响效果。
1 系统结构
  一种能够自动识别当前所处区域并自动切换和播放与该区域对应的解说文件的智能无线电子解说系统如图1所示,系统由地址码无线发射机和手持智能无线接收终端组成。


  地址码无线发射机安装在各个景点或展台处,周期性地向外发射自身地址码,不同的景点/展台具有不同的地址码,同一景点/展台可以布置一个或多个相同地址码的发射机,尽量让所发射的信号覆盖整个景点/展台。随着用户的移动,所携带的手持智能无线接收终端在走近某景点/展台时会自动接收到对应该景点/展台的地址码,通过对该地址码的解析,接收终端调用并切换到该地址码对应的解说文件进行播放。
2 系统设计
2.1 设计技术指标

  ·各景点/展台的覆盖范围为5~25米可调;
  ·各景点/展台之间互不干扰;
  ·景点识别编码发射采用ISM频段;
  ·可由用户选择语音播放语种,USB接口快速下载;
  ·信号发射功率" title="发射功率">发射功率在允许范围之内可调;
  ·能在温度湿度相对恶劣的环境下工作;
  ·自动实现不同景点/展台的解说内容切换;
  ·能存储30个景点/展台、每个景点/展台5分钟左右的解说词;
  ·发射主机符合国家相关标准。
  为了满足设计技术指标的要求,对构成系统的主要器件做如下选择:(1)发射机的低功耗单片机采用TI公司的MSP430F133;(2)接收终端的MCU采用ATMEL公司的AT89C51SND1C,该芯片集成了MP3解码核和USB接口模块;(3)无线模块采用CYWUSB6934;(4)Flash存储器采用三星公司的K9F1208UOB;(5)显示电路由多个LED构成,显示当前所处的景点/展台位置。
2.2 CYWUSB6934无线收发器件
  CYWUSB6934是CYPRESS公司推出的低成本高集成2.4GHz直序扩频射频片上系统。该器件工作于ISM频段,共78个频道可选,具有低功耗、低辐射等特点。发射功率最大为0dBm(1mW),且具有7个等级可调;无线接收灵敏度高,可达-90dBm(10-12瓦);最大发射功率下的传输半径超过10m,数据传输速率可达62.5kbps;与单片机之间的接口为SPI口,最高数据速率为2Mbps;处于Power Down模式下的待机电流小于1μA;内部集成了无线收发模块、高斯频移键控调制解调模块、一对直序扩频基带处理模块以及一对串并/并串转换模块;外围电路仅需要少量电容和电感,体积小、稳定性高,主要用于键盘、鼠标等无线USB连接。由于其短距离、功耗低等特点,非常适用于景点/展台的无线电子解说系统。
2.3 地址码无线发射机
  MSP430F133具有超低功耗结构体系,工作电压1.8~3.6V;VCC为3V且在1MHz时钟条件下运行时,耗电电流仅为420μA,最高不超过560μA。该芯片共有6种工作模式,包括5种省电模式(LPM0~LPM4)和一种正常模式(AM)。LPM3和LPM4两种模式下,耗电电流不到2μA;用中断唤醒CPU的时间仅6μs,因此可以在正常模式与低功耗模式之间灵活快速地转换,从而降低功耗。
  因为除AM模式外的5种省电模式CPU都不再执行指令,所以,必须让芯片在AM模式和省电模式之间来回转换。本文制定的工作流程如下:
  芯片上电之后处于正常模式(AM),完成端口初始化、外设初始化和定时器A初始化等各类初始化工作后,让无线模块进入Power Down模式,同时打开定时器A,开中断,然后进入LPM3模式(由于定时器A所选用时钟是ACLK,因此LPM3是保证ACLK前提下的最省电模式)。定时器A定时时间到后将产生中断,单片机从LPM3模式回到正常工作模式,唤醒无线模块,并发送数据。发送完毕后,继续让无线模块进入Power Down模式,然后开定时器,开中断,再次进入LPM3模式,等待下一次定时中断到来。发射端状态机如图2所示。


2.4 手持智能无线接收终端
  每个景点/展台的解说内容都以特定的文件格式存储在手持智能无线接收终端的Flash中,每个文件都唯一对应一个地址码。本系统解说文件采用48kbps的比特率,64MB Flash可存储180分钟的解说内容,既保证了音质,也基本满足播放时间要求。若采用更低的比特率,可获得更长的播放时间。
  接收终端开机完成各模块的初始化后,打开无线模块,开始监听信道,同时播放欢迎词,等待中断产生。CYWUSB6934的IRQ引脚连接到MCU的INT_0引脚上,当收到1字节数据后,会在其IRQ引脚上产生一次中断,通知MCU已收到数据。MCU响应外部中断0,通过SPI口总线读取CYWUSB6934接收数据寄存器中收到的地址码,与当前播放文件所对应的地址码进行比较。若相同则继续播放,若不同则切换到接收地址码对应文件播放。
  为了提高切换的可靠性,避免频繁切换,规定连续若干次收到同一地址码时才进行切换。同时,每次收到地址码后还要读取RSSI寄存器中的值,若小于规定阈值,则此次接收判作无效。
2.5 SPI口编程
  对CYWUSB6934的操作就是对各个功能寄存器写入正确的值或读出需要的值。一共有32个寄存器,包括发送数据寄存器在内需要写入的数据有22个。图3和图4分别是CYWUSB6934 SPI传输格式和单字节写入时序。由此可知:
  ·要对某个寄存器进行写入,必须连续传输两个字节,第一个为寄存器地址等信息,第二个才是真正的数据。
  ·SS信号在每次写入或读出操作时都持续有效,但在这之前与之后均保持无效。
  ·时钟信号SCK在空闲时保持低电平,在每个上升沿时对数据进行采样,数据的变化发生在下降沿处。
  基于上述几点,对接收端" title="接收端">接收端MCU的设置为:CPOL=0,CPHA=0;对发射端单片机的设置为:CKPH=1,CKPL=0。
  接收端SPI口单个寄存器写操作代码如下(软件开发环境为Keil C51):
void SPI_reg_write(unsigned char address,unsigned char content)
{address  &=0x3f;
address  |=0x80;      //传输方向为Input
   SS_=0;         //ss有效(为低)
SPDAT=address;         //送寄存器地址
while(!(SPSTA & SPIF));   //若SPIF没有置位,等待
serial_data=SPDAT;      //接收数据
SPDAT=content;         //送入该寄存器的值
while(!(SPSTA & SPIF)); //若SPIF没有置位,等待
serial_data=SPDAT;       //接收数据
   SS_=1;         //ss无效(为高)
}

 


  接收端SPI口单个寄存器读操作与写操作流程大体相似,仅三点不同:(1)传输方向为Output;(2)写入寄存器的值可为任意值;(3)最后一次接收的数据即为读取值,需返回此值。
  发射端单片机对无线模块的操作流程与接收端类似(开发环境为IAR EW430)。发射端SPI口单个寄存器写操作代码如下:
void RF_write_sigle_reg(unsigned char reg_add,unsigned char
reg_data)
{ reg_add &=0x3f;
 reg_add |=0x80;          //传输方向为Input
 SS_enable();            //ss有效
 CPU_SPI_byte_send(reg_add);    //向SPI口写入地址
 CPU_SPI_byte_send(reg_data);    //向SPI口写入数据
 SS_disable();            //ss无效
}
  发送端SPI口单个寄存器读操作代码如下:
unsigned char RF_read_sigle_reg(unsigned char reg_add)
{ volatile unsigned char temp;
 reg_add &=0x3f;           //传输方向为Output
 SS_enable();             //ss有效
 CPU_SPI_byte_send(reg_add);     //向SPI口写入地址
 temp=CPU_SPI_byte_read();      //读出SPI口数据
 SS_disable();
 return temp;
}
  其中,两个子函数代码分别如下:
void CPU_SPI_byte_send(unsigned char send_data)
{ while((0x80&IFG1)==0);        //SPI口发送器未准备好,等待
 U0TXBUF =send_data;          //送入数据
}
unsigned char CPU_SPI_byte_read(void)
{ while((0x80&IFG1)==0); //SPI口发送器未准备好,等待
 U0TXBUF=0;             //送入数据0,以置换出寄存器中的值
 while((0x40&IFG1)==0x40);      //接收数据完成
 return(U0RXBUF);          //返回读取值
}
  本文设计的将短距离无线通信技术应用到电子解说系统,实现了稳定、可靠的区域识别和自动选曲播放。发射端的覆盖范围可通过调节发射功率进行控制。实测最小功率下覆盖半径仅为3米,最大功率覆盖半径可达25米,若要求更大的覆盖半径,可由多个同一地址码发射机组成。发射端功耗极低,采用3节5号碱性电池供电,可工作2~3个月。该智能无线电子解说系统适用于各种不同面积、不同类型的景点/展台。本系统已申请了国家专利,市场前景良好。
参考文献

[1] 黄智伟.单片无线收发集成电路原理与应用[M].北京:人民邮电出版社,2005.
[2] 博创科技.MP3播放器与U盘设计[M].北京:清华大学出版社,2004.
[3] MSP430x1xx family user′s guide[M].Texas instruments corporation,2002.
[4] CYWUSB6934 Datasheet.Cypress Corporation,2005.
[5] AT89C51SND1C Datasheet.Atmel Corporation,2003.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。