亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2014-03-07 14:49:17陳先財孫俊杰張久鵬張偉
        物聯(lián)網(wǎng)技術 2014年2期
        關鍵詞:實時物聯(lián)網(wǎng)嵌入式

        陳先財+孫俊杰+張久鵬+張偉

        摘 要:物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,語音的實時通話在物聯(lián)網(wǎng)時代中更加體現(xiàn)出科技的不斷應用與創(chuàng)新。文章主要介紹了物聯(lián)網(wǎng)下的音頻實時通信技術。具體闡述了系統(tǒng)方案的分析與技術,以及系統(tǒng)平臺的搭建和實現(xiàn)方法,同時結合病房信息管理系統(tǒng)項目的實例,分析了語音通話的設計和實現(xiàn)方法。

        關鍵詞:物聯(lián)網(wǎng);嵌入式;實時;語音;病房信息管理系統(tǒng)

        中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2014)02-0075-03

        0 引 言

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

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

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

        1.1 Linux系統(tǒng)

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

        嵌入式系統(tǒng)是將先進的電子技術應用相結合后的產物,決定了該行業(yè)是一個技術密集型、資金密集型、不斷創(chuàng)新的集成電路系統(tǒng)。例如風河的Vxworks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。

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

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

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

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

        完全兼容POSIX 1.0標準使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。是用戶從Windows轉到Linux奠定了基礎。

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

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

        1.2 ARM處理器

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

        ARM處理器的主要特點如下:

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

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

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

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

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

        (6)指令長度固定。

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

        1.3 OSS與CSS

        在聲卡的驅動有兩種;OSS(開放聲音系統(tǒng));ALSA(先進Linux聲音架構)。Kernel 2.6內核支持ALSA了,但是OSS編程是比較容易上手的,也比較符合Linux的編程框架,而且ALSA配置的時候也可選擇OSS支持,這樣OSS應用程序無需更改就可使用ALSA驅動。為此本文選用OSS類型。

        2 系統(tǒng)實現(xiàn)平臺的搭建

        2.1 軟件搭建

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

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

        # cd /forlinx (進入/forlinx目錄)

        # mkdri /usr/local/arm

        #tar zxvf arm-linux-gcc-4.3.2.tgz -C /

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

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

        export PATH=/usr/local/arm/4.3.2/bin:$PATH

        export TOOLCHAIN=/usr/local/arm/4.3.2

        export TB_CC_PREFIX=arm-linuxexport

        PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

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

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

        內核移植的方法如下:

        (1) 編譯 Linux-3.0.1

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

        #tar zxf FORLINX_linux-3.0.1.tar.gz

        (2) 配置內核

        配置內核需要先安裝‘libncurses5,以方便使用‘make menuconfig 命令:

        #sudo apt-get install libncurses5-dev

        如果執(zhí)行命令后無法找到libncurses5-dev 安裝包,那就需要先執(zhí)行#sudo apt-get update,再執(zhí)行#sudo apt-get install libncurses5-dev

        (3) 編譯內核

        編譯內核的命令如下:

        #make zImage

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

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

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

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

        (3)安裝./etc;

        (4)編譯內核模塊; 即進入Linux內核目錄 make modules APCH = arm

        CROSS_COMPILE = arm-linux-

        (5)安裝內核模塊;

        (6)配置busybox; 即進入busybox目錄執(zhí)行 make menuconfig,選中“Bulidbox as a static binary ”,靜態(tài)鏈接。

        Cross compile prefix(arm-linux-)

        Installation Options —>

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

        (7)編譯、安裝busybox;

        Make ARCH = arm CROSS_COMPILE = arm-linux- Make install

        2.1.3 音頻驅動移植

        音頻驅動移植的程序代碼如下:

        $ make menuconfig

        Device Drivers --->

        <*> Sound card support --->

        <*> Advanced Linux Sound Architecture --->

        <*> OSS Mixer API

        <*> OSS PCM (digital audio) API

        [*] OSS PCM (digital audio) API - Include pugin system

        <*> ALSA for SoC audio support --->

        <*> ASoC support for Samsung

        <*> SoC AC97 Audio support for SMDKC100 - WM9713

        2.2 硬件搭建

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

        圖1 嵌入式系統(tǒng)硬件示意圖

        2.3 Ok6410開發(fā)板

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

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

        3 實時語言程序的設計

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

        //初始化聲卡

        int init_soundcard (int oflag)

        { /* 打開聲音設備 */

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

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

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

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

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

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

        ...

        //錄音函數(shù)

        int recorddata(int soundfdr, unsigned char *buf)

        { ...

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

        //close (soundfd);

        }

        //聲音播放程序

        int playsound(int soundfdw, unsigned char *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 結 語

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

        參 考 文 獻

        [1]司永衛(wèi).實時語言傳輸系統(tǒng)的設計與軟件實現(xiàn)[D].成都:成都理工大學,2011.

        [2]飛凌嵌入式.OK6410開發(fā)板硬件手冊[R].2012.

        [3]程昌南.ARM Cortex-A8硬件設計DIY[M].北京:北京航空航天大學出版社.2012.

        [4]楊黎明.基于RTP協(xié)議的實時語音傳輸研究與實現(xiàn)[D].武漢:華中科技大學,2007.

        [5]史蒂文斯,拉戈,尤晉元,張亞英.UNIX環(huán)境高級編程[M].北京:人民郵電出版社,2006.

        [6]WALL K.GNU/Linux編程指南(第二版)[M].張輝,譯. 北京:清華大學出版社,2002.

        [7]劉華,李軍紅,陽武嬌.基于PXA255的VOIP語音傳輸系統(tǒng)研究[J]. 電子技術,2011(9):79-81.

        3 實時語言程序的設計

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

        //初始化聲卡

        int init_soundcard (int oflag)

        { /* 打開聲音設備 */

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

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

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

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

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

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

        ...

        //錄音函數(shù)

        int recorddata(int soundfdr, unsigned char *buf)

        { ...

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

        //close (soundfd);

        }

        //聲音播放程序

        int playsound(int soundfdw, unsigned char *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 結 語

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

        參 考 文 獻

        [1]司永衛(wèi).實時語言傳輸系統(tǒng)的設計與軟件實現(xiàn)[D].成都:成都理工大學,2011.

        [2]飛凌嵌入式.OK6410開發(fā)板硬件手冊[R].2012.

        [3]程昌南.ARM Cortex-A8硬件設計DIY[M].北京:北京航空航天大學出版社.2012.

        [4]楊黎明.基于RTP協(xié)議的實時語音傳輸研究與實現(xiàn)[D].武漢:華中科技大學,2007.

        [5]史蒂文斯,拉戈,尤晉元,張亞英.UNIX環(huán)境高級編程[M].北京:人民郵電出版社,2006.

        [6]WALL K.GNU/Linux編程指南(第二版)[M].張輝,譯. 北京:清華大學出版社,2002.

        [7]劉華,李軍紅,陽武嬌.基于PXA255的VOIP語音傳輸系統(tǒng)研究[J]. 電子技術,2011(9):79-81.

        3 實時語言程序的設計

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

        //初始化聲卡

        int init_soundcard (int oflag)

        { /* 打開聲音設備 */

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

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

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

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

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

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

        ...

        //錄音函數(shù)

        int recorddata(int soundfdr, unsigned char *buf)

        { ...

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

        //close (soundfd);

        }

        //聲音播放程序

        int playsound(int soundfdw, unsigned char *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 結 語

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

        參 考 文 獻

        [1]司永衛(wèi).實時語言傳輸系統(tǒng)的設計與軟件實現(xiàn)[D].成都:成都理工大學,2011.

        [2]飛凌嵌入式.OK6410開發(fā)板硬件手冊[R].2012.

        [3]程昌南.ARM Cortex-A8硬件設計DIY[M].北京:北京航空航天大學出版社.2012.

        [4]楊黎明.基于RTP協(xié)議的實時語音傳輸研究與實現(xiàn)[D].武漢:華中科技大學,2007.

        [5]史蒂文斯,拉戈,尤晉元,張亞英.UNIX環(huán)境高級編程[M].北京:人民郵電出版社,2006.

        [6]WALL K.GNU/Linux編程指南(第二版)[M].張輝,譯. 北京:清華大學出版社,2002.

        [7]劉華,李軍紅,陽武嬌.基于PXA255的VOIP語音傳輸系統(tǒng)研究[J]. 電子技術,2011(9):79-81.

        猜你喜歡
        實時物聯(lián)網(wǎng)嵌入式
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
        基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運輸管理系統(tǒng)設計與應用
        基于高職院校物聯(lián)網(wǎng)技術應用人才培養(yǎng)的思考分析
        一種改進的混音算法的研究與實現(xiàn)
        等公交,從“實時”開始
        人民周刊(2016年15期)2016-09-28 09:18:50
        基于GNSS實時在線監(jiān)測技術在天津市大型水工建筑位移監(jiān)測的關鍵技術研究
        中國或成“物聯(lián)網(wǎng)”領軍者
        一種基于鼠標定位原理的單目視覺定位技術
        科技視界(2016年7期)2016-04-01 11:30:10
        Altera加入嵌入式視覺聯(lián)盟
        国产精品23p| 欧美肥婆性猛交xxxx| 亚洲精品天堂成人片av在线播放| 中文在线天堂网www| 精品国产日韩无 影视| 内射爆草少妇精品视频| 国产亚av手机在线观看| 伴郎粗大的内捧猛烈进出视频观看 | 国产高清一区二区三区三州| 亚洲av午夜福利精品一区| 天天躁日日躁狠狠躁人妻 | 中文字幕一区二区三区在线看一区| 美丽的小蜜桃在线观看| 日日碰狠狠添天天爽| 综合精品欧美日韩国产在线| av天堂一区二区三区精品| 成人性生交大片免费入口| 亚洲综合欧美在线一区在线播放| 国产精品爆乳在线播放| 精品国产污黄网站在线观看 | 日本特黄特色特爽大片| 999国产一区在线观看| 国产一区二区三区色区| 亚洲国产性夜夜综合另类 | 国产人妖一区二区在线| 精品国产精品三级在线专区| 亚洲精品国产av天美传媒| 亚洲最新版无码AV| 日韩av一区二区无卡| 亚洲中文字幕无码av永久| 精品国产18久久久久久| 男女激情床上视频网站| 精品人妻久久一区二区三区| 少妇无码av无码专区| 亚洲高潮喷水中文字幕| 亚洲国产一区二区av| 永久免费人禽av在线观看| 亚洲精品不卡电影| 国产午夜精品av一区二区三| 精品无码一区二区三区爱欲| 少妇的肉体k8经典|