利用实时Java设计数字音频系统

[10-10 20:36:41]   来源:http://www.88dzw.com  电子制作   阅读:8266

文章摘要:在传统的信息技术领域,Java已成为首选的编程语言,因为它能提高开发者的生产率、软件复用率和可靠性,降低软件维护成本,并提供更灵活、更通用的软件结构。 如今,在低级、硬件、实时软件领域已有各种各样的Java方案。但是,当在像数字音频信号处理这样非常低级的软件中应用Java技术时,某些方案将更能发挥传统Java技术的优越性。 其中一种方法基于针对资源受限和安全关键的Java定义的推荐规范。设计该方案的主要目的是保持Java的可移植性、可维护性和可扩展性优势。在系统内的信息流中包括两台计算机,这两台计算机协同操作以便通过网络通讯通道交换音频信息(图1)。 在一个节点上采集到的音频信号被传输至其它节

利用实时Java设计数字音频系统,标签:电子小制作,http://www.88dzw.com
在传统的信息技术领域,Java已成为首选的编程语言,因为它能提高开发者的生产率、软件复用率和可靠性,降低软件维护成本,并提供更灵活、更通用的软件结构。

如今,在低级、硬件、实时软件领域已有各种各样的Java方案。但是,当在像数字音频信号处理这样非常低级的软件中应用Java技术时,某些方案将更能发挥传统Java技术的优越性。

其中一种方法基于针对资源受限和安全关键的Java定义的推荐规范。设计该方案的主要目的是保持Java的可移植性、可维护性和可扩展性优势。在系统内的信息流中包括两台计算机,这两台计算机协同操作以便通过网络通讯通道交换音频信息(图1)。

在一个节点上采集到的音频信号被传输至其它节点,并被输出至远程计算机的扬声器。在第二个节点上采集到的音频信号则在第一台计算机的扬声器中输出。从概念上讲,信息流被构造成两个独立的数字音频数据流。

这种简单的音频处理应用可以被当作PERC Pico应用程序来实现。该软件目前正在开发中,它首次实现了针对安全关键和资源受限应用所提出的实时Java(RTSJ)规范概要分析。“硬实时概要分析(hard real-time profile)”即指这种环境。

图1:一个简单的数字音频应用构成了本文讨论的关键性软件工程的基础。

维护和可扩展性要求

摩尔定律推动了典型嵌入式应用的规模和复杂度快速增长。竞争压力促使软件不断发展,以满足功能越来越强大的硬件的需求。对某些消费电子设备的研究发现,新产品中代码规模的增长速度非常接近摩尔定律,大约每18至36个月就翻一番。

大约20年前,每个新的嵌入式设备中的所有软件通常是由一个或两个工程师在不到一年的时间内写完。而现代嵌入式软件的开发则非常困难。假设每次新产品的软件修订都要求增加数十万,甚至数百万行的代码,那么嵌入式软件开发人员的职责将更多地转向如何解决集成许多独立开发的软件组件所带来的挑战。

这个简单的数字音频例子代表了一种原型的低级嵌入式软件“产品”。对大多数产品而言,开发原始软件的成本要比整个产品生命周期内的软件维护成本小得多。以下列出了该应用在产品生命周期内的发展过程。

(1)软件将需要被移植到不同的操作系统和不同的处理平台上,这将改变它的CPU时间和内存需求。

(2)软件将与各种不同的补充功能集成在一起。也许下一代产品也将包括视频信号。也许它将支持共享数字白板,以便于召开远程会议,或者可能与电子邮件和日历软件集成在一起。或者,一些应用可能增加录制功能,以将会议实况保存在磁盘中。

(3)双节点网络拓扑可能需要进行通用化,以支持有任意多参加者的会议。

(4)模数转换器(ADC)和数字信号处理器(DSP)的接口可以不断发展。在一些配置中,操作系统提供了这种服务。而在其它配置中,这种应用可能包括连接音频子系统硬件和DMA内存设备的设备驱动程序接口。音频硬件本身有望继续发展,这要求软件设备驱动程序不断发展。

(5)网络通信协议可能需要作一些改变。在某些环境中,软件将依赖底层操作系统服务来与网络连接。随着各种网络通信协议的发展,连接操作系统网络业务的接口甚至也可能发生变化,以便提供新的QoS参数和更高带宽。在其它情况下,这种应用将需要包含面向硬件接口的低级设备驱动程序,也可能需要实现通信协议栈。可以采用带冲突检测的载波侦听多路访问(CSMA/CD)技术、无线、光纤和其它有待发明的技术,在低成本专用串行通道、同轴电缆和双绞线数据链接中实现相同的基础通信能力。通信库可能集成了压缩、加密、检错和纠错,以及滑动窗口协议。

上面给出了软件在商业化业务应用中的几种可能发展方式,这里并非想穷举所有的优势,只是为了说明保留Java设计优势的好处,即使是对于一些资源受限和硬实时应用来说。

[1] [2] [3] [4]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作

《利用实时Java设计数字音频系统》相关文章