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解码库中的库函数自动完成的。另外,在OSS音频驱动和SD卡驱动的支持下,可方便地实现对WAV音频文件播放子程序的编制。WAV音频文件由于直接存储了PCM编码的音频数据,虽文件较大,但没有压缩失真,其音质也优于MP3。
软件的上层是流程控制层。由于方案2与方案1所实现的功能基本相同,故其软件的流程并无本质差异,具体功能仍可参见图3。嵌入式Linux具备多任务管理功能,即能以分时复用方式“同时”处理多个进程,并提供有多种进程间的通信协调机制,例如信号机制等。信号机制用于多任务间的通信,其实质是在软件层次上对中断机制的一种模拟。与方案1不同的是,在嵌入式Linux环境中,使用信号机制能方便地实现中断控制。在程序中设置为当串口收到数据时,向系统进程发出信号,系统进程收到信号后转向执行事先指定的处理程序,从而实现中断控制。
4 两种实现方案的实验测试和对比
按上述两方案构建了实现农作物有害动物智能化声防系统用的音频控制子系统。实验测试结果表明,以两种方案研发的音频控制子系统均达到了预期目标,能准确、可靠地与无线通信模块通信,在总控制器控制下实时调整各种工作参数。音频控制子系统在触发、随机2种工作模式下,均能准确、清晰地播放当前声防目标对应的音频文件。采用可热插拔的SD卡确保了声防音频文件更新方便。而且基于所采用的FAT16文件格式,该子系统能支持最高容量为2 GB的S屏蔽电感D卡,实现了大容量音频文件的可靠存储。
由于采用不同的硬件平台而构建,2种音频控制子系统实现方案在功能、开发难度以及构建成本等方面有所不同。
在功能方面,方案1能对比特率在192 kb/s及以下的MP3文件做流畅的解码播放,但播放更高比特率的文件时,受AT89C51SND1处理速度以及现有程序的数据读写效率限制,不能保证写入解码缓冲区数据的连续性,从而导致输出声音有间断。而且由于硬件解码的限制,不能对其他格式的音频文件进行解码播放。方案2由于采用软件解码,且所选用微处理器S3C2440的主频达400 MHz,理论上只要移植对应的解码子程序,便可对任何格式的音频文件进行解码播放。对方案2的测试发现,其确实能对任意比特率的MP3、WAV格式的音频文件进行解码播放。而且方案2中,系统完全有能力在完成音频解码任务之同时,还处理更多复杂的任务(MP3解码程序只占用了S3C2440处理能力的7%左右),具有很强的扩展性。例如,音频控制子系统可在探测器节点发现有害动物后进行声音采集或视频采集,并运行语音识别子程序或经视觉检测对探测到的有害动物种类进行判断,从而使整个声防系统的声防目标更准确,达到更好的声防效果。另外,由于嵌入式操作系统对硬件的屏蔽性,实现方案2的软件很容易在其他硬件平台上移植。
开关电源三种控制技术全面解析开关电源的控制技术主要有三种:(1)脉冲宽度调制(PWM);(2)脉冲频率调制(PFM);(3)脉冲宽度频率调制(PWM-PFM).PWM:(pulse width modulation)脉冲宽度调制
ACTEL FPGA 在便携式系统中的应用分析 在上世纪最后的十年里,重复可编程逻辑器件大放异彩,在通信行也得到了广泛的应用,这一时期FPGA 竞争基本上集中在容量,性能, IO 标准方面。而在便携应用方面因为FPGA 的高昂的价格,惊人的功耗基
TMS320F28335在电网频率测量中的应用本文提出了一种基于TMS320F28335 的频率测量方法, 用于监测电力系统的电能质量。该方法采用DSP 的eCAP 模块和通用定时器对输入信号的上升沿进行捕捉, 通过记录两个上升沿的触发时间得到输