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

基于物聯網的實時語音通信研究及其應用

2014-03-07 14:49:17陳先財孫俊杰張久鵬張偉
物聯網技術 2014年2期
關鍵詞:物聯網嵌入式

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

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

關鍵詞:物聯網;嵌入式;實時;語音;病房信息管理系統

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

0 引 言

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

1 系統方案的分析與設計

在物聯網中系統方案有很多,不同的系統體系使設計難易程度也不同。隨著技術的不斷發展,對系統整體的設計越來越看重。使得選取系統方案成為整個設計與實現的重點。

1.1 Linux系統

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

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

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

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

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

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

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

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

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

1.2 ARM處理器

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

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

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

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

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

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

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

(6)指令長度固定。

ARM提供一系列內核、體系擴展、微處理器和系統芯片方案。目前非常流行的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(開放聲音系統);ALSA(先進Linux聲音架構)。Kernel 2.6內核支持ALSA了,但是OSS編程是比較容易上手的,也比較符合Linux的編程框架,而且ALSA配置的時候也可選擇OSS支持,這樣OSS應用程序無需更改就可使用ALSA驅動。為此本文選用OSS類型。

2 系統實現平臺的搭建

2.1 軟件搭建

2.1.1 Linux環境的配置

首先是要安裝Ubuntu 10.04.04 。Ubuntu是一個以桌面應用為主的Linux操作系統。其次是應當設置Ubuntu網絡參數,以實現PC機與開發板通信。然后就是安裝交叉編譯器:

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

# mkdri /usr/local/arm

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

把交叉編譯器路徑添加到系統環境變量中,以后就可以直接在終端窗口中輸入arm-linux-gcc命令來編譯程序。接著是在終端中執行: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

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

2.1.2 內核移植及根文件系統的制作

內核移植的方法如下:

(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

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

(3) 編譯內核

編譯內核的命令如下:

#make zImage

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

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

(1)創建根文件系統的目錄;

(2)創建設備文件;

(3)安裝./etc;

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

CROSS_COMPILE = arm-linux-

(5)安裝內核模塊;

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

Cross compile prefix(arm-linux-)

Installation Options —>

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

(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 硬件搭建

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

圖1 嵌入式系統硬件示意圖

2.3 Ok6410開發板

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

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

3 實時語言程序的設計

本系統的實時語言程序的設計代碼如下:

//初始化聲卡

int init_soundcard (int oflag)

{ /* 打開聲音設備 */

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

/* 設置采樣時的量化位數 */

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

/* 設置采樣時的聲道數目 */

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

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

...

//錄音函數

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 結 語

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

參 考 文 獻

[1]司永衛.實時語言傳輸系統的設計與軟件實現[D].成都:成都理工大學,2011.

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

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

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

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

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

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

3 實時語言程序的設計

本系統的實時語言程序的設計代碼如下:

//初始化聲卡

int init_soundcard (int oflag)

{ /* 打開聲音設備 */

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

/* 設置采樣時的量化位數 */

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

/* 設置采樣時的聲道數目 */

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

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

...

//錄音函數

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 結 語

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

參 考 文 獻

[1]司永衛.實時語言傳輸系統的設計與軟件實現[D].成都:成都理工大學,2011.

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

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

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

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

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

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

3 實時語言程序的設計

本系統的實時語言程序的設計代碼如下:

//初始化聲卡

int init_soundcard (int oflag)

{ /* 打開聲音設備 */

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

/* 設置采樣時的量化位數 */

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

/* 設置采樣時的聲道數目 */

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

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

...

//錄音函數

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 結 語

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

參 考 文 獻

[1]司永衛.實時語言傳輸系統的設計與軟件實現[D].成都:成都理工大學,2011.

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

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

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

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

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

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

猜你喜歡
物聯網嵌入式
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
基于物聯網的煤礦智能倉儲與物流運輸管理系統設計與應用
基于高職院校物聯網技術應用人才培養的思考分析
基于LABVIEW的溫室管理系統的研究與設計
論智能油田的發展趨勢及必要性
中國或成“物聯網”領軍者
環球時報(2016-08-01)2016-08-01 07:04:45
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 激情综合网激情综合| 国产男女免费视频| 国产久草视频| a级毛片免费网站| 亚洲综合欧美在线一区在线播放| 狠狠久久综合伊人不卡| 男人天堂伊人网| 亚洲码在线中文在线观看| 无码专区国产精品第一页| 日韩国产一区二区三区无码| 国产精选自拍| 国内老司机精品视频在线播出| 亚洲色偷偷偷鲁综合| 57pao国产成视频免费播放| 欧美视频在线播放观看免费福利资源| 国产精品女在线观看| 天堂成人在线| 色婷婷在线播放| 国产黄在线免费观看| 亚洲精品无码高潮喷水A| 黄色片中文字幕| 亚洲熟女偷拍| 久久semm亚洲国产| 午夜免费小视频| 手机成人午夜在线视频| 国产欧美专区在线观看| 久久成人国产精品免费软件| 国产精品熟女亚洲AV麻豆| 亚洲三级影院| 欧美日韩一区二区在线播放| 成人午夜视频网站| 精品国产黑色丝袜高跟鞋| 国产91麻豆免费观看| 国产精品私拍99pans大尺度 | 91在线免费公开视频| 久久国产香蕉| 无码网站免费观看| 国产好痛疼轻点好爽的视频| 天天摸夜夜操| 青青极品在线| 中文字幕1区2区| 免费A∨中文乱码专区| 2021国产乱人伦在线播放 | 国产精品白浆在线播放| 亚洲视频欧美不卡| 精品久久综合1区2区3区激情| AV熟女乱| 成人毛片免费在线观看| 国产精品人莉莉成在线播放| 国产精品一区二区不卡的视频| 国产鲁鲁视频在线观看| 国产午夜精品鲁丝片| 青青青国产视频手机| 2020国产精品视频| 免费可以看的无遮挡av无码| 久青草免费在线视频| 青草免费在线观看| 一级片免费网站| 精品无码人妻一区二区| 99久久精彩视频| 国产主播在线一区| 精品国产香蕉在线播出| 97免费在线观看视频| 国产导航在线| 国产高清在线精品一区二区三区| 最新国产高清在线| 亚洲美女一区二区三区| 国产免费久久精品99re不卡| 国产簧片免费在线播放| 99视频精品全国免费品| 欧美不卡在线视频| 玖玖免费视频在线观看| 亚洲αv毛片| 国产成人区在线观看视频| 天天摸夜夜操| 在线观看无码av免费不卡网站| 999精品视频在线| igao国产精品| a国产精品| 久久亚洲美女精品国产精品| 91美女视频在线观看| 精品国产一区二区三区在线观看 |