郑立安,龚杏雄,牛昱光
(太原理工大学信息工程学院,太原030024)
利用电脑多媒体技术进行课堂教学已是很普遍的做法。而在播放课件的同时,多数教师更愿意离开讲台进行讲解以方便与学生的交流和沟通。目前普遍使用的激光笔虽然可以让教师离开讲台实现课件演示的翻页操作,但不能操作除ppt课件之外的其他教学软件,而且多数是红外遥控,操作范围受到限制。再有就是教师想离开讲台时还能使用多媒体系统的音响设备,就得另外配戴一套无线话筒或携带便携式扩音器。教师会感觉繁琐累赘。
为了解决这个问题,本人设计了一种新型的教学辅助工具。教师只需携带银行卡大小的手持端和U盘大小的接收端,就可离开多媒体讲桌,通过手势和摇杆控制光标移动,点击左、右键操作课件或其他软件,并能使用附带的激光笔和话筒进行授课活动,从而不再为多媒体讲桌所限制。
硬件部分由手持端和接收端两部分组成,两者之间是通过2.4 G无线模块nRF24L01进行无线[1]通讯的,此无线模块的传输范围能满足多媒体教室的空间要求。
手持端的硬件结构如图1所示。主控芯片采用ARM-CortexM3架构的德州仪器公司的LM3S1P51[2]处理器。声音采集采用硅麦克风传感器MSMAS42Z,采集到的模拟信号由音频编解码芯片TLV320AIC23B转换成16 bit[3]双声道PCM音频流,经由专门用于音频传输的I2S接口传送至处理器,由处理器完成将PCM编码压缩成ADPCM编码的运算处理[4]。处理器通过I2C接口获得加速度传感器MXC6225XU的加速度数据,从而获得手持端晃动的趋势,并结合处理器接收到的摇杆动作,生成对应的光标移动指令[5]。模拟鼠标按键操作和激光笔控制按键操作也都由处理器识别并生成相应的指令,其中激光笔的控制指令由处理器芯片的PWM调制输出至激光笔驱动电路。ADPCM音频数据及光标移动指令和鼠标按键指令会被处理器分别打包,并通过 SPI接口分别发送至无线模块nRF24L01[6],以无线传输方式发送给接收端。
图1 手持端硬件结构图
接收端的硬件结构如图2所示。主控芯片采用ARM-Cortex M3架构[7]的意法半导体公司的STM32F103C8[8]处理器。处理器通过SPI口接收来自无线模块nRF24L01收到的包含ADPCM音频数据和各种操作指令的数据包。在处理器中,要将ADPCM编码解压缩成PCM编码,并与按键指令一起经由USB接口上传到PC机。音频流会被送入PC机的声音播放系统播放出来,相应的操作指令会实现鼠标的屏幕光标控制和左、右键命令,从而实现课件演示操作和教学软件运行操作。
图2 接收端硬件结构图
软件程序分为手持端和接收端两部分,手持端的程序流程如图3所示,设备初始化之后,整个程序工作在无限循环中。当检测到音频采集电路的DMA传输中断信号,则优先发送一帧音频数据。在中断结束或没有中断信号时,采集各种操作的开关量信号,将数据通过无线发出。接收端的程序流程如图4所示,设备初始化之后,整个程序工作在无限循环中。通过对收到数据的类型判断,按照音频数据或开关量指令数据分别进行不同的处理。最终将数据通过USB接口上传到PC中。
图3 手持端软件流程图
图4 接收端的软件流程图
通过话筒音频信号采集,经由Codec芯片转换而成的PCM编码的数据量很大,需要一种较为完善且高效的传输机制,来保证声音信号能同步传输的实时性要求,以避免因传输延时或数据缺失造成的声音失真。本设计在手持端采用了DMA双缓冲机制,即乒乓模式[9],它用于实现内存与外设之间连续不断的数据流。要使用乒乓模式必须同时配置主数据结构体和副数据结构体,两个结构体均用于实现存储器与外设之间的数据传输,这可由处理器建立。传输过程如图5所示。传输从主控制结构体开始,当主控制结构体所配置的传输过程结束后,DMA控制器自动载入副控制结构体并按其配置继续传输。每当这时都会产生一个中断,处理器对刚刚结束传输过程的数据结构体进行重新配置。于是,主/副控制结构体交替在缓冲区与外设之间搬运数据。
图5 乒乓式DMA数据传输
ADPCM是将PCM的16 bit采样数据压缩成4 bit的。对于双声道的ADPCM来说,它是将PCM的左声道的前8个采样依次压缩并写入到一个DWORD中,然后写入“data”chunk里。紧接着是右声道的前8个采样。如此循环,见图6所示。当采样数不足8时(到数据尾端),应把多出来的采样用0填充。解压缩实为压缩的一个逆过程。
图6 PCM压缩与解压缩
射频信号收发采用的是NORDIC公司的2.4 G无线模块nRF24L01。这款无线模块的控制芯片自带CRC校验,从而减小了软件开发时间,同时也减轻了处理器的工作量。另外它的无线速率最高可达2 Mbit/s,完全能满足音频数据的实时性要求。
为了使接收端具有PC机USB口热插拔设备性能,依照USB2.0协议标准将接收端设计成一个HID 类[10]和音频类[11]的复合型 USB 设备,使得接收端只占用一个PC机的USB端口即可实现二者链接。值得一提的是,任何操作系统自带的USB驱动都直接支持本设计的接收端。换句话说,在多媒体设备的PC机上无需安装任何驱动程序,直接利用系统自带驱动即可使用接收端的功能。
本设计的结果可使教师离开讲台之后,依然可以利用多媒体的语音播放功能,再配合手势移动和相当于鼠标功能的按键操作,在教室的任何角落为学生授课和解惑,并且不用担心距离较远的同学会听不到,简单有效地实现了互动教学的目的。
若要实现教师在课堂任意走动,并且随意操控演示课件和教学软件,那么无线话筒、无线鼠标和红外激光笔等多种设备得一应俱全,这些设备的价格合起来也得几百元,更主要是教师要同时使用多个设备,使用很麻烦。而本设计批量生产的成本将会不足百元,教师手持一个设备即可实现所有操作功能。
根据硬件和软件设计思路完成的手持端和接收端试验样机如图7所示。图8所示为PC机上采集到的声音信号波形及分析说明。
图7 手持端和接收端试验样机
图8 PC机上采集到的声音波形分析
样机试验证明,本设计方案、硬件结构和软件编程都能满足预期目标。不足之处是声音信号的传输功能虽然基本实现,但还有改进空间,可以考虑在压缩和解压缩算法上作进一步优化。
[1]文光俊.无线通信射频电路技术与设计[M].北京:电子工业出版社,2010.
[2]德州仪器公司(http://www.ti.com).Stellaris®LM3S1P51 Microcontroller DATA SHEET[EB/OL].pdf,2012.1.
[3]陈自龙,周书杰,汤勇明.基于ARM嵌入式系统的高保真无损音乐播放器设计[J].电子器件,2012,35(6):692-698.
[4]陈河南译.数字技术:数字视频和音频压缩[M].北京:电子工业出版社,2000.
[5]孙宁,陈进,林立新.一种基于光电鼠标传感技术的振动偏移量采集设备[J].电子器件,2011,34(3):328-331.
[6]NORDIC公司(http://www.Nordicsemi.com).nRF24L01 Single Chip 2.4GHz Transceiver Product Specification[EB/OL].pdf,2007.7.
[7]刘波文.ARM Cortex-M3应用开发实例详解.北京:电子工业出版社,2011.
[8]陈贻国,钱金芳,潘日敏.一种基于STM32的航模直升机飞控系统设计[J].电子器件,2012,35(1):47-51.
[9]德州仪器公司(http://www.ti.com).Stellaris®LM3S9B96 Microcontroller DATA SHEET[EB/OL].pdf,2012.1.
[10]应冬青,王健.USB协议在嵌入式系统文件传输中的应用[J].电子器件,2011,34(1):104-107.
[11]胡晓军.USB接口开发技术[M].西安:西安电子科技大学出版社,2005.