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

        ?

        嵌入式Linux下的戶外報警對講系統(tǒng)設(shè)計

        2018-11-21 04:40:04郭書軍
        物聯(lián)網(wǎng)技術(shù) 2018年11期
        關(guān)鍵詞:喇叭調(diào)用音頻

        王 碩,郭書軍

        (北方工業(yè)大學(xué) 電子信息工程學(xué)院,北京 100144)

        0 引 言

        當(dāng)社區(qū)公民在戶外遇到突發(fā)情況時,快速與有關(guān)部門取得聯(lián)系非常重要。針對這種社會需求,本設(shè)計提出并實現(xiàn)了一種戶外報警對講系統(tǒng)。當(dāng)社區(qū)內(nèi)發(fā)生突發(fā)事件時,市民能夠通過此設(shè)備第一時間通知社區(qū)控制室,并與工作人員對講以尋求幫助[1-2]。此報警對講系統(tǒng)使用Cortex-A8架構(gòu)的S5PV210 ARM處理器作為CPU,硬件包括音頻模塊、網(wǎng)絡(luò)模塊、SD卡模塊、USB模塊、按鍵報警模塊、顯示模塊等。

        1 系統(tǒng)硬件

        系統(tǒng)采用S5PV210核心板作為主控單元,使用WM8960音頻芯片CODEC進(jìn)行編碼與解碼,使用LM4871音頻功率放大芯片放大聲音信號后傳送到4 Ω/3 W的喇叭輸出。系統(tǒng)選用DM9000網(wǎng)絡(luò)芯片,通過百兆網(wǎng)口與后臺服務(wù)器通信,由I/O口控制LED的顯示以及檢測按鍵報警,由RS 232接口控制LED顯示屏顯示的內(nèi)容。系統(tǒng)預(yù)留了SD卡接口和USB接口,使得系統(tǒng)可以方便地進(jìn)行內(nèi)核燒寫與日后的維護(hù)升級。

        系統(tǒng)硬件框圖如圖1所示。

        圖1 系統(tǒng)硬件框圖

        1.1 音頻處理模塊

        S5PV210支持I2S/PCM/AC97等音頻接口。本開發(fā)板采用I2S0接口,外接有WM8960作為CODEC解碼芯片。WM8960內(nèi)置有D類功放,可以直接驅(qū)動8 Ω/1 W的喇叭,本設(shè)計使用LM4871功放芯片對信號進(jìn)行放大處理。LM4871是一個具有關(guān)斷功能的音頻功率放大器,其具有單位增益穩(wěn)定,外部電路簡單等特點,輸出可以驅(qū)動4 Ω/3 W的喇叭,經(jīng)測試,音量基本達(dá)到了設(shè)計要求。

        音頻功放模塊電路如圖2所示。

        圖2 音頻功放模塊電路圖

        1.2 網(wǎng)絡(luò)模塊

        網(wǎng)絡(luò)部分采用DM9000網(wǎng)卡芯片。DM9000是一款集成了10/100PHY的以太網(wǎng)MAC控制器,它可自適應(yīng)10/100 M網(wǎng)絡(luò),具有支持介質(zhì)無關(guān)接口,支持背壓模式半雙工流量控制模式等特點,同時還支持超低功耗模式,兼容3.3 V和5.0 V輸入輸出電壓。網(wǎng)口使用內(nèi)部已經(jīng)包含耦合線圈的RJ45連接頭,因此不必在電路中另接網(wǎng)絡(luò)變壓器。

        1.3 固件升級模塊

        傳統(tǒng)的嵌入式產(chǎn)品在設(shè)備安裝完成后,對于內(nèi)核驅(qū)動層的升級較為不便,一般需回廠升級或者更換ROM。這種方式不僅效率低下,更大大增加了維修成本。本設(shè)計預(yù)留了SD卡接口和USB接口,系統(tǒng)可以通過SD卡上的Boot Loader啟動并通過USB接口燒寫內(nèi)核。維修人員只需攜帶一張SD卡和一臺筆記本電腦即可完成固件升級工作。

        2 系統(tǒng)軟件

        系統(tǒng)軟件主要由應(yīng)用層軟件以及相應(yīng)的驅(qū)動模塊組成。應(yīng)用層主要包括網(wǎng)絡(luò)模塊、音頻模塊、回聲消除模塊、按鍵控制模塊等。系統(tǒng)軟件模塊組成如圖3所示。

        文中分別詳細(xì)介紹了與音頻處理有關(guān)的ALSA框架,與回聲消除有關(guān)的Speex框架及網(wǎng)絡(luò)通信部分。

        圖3 系統(tǒng)軟件模塊圖

        2.1 ALSA

        S5PV210支持I2S/PCM/AC97等音頻接口。本設(shè)計采用I2S接口進(jìn)行音頻數(shù)據(jù)的傳輸,采用I2C接口對CODEC芯片的寄存器進(jìn)行設(shè)置。整個音頻驅(qū)動基于ALSA音頻架構(gòu)[3-6]。

        ALSA是Linux上一種應(yīng)用比較廣泛的音頻驅(qū)動框架,ALSA包含與音頻編程有關(guān)的API庫[2],及其他方便開發(fā)的工具,如alsamixer可以調(diào)節(jié)音頻混聲器參數(shù),arecord指令可以測試錄音功能,aplay指令可以測試播放功能。

        ALSA的軟件體系結(jié)構(gòu)如圖4所示。

        圖4 ALSA的軟件體系結(jié)構(gòu)圖

        ALSA的API可以分解成控制接口、PCM接口、Raw MIDI接口等。其中PCM接口是管理數(shù)字音頻回放(playback)和錄音(capture)的接口。本文后續(xù)重點將放在該接口上,它是開發(fā)數(shù)字音頻程序最常用的接口。

        要使用ALSA,首先調(diào)用以下語句打開PCM設(shè)備:

        snd_pcm_open(&handle_cap,"hw :0,0",SND_PCM_STREAM_CAPTURE,0);

        設(shè)置語音的硬件參數(shù)??紤]到緊急報警的通話要求僅為清晰,故選用的參數(shù)為:采樣率8 k,單通道,16位。ALSA首先聲明一個結(jié)構(gòu)體snd_pcm_hw_params_t,用來保存句柄的硬件參數(shù),然后調(diào)用參數(shù)設(shè)置語句填充結(jié)構(gòu)體,最后調(diào)用函數(shù)snd_pcm_hw_params進(jìn)行參數(shù)設(shè)置。

        音頻部分代碼運(yùn)用Linux多線程編程技術(shù),其中一個線程負(fù)責(zé)通過UDP接收音頻流并播放,調(diào)用snd_pcm_writei函數(shù)完成寫數(shù)據(jù);另一個線程負(fù)責(zé)采集音頻信號并發(fā)送到服務(wù)器,調(diào)用snd_pcm_readi函數(shù)完成讀數(shù)據(jù)操作。音頻的采集和播放分別維護(hù)一個buffer,由信號量控制各線程對其的使用權(quán),每個buffer有兩個指針,分別表示數(shù)據(jù)的壓入和取出,保證程序有序運(yùn)行。

        2.2 Speex

        由于音頻設(shè)備會出現(xiàn)回聲的現(xiàn)象(遠(yuǎn)端喇叭播放的聲音被麥克風(fēng)采集后又傳回近端),情況嚴(yán)重時對語音質(zhì)量影響極大。本設(shè)計主要采用Speex音頻庫的API,結(jié)合ALSA框架進(jìn)行回聲消除的研究[7]。

        應(yīng)用Speex庫進(jìn)行回聲消除的主要步驟如下:

        (1)首先設(shè)置音頻基本參數(shù),需要調(diào)用以下函數(shù):

        _speex_preprocess=speex_preprocess_state_init(FRAMESIZE,8000);

        在使用其他功能之前首先調(diào)用Speex的預(yù)處理函數(shù)初始化音頻參數(shù),函數(shù)第一個參數(shù)是每幀的大小,第二個參數(shù)是采樣率。在語音通話中一般采用的幀長為20 ms,假如是16 k的語音數(shù)據(jù),幀長20 ms等于320個采樣點。

        (2)創(chuàng)建回聲消除AEC,設(shè)置相關(guān)參數(shù)。調(diào)用speex_echo_state_init(m_nFrameSize,m_nFilterLen) 創(chuàng) 建 一 個AEC(Acoustic Echo Chancellor,AEC),該函數(shù)的第二個參數(shù)是尾音長度,即喇叭到麥克風(fēng)的延遲時間,該參數(shù)直接影響了回聲消除的效果。

        調(diào) 用 speex_echo_ctl(st,SPEEX_ECHO_SET_SAMPLING_RATE,&sampleRate)來設(shè)置相關(guān)參數(shù)。

        (3)最后在線程中循環(huán)調(diào)用函數(shù)消除回聲。調(diào)用speex_echo_cancellation(st,ref_buf,echo_buf,e_buf) 函數(shù) 將 數(shù)據(jù)傳遞給AEC,第二個參數(shù)是喇叭播放數(shù)據(jù),第三個參數(shù)是麥克風(fēng)采集數(shù)據(jù),第四個參數(shù)是回聲消除后的數(shù)據(jù)。

        調(diào)用 speex_preprocess_run(_speex_preprocess,outbuf)啟動Speex的音頻處理進(jìn)行回聲消除。Outbuf即為處理后的數(shù)據(jù)。

        2.3 網(wǎng)絡(luò)通信

        系統(tǒng)使用TCP協(xié)議控制信號的傳輸,使用UDP協(xié)議進(jìn)行音頻流的傳輸[8]。

        下位機(jī)作為TCP客戶端主動向服務(wù)器發(fā)起連接,并且每隔30 s向服務(wù)器發(fā)送一個心跳包,服務(wù)器可以通過判斷接收間隔以判斷下位機(jī)的在線狀態(tài)。下位機(jī)和服務(wù)器通過Modbus協(xié)議進(jìn)行應(yīng)用層數(shù)據(jù)交互,其基本格式為:幀頭+幀長+數(shù)據(jù)區(qū)+校驗碼+幀尾,通過自定義協(xié)議完成上位機(jī)對下位機(jī)的查詢和控制,以及下位機(jī)報警信號的上傳。

        網(wǎng)絡(luò)編程部分應(yīng)用了Libevent事件通知庫,其內(nèi)部使用select,epoll,kqueue,IOCP等系統(tǒng)調(diào)用管理事件機(jī)制。相對于Raw Socket編程,應(yīng)用Libevent事件庫大大提升了網(wǎng)絡(luò)通信的性能與穩(wěn)定性。

        3 結(jié) 語

        本系統(tǒng)在設(shè)計完成后進(jìn)行了完整有效的系統(tǒng)測試,電路板安裝在定制的機(jī)箱殼體內(nèi),并設(shè)計有ESD防護(hù)。本設(shè)備可以安裝在電線桿上或者臨街的墻壁上方便市民使用。

        系統(tǒng)終端控制板如圖5所示。

        圖5 終端控制板實物圖

        最終的測試結(jié)果表明,報警信號可及時上傳,對講語音清晰有效,各類接口功能正常,均滿足了設(shè)計要求,達(dá)到了預(yù)期目標(biāo)。

        猜你喜歡
        喇叭調(diào)用音頻
        喇叭盜竊案
        核電項目物項調(diào)用管理的應(yīng)用研究
        必須了解的音頻基礎(chǔ)知識 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于Daubechies(dbN)的飛行器音頻特征提取
        電子制作(2018年19期)2018-11-14 02:37:08
        我們班的“大喇叭”
        音頻分析儀中低失真音頻信號的發(fā)生方法
        電子制作(2017年9期)2017-04-17 03:00:46
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        喇叭盜竊案
        Pro Tools音頻剪輯及修正
        人間(2015年8期)2016-01-09 13:12:42
        亚洲九九夜夜| 久久这里只精品国产免费10 | 日韩午夜福利无码专区a| 蜜桃日本免费看mv免费版| 亚洲色丰满少妇高潮18p| 啪啪视频一区二区三区入囗| 亚洲一区二区自拍偷拍| 好看午夜一鲁一鲁一鲁| 天天狠狠综合精品视频一二三区| 亚洲Va中文字幕久久无码一区 | 森中文字幕一区二区三区免费| 亚洲色偷偷偷综合网| 天天躁日日躁狠狠躁| 影音先锋每日av色资源站| 欧美人与动牲交片免费| 免费 无码 国产在线观看不卡| 男女啪啪免费视频网址| 国产精品久久av色婷婷网站 | 少妇对白露脸打电话系列| 精品国产一级毛片大全| 国产女主播在线免费观看| 国产亚洲综合另类色专区| 中文字幕人妻无码视频| 在线不卡av片免费观看| 中文字幕av在线一二三区| 精品少妇爆乳无码aⅴ区| 久久精品国产亚洲av热九| 国产三级av在线精品| 青青草亚洲视频社区在线播放观看| 凹凸在线无码免费视频| 国产成人精品一区二区视频| 91精品国产免费久久久久久青草| 国产一区二三区中文字幕| 中文字幕人妻少妇伦伦| 亚洲av网一区二区三区| 中文亚洲成a人片在线观看| 日韩精品一区二区三区毛片| 一区二区三区手机看片日本韩国| 国产三级黄色免费网站| 妺妺窝人体色www看人体| 免费一区二区三区久久|