基于综合案例的高校DSP课程教学改革研究

2016-11-11 02:57陈恩庆宋豫全张亮王忠勇
河南科技 2016年11期
关键词:串口编程语音

陈恩庆 宋豫全 张亮 王忠勇

(郑州大学信息工程学院,河南 郑州 450001)

基于综合案例的高校DSP课程教学改革研究

陈恩庆宋豫全张亮王忠勇

(郑州大学信息工程学院,河南郑州450001)

针对高校DSP课程教学中存在的一些问题,提出一种基于综合性案例的DSP教学和实验内容改革方案,给出一个具体的DSP综合性应用案例,即以DSP为核心实现的基于语音识别的智能家居控制系统案例,并给出以实现此案例为目标的DSP教学和实验内容具体设置安排。分析和实践结果表明,此案例和教学实验设计方案可以获得较好的效果。

DSP;案例教学;课程改革

DSP(Digital Signal Processors)芯片又称为数字信号处理器,是主要用来完成数字信号处理的方法与技术的通用或专用芯片。随着信息技术和DSP芯片的发展,采用DSP芯片实现数字信号处理成为当前的发展趋势,在通信、电子信息、自动控制、仪器仪表等领域获得了越来越广泛的应用,DSP技术已成为工科电类专业本科生和研究生必须掌握的一门实用技术。因此,很多高校都针对工科电类高年级本科生或研究生开设了《DSP原理及应用》或类似课程。该课程是一门综合性和实践性很强的课程,目的是使学生掌握DSP开发应用技术,并将数字信号处理、自动控制原理等所学理论知识应用于工程实际,提高学生理论联系实际的能力和实践创新能力,并且以此为基础对其他嵌入芯片的开发有所了解。在信息技术飞速发展的今天,掌握好DSP技术对于学生在IT领域的继续发展显得尤为重要。然而,由于课时数、学生人数、实验条件等诸多因素的限制,目前很多DSP课程的教学过程中都不同程度地存在一些重原理轻编程、重讲述轻实验等问题。因此,需要不断创新DSP课程的教学内容和教学方法,充分调动学生的积极性和创造性,提供更多动手实践机会,使学生通过学习达到能够编程开发的目的[1-3]。

本文提出设计一个具体的DSP综合性应用案例,并将此具体案例贯穿于DSP课程教学和实验过程,探索用解决具体案例所需知识和编程技能为主线进行教学的新方式,从而使学生实现“做中学”和“所学即所用”的目的。然后,结合现有实验设备介绍一个具体DSP综合性案例的设计,并给出将具体案例贯穿于DSP课程教学和实验环节的方法。

1 DSP综合性应用案例设计

由于DSP芯片应用的广泛性,DSP生产厂商众多,并且同一个DSP厂商生产的DSP芯片型号针对不同应用需求而型号繁多。因此,DSP课程教学中对DSP芯片的选择余地很大。但是,各种型号的DSP芯片从硬件架构和软件开发流程上都有相通之处,因此各高校往往结合自身设备情况和专业特点选取某一型号DSP芯片为例进行教学,同时也兼顾对其他型号DSP芯片类似功能的介绍。下面以目前郑州大学DSP教学中使用的TI公司TMS320F2812芯片为基础给出一个复杂度不高、适合初学者入门,同时又涵盖F2812芯片主要功能模块的综合性应用案例。

本案例为一个以F2812DSP芯片为核心的智能家居语音控制系统。目前,语音识别技术已经逐渐成熟[4,5],已经有很多开源的识别系统,并且一些公司开放了其应用接口。国内免费开放的平台就包括百度开放平台和科大讯飞语音开放平台。本案例系统依托云端的科大讯飞语音识别平台,通过DSP芯片控制本地语音的采集与处理,并通过DSP管理的WiFi模块连入互联网将本地语音传输至云端识别平台,最后根据返回的识别结果控制电机等本地执行机构实现智能家居的控制功能。下面分别具体介绍系统软硬件设计。

1.1系统硬件整体构成

系统以F2812DSP芯片为控制核心,本地硬件包括F2812核心处理板、语音采集模块、WiFi传输模块、外设执行模块和本地端服务器,如图1所示。

图1 系统硬件构成

1.2语音采集模块设计

在语音采集部分,采用Micphone模块来完成语音能量信号向模拟电信号的转化,然后再通过TLV320AIC23AD转换芯片将电信号采样量化为数字信号。TLV320AIC23为TI推出的一款高性能语音音频处理芯片,该芯片的物理接口可分为数字接口和模拟接口[6]。数字接口包括控制接口和数据接口。控制接口传输方式包括I2C和SPI串行接口模式,数据接口可与DSP芯片的McBSPs接口无缝连接。根据科大讯飞语音开放平台的数据接口标准的要求,需要将AIC23的输出数据配置为8kHz采样率,16bits分辨率的PCM编码数据,通过SPI方式进行控制信号的传输,通过DSP模式进行数据的传输。

控制信号包括用于数据传输的SDIN,用于传输时钟信号的SCLK和用于锁存数据字进入芯片的CS,硬件上分别对应芯片的23号、24号、21号引脚。可将这三路接口分别接到DSP的相应引脚用于控制信号传输。每一个控制数据字长为16位,其中高7位为芯片内部寄存器地址位,低9位为控制数据位。每一次进行AIC23的配置只修改需要传入相应的控制字即可。为了方便指令的传输,在程序中采用GPIO模拟构建了一个SPI模式的指令传输函数,在函数内自动构建地址和指令数据的16位组合数值并进行传输工作。

IC23的音频数据传输接口模式采用DSP模式,该模式与TI的McBSP接口能够完美兼容。该模式中,AIC23的LRCIN和LRCOUT连接到McBSP的帧同步控制接口,帧同步控制接口的下降沿信号触发数据传输。其数据传输帧构成为:左声道数据在前,右声道数据紧随其后,组成一个双字的数据帧,其时序图如图2所示。

图2 TLV320AIC23的数据的时序图

本文中选择的传输数据字长为16位,故在上述时序图中的n值为16。每一次帧同步信号会先后传输左右声道的32位数据。

1.3串口转WiFi模块设计

为了将采集到的语音数据传给本地服务器,采用现成的串行口转WiFi透传模块,只需通过DSP芯片将语音数据发送给串口,再配置好WiFi模块就能够实时地将语音数据通过TCP协议传输出去,然后在本地服务器上通过TCP协议实现接收。

本文中采用的是USR-WIFI232-A串口转WiFi模块。其模块本身支持2种模式,即无线接入点和作为无线终端模式。作为无线接入点,其可以作为一个WiFi热点由其他设备进行连接,而作为无线终端模式可以去连接路由器等其他热点发送设备实现联网。将其设为无线终端模式,连接路由器然后访问同一个局域网下的本地服务器。其数据传输流顺序为:下位机串口到模块串口,模块串口到模块WiFi,模块WiFi到本地局域网。

1.4控制功能实现

为了实现电机等设备的控制功能,本系统中使用F2812芯片事件管理器产生一路PWM波输出作为控制信号。DSP芯片相应功能模块的主要配置过程如下:①通过配置SysCtrlRegs开启事件管理器A的系统内部高速时钟的配置,即置位PCLKCR的EVAENCLK位,即开启了EVA的高速外设时钟;②进行事件管理器的配置,即配置寄存器EvaRegs,因为选择为高速外设时钟作为PWM的计数时钟,此时计数时钟频率等于系统高速时钟频率SYSCLK/2,为75MHz;③配置时间管理器,使T1CNT=0,初始化计数寄存器为0;④配置T1PR=7 499,则整个周期数为7 500,则其时钟周期为0.1ms;⑤在T1CON中选择连续递增模式,不分频,采用内部时钟,并使能时钟;⑥配置ACTRA的CMP1ACT=1,设置PWM2接口为高态有效模式;⑦配置COMCONA的CENABLE位为1,使能比较;FCOMPOE=1,使能比较输出,即输出PWM波信号。

此外,需要注意的是,在初始化过程中需配置CMPR1为0,不输出PWM波。在调用过程中通过修改CMPR1的数值来修改电机速度。

2 基于综合案例的教学和实验设计

为了在有限课时内更好地使学生掌握DSP芯片结构和原理,熟悉DSP编程开发流程和技巧,结合上述具体设计案例,对DSP课程教学和实验内容进行了设计,具体如下。

2.1课堂教学内容设计

为了用尽可能少的课时将DSP芯片结构、工作原理及基本编程开发流程介绍给学生,将整体课堂教学内容划分成两大部分,即硬件结构原理和软件开发流程。

硬件结构原理部分,大致使用10个左右的课时简要介绍和DSP芯片开发密切相关的芯片基本结构、CPU寄存器、中断管理机制、存储器分配机制等内容。同时,根据实现本设计案例的需要,着重介绍片内外设部分的McBSPs模块、SCI模块和事件管理器模块。

在软件开发流程部分,使用6个左右的课时介绍DSP芯片的集成开发环境CCS,程序编译、调试的基本流程和一个基本的C语言实现的DSP基础例程。对于一个DSP工程来说,既可以用C语言实现,也可以用汇编语言实现,或是两者混合编程。由于采用汇编语言指令较多且十分繁琐,而且目前实际工程中使用较少,因此过多汇编语言介绍反而不利于学生的理解和实际开发能力的快速提高。因此,直接介绍C语言编程方法,不仅可以增强软件的可读性,提高软件开发速度,而且使学生在短时间内可以上手编程,从而提高学习效率,也提高学习积极性。

2.2课程实验内容设计

DSP课程实验环节是使学生深入理解DSP芯片各部分结构和工作原理,提高编程开发能力的关键。为了使学生能最终实现本设计案例的功能,并充分考虑不同学生的能力水平和学习期望的差异,在课程实验内容设计上采用分层的设计方案。既保证大多数学生具有基本的DSP编程开发能力,又着重培养一部分有愿望且有能力和潜力的学生成为具有较强DSP实际开发能力的嵌入式软件工程师。实验具体分为以下3个层次。

2.2.1基础实验。包括熟悉CCS开发环境、程序编译流程和调试工具,用C语言实现一个基本的用定时器和GPIO端口控制的LED灯闪烁功能。通过实验培养学生基本的DSP编程能力。

2.2.2模块实验。根据DSP各模块编程开发的特点和实现综合性案例的需要,分层次地逐步提高学生DSP编程能力,为实现综合案例的各模块功能做好准备。实验包括McBSPs控制串口通信实验、GPIO模拟串口控制实验、事件管理器控制电机实验。通过这些实验使学生深入理解DSP各模块工作原理并巩固提高DSP编程应用能力。

2.2.3综合案例实验。要求5名左右学生一组,根据自身兴趣和能力选择实现本综合案例的部分功能或全部功能,或者自选相应课题进行基于DSP的嵌入式系统设计与实现。综合性案例实验既可以培养学生DSP编程开发的综合应用能力,又可以培养其团队合作精神。最终由任课和实验老师分组验收实验程序和成果。

3 结语

DSP技术是伴随着计算机与信息技术不断发展的技术,其课程教学方法也应不断创新发展。本文针对高校DSP课程教学和实验环节中课时少、内容多、学习难度大、不易激发学生学习热情等问题,设计综合性DSP应用案例,提出以实现综合性案例为目标设计教学内容和实验环节,强调简要介绍芯片原理并着重加强C语言编程训练,使学生在有限课时内既掌握DSP基本原理,又以明确的应用目标为牵引充分锻炼编程开发能力,获得了较好的效果。

[1]茅剑.DSP课程教学方法改革研究[J].计算机教育,2014(24):39-42.

[2]裴荣,卜雄洙,牛国柱,等.基于工程的DSP课程实验设计研究[J].实验技术与管理,2011(8):96-99.

[3]于冬梅,韩晓新,朱成喜.“DSP技术与应用”课程中实验教学改革研究[J].江苏理工学院学报,2015(2):116-120.

[4]邢铭生,朱浩,王宏斌.语音识别技术综述[J].科协论坛,2010(3):62-63.

[5]董桂官,刘云,徐楠.智能电视中文语音识别测试研究[J].电声技术,2014(11):57-59.

[6]丁祥,万旺根.音频编解码器TLV320AIC23及其与DSP接口设计[J].单片机与嵌入式系统应用,2002(6):35-37.

Research on Teaching Reform of DSP Course in Universities Based on Comprehensive Example

Chen EnqingSong YuquanZhang LiangWang Zhongyong
(School of Information Engineering,Zhengzhou University,Zhengzhou Henan 450001)

According to the problem in the teaching of DSP course in colleges and universities,a scheme of teaching and experiment reform was proposed.A comprehensive practical example,the intelligent home control systems based on speech recognition using DSP,was designed in this paper.In addition,the detailed schedule of teaching and experiment in order to realize the practical example was given.The analysis and practical results showed that the proposed comprehensive example and teaching scheme could achieve favorable effect.

DSP;case teaching method;course reform

G642

A

1003-5168(2016)06-0021-03

2016-05-05

陈恩庆(1977-),男,博士,副教授,研究方向:信号处理理论与应用、计算机视觉与人工智能等。

猜你喜欢
串口编程语音
编程,是一种态度
元征X-431实测:奔驰发动机编程
浅谈AB PLC串口跟RFID传感器的通讯应用
编程小能手
纺织机上诞生的编程
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
数字电源内部数据传输的串口通信方法实现