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

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:文章以戶外報警對講系統(tǒng)為研究目標(biāo),設(shè)計實(shí)現(xiàn)了具有一鍵報警和語音對講功能的終端主機(jī)。系統(tǒng)采用Cortex-A8架構(gòu)的S5PV210處理器,搭載Linux系統(tǒng),由ALSA音頻架構(gòu)進(jìn)行音頻數(shù)據(jù)處理,使用Speex音頻架構(gòu)進(jìn)行回聲消除,應(yīng)用開源網(wǎng)絡(luò)事件庫Libevent實(shí)現(xiàn)網(wǎng)絡(luò)通信。同時,系統(tǒng)還集成有LED顯示屏,SD卡,USB接口等。測試顯示,系統(tǒng)報警穩(wěn)定,通話聲音清晰、流暢,達(dá)到了預(yù)期要求。

引 言

當(dāng)社區(qū)公民在戶外遇到突發(fā)情況時,快速與有關(guān)部門取得聯(lián)系非常重要。針對這種社會需求,本設(shè)計提出并實(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Ω/3W的喇叭輸出。系統(tǒng)選用 DM9000網(wǎng)絡(luò)芯片,通過百兆網(wǎng)口與后臺服務(wù)器通信,由I/O口控制 LED 的顯示以及檢測按鍵報警,由 RS232接口控制LED顯示屏顯示的內(nèi)容。系統(tǒng)預(yù)留了SD卡接口和USB接口, 使得系統(tǒng)可以方便地進(jìn)行內(nèi)核燒寫與日后的維護(hù)升級。

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

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

圖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)定,外部電路簡單等特點(diǎn),輸出可以驅(qū)動 4 Ω/3 W 的喇叭,經(jīng)測試,音量基本達(dá)到了設(shè)計要求。

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

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

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)接口,支持背壓模式半雙工流量控制模式等特點(diǎ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ò)通信部分。

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

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 所示。

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

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

ALSA 的 API 可以分解成控制接口、PCM 接口、Raw MIDI 接口等。其中 PCM 接口是管理數(shù)字音頻回放(playback) 和錄音(capture)的接口。本文后續(xù)重點(diǎn)將放在該接口上,它是開發(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 個采樣點(diǎn)。

(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è)備可以安裝在電線桿上或者臨街的墻壁上方便市民使用。

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

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



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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉