隨著人們安防意識的不斷提高,校園安全、家居安全、公共設(shè)施安全越來越受到社會的重視。當(dāng)前廣泛使用的視頻監(jiān)控系統(tǒng)主要通過位置相對固定的監(jiān)控主機(jī)才能獲得監(jiān)控信息,這種由監(jiān)控人員發(fā)起的監(jiān)控方式已不能滿足人們?nèi)找嬖鲩L的多元化需求。順應(yīng)當(dāng)前發(fā)展趨勢,我們整合并擴(kuò)展了傳統(tǒng)監(jiān)控方式,將移動終端引入智能監(jiān)控系統(tǒng)或網(wǎng)絡(luò)中,并加入視頻分析功能,使智能監(jiān)控系統(tǒng)能夠做到智能報(bào)警、實(shí)時控制。云臺攝像機(jī)在上述智能監(jiān)控系統(tǒng)中的作用就相當(dāng)于人體的眼睛。針對以上構(gòu)想,迫切需要設(shè)計(jì)普遍適用的智能云臺系統(tǒng),做到實(shí)時的大范圍巡航和快速定點(diǎn)監(jiān)控,準(zhǔn)確定位突發(fā)情況,全面發(fā)揮云臺攝像機(jī)作為智能眼的作用,與本地監(jiān)控,移動客戶端結(jié)合做到真正的智能化。
1 智能云臺系統(tǒng)總體介紹
智能云臺控制系統(tǒng)的主要控制模塊為Hi3515微處理器,云臺攝像機(jī)采集視頻圖像進(jìn)行顯示,然后根據(jù)實(shí)時監(jiān)控的需要,發(fā)送云臺控制命令,命令通過RS485 電平轉(zhuǎn)換電路發(fā)送至云臺攝像機(jī)?紤]到人機(jī)交互的需要,我們基于自主設(shè)計(jì)的GUI( Graphic User Interface,圖形用戶接口) 為云臺系統(tǒng)設(shè)計(jì)了控制界面,并且完成了實(shí)用的擴(kuò)展和升級工作。智能云臺系統(tǒng)整體架構(gòu)如圖1 所示,整套系統(tǒng)解決方案具有一定的市場競爭力。

圖1 智能云臺系統(tǒng)總體架構(gòu)
2 智能云臺系統(tǒng)硬件設(shè)計(jì)
2. 1 處理器選型
智能云臺系統(tǒng)是智能監(jiān)控系統(tǒng)的子系統(tǒng),考慮到智能監(jiān)控的需要,我們選擇了一款專業(yè)面向安防市場推出的微處理器---Hi3515,Hi3515 是基于ARM926EJ-S 處理器內(nèi)核以及視頻硬件加速引擎的高性能高集成通信媒體SoC 處理器。ARM926EJ-S處理頻率達(dá)400MHz,能夠滿足客戶日益增長的DVR、DVS、IP CAMEra 軟件及其他嵌入式應(yīng)用需求;200MHz 的DDR2 SDRAM 接口能夠提供充足的數(shù)據(jù)處理帶寬和能力; 提供H. 264 和MJPEG 多協(xié)議編解碼和雙碼流編碼能力,編解碼性能高達(dá)120fps D1@ NTSC 或100fps D1@ PAL,能夠滿足最佳的4 路D1、8 路CIF DVR/DVS 解決方案功能、性能和成本需求; 豐富的視頻輸入輸出接口( CVBS、高清VGA、BT. 1120) ,高達(dá)有效分辨率1280x1024@ 60fps VGA輸出能力能夠給數(shù)字監(jiān)控產(chǎn)品帶來更加清晰的畫質(zhì)和視頻體驗(yàn); 集成豐富的外設(shè)接口( SATA/SDIO/SPI /UART /USB) 方便滿足多樣的嵌入式設(shè)備規(guī)格需求,既簡化了硬件板卡設(shè)計(jì),又有效降低整機(jī)的BOM 成本。同時海思半導(dǎo)體擁有針對視頻監(jiān)控領(lǐng)域的從低端到高端的全系列芯片,這對系統(tǒng)升級提供了很好的保證。
2. 2 硬件電路設(shè)計(jì)
系統(tǒng)使用串口對云臺攝像機(jī)進(jìn)行控制,云臺攝像機(jī)控制使用RS485 電平信號,而Hi3515 微處理器串口輸出為TTL 電平信號,需要設(shè)計(jì)電平轉(zhuǎn)換電路將TTL 電平信號轉(zhuǎn)換為RS485 電平信號,圖2 為電平轉(zhuǎn)換電路原理圖。

圖2 智能云臺控制系統(tǒng)電平轉(zhuǎn)換電路原理圖。
云臺攝像機(jī)一般在遠(yuǎn)端,控制信號的傳輸距離會比較長,而RS485 信號的顯著特點(diǎn)是差分傳輸,抗干擾能力強(qiáng),適合遠(yuǎn)距離傳輸,很好地滿足了云臺控制的要求,圖2 中電平轉(zhuǎn)換電路使用的芯片為
3 智能云臺系統(tǒng)軟件設(shè)計(jì)
3. 1 底層驅(qū)動設(shè)計(jì)
系統(tǒng)使用串口對云臺攝像機(jī)進(jìn)行控制,所以底層驅(qū)動需要做的工作就是為Hi3515 編寫串口驅(qū)動。
3. 1. 1 串口設(shè)備注冊
Hi3515 串口設(shè)備注冊的核心結(jié)構(gòu)體是uart _driver 和amba_driver,它們的定義如下:
STatic struct uart_driver amba_reg = {
owner = THIS_MODULE,
driver_name = " ttyAM" ,
dev_name = " ttyAM" ,
major = SERIAL_AMBA_MAJOR,
minor = SERIAL_AMBA_MINOR,
nr =UART_NR,
coNS =AMBA_CONSOLE,
} ;
static struct amba_driver pl011_driver = {
drv = {
name = " uart-pl011" ,
bus =&amba_bustype,
} ,
id_table = pl011_ids,
probe = pl011_probe,
remove = pl011_remove,
} ;
Hi3515 的串口掛載在AMBA 總線上,所以我們必須將串口設(shè)備注冊到AMBA 總線,首先初始化AMBA 總線設(shè)備鏈表,然后判斷是否有設(shè)備要添加,如果有則調(diào)用__driver_attach 函數(shù)將新設(shè)備添加至AMBA 總線設(shè)備鏈表。
3. 1. 2 串口結(jié)構(gòu)設(shè)計(jì)
Hi3515 串口驅(qū)動實(shí)現(xiàn)串口功能的核心結(jié)構(gòu)體為uart_ops,它的定義如下:
static struct uart_ops amba_pl011_pops = {
tx_empty = pl01x_tx_empty,
set_mctrl = pl011_set_mctrl,
get_mctrl = pl01x_get_mctrl,
stop_tx = pl011_stop_tx,
start_tx = pl011_start_tx,
stop_rx = pl011_stop_rx,
enable_ms = pl011_enable_ms,
break_ctl = pl011_break_ctl,
startup = pl011_startup,
shutdown = pl011_shutdown,
set_termios = pl011_set_termios,
type = pl011_type,
release_port = pl010_release_port,
request_port = pl010_request_port,
config_port = pl010_config_port,
verify_port = pl010_verify_port,
#ifdef CONFIG_CONSOLE_POLL
poll_get_char = pl010_get_poll_char,
poll_put_char = pl010_put_poll_char,
#endif
} ;
該結(jié)構(gòu)體包含了所有與串口設(shè)備相關(guān)的功能函數(shù),我們要對這個結(jié)構(gòu)體進(jìn)行填充并編寫所有與Hi3515 相關(guān)的功能函數(shù),以使Hi3515 的串口能夠正常工作。
3. 2 應(yīng)用軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)涉及l(fā)inux 串口編程,整個云臺系統(tǒng)的控制流程如圖3 所示,我們實(shí)現(xiàn)了對云臺攝像機(jī)以下功能的支持:
①支持當(dāng)前市面上所有主流云臺協(xié)議;②支持360 度全方位快速定位;③支持各種距離下的快速變焦功能;④支持自動巡航和自動掃描功能;⑤支持線掃和巡視組設(shè)置。

圖3 云臺系統(tǒng)控制流程
3. 3 云臺界面設(shè)計(jì)
由于Hi3515 的內(nèi)存空間和顯存空間是公用的,為了最大限度的提高編解碼性能,并且解決當(dāng)前市面上主流GUI 占用內(nèi)存空間較多的問題,我們自主設(shè)計(jì)了專用GUI,保證了界面靈活美觀的同時占用內(nèi)存空間極小,很好滿足了要求。GUI 系統(tǒng)架構(gòu)如圖4 所示。

圖4 智能云臺系統(tǒng)GUI 架構(gòu)
在Linux 提供的Framebuffer 顯示接口基礎(chǔ)上,系統(tǒng)移植了字體庫和圖片庫。字體庫包括ttf 和freetype 字體庫,圖片庫包括png、jpeg 和bmp 圖片庫。上層主要工作就是設(shè)計(jì)消息循環(huán),設(shè)計(jì)多窗口管理模式,編寫必要的控件。本文利用自主設(shè)計(jì)的GUI 為智能云臺系統(tǒng)設(shè)計(jì)了美觀的本地界面和客戶端界面,整套界面美觀大方,簡潔實(shí)用,圖5 是我們?yōu)?a class="channel_keylink" href="/search.asp">智能手機(jī)客戶端編寫的界面。

圖5 云臺控制界面在智能手機(jī)客戶端上的顯示
4 對智能云臺系統(tǒng)擴(kuò)展和升級的考慮
通常視頻監(jiān)控服務(wù)器上均會有多路視頻接入,而且云臺攝像機(jī)也會更新?lián)Q代。所以我們對于云臺系統(tǒng)的設(shè)計(jì)還要解決兩方面的問題: 一是云臺系統(tǒng)要易于多路擴(kuò)展; 二是云臺系統(tǒng)要方便進(jìn)行軟件升級。考慮到云臺攝像機(jī)都有可配置的物理地址,我們對所需控制的云臺攝像機(jī)進(jìn)行分組,每組云臺攝像機(jī)配對一個串口,利用Linux 多線程機(jī)制實(shí)現(xiàn)對組內(nèi)云臺攝像機(jī)的分時控制,很好地解決了多路擴(kuò)展的問題。針對云臺攝像機(jī)自身的升級和協(xié)議的改變我們采取的對策是封裝當(dāng)前市面上所有主流云臺協(xié)議,使用云臺時只要進(jìn)行簡單的配置選擇就可使用新款的云臺攝像機(jī)。整個系統(tǒng)簡便易用,具有很好的市場前景。
5 總結(jié)
本文面向當(dāng)前蓬勃發(fā)展的視頻監(jiān)控市場,充分考慮到了實(shí)際產(chǎn)品的需要,有針對性地提出了一套完整的智能云臺系統(tǒng)解決方案,包括硬件設(shè)計(jì)、系統(tǒng)軟件設(shè)計(jì)、用戶界面設(shè)計(jì)和系統(tǒng)擴(kuò)展升級機(jī)制的研究。本文基于實(shí)際產(chǎn)品研發(fā),設(shè)計(jì)了一整套云臺解決方案,并實(shí)現(xiàn)了云臺系統(tǒng)的擴(kuò)展和升級,具有一定的市場應(yīng)用價(jià)值。