隨著人們安防意識的不斷提高,校園安全、家居安全、公共設施安全越來越受到社會的重視。當前廣泛使用的視頻監控系統主要通過位置相對固定的監控主機才能獲得監控信息,這種由監控人員發起的監控方式已不能滿足人們日益增長的多元化需求。順應當前發展趨勢,我們整合并擴展了傳統監控方式,將移動終端引入智能監控系統或網絡中,并加入視頻分析功能,使智能監控系統能夠做到智能報警、實時控制。云臺攝像機在上述智能監控系統中的作用就相當于人體的眼睛。針對以上構想,迫切需要設計普遍適用的智能云臺系統,做到實時的大范圍巡航和快速定點監控,準確定位突發情況,全面發揮云臺攝像機作為智能眼的作用,與本地監控,移動客戶端結合做到真正的智能化。
1 智能云臺系統總體介紹
智能云臺控制系統的主要控制模塊為Hi3515微處理器,云臺攝像機采集視頻圖像進行顯示,然后根據實時監控的需要,發送云臺控制命令,命令通過RS485 電平轉換電路發送至云臺攝像機。考慮到人機交互的需要,我們基于自主設計的GUI( Graphic User Interface,圖形用戶接口) 為云臺系統設計了控制界面,并且完成了實用的擴展和升級工作。智能云臺系統整體架構如圖1 所示,整套系統解決方案具有一定的市場競爭力。
圖1 智能云臺系統總體架構
2 智能云臺系統硬件設計
2. 1 處理器選型
智能云臺系統是智能監控系統的子系統,考慮到智能監控的需要,我們選擇了一款專業面向安防市場推出的微處理器---Hi3515,Hi3515 是基于ARM926EJ-S 處理器內核以及視頻硬件加速引擎的高性能高集成通信媒體SoC 處理器。ARM926EJ-S處理頻率達400MHz,能夠滿足客戶日益增長的DVR、DVS、IP Camera 軟件及其他嵌入式應用需求;200MHz 的DDR2 SDRAM 接口能夠提供充足的數據處理帶寬和能力; 提供H. 264 和MJPEG 多協議編解碼和雙碼流編碼能力,編解碼性能高達120fps D1@ NTSC 或100fps D1@ PAL,能夠滿足最佳的4 路D1、8 路CIF DVR/DVS 解決方案功能、性能和成本需求; 豐富的視頻輸入輸出接口( CVBS、高清VGA、BT. 1120) ,高達有效分辨率1280x1024@ 60fps VGA輸出能力能夠給數字監控產品帶來更加清晰的畫質和視頻體驗; 集成豐富的外設接口( SATA/SDIO/SPI /UART /USB) 方便滿足多樣的嵌入式設備規格需求,既簡化了硬件板卡設計,又有效降低整機的BOM 成本。同時海思半導體擁有針對視頻監控領域的從低端到高端的全系列芯片,這對系統升級提供了很好的保證。
2. 2 硬件電路設計
系統使用串口對云臺攝像機進行控制,云臺攝像機控制使用RS485 電平信號,而Hi3515 微處理器串口輸出為TTL 電平信號,需要設計電平轉換電路將TTL 電平信號轉換為RS485 電平信號,圖2 為電平轉換電路原理圖。
圖2 智能云臺控制系統電平轉換電路原理圖。
云臺攝像機一般在遠端,控制信號的傳輸距離會比較長,而RS485 信號的顯著特點是差分傳輸,抗干擾能力強,適合遠距離傳輸,很好地滿足了云臺控制的要求,圖2 中電平轉換電路使用的芯片為MAXIM 公司的MAX3491。
3 智能云臺系統軟件設計
3. 1 底層驅動設計
系統使用串口對云臺攝像機進行控制,所以底層驅動需要做的工作就是為Hi3515 編寫串口驅動。
3. 1. 1 串口設備注冊
Hi3515 串口設備注冊的核心結構體是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 總線上,所以我們必須將串口設備注冊到AMBA 總線,首先初始化AMBA 總線設備鏈表,然后判斷是否有設備要添加,如果有則調用__driver_attach 函數將新設備添加至AMBA 總線設備鏈表。
3. 1. 2 串口結構設計
Hi3515 串口驅動實現串口功能的核心結構體為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
} ;
該結構體包含了所有與串口設備相關的功能函數,我們要對這個結構體進行填充并編寫所有與Hi3515 相關的功能函數,以使Hi3515 的串口能夠正常工作。
3. 2 應用軟件設計
系統軟件設計涉及linux 串口編程,整個云臺系統的控制流程如圖3 所示,我們實現了對云臺攝像機以下功能的支持:
①支持當前市面上所有主流云臺協議;②支持360 度全方位快速定位;③支持各種距離下的快速變焦功能;④支持自動巡航和自動掃描功能;⑤支持線掃和巡視組設置。
圖3 云臺系統控制流程
3. 3 云臺界面設計
由于Hi3515 的內存空間和顯存空間是公用的,為了最大限度的提高編解碼性能,并且解決當前市面上主流GUI 占用內存空間較多的問題,我們自主設計了專用GUI,保證了界面靈活美觀的同時占用內存空間極小,很好滿足了要求。GUI 系統架構如圖4 所示。
圖4 智能云臺系統GUI 架構
在Linux 提供的Framebuffer 顯示接口基礎上,系統移植了字體庫和圖片庫。字體庫包括ttf 和freetype 字體庫,圖片庫包括png、jpeg 和bmp 圖片庫。上層主要工作就是設計消息循環,設計多窗口管理模式,編寫必要的控件。本文利用自主設計的GUI 為智能云臺系統設計了美觀的本地界面和客戶端界面,整套界面美觀大方,簡潔實用,圖5 是我們為智能手機客戶端編寫的界面。
圖5 云臺控制界面在智能手機客戶端上的顯示
4 對智能云臺系統擴展和升級的考慮
通常視頻監控服務器上均會有多路視頻接入,而且云臺攝像機也會更新換代。所以我們對于云臺系統的設計還要解決兩方面的問題: 一是云臺系統要易于多路擴展; 二是云臺系統要方便進行軟件升級。考慮到云臺攝像機都有可配置的物理地址,我們對所需控制的云臺攝像機進行分組,每組云臺攝像機配對一個串口,利用Linux 多線程機制實現對組內云臺攝像機的分時控制,很好地解決了多路擴展的問題。針對云臺攝像機自身的升級和協議的改變我們采取的對策是封裝當前市面上所有主流云臺協議,使用云臺時只要進行簡單的配置選擇就可使用新款的云臺攝像機。整個系統簡便易用,具有很好的市場前景。
5 總結
本文面向當前蓬勃發展的視頻監控市場,充分考慮到了實際產品的需要,有針對性地提出了一套完整的智能云臺系統解決方案,包括硬件設計、系統軟件設計、用戶界面設計和系統擴展升級機制的研究。本文基于實際產品研發,設計了一整套云臺解決方案,并實現了云臺系統的擴展和升級,具有一定的市場應用價值。
-
控制系統
+關注
關注
41文章
6657瀏覽量
110783 -
視頻監控
+關注
關注
17文章
1711瀏覽量
65109 -
微處理器
+關注
關注
11文章
2273瀏覽量
82652
發布評論請先 登錄
相關推薦
評論