0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

智能声防系统中音频控制子系统的两种设计方案的构建及实现

电子设计 作者:电子设计 2018-10-11 07:03 次阅读

在农作物除害方面直接利用有害动物天敌的叫声或其受到捕捉时发出的惨叫声对农作物有害动物进行驱赶(以下简称声防),能避免投放化学药物对水土环境造成污染和可能对人畜的误伤,且相对于超声波驱赶、喷水恐吓等其他驱赶手段更易于实现,驱赶效果更好。国内现有的商品化声防装置普遍存在控制模式简单、声防音质不好、存储器容量小、声防音频文件不便于升级扩展等缺点。应用嵌入式技术改进和提高声防装置多方面性能已成为声防技术发展的趋势之一。现提出一种农业有害动物智能声防系统,在其音频控制子系统的构建上采用两种设计方案。

嵌入式是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。嵌入式技术执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用户很难或者不可能改变固件。

1 智能声防系统原理

如图1所示,智能声防系统的结构分为3层,底层是带有热释电传感器的探测节点,负责探测有害动物在农田中出没的位置;中间层为执行器节点,负责存储、播放声防音频文件;上层是总控制器,负责监控整个系统的运行。系统的各层之间以无线方式进行通信。总控制器定时采集环境信息(如温度、光照),结合农田地理位置、作物种类等信息,并通过查询内部数据库,以当时最有可能出没的2种有害动物作为声防目标,然后定时发送给执行器节点。执行器节点有触发、随机2种工作模式。触发模式下,探测节点探测到有害动物后,向相距最近的执行器节点发出命令。执行器节点根据最近更新的声防目标播放对应的音频文件。

智能声防系统中音频控制子系统的两种设计方案的构建及实现

执行器节点由无线通信模块、音频控制子系统、扬声器以及供电模块等组成。除音频控制子系统外,其他功能模块均采用成熟产品

执行器节点的主要功能由音频控制子系统完成,按实现功能考虑,其应包括大容量高保真数字音频信号存储、解码输出及多种播放模式选控等。为达到高保真的音质要求,声防音频信号的采样率选为44 kHz,采样位数确定为16 bit,其存储格式采用能较好兼顾压缩比和音质的MP3格式;为方便声防音频文件的升级,存储器选用了方便热插拔的SD卡或U盘。

2 方案1的构建及实现

2.1 方案1的硬件构成及实现

音频控制子系统的"单片机+硬件解码"构建与使用单独的硬件解码芯片配合其他控制芯片相比,SoC芯片在电路结构和开发成本上均有较大优势。AT89C51SND1是MP3解码应用中使用最多的SoC芯片之一。它实质上是一款集成了DSP硬件解码器的C51单片机,提供有USB DEVICE、SPI等设备接口,且有54个I/O口供用户使用。基于AT89C51SND1构成音频控制子系统的硬件结构见图2.

智能声防系统中音频控制子系统的两种设计方案的构建及实现

由图2可见,AT89C51SND1通过RS-232串口与无线通信模块相连,采用自定义协议与其进行通信,以实现执行器节点与探测节点、总控制器之间的无线通信。因AT89C51SND1没有集成USB HOST接口,故选择USB接口芯片CH375读写U盘。而实际测试中发现,CH375不能识别有些厂家生产的U盘。故为确保存储的可靠性,选用SD卡作存储介质。SD卡的读写分为SD和SPI方式,而AT89C51SND1只提供MMC接口,无法兼容SD方式,故采用SPI方式读写SD卡。AT89C51SND1上集成了音频输出接口,可将解码后的音频数据以PCM格式或I2S格式输出到后级的低功耗音频数模转换芯片PCM1770.AT89C51SND1通过USB DEVICE接口作为USB从设备与计算机相连,用于烧写应用程序。AT89C51SND1还可通过I/O口与点阵式LCD相连,以输出相关信息。

2.2 方案1的软件设计

图3是音频控制子系统构建方案1的软件流程。上电后,音频控制子系统先完成各种外围设备(包括SD卡、DAC芯片以及LCD等)的检测和初始化,随后进入工作循环。首先对工作模式变量进行判断,若是触发模式,则返回重做判断;若为随机模式,则调用随机数生成子程序,随机生成一个等待时间并延时等待,然后从存储器中读取声防目标变量指定的音频文件并解码播放。在整个工作循环过程中,音频控制子系统开放串口中断。当串口接收到来自无线通信模块的信息时,即产生串口中断。

智能声防系统中音频控制子系统的两种设计方案的构建及实现

音频控制子系统构建方案1的软件,从功能上主要分为随机数生成、SD卡驱动、FAT文件管理、串口通信以及解码控制等5部分。

随机数生成子程序通过调用库函数rand(),在间隔时间变量确定的范围内生成一个随机数并执行延时。

SD卡驱动实现在SPI方式下以扇区(512 B)为单位对SD卡上数据的读写。

由于存储器上一般使用FAT文件格式存放和管理文件,FAT文件管理子程序可实现对存储器上文件目录、数据存放位置的管理,以及在SD卡驱动下读取指定文件的数据。

串口通信子程序实现串口初始化和以字节为单位的数据收发,并在此基础上实现以帧为单位且带有数据校验的串口通信。

解码控制子程序是音频控制子系统软件的重要部分,由于单片机上集成了MP3硬件解码器,用户无需关心解码的具体过程,只要设置好解码器参数并及时将数据送入解码缓冲区即可。MP3音频文件内容分3部分,首、尾2部分用于记录音频文件名称、制作者等信息;中间部分以帧为单位存放压缩音频数据,帧头中包含有音频文件的文件类型、采样率、比特率、声道数等信息。在播放指定的MP3音频文件时,单片机先通过FAT文件管理子程序读取指定文件一个扇区的数据,并以此设置好硬件解码器相关参数;然后,将音频数据依次写入解码器缓冲区,解码器自动对MP3数据解码,并将解码后的数据送入DAC.为实现连续播放,解码控制子程序需要保证在解码数据缓冲区空闲时及时写入待解码的数据。

3 方案2的构建及实现

3.1 方案二的硬件结构及实现

方案2为音频控制子系统的"ARM微处理器+软件解码"构建,该方案的硬件结构如图4所示。ARM微处理器选用了三星公司生产的S3C2440芯片,并扩展了64 MB FLASH,用于存储引导程序和操作系统内核等,同时,还扩展了64 MB SDRAM作为程序的运行空间。S3C2440基于ARM920T内核,工作频率达400 MHz,集成有SD、USB Host、LCD、音频、视频等丰富的外设接口,并提供有130个I/O口,是一款高性能、低功耗微处理器芯片[3].无线通信模块通过RS-232串口与微处理器相连。由于S3C2440上的USB HOST接口只支持USB1.1协议,考虑到兼容性,该方案中仍选择SD卡作为存储器,并以SD方式对其进行读写。S3C2440集成有LCD和触摸屏控制器,可根据需要选择相应的人机交互设备,例如点阵式LCD.S3C2440通过I2S音频接口与具有A/D和D/A功能的低功耗音频处理芯片UDA1341相连,实现音频信号的采集和输出。该系统经以太网控制芯片DM9000A接入以太网,用于与微机相连进行开发调试。为提高系统硬件的电磁兼容性能及可扩展性,硬件设计上采用了核心板+扩展板的模块化结构。

智能声防系统中音频控制子系统的两种设计方案的构建及实现

3.2 方案2的软件设计

方案2的软件结构分为3层,见图5.软件开发平台采用了嵌入式Linux操作系统。Linux是一种稳定、高效、免费的开源操作系统,不仅支持多种体系结构和大量硬件设备,而且其内核可据实际需求裁剪。

智能声防系统中音频控制子系统的两种设计方案的构建及实现

Linux环境下,应用程序对硬件设备的访问,需依靠运行在内核中的驱动程序作桥梁--软件底层的驱动层提供了系统中所有硬件设备的操作接口,包括RS-232串口驱动、SD方式的SD卡驱动、兼容UDA1341音频芯片的OSS(Open Sound System)音频驱动及LCD驱动等;且几乎所有驱动程序均由Linux直接提供,无需研发者自己编写。

软件的中间层是应用程序层,包括音频解码子程序、串口通信子程序、随机数生成子程序等。在嵌入式Linux环境下,有更丰富的系统函数和开源软件作支持,使应用程序的实现更容易。例如,其中的MP3解码子程序采用音频解码库libmad提供的高级API编写。libmad是一个开源的高精度MPEG音频解码库,它支持MPEG-1标准中Layer I、Layer II和LayerIII(即MP3)格式的音频解码,且解码过程使用定点计算,非常适合没有浮点运算支持的平台(如ARM平台)。使用libmad提供的高级API,很容易实现MP3数据的解码,其过程只需打开对应的音频设备文件,并将SD卡上待解码的音频文件映射到内存中,然后调用libmad的解码函数即可。在方案1的实现上,研发者需自己编程实现的FAT文件格式处理、音频参数提取和设置、解码数据读写控制等功能,在本方案中均是由操作系统驱动程序以及libmad解码库中的库函数自动完成的。

4 两种实现方案的实验测试和对比

按上述两方案构建了实现农作物有害动物智能化声防系统用的音频控制子系统。实验测试结果表明,以两种方案研发的音频控制子系统均达到了预期目标,能准确、可靠地与无线通信模块通信,在总控制器控制下实时调整各种工作参数。由于采用不同的硬件平台而构建,2种音频控制子系统实现方案在功能、开发难度以及构建成本等方面有所不同。

在功能方面,方案1能对比特率在192 kb/s及以下的MP3文件做流畅的解码播放,但播放更高比特率的文件时,受AT89C51SND1处理速度以及现有程序的数据读写效率限制,不能保证写入解码缓冲区数据的连续性,从而导致输出声音有间断。而且由于硬件解码的限制,不能对其他格式的音频文件进行解码播放。方案2由于采用软件解码,且所选用微处理器S3C2440的主频达400 MHz,理论上只要移植对应的解码子程序,便可对任何格式的音频文件进行解码播放。对方案2的测试发现,其确实能对任意比特率的MP3、WAV格式的音频文件进行解码播放。而且方案2中,系统完全有能力在完成音频解码任务之同时,还处理更多复杂的任务,具有很强的扩展性。

在软件开发过程中,方案1需要关注每个硬件设备的操作细节,其软件的编程量较大。而方案2由于所选用的Linux操作系统直接提供硬件驱动程序,且也有大量开源软件资源可供应用程序编程所利用,故其软件的开发相对容易。但方案2需移植嵌入式操作系统作为软件开发平台,包括建立BootLoader引导程序,配置、编译并移植操作系统内核和文件系统等,这与采用向单片机直接烧写程序的方案1相比,开发难度稍大。

数字化、智能化是农业现代化发展的必然趋势。为确保可靠性和性能最优,本文利用嵌入式技术、采用两种技术方案研发实现了农作物有害动物智能化声防系统中起重要作用的音频控制子系统。实验测试发现,"单片机+硬件解码"构建方案能基本满足功能需求,但其系统性能和升级扩展能力受到硬件限制;而"ARM微处理器+软件解码"构建方案能完全满足功能需求,而且具有很强的扩展性和可移植性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音频
    +关注

    关注

    28

    文章

    2603

    浏览量

    79986
  • 无线
    +关注

    关注

    31

    文章

    5304

    浏览量

    171482
  • 智能
    +关注

    关注

    8

    文章

    1680

    浏览量

    116949
收藏 人收藏

    评论

    相关推荐

    基于机智云物联网平台的智能垃圾回收箱与控制系统研究

    一款基于机械传动、嵌入式系统和物联网技术的智能垃圾回收箱及控制系统。结合功能需求设计了结构方案,包括尺寸、开关门、夹手机和称重结构等;选型
    发表于 04-09 17:25

    浅谈智能照明控制系统在综合管廊中的设计应用与研究

    项目中推广使用,其良好的控制、节能特性十分适用于城市综合管廊照明系统。 一、城市综合管廊照明特点 城市综合管廊作为一现代化、集约化的城市基础设施,将两种
    发表于 02-27 14:52

    变频器的两种无速度传感器矢量控制模式有什么区别?

    在变频器控制模式中,有无速度矢量传感器模式,该模式又分为两种,无感矢量0和无感矢量1,这两种模式的本质原理是什么?对变频器的控制电机性能和系统
    发表于 02-22 21:45

    智能交通系统子系统不包括哪一项

    智能交通系统是指利用各种先进技术,如传感器技术、通信技术、数据处理技术等,对城市交通系统进行整合和管理的系统智能交通
    的头像 发表于 02-22 10:01 357次阅读

    关于综合管廊供配电系统设计方案

    、安、通信等系统提供电力保证,因此保障管廊安全运行是供配电系统设计的首要目标。 通过对多个综合管廊项目的分析,并结合笔者参与的项目,对综合管廊的供配电设计方案进行简要介绍。 二、项目
    发表于 01-19 17:32

    简述智能制造系统的组成 智能制造系统子系统包括哪些

    。物理层是指制造过程中涉及的物理设备和资源,信息层是指生产过程中产生的信息和数据,决策层是指基于收集到的信息进行决策的系统。 在智能制造系统中,涉及的子系统包括设计
    的头像 发表于 01-19 10:36 766次阅读

    基于Atmega16的室内照明控制系统设计方案

    电子发烧友网站提供《基于Atmega16的室内照明控制系统设计方案.doc》资料免费下载
    发表于 11-03 10:42 0次下载
    基于Atmega16的室内照明<b class='flag-5'>控制系统</b><b class='flag-5'>设计方案</b>

    Linux内核之LED子系统(二)

    这里说一说LED子系统的一些核心源代码文件,是如何实现LED子系统
    发表于 10-02 16:55 278次阅读
    Linux内核之LED<b class='flag-5'>子系统</b>(二)

    STM32单片机实现智能家居控制系统方案

    详细介绍的是使用STM32单片机实现智能家居控制系统方案介绍和源代码等资料合集
    发表于 09-25 06:23

    物联网应用之智慧档案馆八一体化平台

    智能化档案馆八十二一体化监控系统
    发表于 09-14 10:33

    Arm CoreLink™ SSE-200嵌入式子系统技术概述

    SSE-200子系统用于嵌入式驱动器系统架构和软件标准化,旨在提供包含前沿Cortex M和TrustZone技术的高性能计算子系统。 该解决方案由硬件、软件和软件工具组成,可
    发表于 08-28 06:30

    TDA2052有源音频系统电路

      这个TDA2052有源音频系统电路使用三个TDA2052芯片和5个扬声器(一个低音扬声器,个高音扬声器和两个中音)。   对于此TDA2052 TDA2052有源音频系统电路,我
    发表于 08-02 18:08

    Arm Corstone SSE-700子系统技术参考手册

    和外围设备扩展的SoC需要超出最低子系统组件的额外内存和外围组件。例如,闪存没有SSE-700,但可以通过实现的接口添加。 传感器和执行器参考设计可以通过添加传感器或执行器逻辑来扩展,例如温度输入或电机控制
    发表于 08-02 07:46

    音频系统解决方案

    音频系统解决方案
    发表于 07-06 19:45 0次下载
    <b class='flag-5'>音频系统</b>解决<b class='flag-5'>方案</b>

    MCU控制器是什么?MCU控制器有哪些作用?

    自动化、通信设备、医疗设备、安系统等领域。由于MCU具有体积小、功耗低、性价比高等优点,它可以用于构建各种嵌入式系统实现各种
    发表于 05-05 14:59