日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,語音的實(shí)時(shí)通話在物聯(lián)網(wǎng)時(shí)代中更加體現(xiàn)出科技的不斷應(yīng)用與創(chuàng)新。文章主要介紹了物聯(lián)網(wǎng)下的音頻實(shí)時(shí)通信技術(shù)。具體闡述了系統(tǒng)方案的分析與技術(shù),以及系統(tǒng)平臺的搭建和實(shí)現(xiàn)方法,同時(shí)結(jié)合病房信息管理系統(tǒng)項(xiàng)目的實(shí)例,分析了語音通話的設(shè)計(jì)和實(shí)現(xiàn)方法。

引言

物聯(lián)網(wǎng)的時(shí)代中信息技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展迅速,多媒體的應(yīng)用越來越廣泛,隨著物聯(lián)網(wǎng)的概念不斷深入人心,可尋址、可通信、可控制、泛在化與開放模式正逐漸成為物聯(lián)網(wǎng)發(fā)展的演進(jìn)目標(biāo)。對物聯(lián)網(wǎng)的多媒體的通信的要求越來越高,需求越來越多,就急需針對物聯(lián)網(wǎng)下的應(yīng)用及其開發(fā),以達(dá)到良好的實(shí)時(shí)通話的性能。

1系統(tǒng)方案的分析與設(shè)計(jì)

在物聯(lián)網(wǎng)中系統(tǒng)方案有很多,不同的系統(tǒng)體系使設(shè)計(jì)難易程度也不同。隨著技術(shù)的不斷發(fā)展,對系統(tǒng)整體的設(shè)計(jì)越來越看重。使得選取系統(tǒng)方案成為整個(gè)設(shè)計(jì)與實(shí)現(xiàn)的重點(diǎn)。

Linux系統(tǒng)

嵌入式系統(tǒng)一般指非PC系統(tǒng),把微處理器(CPU)或者微控制器(MCU)的系統(tǒng)電路與專用軟件相互結(jié)合,以應(yīng)用為中心、計(jì)算機(jī)為基礎(chǔ)、軟硬件可裁剪、適用于應(yīng)用系統(tǒng),對功能、性能等特殊處理的專用系統(tǒng)。

嵌入式系統(tǒng)是將先進(jìn)的電子技術(shù)應(yīng)用相結(jié)合后的產(chǎn)物,決定了該行業(yè)是一個(gè)技術(shù)密集型、資金密集型、不斷創(chuàng)新的集成電路系統(tǒng)。例如風(fēng)河的Vxworks之所以在火星車上得以應(yīng)用,則是因?yàn)槠涓邔?shí)時(shí)性和高可靠性。

嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對軟硬件進(jìn)行裁剪,滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,建立類似的軟硬件基礎(chǔ),然后在此基礎(chǔ)上開發(fā)出各種應(yīng)用需要的系統(tǒng)。目前的嵌入式系統(tǒng)的核心往往是一個(gè)只有幾KB到幾十KB的微內(nèi)核,需要根據(jù)實(shí)際的應(yīng)用進(jìn)行功能擴(kuò)展或者裁減,但是由于微內(nèi)核的存在,使得這種擴(kuò)展能夠非常順利的進(jìn)行。為此本文選用的是Linux系統(tǒng)。

Linux系統(tǒng)的前身基于Unix操作系統(tǒng),是一個(gè)基于POSIX和Unix的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。

Linux的基本思想:所有的都是文件;每個(gè)文件都有特定的功能。包括命令、硬軟件設(shè)備、操作系統(tǒng)、進(jìn)程等等對于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特點(diǎn)的文件。

Linux是一款免費(fèi)的操作系統(tǒng),用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。這是其他操作系統(tǒng)所做不到的。正是由于這一點(diǎn),來自全世界的無數(shù)程序員參與了Linux的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對其進(jìn)行改變,這讓Linux吸收了無數(shù)程序員的精華,不斷壯大。

完全兼容POSIX1.0標(biāo)準(zhǔn)使得可以在Linux下通過相應(yīng)的模擬器運(yùn)行常見的DOS、Windows的程序。是用戶從Windows轉(zhuǎn)到Linux奠定了基礎(chǔ)。

Linux支持多用戶性,各個(gè)用戶對于自己的文件設(shè)備有自己特殊的權(quán)限,保證了各用戶之間互不影響。

Linux可以運(yùn)行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統(tǒng),可以運(yùn)行在電腦、手機(jī)等上。

ARM處理器

作為一種嵌入式處理器,ARM處理器以低成本、高性能。得到了廣大公司及個(gè)人的喜愛。目前,ARM處理器已廣泛應(yīng)用于工業(yè)控制、消費(fèi)電子產(chǎn)品、通信等領(lǐng)域。

ARM處理器的主要特點(diǎn)如下:

體積小、低功耗、低成本、高性能;

支持Thumb(16)/ARM(32位)雙指令集,能很好地處理兼容性;

大量使用寄存器,指令執(zhí)行速度更快;

大多數(shù)數(shù)據(jù)操作都在寄存器中完成;

尋址方式靈活簡單,執(zhí)行效率高;

指令長度固定。

ARM提供一系列內(nèi)核、體系擴(kuò)展、微處理器和系統(tǒng)芯片方案。目前非常流行的ARM芯核有ARM7TDMI,ARM720T,ARM9TDMI,ARM922T,ARM940T,ARM946T,ARM966T,ARM10TDMI等。本文所選用是ARM11系列,其內(nèi)核時(shí)鐘頻率為350?500MHZ,ARM11處理器的功耗可以低至0.4mW/MHz。ARM11處理器采用了易于綜合的流水線結(jié)構(gòu),并和常用的綜合工具以及ARMcompiler良好結(jié)合,多媒體處理擴(kuò)展使MPEG4編碼/解碼加快一倍,音頻處理加快一倍,增強(qiáng)的異常和中斷處理使實(shí)時(shí)任務(wù)的處理更加迅速。

OSS與CSS

在聲卡的驅(qū)動有兩種;OSS(開放聲音系統(tǒng));ALSA(先進(jìn)Linux聲音架構(gòu))Kernel2.6內(nèi)核支持ALSA了,但是OSS編程是比較容易上手的,也比較符合Linux的編程框架,而且ALSA配置的時(shí)候也可選擇OSS支持,這樣OSS應(yīng)用程序無需更改就可使用ALSA驅(qū)動。為此本文選用OSS類型。2系統(tǒng)實(shí)現(xiàn)平臺的搭建

2.1軟件搭建

2.1.1Linux環(huán)境的配置

首先是要安裝Ubuntu10.04.04。Ubuntu是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng)。其次是應(yīng)當(dāng)設(shè)置Ubuntu網(wǎng)絡(luò)參數(shù),以實(shí)現(xiàn)PC機(jī)與開發(fā)板通信。然后就是安裝交叉編譯器:

cd/forlinx(進(jìn)入/forlinx目錄)

mkdri/usr/local/arm

#tarzxvfarm-linux-gcc-4.3.2.tgz-C/

把交叉編譯器路徑添加到系統(tǒng)環(huán)境變量中,以后就可以直接在終端窗口中輸入arm-linux-gcc命令來編譯程序。接著是在終端中執(zhí)行:vi/etc/profie

再就是添加以下4行到該文件中:

exportPATH=/usr/local/arm/4.3.2/bin:SPATH

exportTOOLCHAIN=/usr/local/arm/4.3.2exportTB_CC_PREFIX=arm-linuxexportPKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

最后保存并退出。重新啟動系統(tǒng),在終端里面執(zhí)行arm-linux-gcc并回車。

2.1.2內(nèi)核移植及根文件系統(tǒng)的制作

內(nèi)核移植的方法如下:

編譯Linux-3.0.1

即將壓縮包‘FORLINX_linux-3.0.1.tar.gz'拷貝到工作目錄下,然后解壓縮:

#tarzxfFORLINX_linux-3.0.1.tar.gz

(2)配置內(nèi)核

配置內(nèi)核需要先安裝‘libncurses5\以方便使用‘makemenuconfig'命令:

#sudoapt-getinstalllibncurses5-dev

如果執(zhí)行命令后無法找到libncurses5-dev安裝包,那就需要先執(zhí)行#sudoapt-getupdate,再執(zhí)行#sudoapt-getinstalllibncurses5-dev

(3)編譯內(nèi)核

編譯內(nèi)核的命令如下:

#makezImage

編譯結(jié)束后,將在內(nèi)核源碼目錄的arch/arm/boot中得到Linux內(nèi)核映像文件:zImage

根文件制作可以分為如下步驟:

創(chuàng)建根文件系統(tǒng)的目錄;

創(chuàng)建設(shè)備文件;

安裝./etc;

編譯內(nèi)核模塊;即進(jìn)入Linux內(nèi)核目錄makemodulesAPCH=arm

CROSS_COMPILE=arm-linux-

安裝內(nèi)核模塊;

配置busybox;即進(jìn)入busybox目錄執(zhí)行makemenuconfig,選中“Bulidboxasastaticbinary”,靜態(tài)鏈接。

Crosscompileprefix(arm-linux-)

InstallationOptions—>

然后選中“Don'tuse/usr”,再選中該項(xiàng)可以避免busybox被安裝到宿主系統(tǒng)的/usr目錄下,破壞宿主系統(tǒng)。

編譯、安裝busybox;

MakeARCH=armCROSS_COMPILE=arm-linux-Makeinstall

2.1.3音瘢區(qū)動移植

音頻驅(qū)動移植的程序代碼如下:

$makemenuconfig

DeviceDrivers--->

<*>Soundcardsupport--->

<*>AdvancedLinuxSoundArchitecture--->

<*>OSSMixerAPI

<*>OSSPCM(digitalaudio)API

[*]OSSPCM(digitalaudio)API-Includepuginsystem

<*>ALSAforSoCaudiosupport--->

<*>ASoCsupportforSamsung

<*>SoCAC97AudiosupportforSMDKC100-WM97132.2硬件搭建

嵌入式系統(tǒng)的硬件一般包括處理器/微處理器、存儲器及外設(shè)器件和輸入輸出端口等。圖1所示是嵌入式系統(tǒng)的硬件示意圖。

基于物聯(lián)網(wǎng)的實(shí)時(shí)語音通信研究及其應(yīng)用

2.3 Ok6410開發(fā)板

S3C6410是由三星公司推出的一款低功耗、高性價(jià)比的處理器,它基于ARM11的內(nèi)核,可應(yīng)用于移動電話和通用處理等領(lǐng)域;S3C6410為2.5G和3G通信服務(wù)提供了優(yōu)化的硬件性能,內(nèi)置強(qiáng)大的硬件加速器:包括運(yùn)動視頻處理、音頻處理、2D加速、顯示處理和縮放等;集成了一個(gè)MFC(Multi-FormatvideoCodec)支持MPEG4/H.263/H.264編解碼和VC1的解碼,可以提供實(shí)時(shí)的視頻會議以及NRSC和PAL制式的TV輸出;除此之外,該處理器內(nèi)置一個(gè)采用最先進(jìn)技術(shù)的3D加速器,支持OpenGLES1.1/2.0和D3DMAPI,能實(shí)現(xiàn)4Mtriangles/s的3D加速;同時(shí),S3C6410包含了優(yōu)化的外部存儲器接口,該接口能滿足在高端通信服務(wù)中的數(shù)據(jù)帶寬要求。由于以上突出的性能表現(xiàn),著名的蘋果公司手機(jī)Iphone就是基于S3C6410處理器。

OK6410開發(fā)板基于三星公司最新的ARM11處理器S3C6410,擁有強(qiáng)大的內(nèi)部資源和視頻處理能力,可穩(wěn)定運(yùn)行在667MHz主頻以上,支持MobileDDR和多種NANDFLASH。OK6410開發(fā)板上集成了多種高端接口,如復(fù)合視頻信號、攝像頭、USB、SD卡、液晶屏、以太網(wǎng),并配備溫度傳感器和紅外接收頭等。

3實(shí)時(shí)語言程序的設(shè)計(jì)

本系統(tǒng)的實(shí)時(shí)語言程序的設(shè)計(jì)代碼如下:

//初始化聲卡

intinit_soundcard(intoflag)

{/*打開聲音設(shè)備*/

fd=open("/dev/dsp",oflag);

/*設(shè)置采樣時(shí)的量化位數(shù)*/

status=ioctl(fd,SOUND_PCM_WRITE_BITS,&arg);

/*設(shè)置采樣時(shí)的聲道數(shù)目*/

status二ioctl(fd,SOUND_PCM_WRITE_CHANNELS,&arg);/*設(shè)置采樣時(shí)的采樣頻率*/

status=ioctl(fd,SOUND_PCM_WRITE_RATE,&arg);

//錄音函數(shù)

intrecorddata(intsoundfdr,unsignedchar*buf)

{...

status二read(soundfdr,buf,(LENGTH*RATE*SIZE*CHANNELS/8000));//錄音

〃close(soundfd);

}

//聲音播放程序

intplaysound(intsoundfdw,unsignedchar*buf)

{

status二write(soundfdw,buf,(LENGTH*RATE*SIZE*CHANNELS/8000));/*回放*/

}

While(1)

{

playsound(soundfdw,buf1);

recorddata(soundfdr,buf1);

playsound(soundfdw,buf2);

recorddata(soundfdr,buf2);

}

4結(jié)語

本文開發(fā)的基于Linux的嵌入式系統(tǒng)應(yīng)用醫(yī)院病房管理系統(tǒng),能滿足醫(yī)院病房、護(hù)士站系統(tǒng)提出的語音通信的要求,保證任務(wù)完成的實(shí)時(shí)性、可靠性、實(shí)現(xiàn)護(hù)士與病人的即時(shí)通信。相對于傳統(tǒng)的系統(tǒng)更容易實(shí)現(xiàn)系統(tǒng)集成和維護(hù)。在語音實(shí)時(shí)通信領(lǐng)域有很好的應(yīng)用前景。

20211119_61979b018a7d0__基于物聯(lián)網(wǎng)的實(shí)時(shí)語音通信研究及其應(yīng)用

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉