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

        ?

        基于GM8126的數(shù)字可視對講系統(tǒng)設(shè)計與實現(xiàn)

        2014-09-10 01:18:14孫克輝
        計算機工程與設(shè)計 2014年5期
        關(guān)鍵詞:單片機系統(tǒng)設(shè)計

        孫克輝,喻 煒

        (中南大學(xué) 物理與電子學(xué)院,湖南 長沙410083)

        0 引 言

        可視對講系統(tǒng)作為小區(qū)智能化系統(tǒng)的重要子系統(tǒng),已經(jīng)越來越普遍地應(yīng)用于現(xiàn)代商品住宅小區(qū)中,正朝著數(shù)字化、智能化和網(wǎng)絡(luò)化方向發(fā)展。最初的模擬可視對講系統(tǒng),通過同軸電纜傳輸音頻、視頻信號[1],通過單片機總線傳輸控制信號,但是模擬方式難以解決信號損耗、電磁干擾以及接地干擾等難題[2],而數(shù)字可視對講系統(tǒng)可將音視頻及所有控制信號均通過網(wǎng)線數(shù)字化傳輸。目前數(shù)字對講系統(tǒng)大多采用ARM[3,4]核芯片或者ARM+DSP結(jié)構(gòu)作為控制器,但是這種模式集成度不夠高,需要開發(fā)大量視頻壓縮編碼軟件,開發(fā)成本高,周期長。與此同時,目前大多數(shù)對講系統(tǒng)的室內(nèi)機采用的是墻壁式座機,形式上較傳統(tǒng),并且使用不夠方便。本文設(shè)計的對講系統(tǒng)采用基于ASIC架構(gòu)的SOC系統(tǒng)集成芯片的設(shè)計思路,克服了傳統(tǒng)結(jié)構(gòu)的不足,采用分層和模塊化的結(jié)構(gòu)設(shè)計,應(yīng)用臺灣智源公司的GM8126作為門口機主控芯片[5],實現(xiàn)基于TCP/IP協(xié)議的數(shù)字可視對講系統(tǒng)。采用 G.711[6]A 率標(biāo)準(zhǔn)和 H.264[7]格式分別對音、視頻數(shù)據(jù)進行編解碼。室內(nèi)機采用Android智能手機,節(jié)約了硬件成本,方便使用,利用基于802.11g的無線局域網(wǎng)實現(xiàn)數(shù)據(jù)接收與發(fā)送。

        1 可視對講系統(tǒng)總體方案

        可視對講系統(tǒng)總體方案設(shè)計如圖1所示,由門口機、室內(nèi)機、管理機和中間連接作用的交換機和路由器組成,此系統(tǒng)基于TCP/IP協(xié)議在局域網(wǎng)內(nèi)進行所有數(shù)據(jù)傳輸。門口機主要完成對音、視頻數(shù)據(jù)的處理,主要包括以下幾點:①控制采樣速率。②控制圖像傳感器。③采集視頻數(shù)據(jù)并進行H.264壓縮處理。④采集音頻數(shù)據(jù)并根據(jù)G.711 A率壓縮標(biāo)準(zhǔn)對音頻數(shù)據(jù)進行壓縮編碼。⑤對音、視頻數(shù)據(jù)進行傳輸。⑥解壓接收到的音頻數(shù)據(jù)并播放。⑦與單片機通信。室內(nèi)機則主要完成接收音、視頻數(shù)據(jù)并解碼播放;采集音頻數(shù)據(jù)并進行G.711A率壓縮,再將其傳輸給門口機;發(fā)送命令給門口機等功能。管理機主要實現(xiàn)對住戶小區(qū)的信息管理,可以對小區(qū)樓棟的門口機進行管理,具有最高的管理權(quán)限;可以接受住戶、訪客的報警;可實現(xiàn)與住戶的視頻對講。

        圖1 可視對講系統(tǒng)框架

        2 門口機硬件設(shè)計

        臺灣智源科技生產(chǎn)的GM8126被作為門口機主控芯片,是智源科技推出的新一代最高整合度之HD H.264SOC監(jiān)控攝像機IP CAM單芯片,它支持H.264基本檔次、MPEG4和JPEG的硬件編碼,同時集成了圖像處理功能,如ISP(image sensor processor)、去噪聲等功能,內(nèi)置了音頻 AD/DA轉(zhuǎn)換模塊。除此之外,它擁有先進的高整合與低功耗電源管理技術(shù),高性能FA626TE內(nèi)核,主頻高達533MHz,能輕松實現(xiàn)各種智能算法,集成10/100M以太網(wǎng)網(wǎng)絡(luò)模塊,最大處理速度可達45fps@720P,30fps@1080P。

        門口機硬件設(shè)計分為4個模塊:音視頻模塊、最小系統(tǒng)模塊、接口模塊和單片機模塊,其硬件結(jié)構(gòu)如圖2所示。

        圖2 門口機硬件框架

        音、視頻模塊采用1080P高分辨率CMOS圖像傳感器OV2715采集視頻數(shù)據(jù)。其包含了先進的圖像處理功能,如曝光控制、增益控制和白平衡等,最大圖像傳輸速率30fps@1080P,60fps@720P,120fps@VGA。采用駐極體話筒采集音頻信號,設(shè)計LM4895音頻功率放大器驅(qū)動8Ω/0.5W揚聲器,使得播放效果清晰。最小系統(tǒng)模塊包括5V電源及DC-DC轉(zhuǎn)換芯片,提供不同電壓給芯片。8M FLASH用于存儲二進制文件,128MDDR2為內(nèi)存。接口模塊中的RJ45接口為網(wǎng)絡(luò)接口,USB接口用于下載二進制文件到FLASH中,串口0用于系統(tǒng)調(diào)試和打印,而串口1用于與ATMEGA128單片機通信。對于單片機模塊,由于GM8126的I/O口有限,所以設(shè)計ATMEGA128單片機控制3×4按鍵及12864液晶顯示屏,用于訪客輸入房間號等控制信息及信息的更新顯示,再通過串口與GM8126通信傳輸控制信息。

        3 對講系統(tǒng)關(guān)鍵程序開發(fā)

        3.1 門口機軟件設(shè)計

        門口機采用智源公司官方提供的arm-Linux-2.6.28系統(tǒng),并且安裝好OV2715圖像傳感器驅(qū)動fisp_ov2715.ko及 圖 像 處 理 驅(qū) 動 videograph.ko、dvr_enc.ko等, 而GM8126內(nèi)置了音頻AD/DA轉(zhuǎn)換器ADDA300,但是同樣需要加載驅(qū)動snd_fi2s_adda300_c0.ko。所以采用多線程編程技術(shù)處理多任務(wù),這里設(shè)計了4個線程,分別是:

        (1)enq_thread:采集與壓縮編碼線程。視頻采集與編碼流程如圖3所示,其中通過ioctl調(diào)用SDK中DVR_ENC_SET_CHANNEL_PARAM命令設(shè)置通道參數(shù),設(shè)置的通道參數(shù)包括視頻分辨率為1920×1080(1080p),幀率為30fps,I/P幀間隔為30幀,色彩格式Y(jié)∶U∶V=4∶2∶2,編碼格式為H.264。鑒于大多數(shù)Android智能手機分辨率不能達到1080P,且1080P的視頻數(shù)據(jù)量太大,對帶寬要求高,因此啟用GM8126的Scaler功能將視頻裁剪為320×240的分辨率。GM8126的Scaler功能需要將main-bitstream作為其數(shù)據(jù)源,裁剪之后再進行H.264編碼并將編碼后的數(shù)據(jù)作為sub-bitstream,為實現(xiàn)Scaler功能需要設(shè)置部分內(nèi)存參數(shù)如下:

        圖3 視頻采集與編碼流程

        再通過ioctl函數(shù)調(diào)用DVR_ENC_CONTROL設(shè)置ENC_START開始對視頻數(shù)據(jù)H.264硬件編碼。

        音頻的采集與編碼則相對簡單些,GM8126有2個音頻輸入源:LINE IN和 MIC IN,設(shè)置proc文件系統(tǒng)中asound/adda300_input_mode為0,將 MIC IN作為音頻輸入源,從駐極話筒中采集音頻。音頻采集控制流程類似于視頻采集控制流程,主要設(shè)置采樣率為8000Hz,16bit編碼及單聲道通道。但是GM8126并沒有提供對音頻數(shù)據(jù)的硬件壓縮,因此,本文采用G.711標(biāo)準(zhǔn)中的A率對音頻PCM數(shù)據(jù)進行軟件壓縮編碼。采用的A率壓縮算法為

        式中:A——壓縮參數(shù),x——語音信號。采用廣泛使用的13折線 (A=87.6)近似。

        (2)rtspd_thread:RTSP (real time streaming proto-col)[8]實時傳輸線程。本文采用RTSP協(xié)議實時傳輸門口機音、視頻,RTSP的實現(xiàn)采用的是移植Live555多媒體流化源碼庫。Live555是目前實現(xiàn)RTSP協(xié)議最短小精悍的開源代碼,能很方便的移植到各種嵌入式系統(tǒng)中。Live555源程序?qū)崿F(xiàn)的是音視頻的點播,在服務(wù)器端需要從相應(yīng)音、視頻文件中讀取信息再進行打包傳輸,而可視對講系統(tǒng)需要音視頻的實時播放,因此需要對Live555源程序做適當(dāng)修改。鑒于GM8126采集的音視頻數(shù)據(jù)都在內(nèi)存中,因此關(guān)鍵是將Live555源程序中從文件讀取改為從內(nèi)存中直接映射至Live555緩存中。

        RTSP是一個應(yīng)用層協(xié)議,位于RTP/RTCP(realtime transport protocol/realtime transport control protocol)和RSVP (resource reservation protocol)之上,用來與 RTP、RSVP等底層協(xié)議提供Internet上的整套流式媒體數(shù)據(jù)的傳輸服務(wù)[9]。協(xié)議中請求的命令主要有DESCRIBE、OPTION、PAUSE、PLAY、RECORD、SETUP、TEARDOWN等[10],其連接過程主要分5步驟,如圖4所示。此系統(tǒng)將門口機作為RTSP服務(wù)器端,將室內(nèi)機作為RTSP客戶端??蛻舳撕头?wù)器端在用RTSP命令通信時需要用SDP協(xié)議描述多媒體會話的必要信息,SDP包括以下一些方面:①會話的名稱和目的。②會話存活時間。③包含在會話中的媒體信息,包括:媒體類型、傳輸協(xié)議、媒體格式、多播或遠端 (單播)地址和端口。④使用的帶寬信息。⑤可信賴的接洽信息等。

        圖4 RTSP連接過程

        (3)recv_thread:接收音頻數(shù)據(jù)線程。對講系統(tǒng)是雙向通話,所以需要接收室內(nèi)機 (Android智能手機)發(fā)送過來的音頻數(shù)據(jù),再將每一幀音頻數(shù)據(jù)通過fwrite函數(shù)寫入到GM8126AD/DA 音頻設(shè)備 “/dev/dsp2”中,實現(xiàn) DA轉(zhuǎn)換后,再輸出到LM4895功率放大器驅(qū)動揚聲器發(fā)聲,實現(xiàn)音頻的播放。

        (4)avr_thread:與ATMEGA128單片機串口通信線程。利用GM8126串口1 (“/dev/ttyS1”)與ATMEGA128單片機通信,Linux串口參數(shù)需要設(shè)置結(jié)構(gòu)體struct termios,在此結(jié)構(gòu)中最重要的成員是c_cflag,通過對它的賦值,可設(shè)置波特率、字符大小、數(shù)據(jù)位、停止位、奇偶校驗位等參數(shù)。讀取串口數(shù)據(jù)時需用到read系統(tǒng)調(diào)用,而此函數(shù)會阻塞等待讀取數(shù)據(jù),不利于程序設(shè)計,因此采用select系統(tǒng)調(diào)用檢測I/O設(shè)備,待有數(shù)據(jù)到來時再讀取。本文設(shè)計的可視對講基于IP網(wǎng)絡(luò),因此需要獲取IP地址,而IP地址預(yù)先設(shè)定好與房間號對應(yīng)。所以此線程主要功能為:①接收單片機發(fā)送過來的房間號。②再根據(jù)房間號查找到對應(yīng)的IP地址。③接收室內(nèi)機發(fā)送過來的命令,并發(fā)送給單片機處理,例如 “開鎖”命令。

        3.2 室內(nèi)機 (Android智能手機)軟件設(shè)計

        使用的 Android系統(tǒng)是 Android4.1.2 (MIUI-3.6.21)。為了使室內(nèi)機能實時接收到門口機發(fā)送過來的連接請求,此軟件利用android.app.Service類設(shè)計為Android服務(wù)程序,使得此服務(wù)能長時間在后臺運行,不需要向用戶展示用戶界面,時刻監(jiān)聽著門口機發(fā)送的連接請求。監(jiān)聽到門口機的連接請求之后,啟動鈴聲通知戶主開啟主界面,并啟動設(shè)計的3個線程:Play線程、SendAudio線程、Command線程。

        Play線程負(fù)責(zé)和門口機RTSP服務(wù)器端建立RTSP連接,再接收音、視頻數(shù)據(jù),并解碼播放,流程如圖5所示。Android系統(tǒng)自帶了媒體播放器MediaPlayer,MediaPlayer在底層是基于OpenCore(PacketVideo)的庫實現(xiàn)的。但是MediaPlayer支持的媒體格式只局限于OpenCore中所支持的媒體格式 (3GP,MP4),而Android平臺并不能對H.264格式視頻解碼,因此移植FFmpeg-1.2解碼庫中H.264解碼算法[11]。FFmpeg是一個開源、自由的音、視頻流解決方案,支持絕大多數(shù)音、視頻編解碼標(biāo)準(zhǔn)。所以提取了FFmpeg-1.2中解碼H.264的幾個重要文件,例如:

        H264.c:實現(xiàn)H.264解碼的核心算法代碼;

        Golomb.c:此文件為哥倫布編碼的實現(xiàn);

        Cabac.c:實現(xiàn)自適應(yīng)算術(shù)二進制編碼,H.264采用自適應(yīng)算術(shù)二進制編碼作為一種熵編碼方式。

        并對其中的數(shù)據(jù)結(jié)構(gòu)和函數(shù)做了適當(dāng)?shù)男薷?,編譯成庫文件 (Android_H264.so)后利用JNI接口調(diào)用InitDecoder()函數(shù)初始化解碼器、調(diào)用DecoderNal()函數(shù)對接收到的一幀H.264視頻數(shù)據(jù)進行解碼、調(diào)用UninitDecoder()釋放使用的資源。

        在Android中能夠?qū)崿F(xiàn)音頻功能的接口類有很多[12],本系統(tǒng)的室內(nèi)機將接收到的音頻數(shù)據(jù)經(jīng)G.711A率解碼后則使用Android SDK中直接為PCM數(shù)據(jù)提供支持的接口類—AudioTrack類—播放。

        圖5 Play線程設(shè)計流程

        SendAudio線程負(fù)責(zé)采集住戶音頻數(shù)據(jù)并發(fā)送給門口機。在Android SDK中提供了音頻采集AudioRecord類,調(diào)用構(gòu)造函數(shù)初始化音頻源為 MediaRecorder.Audio-Source.MIC,采樣頻率為8000Hz,AudioFormat.ENCODING_PCM_16BIT編碼,聲道為CHANNEL_CONFIGURATION_MONO等參數(shù),采集到的音頻數(shù)據(jù)讀取到緩存中,再對這些原始數(shù)據(jù)進行G.711A率編碼,以壓縮數(shù)據(jù)量便于數(shù)據(jù)的網(wǎng)絡(luò)傳輸。

        Command線程主要負(fù)責(zé)發(fā)送命令給門口機。鑒于命令數(shù)據(jù)的數(shù)據(jù)量較小,且為使得命令數(shù)據(jù)的可靠傳輸,故使用TCP協(xié)議進行與門口機的通信。

        3.3 真機測試效果

        測試時設(shè)置的圖像分辨率為320×240,這適合大多數(shù)智能手機的屏幕分辨率。經(jīng)GM8126H.264硬件編碼后的I幀平均大小為15984.2bytes,P幀平均大小為4190.5 bytes,平均圖像壓縮率為5.50%,音頻數(shù)據(jù)經(jīng)G.711標(biāo)準(zhǔn)壓縮后為原數(shù)據(jù)量的一半。建立連接后Android手機播放音視頻的延時大約為0.6s。傳輸圖像如圖6所示。結(jié)果顯示圖像較清晰,語言效果良好。

        圖6 視頻測試效果

        4 結(jié)束語

        本文討論了基于高集成度SOC芯片—GM8126的數(shù)字可視對講系統(tǒng)的設(shè)計方法和具體實現(xiàn)流程,該系統(tǒng)以流行的Android智能手機作為室內(nèi)機,使得開發(fā)成本降低、開發(fā)周期縮短、使用更靈活,克服了模擬系統(tǒng)的固有缺點及傳統(tǒng)數(shù)字系統(tǒng)結(jié)構(gòu)復(fù)雜的不足。實驗測試結(jié)果表明,該方案可行性,音視頻質(zhì)量好,為可視對講系統(tǒng)設(shè)計提供了一種新解決方案,具有廣闊的市場前景。下一步將完善對講功能,進一步提高穩(wěn)定性和兼容性。

        [1]Lai C,Huang H,Huang Y,et al.Design and implementation of the DLNA family intercom system for smart homes [J].Computer Journal,2009,52 (8):960-968.

        [2]SHI Baosong,SUN Shouhong,ZHANG Wei.Realization of digital audio transmission for intercom system [J].Journal of Changchun University of Science and Technology (Natural Science Edition),2012,35 (1):90-92 (in Chinese). [石寶松,孫守紅,張偉.對講系統(tǒng)中音頻信號數(shù)字化傳輸?shù)膶崿F(xiàn) [J].長春理工大學(xué)學(xué)報 (自然科學(xué)版),2012,35 (1):90-92.]

        [3]YU Yaoliang,HE Jiaming,LIU Guojian.The design of visual wireless door bell system based on embedded [J].Journal of Hangzhou Dianzi University,2008,28 (5):69-71 (in Chinese).[俞堯亮,何加銘,劉國建.嵌入式無線可視對講系統(tǒng)研究 [J].杭州電子科技大學(xué)學(xué)報,2008,28 (5):69-71.]

        [4]QI Ping,DONG Haifeng.Design and research of multiple video interphone based on Qt [J].Instrument Technique and Sensor,2011 (5):20-23 (in Chinese). [戚平,董海峰.基于Qt的多人可視對講系統(tǒng)的設(shè)計與研究 [J].儀表技術(shù)與傳感器,2011 (5):20-23.]

        [5]Grain Media.GM8126datasheet [EB/OL]. [2011-05-03/2013-07-10].www.grain-media.com.

        [6]Peri c'Z,Nikoli c'J.An adaptive waveform coding algorithm and its application in speech coding [J].Digital Signal Processing,2012,22 (1):199-209.

        [7]Min D,Yueping Z,Loguinov D.A unified traffic model for MPEG-4and H.264video traces [J].IEEE Transactions on Multimedia,2009,11 (5):1010-1023.

        [8]Akhlaq M,Sheltami T R.RTSP:An accurate and energy-efficient protocol for clock synchronization in WSNs [J].IEEE Transactions on Instrumentation and Measurement,2013,62(3):578-589.

        [9]WANG Xiaoyan.Design and implementation of a highly active streaming media server [J].Computer Engineering &Science,2010,31 (2):118-120 (in Chinese). [王小燕.一種高效點播流媒體服務(wù)器的設(shè)計與實現(xiàn) [J].計算機工程與科學(xué),2010,31 (2):118-120.]

        [10]MAO Yanfei,HUANG Zhongdong.Research and design of web DVR system based on real-time streaming protocol [J].Computer Engineering and Design,2011,32 (7):2523-2526(in Chinese).[茅炎菲,黃忠東.基于RTSP協(xié)議網(wǎng)絡(luò)監(jiān)控系統(tǒng)的研究與實現(xiàn) [J].計算機工程與設(shè)計,2011,32(7):2523-2526.]

        [11]JING Hongliang.H.264/AVC video decoder design and implement based on Android [D].Harbin:Harbin Institute of Technology,2010 (in Chinese). [井洪亮.基于 Android的H.264/AVC解碼器的設(shè)計與實現(xiàn) [D].哈爾濱:哈爾濱工業(yè)大學(xué),2010.]

        [12]Reto M.Professional Android 4application development [M].3th ed.SHE Jianwei,transl.Beijing:Tsinghua University Press,2013 (in Chinese).[Reto M.Android 4高級編程 [M].3版.佘建偉,譯.北京:清華大學(xué)出版社,2013.]

        猜你喜歡
        單片機系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        瞞天過海——仿生設(shè)計萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        中文字幕一区二区三区.| 国产激情久久久久影院老熟女免费 | a级毛片毛片免费观看久潮喷| 无码精品色午夜| 亚洲精品国产精品系列| 精品久久久少妇一区二区| 日本高清视频永久网站www| 免费无码av片在线观看| 精品一区二区三区在线观看l| 91亚洲免费在线观看视频 | 无码人妻人妻经典| 国产精品99久久精品爆乳| 亚洲人成在线播放a偷伦| 日韩美腿丝袜三区四区| 国产大片黄在线观看| 日韩人妻无码一区二区三区久久99| 久久国产成人午夜av影院| 日本一区二区偷拍视频| 天天做天天爱夜夜爽毛片毛片| 欧美国产一区二区三区激情无套| 亚洲欧美日韩国产一区二区精品 | 国产精品一区二区在线观看完整版 | 亚洲av无码一区二区三区人妖| 日日摸夜夜添夜夜添一区二区| 国产女主播在线免费观看| 亚洲一区二区三区,日本| 亚洲综合国产一区二区三区| 狠狠久久精品中文字幕无码| 丰满少妇又爽又紧又丰满动态视频| 亚洲精品国产第一综合色吧| 乌克兰少妇xxxx做受野外| 97福利视频| 偷偷夜夜精品一区二区三区蜜桃| 无码av中文一区二区三区 | 精品亚洲成a人无码成a在线观看| 91精品一区国产高清在线gif| 精品一区二区三区免费播放| 国产精品久久久久尤物| 人妻少妇中文字幕av| 欧美精品一区二区精品久久| 中文字幕无码家庭乱欲|