999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

QNX下實現VoIP語音的應用研究

2012-06-25 02:46:06趙付軒楊斌
單片機與嵌入式系統應用 2012年7期
關鍵詞:系統

趙付軒,楊斌

(西南交通大學 信息科學與技術學院,成都 610031)

趙付軒(碩士生)、楊斌(教授),主要研究方向為單片機與嵌入式系統應用。

引 言

1 嵌入式系統硬件設計

1.1 OMAP3530平臺簡介

如圖1所示,BeagleBoard開發板主要由OMAP3530異構雙核處理器、MMC模塊、電源、I2C總線模塊及多通道緩沖串口(McBSP)等部件組成。系統由MMC模塊通過SD卡啟動Bootloader及QNX操作系統,通過I2C總線模塊連接語音模塊,通過McBSP連接其他模塊。

圖1 BeagleBoard開發板

OMAP3530采用一種獨特的雙核結構,把控制性較強的ARM處理器和高性能、低功耗的DSP結合起來,是一種開放式的可編程體系結構。對于一些運算量大的實時信號,例如圖像、音頻數據,可以采用DSP進行計算,而對于通信、外設控制等功能,則采用ARM處理器來實現,從而在功耗和復雜應用之間建立了良好的平衡。利用不同的內核(ARM和DSP)和硬件加速器的不同功能,根據性能或功耗的要求將一個算法映射到最佳的處理器引擎,這樣分別發揮了DSP和ARM核的優勢,與傳統只使用ARM核或只使用DSP芯片的移動終端相比,OMAP成功實現了性能與功耗的最佳組合。

1.2 ARM和DSP核之間的通信

ARM與DSP通信結構框圖如圖2所示。Codec Engine是連接ARM和DSP或協處理器的橋梁[1],是介于應用層(ARM側的應用程序)和信號處理層(DSP側的算法)之間的軟件模塊。ARM應用程序調用Codec Engine的 VISA (Video,Image,Speech,Audio)API,如圖2中VIDENC_process(a,b,c)。Codec Engine的stub(ARM側)會把參數a、b、c以及要調用DSP側process這個信息打包,通過消息隊列(message queue)傳遞到DSP。Codec Engine的skeleton(DSP側)會解開這個參數包,把參數a、b、c轉換成DSP側對應的參數x、y、z(比如ARM側傳遞的是虛擬地址,而DSP只能認物理地址),DSP側的server(優先級較低,負責和ARM通信的任務)會根據process這一信息創建一個DSP側的process(x,y,x)任務最終實現 VIDENC_process(a,b,c)的操作。

圖2 ARM與DSP通信結構框圖

1.3 語音采集和播放模塊

QSA(QNX Sound Architecture)繼承和擁有大部分0.5.2版的高級Linux聲音架構(ALSA)的特點。雖然QNX聲音架構(QSA)和高級Linux聲音架構(ALSA)有很多相似的地方,但是它們并不兼容。在QNX Neutrino 6.5.0中現在支持兩個以上聲道,并且提供了一種機制,這種機制可以讓你配置聲音轉換器插件以增加或減少聲音或聲道[2]。QNX聲音架構支持各種各樣的數據格式。QNX的聲音架構分三個層次,從上層的ALSA應用層到中間ALSA內核及驅動層(其中包括編解碼器及平臺驅動等),再到最底層的OMAP3530的硬件層(包括I2C總線控制接口、系統DMA及 McBSP)。ALSA SoC架構如圖3所示。

1.4 操作系統

如圖4所示,QNX是一個真正的微內核操作系統[3]。在微內核RTOS中,應用程序、設備驅動程序、文件系統和網絡協議棧都駐留在內核外部的獨立地址空間,它們與內核以及彼此之間相互隔離,因此該系統具有出色的故障包容性,一個組件的故障不會導致整個系統崩潰。QNX是一個多任務、多用戶、分布可嵌入、符合POSIX標準的操作系統。QNX又是一個實時操作系統,它提供用戶可控制的、優先級驅動的、基于優先搶占的調度方式。它的自身開銷小、上下文切換快,在同樣的硬件條件下給實時應用留下更大的余地。

圖3 ALSA SoC架構

圖4 QNX系統微內核架構

2 VoIP技術

2.1 VoIP基本原理

通過語音的壓縮算法對語音數據編碼進行壓縮處理,然后把這些語音數據按TCP/IP標準進行打包,經過IP網絡把數據包送至接收地,再把這些語音數據包串起來,經過解壓處理后,恢復成原來的語音信號,從而達到通過網絡傳送語音的目的。

2.2 VoIP協議

VoIP架構中用到的協議主要有RTP、UDP及IP,語音數據流程如圖5所示。

據自然正家的數據統計,在服務過程中換用公司自發研制的清潔套組后,員工的工作效率提升了17%,客戶滿意率達到98%以上。好品質的清潔套組和高口碑的服務在客戶群中口口相傳,公司的訂單也就越來越多。

圖5 語音數據流程

采集的語音通過壓縮RTP、UDP及IP打包之后通過局域網進行傳輸,然后在接收端解IP包,執行相反的過程,最后播放語音。VoIP通道實際上是語音分組、RTP和UDP的通道。它并非一個IP的通道,因為在每個節點上IP協議都被使用。

作為VoIP的設計者,必須注意緩沖區大小、分組尺寸以及分組丟失率等問題。分組丟失的越多,接收端的語音質量就會越差;而另一方面,分組尺寸太大又會增大等待時間,并造成緩沖區的增大。

2.3 語音壓縮編解碼技術

用于VoIP中的常見的編碼器有:ITU-T G.723語音編碼器、ITU-T G.728語音編碼器、ITU-T G.729語音編碼器。語音編碼器的主要功能就是把用戶語音的PCM樣值編碼成少量的比特(幀)。語音編碼器是建立和處理VoIP分組的發動機,它由DSP驅動。

G.729原來是8kb/s的話音編碼標準[4],現在的工作范圍擴展至6.4~11.8kb/s,話音質量也在此范圍內有一定的變化,但即使是6.4kb/s,話音質量也還不錯,因而很適合在VoIP系統中使用。

3 系統軟件開發架構

由于OMAP3530是ARM和DSP異構雙核處理器,目前還沒有一個統一的集成開發環境,所以本設計需要采用ARM端QNX IDE和DSP端CCS IDE兩套集成開發環境。系統的軟件架構如圖6所示。

圖6 系統軟件架構

為了簡化軟件開發,DSP的軟件結構從通用處理器(GPP)的編程環境中抽象出來。在OMAP軟件體系結構中,這種抽象通過定義一個接口,使GPP成為系統的主控者來實現。該接口由一系列包括設備驅動接口的API組成,提供一種通信機制,使得GPP應用程序能夠完成諸如初始化、控制DSP任務、與DSP交換信息、接收或發送數據流到DSP、狀態查詢等工作。通過資源管理器接口,GPP應用程序調用DSP的功能函數,就像在本地調用一樣。這種軟件體系結構允許開發人員在GPP的操作系統上使用C語言編程,而不直接面對底層硬件,并且使開發人員得以容易地使用符合標準的DSP算法,而無需深入了解DSP就可以利用DSP來加速信號處理任務,實現多媒體、語音或其他功能,從而充分發揮OMAP處理器的性能。

4 系統實現

4.1 語音采集和播放模塊

語音采集和播放模塊的作用是將音頻模擬信號轉換為數字信號,并對信號進行PCM編碼。QNX操作系統中語音采集與播放是相似的,下面介紹具體步驟。

(1)打開PCM設備

打開一個播放設備:

(2)配置PCM設備

snd_pcm_plugin_info()使用插件轉換器,如果硬件有一個自由子通道,插件轉換器可以做任何轉換;snd_pcm_channel_info()直接訪問硬件,這個函數只返回硬件的處理能力。

(3)控制語音轉換

實際的語音轉換是由snd_pcm_voice_conversion結構體控制的。

(4)準備PCM子通道

采集或播放語音流的下一步就是準備運行的已分配的子通道。

① 當沒有用插件接口時使用snd_pcm_plugin_prepare();

② 當沒有準備好時,snd_pcm_channel_prepare()函數會依據指定的通道調用snd_pcm_capture_prepare()或snd_pcm_playback_prepare()。

③關閉PCM子通道,完成采集或播放語音數據時,可以通過調用snd_pcm_close()關閉子通道。

一旦打開和配置了一個PCM回放設備,并且準備好了PCM子通道,就可以采集或播放語音數據了。

4.2 語音網絡傳輸

VoIP中網絡傳輸技術主要是RTP和UDP[6]。由于實時傳輸協議RTP提供具有實時特征的、端到端的數據傳輸業務,因此VoIP可用RTP來傳送話音數據。在RTP報頭中包含裝載數據的標識符、序列號、時間戳及傳送監視等,通常RTP協議數據單元是用UDP分組來承載,而且為了盡量減少時延,話音凈荷通常都很短。IP、UDP和RTP報頭都按最小長度計算。VoIP話音分組開銷很大,采用RTP協議的VoIP格式,在這種方式中將多路話音插入話音數據段中,可以提高傳輸效率。

用較短的數據包來傳送語音業務是很重要的。如果在網絡中丟失了一個數據包,由于短包中包含重要語音信息的可能性較小,所以影響不大。大多數低速率語音編解碼器都只產生短語音數據包,一般幀長為10~30ms,數據包的長度為10~30字節,一種典型的數據包是40字節,采用短包可以使數據比特穿過輸入接口的等待時間縮短。

結 語

對于語音開發來說,QNX實時操作系統是一個不錯的選擇,支持較多的音頻編解碼,編程接口符合POSIX標準,可移植性較強。本設計使用基于OMAP3530處理器的BeagleBoard開發板,功能強大,可以實現較高的語音通話質量。

[1]TI.Codec Engine Algorithm Creator User's Guide[OL].(2010-03)[2012-02].http://www.ti.com.

[2]QNX Audio Developer's guide[OL].(2011-05)[2012-02].http://www.qnx.com.

[3]Getting Started with QNX Neutrino:A Guide for Realtime Programmers[OL].(2011-05)[2012-02].http://www.qnx.com.

[4]ITU-T G.729reference[OL].(2010-08)[2012-02].http://www.itu.int/en/pages/default.aspx.

[5]TI.OMAP3530Datasheet[OL].(2011-01)[2012-02].http://www.ti.com/omap3530.pdf.

[6]Uyless Black.Voice over IP[OL].(2011-06)[2012-02].http://en.wikipedia.org/wiki/Voice_over_IP.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 少妇精品久久久一区二区三区| 在线观看国产精品日本不卡网| 一区二区三区高清视频国产女人| 亚洲男人的天堂在线观看| 欧美在线导航| 国产在线一区视频| 亚洲人网站| 伊人五月丁香综合AⅤ| 国产69囗曝护士吞精在线视频| 国产毛片片精品天天看视频| 在线色综合| 91精品啪在线观看国产60岁| 波多野结衣无码视频在线观看| 久草中文网| 一本大道无码高清| 亚洲欧美综合另类图片小说区| 美女一级毛片无遮挡内谢| 青青热久免费精品视频6| 一本一本大道香蕉久在线播放| 国产在线无码一区二区三区| 日本午夜精品一本在线观看 | 日韩黄色大片免费看| 国产原创演绎剧情有字幕的| 久久精品丝袜高跟鞋| 久久国产精品嫖妓| 国产一区二区色淫影院| 久久国产精品麻豆系列| 国产精品福利社| 亚洲人成人伊人成综合网无码| 成人一级免费视频| 日本免费一区视频| 国内精自线i品一区202| 国产办公室秘书无码精品| 中文国产成人精品久久| 91国内视频在线观看| 成人福利在线免费观看| 久青草网站| 污网站在线观看视频| 免费人成在线观看视频色| 久久久久人妻一区精品| 91综合色区亚洲熟妇p| 美女裸体18禁网站| 色综合手机在线| 天堂成人在线视频| 亚洲午夜久久久精品电影院| 99久视频| 2021天堂在线亚洲精品专区| 日韩无码一二三区| 国产va在线观看| 中文字幕1区2区| 欧美亚洲一区二区三区在线| 成人福利在线视频| 日本午夜视频在线观看| 久久www视频| 一级成人欧美一区在线观看 | 26uuu国产精品视频| 亚洲天堂精品视频| 99久久精品美女高潮喷水| 青青草91视频| 久久综合丝袜长腿丝袜| 毛片免费在线视频| 美女高潮全身流白浆福利区| 国产精品分类视频分类一区| 国产欧美日韩在线在线不卡视频| 久久国产V一级毛多内射| 伊人无码视屏| 免费观看欧美性一级| 日韩精品亚洲人旧成在线| 亚洲日韩欧美在线观看| 91精品国产情侣高潮露脸| 久久综合色88| 日韩在线播放中文字幕| 女人18毛片久久| 日韩第一页在线| 伊人91在线| 国产午夜福利片在线观看| 国产特一级毛片| 欧美www在线观看| 亚洲福利片无码最新在线播放| 亚洲欧美日韩中文字幕在线| 免费高清a毛片| 国产不卡国语在线|