音乐喷泉作为一种富有生命力的理想城市景观,其载歌载舞的水型表演、绚丽多彩的灯光变化、优雅磅礴的艺术氛围,给紧张、忙碌的现代人带来清新愉悦的心情。随着经济社会的发展和人们对建立绿色城市的向往,音乐喷泉的市场发展十分迅速。
WiFi基于IEEE 802.11协议,用于组建无线宽带局域网,其信号热点覆盖范围达100~300 m,数据传输率高(目前普遍采用的802.11a/g标准可以达到54 Mb/s),费用低廉,在实时性和传输多媒体信息等大数据量方面具有明显的优势[1]。
目前,多数中小型音乐喷泉以单片机、工业控制计算机及PLC可编程控制器作为主控制器,对各控制点使用集中控制方式。这种控制方法耗费大量电缆,成本较高,不易维护,只适用于控制点集中分布且数目不多的场合,而且表演形式固定且不够丰富,系统扩展和软硬件升级困难[2]。
针对以上情况,本文提出的基于WiFi的音乐喷泉控制系统,采用PC机或智能移动终端作为上位机实现系统整体协调控制,下位机部分采用具有WiFi网络接口的控制器,两者通过WiFi网络进行通信。这种分布式控制方式不仅节省了电缆,降低了成本,而且采用WiFi宽带网络通信方式,在保证了系统的实时性前提下,也大大增加了系统的可扩展性,并且方便与Internet集成。
目前应用WiFi网络的系统大多采用WiFi信号收发模块与MCU控制模块相分离的解决方案,这就使终端控制器集成度不高,降低了系统可靠性。本方案以AX22001嵌入式WiFi单芯片MCU为核心,设计现场控制器,并作为WiFi网络的智能控制节点,软件内含基本表演程序供上位机调用。采用这种分布式控制方法减轻了主控系统的负担,提高了系统效率。
1 系统设计
本文设计的音乐喷泉控制系统从结构上分为4个部分:中央控制部分、无线交换机、现场控制器,执行机构及其电气驱动部分。系统总体结构如图1所示。
(1)中央控制部分:由PC机或智能终端作为上位机,运行音乐喷泉控制专用软件,实现人机界面和系统的整体协调控制。该部分首先对音乐信号进行预处理,提取音乐元素生成控制文件,再将音乐文件和控制文件同步播放,并将音频数据流和控制数据流通过WiFi网络发送到现场WiFi无线音响设备和现场控制器,从而实现音乐喷泉的现场音乐播放和水型表演。
(2)无线交换机:由无线交换机作为网络中心节点搭建WiFi局域网。
(3)现场控制器:根据音乐喷泉的表演形式和现场不同的执行机构,分类设计开发出4种音乐喷泉现场控制器。①WiFi音频传输控制器,负责现场音乐播放;②模拟量输出控制器,连接变频器,负责水泵的调速;③开关量输出控制器,负责对喷泉电磁阀、彩灯、照明灯的控制;④数码喷头控制器,负责对喷泉多维摇摆喷头的控制。
这些现场控制器均作为子节点连接到由无线交换机搭建的WiFi网络,每个子节点有一个唯一的标识(IP),分别通过WiFi网络获得上位机控制指令,然后按照控制协议对上位机控制命令进行解析,实现对执行机构的程序控制,从而产生不同的水型、灯光和音乐的组合效果。
(4)执行机构及其电气驱动部分:包括驱动电路,以及喷泉多维喷头、变频调速器、电磁阀、潜水泵,喷头照明灯,彩灯等执行机构,变频器采用0~10 V的模拟量控制,电磁阀和潜水泵等设备通过24 V DC的开关量控制。
2 硬件设计
本系统现场控制器的硬件设计,针对音乐喷泉现场控制点的不同类型,分类设计AX22001控制器的外围控制电路,完成无线通信、数据处理和外围执行机构控制功能。
AX22001是亚信电子开发的一种双核8051/80390微控制器(最高主频80 MHz),内置TCP/IP和802.11 WLAN MAC/基带,包含丰富的外围接口资源。其中MCPU主要用来运行应用程序及TCP/IP协议,WCPU用于处理WLAN协议及以太网至无线网封包格式的转换。该芯片具有用于网络及外设数据快速传输的DMA引擎及专门的内存架构,同时支持TCPIP硬件加速器来提升网络传输带宽[3]。该芯片的最大优点在于其简化了以往使用MCU外接WiFi通信模块的结构,降低了硬件成本。
2.1 WiFi音频传输控制器
硬件结构如图2所示,AX22001微控制器通过控制接口SPI和数据接口I2S将数字音频数据发送到立体声音频编解码芯片TLV320AIC,对数字音频信号进行解码后,再通过音频电缆向功放音响设备传送模拟音频信号[4-5]。
2.2 开关量输出控制器
音乐喷泉开关量输出控制点数成百上千,本方案设计的开关量输出控制器提供64路开关量输出,采用8255A可编程并行I/O接口芯片扩展AX22001芯片的I/O接口[6]。
2.3 模拟量输出控制器
音乐喷泉模拟量输出控制点数较多,本方案设计的模拟量输出控制器具有12路模拟量输出,采用数模转换芯片DAC0832扩展AX22001芯片的模拟量输出控制点[7]。
2.4 数码喷头控制器
音乐喷泉的数码喷头通常由两个步进电机控制,一个称为平台电机,为喷头的水平平台提供旋转,另有一水平平台上的步进电机,控制喷头在竖直平面内的旋转,这种两自由度的数码喷头可以向任何方向喷水。控制步进电机的输入脉冲个数和速率,即可控制步进电机的运转角度和运转速度,从而控制数码喷头的方向坐标和摇摆速度。
本方案设计的数码喷头的步进电机控制电路(以驱动两相混合式步进电机为例)主要由Intel8253可编程定时/计数器芯片、L297步进电机专用控制器、L298步进电机专用驱动芯片组成。两组8253+L297+L298分别驱动两个平台的步进电机[8]。8253通过数据总线和地址总线与AX22001芯片连接,L297的控制引脚与AX22001芯片的P1口连接。部分参考电路如图3所示(在实际应用中,AX22001芯片和8253定时器芯片与L297芯片之间应进行光耦隔离)。
8253的定时器0和1工作于方式3(方波发生器方式),对时钟信号进行两次分频;定时器2工作于方式0(计数结束中断方式)。对定时器1和定时器2写入不同的计数初值,即可控制步进电机的输入脉冲速率和步进电机的输入脉冲个数[9]。
3 软件设计
3.1 软件系统结构
本软件系统的结构主要由三大模块组成:上层应用模块、网络模块和硬件接口驱动模块,具体的软件模块化结构如图4所示。
上层应用模块包含实现各种应用的子模块,该模块通过网络模块发送和接收以太网数据包,通过硬件接口驱动模块与外围硬件接口通信。MCPU主模块是main()主函数,是程序开始执行的地方,实现软件系统的任务调度。网络模块中的TCP/IP模块在初始化阶段,通过使用回调函数来完成对上层应用模块的TCP/IP服务功能。MAC模块负责MCPU子系统与WCPU子系统之间数据的传输[10]。上层应用模块中的控制模块为本软件系统的应用设计模块,提供可供上位机调用的控制任务命令接口,实现数字音频数据接收发送和控制点的程序控制。该软件系统从WiFi网络接收到上位机的一系列数据和控制指令,经过各层网络模块的传送,最后由控制模块进行命令解析,并从基本表演程序库中调用相应的表演程序,进行所控区域的喷泉表演控制。
3.2 总程序流程图
总程序流程图如图5所示,主函数首先初始化所有的软件模块,其中包括硬件接口驱动模块、网络模块、应用程序模块。接着程序进入一个循环,一些要调用的模块任务重复执行,实现网络连接、数据接收发送和控制输出功能。
3.3 软件控制模块的设计
为表现音乐内涵,需要音乐喷泉控制点进行复杂形式的表演,而这些复杂形式的表演是几类基本表演形式在不同控制点上按空间和时序的组合表演。上层应用模块中的控制模块为针对喷泉现场控制的核心设计模块,实现各控制点的表演控制任务。因此软件控制模块的设计,需针对不同的基本表演形式,编写各种表演控制函数,供软件控制模块在控制任务中调用。
现以数码喷头控制器为例说明软件控制模块的设计。图6为数码喷头控制器软件控制模块的一个步进电机控制任务流程图,其中步进电机的表演方式控制函数用于实现数码喷头各种形式的摆动。此控制程序采用中断方式为8253定时器2赋值来控制步进电机的输入脉冲个数。
4 实验测试
图7为数码喷头软件控制模块在Proteus仿真软件中的仿真结果图。图中左侧示波器显示屏中第一行为时钟波形,第三行为步进电机输入脉冲波形,第四行为步进电机脉冲输入结束后的中断信号,右侧为步进电机当前运行状态。
本文现有的喷泉为基于以太网控制的音乐喷泉系统,为了验证本方案的可行性和实用性,将所设计的控制器加入该系统中,并对各种控制任务进行了测试,结果表明所设计的控制器运行良好,达到了预期的控制要求。经过几个月的运行,系统稳定可靠,控制效果良好。
本文针对传统喷泉控制系统的不足,提出了一种基于WiFi控制网络的音乐喷泉表演系统的解决方案,充分利用嵌入式单芯片AX22001的硬件资源,对4类现场控制器分类进行了软、硬件设计,实现了与上位机的WiFi网络通信以及喷泉系统现场控制。实践证明,该方案在满足系统良好的控制效果下,具有更好的灵活性和可扩展性,并能有效地节省电缆,降低成本。
参考文献
[1] 王娟,郭家奇,刘微.WIFI技术的深入探讨与研究[J].价值工程,2011(6):80.
[2] 李晨曦,李昌智,胡包钢.基于以太网的音乐喷泉控制系统的设计与实现[J].计算机测量与控制,2006,14(10):1361-1363.
[3] AX220xx_Datasheet_v101[M/CD].2011.
[4] 李双勋,欧建平.TLV320AIC23在音频处理中的应用[J].国外电子元器件,2013(10):16-19.
[5] AX220xx_Product_Introduction_v101[M/CD].2011.
[6] 白莉媛,肖乐,钱进.Intel 8255A微机芯片的应用[J].光盘技术,2006(6):25.
[7] 宋复成,顾明亮,杨增汪.用DAC0832芯片实现32位D/A的高分辨率[J].微计算机信息,2007(20):293-294.
[8] 唐国栋,高云国.基于L297/L298芯片步进电机的单片机控制[J].微计算机信息,2006,22(12-1):134-136.
[9] 李永义,窦满锋,刘卫国,等.8253在步进电动机运动控制系统中的应用[J].微电机,2002,35(5):33-35.
[10] AX220xx Upper Protocol Developer′s Guide[M/CD].2011.
[11] AX220xx Software User Guide[M/CD].2011.