《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于lwIP的電梯實時通話系統(tǒng)實現
基于lwIP的電梯實時通話系統(tǒng)實現
2016年微型機與應用第12期
郭曉天1,2,宋克柱1,2, 高林林1,2
(1.中國科學技術大學 物理學院,安徽 合肥 230026;2.核探測技術與核電子學國家重點實驗室,安徽 合肥 230026)
摘要: :各地電梯事故頻發(fā),電梯五方對講系統(tǒng)是乘客被困后用于緊急求援的重要手段。針對電梯實時通話系統(tǒng)的需求和穩(wěn)定性問題,設計了一種基于物聯(lián)網的智能電梯監(jiān)控分布式系統(tǒng)的實現方案,在此基礎上詳細介紹了基于lwIP的實時網絡通話的軟件實現,并使用Speex語音壓縮技術減少網絡帶寬占用,優(yōu)化了通話實時性,保證了電梯監(jiān)控中心服務器在多部電梯通話請求并發(fā)情況下的穩(wěn)定性。
Abstract:
Key words :

  摘要:各地電梯事故頻發(fā),電梯五方對講系統(tǒng)是乘客被困后用于緊急求援的重要手段。針對電梯實時通話系統(tǒng)的需求和穩(wěn)定性問題,設計了一種基于物聯(lián)網的智能電梯監(jiān)控分布式系統(tǒng)的實現方案,在此基礎上詳細介紹了基于lwIP的實時網絡通話的軟件實現,并使用Speex語音壓縮技術減少網絡帶寬占用,優(yōu)化了通話實時性,保證了電梯監(jiān)控中心服務器在多部電梯通話請求并發(fā)情況下的穩(wěn)定性。

  關鍵詞:電梯監(jiān)控;實時通話;網絡協(xié)議;語音壓縮

0引言

  電梯行業(yè)日益發(fā)展,不同小區(qū)的電梯在地域上分布廣,數量多,導致傳統(tǒng)人工維修和處理故障的方法效率低下,電梯的維修保養(yǎng)成本高昂。

  現有的電梯智能監(jiān)控系統(tǒng)[12]中, 往往使用SIM卡作為監(jiān)控數據傳輸或通話的載體,但是其通話及網絡均依賴井道里的信號強度。每個小區(qū)電梯需要SIM卡的數量比較多的情況下,隨著時間增加,產生了電梯維護成本高的問題。為此,本文開發(fā)了一種基于互聯(lián)網的分布式電梯智能監(jiān)控系統(tǒng),實現了電梯狀態(tài)監(jiān)控和緊急情況下五方實時網絡通話的功能,具有很強的應用價值和前景。

1分布式智能電梯監(jiān)控系統(tǒng)

  許多小區(qū)電梯維修或者緊急救援效率低,往往會影響到人們正常生活和生命安全。隨著智慧城市建設的展開,基于物聯(lián)網設計一種新型的大規(guī)模分布式電梯智能監(jiān)控系統(tǒng)是必然的趨勢。 

001.jpg

  整個分布式智能電梯監(jiān)控系統(tǒng)由底層監(jiān)控系統(tǒng)、小區(qū)網絡部分、電梯監(jiān)控服務中心三部分組成,如圖1所示。底層監(jiān)控系統(tǒng)主控芯片選用意法半導體公司生產的STM32F407,安裝在電梯轎廂頂部監(jiān)控電梯運行狀態(tài),且獨立于電梯運行控制系統(tǒng),通過網絡連接到單元交換機。小區(qū)網絡節(jié)點依托于小區(qū)電梯數量鋪設,每個節(jié)點按照設置規(guī)則管理每部電梯網絡數據的收發(fā)。電梯監(jiān)控服務中心的主要功能是與各個小區(qū)網關節(jié)點網絡通信,接收各小區(qū)電梯運行狀態(tài)數據并建立數據庫。在緊急情況發(fā)生時,電梯監(jiān)控服務中心需要通過網絡與轎廂內人員實時通話。

  在每部電梯頂部安裝的底層監(jiān)控系統(tǒng)采集電梯運行狀態(tài)和參數,并將其通過交換機經小區(qū)光纖上傳到電梯監(jiān)控中心,如果出現電梯運行異常,電梯監(jiān)控中心能夠及時收到報警信息[3]。監(jiān)控中心將電梯出錯信息通過網絡或者短信推送到小區(qū)附近的維修人員[4],從而提高了電梯維修效率,降低了維修成本。維修人員通過監(jiān)控系統(tǒng)提供的電梯運行狀態(tài)錯誤代碼能準確判斷出運行故障,從而節(jié)約維修時間。

2通話系統(tǒng)技術實現

  當電梯轎廂里緊急按鈕按下時,五方對講系統(tǒng)啟動,電梯轎廂與電梯監(jiān)控中心可實時進行語音通話,底層監(jiān)控系統(tǒng)通過網絡發(fā)送與接收通話時的語音數據流。

  在本電路系統(tǒng)中,采用LAN8720芯片作為物理層,傳輸協(xié)議采用輕量級開源協(xié)議棧lwIP[5],移植語音壓縮Speex算法對音頻流進行編解碼,從而實現了低帶寬占用的語音數據流的雙向實時傳輸。

  通話系統(tǒng)核心程序采用C語言編寫,為保證商業(yè)化使用方便及穩(wěn)定性,單片機STM32內部并未移植類似于RTThread的操作系統(tǒng),采用基本定時器的中斷方式解決狀態(tài)跳轉等問題,系統(tǒng)成本低,穩(wěn)定性高。

  2.1數據流控制

  單片機STM32的直接存儲訪問(Direct Memory Access,DMA) 控制器基于總線矩陣與獨立先入先出隊列(First Input First Output, FIFO)的結合,比普通CPU內存拷貝操作更加快速[6]。在通話系統(tǒng)中,音頻芯片WM8978音頻采樣的數據與STM32內部數組的雙向傳遞通過DMA技術能大大減小CPU占用率,并解決了在全雙工對話時語音數據同步收發(fā)的問題。

  在移植的lwIP協(xié)議中,接收和發(fā)送以太網數據時STM32和內存之間的數據交換使用DMA技術能夠減小每包間相對延遲,保證對話流暢度。

  2.1.1音頻接收與發(fā)送

  在通話系統(tǒng)程序中DMA技術用于音頻采樣的數據流與STM32內部數組緩存空間的數據雙向傳遞,可以減少數據傳輸的延遲。

  如圖2所示,音頻芯片WM8978與STM32交換數據的流程中, DMA總線每次將編碼與解碼需要的數組填充好后自動切換數組進行下一次填充,不涉及CPU操作,節(jié)省數據拷貝時間。每次填充時根據標志位判定哪個數組為空,每幀填充耗時為20 ms,填充后更改標志位并觸發(fā)中斷通知CPU對數組里數據進行編解碼操作。

  

002.jpg

  2.1.2網絡接收與發(fā)送

  每幀語音數據經過Speex壓縮算法編碼后,由lwIP協(xié)議循環(huán)發(fā)送到電梯安全監(jiān)控中心。安全監(jiān)控中心將每幀語音數據發(fā)送到STM32,STM32接收數據后進行Speex解碼,再將數據發(fā)送至音頻芯片播放。

  如圖3所示,通過lwIP協(xié)議接收時,每幀數據(20 B)到達單片機時會觸發(fā)中斷,接收標志位翻轉。單片機STM32檢測到接收標志位后會進行Speex解碼處理,并將標志位清零。每幀數據解碼后的緩存數據大小為320 B,存儲于數組中并通過I2S接口發(fā)送到左右聲道播放,同時音頻芯片I2S接口錄音數據流也通過DMA技術傳輸到STM32芯片。編碼時,通過檢測音頻數據接收標志位判斷DMA已填充數組(recbuf1[]或recbuf2[]),從而對錄音數組進行編碼,更新發(fā)送標志位,通知lwIP協(xié)議發(fā)送。  

003.jpg

  在STM32中以太網接收和發(fā)送FIFO緩存數據,通過硬件DMA復制到內存中,不需要經過內存拷貝memcpy函數。在無操作系統(tǒng)的程序框架中,該操作保證數據交換時不占用CPU,相比普通操作系統(tǒng)中雙線程交換數據穩(wěn)定性更高。

  2.2系統(tǒng)優(yōu)化

  實時通話時,音頻數據需要與電梯監(jiān)控中心協(xié)同收發(fā),要盡量減少通話過程中因延時造成的溝通問題。

  2.2.1網絡協(xié)議lwIP優(yōu)化

  lwIP協(xié)議棧中使用pbuf結構體來描述以太網中緩存數據包,通過鏈表指針管理數據地址。

  制約UDP協(xié)議性能的瓶頸之一是內存數據的拷貝,接收1 KB數據包時,內存拷貝在底層驅動讀入FIFO中的數據后會拷貝到lwIP協(xié)議棧中的pbuf緩存中,而在用戶需要數據包時,協(xié)議棧中對應的拷貝庫函數會將pbuf中數據拷貝到用戶開辟的內存數組中。整個數據流程約占用總接收時間的一半[7],導致數據包延遲和處理器低效。

  單片機頻繁接收數據會太過占用內存,同時因解碼時間相對長,會存在緩沖棧溢出的問題。普通中斷方式接收對話數據時,會導致CPU頻繁進入中斷降低效率,造成對話較大延遲甚至丟包的現象。

  在本系統(tǒng)中修改lwIP源代碼[8],對lwIP協(xié)議內存占用率進行了很大改進,協(xié)議棧中內存拷貝不通過CPU,而是采用STM32 的DMA控制器接收和發(fā)送數據。

  如圖4所示,STM32以太網DMA控制器描述符采用鏈式結構,每個描述符都有相應指針存儲緩沖區(qū)地址,當以太網數據包比較大的時候會跨越多個描述符存儲。描述符列表的最后一個描述符會指向第一個,形成鏈式結構[9]。  

004.jpg

  發(fā)送或接收時,每個描述符緩沖區(qū)存儲設置為1 KB大小,STM32芯片中硬件DMA控制器直接參與以太網數據交換。CPU不用參與數據拷貝,相比于普通方式效率提高一倍,并且大幅減小了CPU與中斷線負擔。 如表1所示,若單片機工作頻率為100 MHz,那么CPU拷貝每幀數據需要花費的時間約為3.3 μs。通過DMA總線操作能將這部分時間省略掉,提高效率,也能將CPU空閑出來用于表1優(yōu)化前后運行時間比較拷貝時間/μs優(yōu)化前3.30優(yōu)化后0處理其他函數。

  2.2.2語音壓縮與帶寬優(yōu)化

  在大型分布式電梯管理系統(tǒng)中,并發(fā)情況下多部電梯請求五方對講通話時對電梯控制中心服務器的帶寬壓力非常大,會導致對話延時、服務器死機等諸多問題,因此需要減少單部電梯占用的帶寬。

  語音芯片采樣率為8 kHz,采樣位數為16位,每秒通過DMA控制器的錄音或放音數據大小為31.25 KB。在系統(tǒng)沒有移植Speex語音壓縮算法前,每秒由單片機傳輸到監(jiān)控中心的錄放音數據大小都為31.25 KB,那么每部電梯所占上下行帶寬比較大,均為512 Kb/s。因此在多小區(qū)分布式電梯智能管理系統(tǒng)中,需要解決音頻流數據流太大的問題。

007.jpg

  Speex壓縮算法是一種基于碼激勵線性預測編碼(Code Excited Linear Prediction,CELP)技術的語音壓縮算法[910],在網絡通話中有著極強的應用性[11]。

  線性預測編碼(Linear Predictive Coding, LPC)使用過去樣值對新樣值進行預測,計算出最小誤差信號。設樣值序列為x1,x2…,xN,預測序列為y1,y2…,yN,則:

  2.png

  進行線性預測分析得到一組線性預測系數a1,a2…,aN,使得在該幀語音波形中均方預測誤差E最小。

  B9SWPDG1_EB@JCY){~@6KXM.png

  式中L為線性預測器階數。由于誤差信號動態(tài)范圍比樣本值小,對誤差信號進行量化編碼可以有效降低編碼比特位數。

  如圖5所示,Speex算法解碼過程中,激勵信號e[n]是由基音尖峰預測信號與固定碼書激勵信號c[n]加權得到的。

  e[n]=βe[n-T]+c[n](3)

  式中T為尖峰周期,β為尖峰增益。e[n]通過感知加權合成濾波器,使得在該幀語音波形中均方預測誤差最小,從而合成出語音數據。  

005.jpg

  在窄帶模式(采樣率8 kHz)下,每幀數據信號長度為20 ms,將其分為4個長度為5 ms的子幀。對每個子幀確定基音預測系數,并用固定碼本中某一激勵矢量經過加權合成濾波器并求解最小均方誤差方程,從而選取到最佳激勵矢量計算誤差信號并進行量化編碼。解碼時借助于合成濾波器,將最佳激勵信號通過濾波器產生近似合成語音。

  如圖6所示,實時網絡通話時,每部電梯與音頻芯片交換的音頻數據流速率為62.50 KB/s,單部電梯通話時所占網絡實際帶寬為512 Kb/s。經單片機STM32移植的Speex算法處理后,與電梯控制中心交換的上下行數據流約為1.95 KB,所占網絡實際帶寬減少為15.625 Kb/s。

 

006.jpg

  本系統(tǒng)中通過單片機移植Speex算法實現音頻流壓縮編解碼,使得每秒語音上下行占用帶寬大大減小,降低了智能電梯管理系統(tǒng)對服務器性能的要求,使得電梯智能監(jiān)控中心能夠同時管理幾千余部電梯。

3結論

  本文提出了基于物聯(lián)網的分布式智能電梯監(jiān)控系統(tǒng)設計方案和電梯五方實時通話的技術實現流程。該系統(tǒng)為保證硬件工作的穩(wěn)定性,不移植操作系統(tǒng),而是修改移植網絡協(xié)議lwIP實現系統(tǒng)網絡連接,并通過STM32芯片DMA功能同步控制音頻流,實現了全雙工實時網絡通話,優(yōu)化了通話延時。在大型分布式電梯管理系統(tǒng)中,底層硬件通過移植Speex語音壓縮編解碼算法將網絡帶寬占用減少至原來的1/32,極大減少了單部電梯的帶寬占用,滿足了智能工業(yè)應用的生產需求和大規(guī)模使用要求。

參考文獻

  [1] 吳衛(wèi), 鄭建立, 孫佳新. 基于 RFID 電梯遠程監(jiān)測系統(tǒng)的設計與實現[J]. 微型機與應用,2011,30(3): 9294.

  [2] 閆學勤, 謝麗蓉,程志江,等. ZigBee+ 3G 網絡在新型井道式電梯監(jiān)控系統(tǒng)中的應用[J]. 自動化儀表,2015,36(1):14.

  [3] 李保禮. 電梯實時監(jiān)控與故障報警系統(tǒng)設計研究[J]. 中國機械,2014(15):10.

  [4] 祝尊震, 蘇宇,張玉亮,等. 基于物聯(lián)網技術的電梯安全管理系統(tǒng)[J]. 微型機與應用,2015,34(1):7274.

  [5] DUNKELS A. Design and implementation of the lwIP TCP/IP stack[J]. Swedish Institute of Computer Science, 2001(27): 7792.

  [6] ST Microelectronics. STM32F405xx and STM32F407xx advanced ARMbased 32bit MCUs reference manual[DB/OL].(2015xxxx)[20160228]http://www.st.com/stweb-ui/static/active/cn/resource/technical/document/reference_manual/DM00031020.pdf.

  [7] 徐鑫,曹奇英. 基于 LwIP 協(xié)議棧的 UDP 協(xié)議分析與優(yōu)化[J]. 計算機應用與軟件, 2011, 28(3): 246249.

  [8] DUNKELS A. LwIP source code[EB/OL].(2008323)[20160229] http://download.savannah.nongnu.org/release/lwip/lwip1.3.0.zip.

  [9] 施純啟,吳景東.LwIP在LPC23/24XX以太網MAC控制器上的移植與應用[J].微型機與應用,2014,33(19):6770,75.

  [10] VALIN J M. The Speex codec manual version 1.2 Beta 3[Z].Xiph.org Foundation,2007.

  [11] 謝曉鋼,蔡駿,陳奇川,等.基于Speex語音引擎的VoIP系統(tǒng)設計與實現[J].計算機應用研究,2007,24(12):320323.


此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲主播在线| 香蕉精品999视频一区二区| 国产精品一二| 欧美日韩午夜剧场| 欧美大片在线影院| 免费观看一级特黄欧美大片| 久久亚洲午夜电影| 久久国产精品亚洲va麻豆| 午夜精品视频在线观看一区二区| 亚洲系列中文字幕| 一本色道久久88精品综合| 一区二区三区www| 日韩午夜av电影| 亚洲精品午夜精品| 亚洲欧美综合| 99精品欧美一区二区蜜桃免费| 欧美一区二区免费| 亚洲性夜色噜噜噜7777| 国产精品二区影院| 国产精品美女www爽爽爽| 国产精品久久久久久久久久久久| 国产精品久久久久影院亚瑟 | 亚洲私拍自拍| 亚洲天堂成人| 亚洲欧美日韩在线| 久久精品国产第一区二区三区最新章节 | 免费久久99精品国产| 欧美大片一区二区| 欧美日韩欧美一区二区| 欧美天天综合网| 国产精品久久久久毛片软件| 国产日产高清欧美一区二区三区| 国产手机视频精品| 伊人久久婷婷| 99在线观看免费视频精品观看| 亚洲日本va在线观看| 在线一区亚洲| 欧美一级艳片视频免费观看| 亚洲欧洲在线免费| 这里只有精品电影| 欧美在线|欧美| 美国十次成人| 欧美日韩综合精品| 国产日韩精品视频一区| 亚洲电影观看| 一区二区三区日韩精品| 性视频1819p久久| 亚洲国产高潮在线观看| 99这里只有精品| 欧美一区二区在线看| 免费不卡欧美自拍视频| 欧美日韩综合| 国内久久婷婷综合| 99re热这里只有精品免费视频| 亚洲女女女同性video| 亚洲国产精品毛片| 中国女人久久久| 久久精品视频免费观看| 欧美精品色综合| 国产欧美激情| 亚洲精选成人| 欧美性片在线观看| 国产亚洲一区在线| 亚洲欧洲精品一区二区精品久久久| 在线亚洲伦理| 激情文学综合丁香| 欧美日韩综合在线| 欧美日韩精品免费观看视频完整| 国产欧美日韩三区| 亚洲精品五月天| 欧美中文字幕在线观看| 亚洲免费观看高清在线观看 | 亚洲人屁股眼子交8| 亚洲欧美激情诱惑| 亚洲第一色中文字幕| 亚洲影院污污.| 男人的天堂亚洲在线| 国产欧美日韩不卡| 亚洲欧洲精品天堂一级| 欧美在线免费播放| 亚洲一区在线直播| 欧美韩日一区二区| 国产有码一区二区| 中文在线资源观看视频网站免费不卡| 久久国产精品色婷婷| 亚洲免费在线精品一区| 欧美成人国产| 国产一区二区三区网站| 一本色道久久综合一区 | 欧美尤物巨大精品爽| 欧美色中文字幕| 伊人成人在线| 羞羞答答国产精品www一本| 亚洲网友自拍| 欧美日韩国产首页在线观看| 精品白丝av| 欧美一区二区久久久| 欧美一区二区三区免费在线看 | 影音先锋久久| 欧美一区二区视频97| 亚洲欧美日韩在线不卡| 欧美日韩一区不卡| 亚洲人成网站在线观看播放| 亚洲欧洲日本国产| 久久一二三国产| 好看不卡的中文字幕| 新片速递亚洲合集欧美合集| 性做久久久久久免费观看欧美| 欧美视频第二页| 99精品热视频| 国产精品99久久久久久人| 欧美精品久久99| 91久久一区二区| 日韩视频免费观看高清在线视频| 久久综合精品一区| 激情校园亚洲| 亚洲第一二三四五区| 久久精品一区二区国产| 欧美一区二区成人| 国产精品一区二区三区免费观看| 一区二区欧美亚洲| 中文无字幕一区二区三区| 国产一区在线视频| 一区二区日韩精品| 亚洲午夜未删减在线观看| 欧美人成在线视频| 亚洲人成网站色ww在线| 亚洲作爱视频| 欧美日韩午夜在线视频| 99综合电影在线视频| 在线亚洲成人| 欧美日韩免费在线| 一区二区欧美激情| 亚洲一区二区成人| 国产精品成人一区二区| 亚洲视频欧美在线| 亚洲欧美激情一区| 国产精品视频福利| 午夜视频久久久久久| 久久影院亚洲| 亚洲国产毛片完整版| 亚洲最新视频在线播放| 欧美色图一区二区三区| 亚洲一区欧美一区| 久久久国产亚洲精品| 亚洲第一在线综合网站| 一区二区三区 在线观看视| 国产精品国产a级| 亚洲欧美中文日韩在线| 久久日韩精品| 91久久久久| 亚洲欧美日本国产专区一区| 国产日韩欧美不卡| 亚洲国产第一| 欧美日韩亚洲一区二区三区在线 | 欧美高清视频在线观看| 亚洲乱码视频| 欧美一区成人| 亚洲高清成人| 亚洲女女做受ⅹxx高潮| 国产亚洲综合精品| 亚洲人成在线播放网站岛国| 欧美日韩视频在线观看一区二区三区 | 99精品欧美一区| 国产欧美在线看| 亚洲精品欧美专区| 国产精品日韩欧美大师| 亚洲国产精品女人久久久| 欧美日韩久久不卡| 欧美伊人久久久久久久久影院 | 亚洲一区中文| 红桃视频成人| 亚洲一区二区三区视频| 国产亚洲午夜| 一区二区三区视频在线| 国产一区二区看久久| 日韩视频―中文字幕| 国产欧美视频一区二区| 亚洲精选一区| 国产日韩一区二区三区在线| 亚洲乱码精品一二三四区日韩在线| 国产精品美女在线| 91久久国产综合久久蜜月精品| 欧美性色综合| 亚洲人成网站在线观看播放| 国产精品极品美女粉嫩高清在线| 久久精品一区二区三区四区| 国产精品久久波多野结衣| 亚洲第一福利在线观看| 国产精品久久久亚洲一区| 亚洲激情图片小说视频| 国产日韩欧美日韩| 一级日韩一区在线观看| 国产一区三区三区| 亚洲一区二区三区四区中文 | 国产麻豆精品theporn| 一区二区高清在线观看| 国语自产精品视频在线看8查询8| 亚洲一卡久久| 亚洲三级观看|