隨著多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,視頻監(jiān)控技術(shù)在電力系統(tǒng)、電信機房、工廠、城市交通、水利系統(tǒng)、小區(qū)治安等領(lǐng)域得到越來越廣泛的應(yīng)用。而DSP技術(shù)的迅速發(fā)展,尤其是視頻專用處理DSP芯片的發(fā)展,大大推動了多媒體技術(shù)的應(yīng)用。Equator公司在這一領(lǐng)域始終走在最前沿,其推出的MAP-CA、BSP-15等專用視頻處理DSP芯片,以其強大的處理能力和針對視頻處理的優(yōu)化性能,在業(yè)界取得了很大的成功。同時,Equator公司推出的Dolphin、Tetra、Shark等以其專用視頻處理DSP為核心的嵌入式開發(fā)平臺,也成為諸多視頻處理設(shè)備的核心。
1 系統(tǒng)總體框架
BSP-15的數(shù)據(jù)總線和地址總線與SDRAM、Flash以及視頻輸入輸出芯片SAA7113和SAA7121相連,進行數(shù)據(jù)交換。另外,BSP-15作為PCI總線的主設(shè)備,控制南橋芯片VT82C686B和網(wǎng)絡(luò)芯片RTL8139C,通過南橋芯片擴展IDE接口、RS-232串口、USB接口、ISA總線等外擴接口。音頻輸入輸出芯片通過I2S總線控制。由于I/O口有限,因此其他控制接口和數(shù)據(jù)交互都使用I2C總線來完成,包括EEPROM、SAA7113和SAA7112和87LPC764的控制。
2 系統(tǒng)實現(xiàn)
2.1 云臺控制硬件結(jié)構(gòu)框圖及工作原理
BSP-15首先將云臺控制信息通過I2C總線發(fā)送給87LPC764,87LPC764將控制碼解釋后,通過串行口轉(zhuǎn)發(fā)到RS485接口芯片MAX487,從而將控制碼通過RS485接口發(fā)送給云臺攝像機。云臺攝像機接收到控制碼時,根據(jù)要求進行相應(yīng)的云臺操作。另外,87LPC764連接了PCI總線上的一條中斷線,可向BSP-15申請中斷來通知BSP-15云臺控制狀態(tài),以及向BSP-15申請發(fā)送其他數(shù)據(jù)。
2.1.1 87LPC764
87LPC764是PHILIPS公司生產(chǎn)的、以加速的80C51為內(nèi)核的高性能、高可靠性和低價格的工業(yè)級通用型嵌入式微處理器。內(nèi)含4KB OPT程序代碼控制器,128字節(jié)的用戶RAM存儲器,32字節(jié)用戶代碼存儲器。具有全雙工UART,內(nèi)帶I2C總線控制。還具有可由外部晶振或內(nèi)部振蕩源驅(qū)動的內(nèi)部看門狗定時器,其溢出時間具有8級時間選擇。
2.1.2 云臺攝像機
云臺攝像機的云臺是一種安裝在攝像機支撐物上的工作臺,用于攝像機與支撐物的聯(lián)結(jié),云臺具有水平和垂直運動的功能。一般云臺攝像機內(nèi)置解碼器,遵循云臺控制標(biāo)準(zhǔn)協(xié)議,根據(jù)外部控制信號,可以完成指定速度的水平、垂直運動,光圈、焦距調(diào)節(jié),攝像機關(guān)閉、開啟等功能。
2.1.3 云臺控制協(xié)議
當(dāng)前比較通用的云臺控制協(xié)議有派爾高公司推出的PELCO-D、PELCO-P協(xié)議,另外還有三星公司、Sony公司等公司針對其專用云臺制定的云臺協(xié)議。在開發(fā)過程中,考慮到對不同協(xié)議的云臺攝像頭的兼容,將云臺控制設(shè)計為可兼容各類協(xié)議的通用控制模塊??筛鶕?jù)不同云臺攝像機更新監(jiān)控系統(tǒng)的云臺協(xié)議,實現(xiàn)對各類云臺的支持。
在實際應(yīng)用中,PELCO-P協(xié)議是當(dāng)前業(yè)內(nèi)最為流行的云臺控制協(xié)議,PELCO-P協(xié)議一般采用RS-485接口進行傳輸,波特率一般在1200~9 600bps之間,1位起始位,1位停止位,8位數(shù)據(jù)位,無校驗位。其中地址碼用于區(qū)分不同的云臺攝像機,而四個數(shù)據(jù)字節(jié)則包含了本條云臺控制命令的全部信息。
2.2 87LPC764控制程序設(shè)計
87LPC764所完成的功能很多,包括全局上電復(fù)位和電源控制、底板LED控制、看門狗定時控制、外部報警。另外在需要的情況下,可以擴展I/O口,其內(nèi)部自帶的EEPROM也可記錄各類信息。在實際設(shè)計中,由于原版87LPC764的程序使用匯編編寫,很多功能和實際要求不相符,因此在本項目中,將87LPC764的全部代碼用C語言重新改寫,修改和加入了針對本項目所需的功能。
主程序部分判斷與BSP-15交互的信息,程序流程圖如圖3所示。圖中接收和發(fā)送都是相對BSP-15而言的。87LPC764等待BSP-15的指令,一旦收到指令則執(zhí)行,如果收到外部信號,則申請中斷,等待BSP-15讀取相應(yīng)信息。其中I2C讀寫、串口讀寫、內(nèi)部定時器均采用中斷方式。這里給出的流程圖僅為部分流程,與云臺控制無關(guān)的部分程序,不做詳細描述。
2.3 VxWorks中87LPC764驅(qū)動程序設(shè)計
驅(qū)動程序部分主要是在VxWorks操作系統(tǒng)下,完成通過I2C與87LPC764交互,作為中介解釋并傳遞由上層應(yīng)用程序發(fā)送給87LPC764的命令,以及將87LPC764反饋的各種信息告知上層應(yīng)用程序。
驅(qū)動程序流程如圖4所示。首先隨系統(tǒng)啟動初始化驅(qū)動程序中各部分的變量,將中斷函數(shù)與指定的PCI中斷連接,創(chuàng)建一個消息隊列,然后開始進入阻塞式的等待狀態(tài)。當(dāng)87LPC764向BSP-15申請中斷時,跳入中斷函數(shù)入口,通過I2C總線從87LPC764讀取一個字節(jié)的數(shù)據(jù),并判斷是否需要繼續(xù)讀取。讀取完成后,中斷函數(shù)將數(shù)據(jù)發(fā)送到消息隊列中,然后跳出。驅(qū)動接收到消息隊列中的數(shù)據(jù)時,將向上層應(yīng)用程序報告,并轉(zhuǎn)由上層應(yīng)用程序處理。另外,驅(qū)動程序中同樣提供了所有有關(guān)87LPC764的操作的獨立函數(shù),可直接由上層程序調(diào)用,由驅(qū)動程序通過I2C給87LPC764發(fā)送操作命令。
2.4 云臺協(xié)議部分程序設(shè)計
云臺協(xié)議程序主要完成四個部分的內(nèi)容:云臺協(xié)議文件解析、Flash燒寫、云臺模塊初始化、提供Web服務(wù)端控制接口。給出了協(xié)議文件解析和模塊初始化的簡單流程,下面對這四個部分進行具體說明:(1)云臺協(xié)議文件的解析。這一部分主要是完成將上層Web服務(wù)端通過網(wǎng)絡(luò)接收的云臺協(xié)議文件進行轉(zhuǎn)換。由于云臺協(xié)議文件是文本文件,按照一定格式書寫,因此文件解析主要是將文本中有效部分的ASCII碼轉(zhuǎn)換為十六進制的云臺控制碼。并且考慮到協(xié)議兼容性問題,解析過程中要標(biāo)識很多特征位,如地址碼、旋轉(zhuǎn)速度碼在碼片中的位置、校驗字節(jié)的位置及計算方法以及控制碼的碼長等。(2)Flash燒寫功能。在云臺協(xié)議文件解析后,將已解析后的云臺協(xié)議調(diào)用底層Flash燒寫驅(qū)動燒入Flash存儲器,并且在需要的時候?qū)f(xié)議從Flash存儲器中讀出。(3)程序初始化。在每次開機后,初始化并設(shè)置好所需變量,將云臺協(xié)議數(shù)據(jù)按照一定格式存放在內(nèi)存中??紤]到可能要同時控制多個不同協(xié)議的云臺攝像機,因此實際項目中最多可同時支持四種不同的云臺協(xié)議。相應(yīng)地,在初始化時要調(diào)用Flash讀取函數(shù),從Flash中將需要的一個或多個協(xié)議讀出,并存放在內(nèi)存中供模塊使用;(4)云臺接口函數(shù)。根據(jù)Web服務(wù)端要求,當(dāng)Web服務(wù)層調(diào)用時,將指定的云臺標(biāo)準(zhǔn)協(xié)議進行解釋,包括設(shè)置要控制的云臺地址碼、轉(zhuǎn)動速度,計算出校驗碼,然后調(diào)用底層驅(qū)動程序?qū)⒖刂拼a發(fā)送給87LPC764,并在需要的情況下告知87LPC764應(yīng)使用何種波特率。
本文從總體上介紹了基于Tetra硬件開發(fā)平臺的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中云臺攝像機控制模塊的設(shè)計與實現(xiàn)。項目中云臺模塊對各種類型云臺的兼容能力,以及可同時監(jiān)控多種不同類型云臺攝像機,是本產(chǎn)品的一個亮點。本項目所開發(fā)的視頻監(jiān)控系統(tǒng)已經(jīng)投入市場,以其完善的功能得到用戶的認可。
參考文獻
1 周航慈,周立功,朱 旻等. PHILIPS 51LPC系列單片機原理及應(yīng)用設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,2001
2 BSP-15 Processor datasheet[Z]. Equator Technologies, Inc.,2002
3 87LPC764 datasheet[Z]. Koninklijke Philips Electronics,2001
4 Equator hardware platforms stingray hardware platform· tetra hardware platform[Z]. Equator Technologies, Inc.,2002