新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IP視頻監(jiān)控系統(tǒng)中云臺(tái)控制模塊的設(shè)計(jì)與實(shí)現(xiàn)

IP視頻監(jiān)控系統(tǒng)中云臺(tái)控制模塊的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2008-06-26 來源:網(wǎng)絡(luò) 收藏
  隨著多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展,監(jiān)控技術(shù)在電力系統(tǒng)、電信機(jī)房、工廠、城市交通、水利系統(tǒng)、小區(qū)治安等領(lǐng)域得到越來越廣泛的應(yīng)用。而DSP技術(shù)的迅速發(fā)展,尤其是專用處理DSP芯片的發(fā)展,大大推動(dòng)了多媒體技術(shù)的應(yīng)用。Equator公司在這一領(lǐng)域始終走在最前沿,其推出的MAP-CA、BSP-15等專用處理DSP芯片,以其強(qiáng)大的處理能力和針對(duì)視頻處理的優(yōu)化性能,在業(yè)界取得了很大的成功。同時(shí),Equator公司推出的Dolphin、Tetra、Shark等以其專用視頻處理DSP為核心的嵌入式開發(fā)平臺(tái),也成為諸多視頻處理設(shè)備的核心。


1 系統(tǒng)總體框架

  Tetra開發(fā)板系統(tǒng)總體框架如圖1所示,BSP-15的數(shù)據(jù)總線和地址總線與SDRAM、Flash以及視頻輸入輸出芯片SAA7113和SAA7121相連,進(jìn)行數(shù)據(jù)交換。另外,BSP-15作為PCI總線的主設(shè)備,南橋芯片VT82C686B和網(wǎng)絡(luò)芯片RTL8139C,通過南橋芯片擴(kuò)展IDE接口、RS-232串口、USB接口、ISA總線等外擴(kuò)接口。音頻輸入輸出芯片通過I2S總線。由于I/O口有限,因此其他接口和數(shù)據(jù)交互都使用I2C總線來完成,包括EEPROM、SAA7113和SAA7112和87LPC764的控制。


2 系統(tǒng)

2.1 控制硬件結(jié)構(gòu)框圖及工作原理


  控制硬件框圖如圖2所示。BSP-15首先將控制信息通過I2C總線發(fā)送給87LPC764,87LPC764將控制碼解釋后,通過串行口轉(zhuǎn)發(fā)到RS485接口芯片MAX487,從而將控制碼通過RS485接口發(fā)送給云臺(tái)攝像機(jī)。云臺(tái)攝像機(jī)接收到控制碼時(shí),根據(jù)要求進(jìn)行相應(yīng)的云臺(tái)操作。另外,87LPC764連接了PCI總線上的一條中斷線,可向BSP-15申請(qǐng)中斷來通知BSP-15云臺(tái)控制狀態(tài),以及向BSP-15申請(qǐng)發(fā)送其他數(shù)據(jù)。

2.1.1 87LPC764


  87LPC764是PHILS公司生產(chǎn)的、以加速的80C51為內(nèi)核的高性能、高可靠性和低價(jià)格的工業(yè)級(jí)通用型嵌入式微處理器。內(nèi)含4KB OPT程序代碼控制器,128字節(jié)的用戶RAM存儲(chǔ)器,32字節(jié)用戶代碼存儲(chǔ)器。具有全雙工UART,內(nèi)帶I2C總線控制。還具有可由外部晶振或內(nèi)部振蕩源驅(qū)動(dòng)的內(nèi)部看門狗定時(shí)器,其溢出時(shí)間具有8級(jí)時(shí)間選擇。

2.1.2 云臺(tái)攝像機(jī)

  云臺(tái)攝像機(jī)的云臺(tái)是一種安裝在攝像機(jī)支撐物上的工作臺(tái),用于攝像機(jī)與支撐物的聯(lián)結(jié),云臺(tái)具有水平和垂直運(yùn)動(dòng)的功能。一般云臺(tái)攝像機(jī)內(nèi)置解碼器,遵循云臺(tái)控制標(biāo)準(zhǔn)協(xié)議,根據(jù)外部控制信號(hào),可以完成指定速度的水平、垂直運(yùn)動(dòng),光圈、焦距調(diào)節(jié),攝像機(jī)關(guān)閉、開啟等功能。

2.1.3 云臺(tái)控制協(xié)議


  當(dāng)前比較通用的云臺(tái)控制協(xié)議有派爾高公司推出的PELCO-D、PELCO-P協(xié)議,另外還有三星公司、Sony公司等公司針對(duì)其專用云臺(tái)制定的云臺(tái)協(xié)議。在開發(fā)過程中,考慮到對(duì)不同協(xié)議的云臺(tái)攝像頭的兼容,將云臺(tái)控制為可兼容各類協(xié)議的通用控制。可根據(jù)不同云臺(tái)攝像機(jī)更新的云臺(tái)協(xié)議,對(duì)各類云臺(tái)的支持。

  在實(shí)際應(yīng)用中,PELCO-P協(xié)議是當(dāng)前業(yè)內(nèi)最為流行的云臺(tái)控制協(xié)議,PELCO-P協(xié)議一般采用RS-485接口進(jìn)行傳輸,波特率一般在1200~9 600bps之間,1位起始位,1位停止位,8位數(shù)據(jù)位,無校驗(yàn)位。其數(shù)據(jù)傳輸格式如表1所示。其中地址碼用于區(qū)分不同的云臺(tái)攝像機(jī),而四個(gè)數(shù)據(jù)字節(jié)則包含了本條云臺(tái)控制命令的全部信息,具體數(shù)據(jù)含義如表2所示。


2.2 87LPC764控制程序

  87LPC764所完成的功能很多,包括全局上電復(fù)位和電源控制、底板LED控制、看門狗定時(shí)控制、外部報(bào)警。另外在需要的情況下,可以擴(kuò)展I/O口,其內(nèi)部自帶的EEPROM也可記錄各類信息。在實(shí)際中,由于原版87LPC764的程序使用匯編編寫,很多功能和實(shí)際要求不相符,因此在本項(xiàng)目中,將87LPC764的全部代碼用C語言重新改寫,修改和加入了針對(duì)本項(xiàng)目所需的功能。

  主程序部分判斷與BSP-15交互的信息,程序流程圖如圖3所示。圖中接收和發(fā)送都是相對(duì)BSP-15而言的。87LPC764等待BSP-15的指令,一旦收到指令則執(zhí)行,如果收到外部信號(hào),則申請(qǐng)中斷,等待BSP-15讀取相應(yīng)信息。其中I2C讀寫、串口讀寫、內(nèi)部定時(shí)器均采用中斷方式。這里給出的流程圖僅為部分流程,與云臺(tái)控制無關(guān)的部分程序,不做詳細(xì)描述。

2.3 VxWorks中87LPC764驅(qū)動(dòng)程序設(shè)計(jì)


  驅(qū)動(dòng)程序部分主要是在VxWorks操作系統(tǒng)下,完成通過I2C與87LPC764交互,作為中介解釋并傳遞由上層應(yīng)用程序發(fā)送給87LPC764的命令,以及將87LPC764反饋的各種信息告知上層應(yīng)用程序。


  驅(qū)動(dòng)程序流程如圖4所示。首先隨系統(tǒng)啟動(dòng)初始化驅(qū)動(dòng)程序中各部分的變量,將中斷函數(shù)與指定的PCI中斷連接,創(chuàng)建一個(gè)消息隊(duì)列,然后開始進(jìn)入阻塞式的等待狀態(tài)。當(dāng)87LPC764向BSP-15申請(qǐng)中斷時(shí),跳入中斷函數(shù)入口,通過I2C總線從87LPC764讀取一個(gè)字節(jié)的數(shù)據(jù),并判斷是否需要繼續(xù)讀取。讀取完成后,中斷函數(shù)將數(shù)據(jù)發(fā)送到消息隊(duì)列中,然后跳出。驅(qū)動(dòng)接收到消息隊(duì)列中的數(shù)據(jù)時(shí),將向上層應(yīng)用程序報(bào)告,并轉(zhuǎn)由上層應(yīng)用程序處理。另外,驅(qū)動(dòng)程序中同樣提供了所有有關(guān)87LPC764的操作的獨(dú)立函數(shù),可直接由上層程序調(diào)用,由驅(qū)動(dòng)程序通過I2C給87LPC764發(fā)送操作命令。


2.4 云臺(tái)協(xié)議部分程序設(shè)計(jì)

  云臺(tái)協(xié)議程序主要完成四個(gè)部分的內(nèi)容:云臺(tái)協(xié)議文件解析、Flash燒寫、云臺(tái)初始化、提供Web服務(wù)端控制接口。圖5給出了協(xié)議文件解析和初始化的簡(jiǎn)單流程,下面對(duì)這四個(gè)部分進(jìn)行具體說明:(1)云臺(tái)協(xié)議文件的解析。這一部分主要是完成將上層Web服務(wù)端通過網(wǎng)絡(luò)接收的云臺(tái)協(xié)議文件進(jìn)行轉(zhuǎn)換。由于云臺(tái)協(xié)議文件是文本文件,按照一定格式書寫,因此文件解析主要是將文本中有效部分的ASCII碼轉(zhuǎn)換為十六進(jìn)制的云臺(tái)控制碼。并且考慮到協(xié)議兼容性問題,解析過程中要標(biāo)識(shí)很多特征位,如地址碼、旋轉(zhuǎn)速度碼在碼片中的位置、校驗(yàn)字節(jié)的位置及計(jì)算方法以及控制碼的碼長(zhǎng)等。(2)Flash燒寫功能。在云臺(tái)協(xié)議文件解析后,將已解析后的云臺(tái)協(xié)議調(diào)用底層Flash燒寫驅(qū)動(dòng)燒入Flash存儲(chǔ)器,并且在需要的時(shí)候?qū)f(xié)議從Flash存儲(chǔ)器中讀出。(3)程序初始化。在每次開機(jī)后,初始化并設(shè)置好所需變量,將云臺(tái)協(xié)議數(shù)據(jù)按照一定格式存放在內(nèi)存中。考慮到可能要同時(shí)控制多個(gè)不同協(xié)議的云臺(tái)攝像機(jī),因此實(shí)際項(xiàng)目中最多可同時(shí)支持四種不同的云臺(tái)協(xié)議。相應(yīng)地,在初始化時(shí)要調(diào)用Flash讀取函數(shù),從Flash中將需要的一個(gè)或多個(gè)協(xié)議讀出,并存放在內(nèi)存中供模塊使用;(4)云臺(tái)接口函數(shù)。根據(jù)Web服務(wù)端要求,當(dāng)Web服務(wù)層調(diào)用時(shí),將指定的云臺(tái)標(biāo)準(zhǔn)協(xié)議進(jìn)行解釋,包括設(shè)置要控制的云臺(tái)地址碼、轉(zhuǎn)動(dòng)速度,計(jì)算出校驗(yàn)碼,然后調(diào)用底層驅(qū)動(dòng)程序?qū)⒖刂拼a發(fā)送給87LPC764,并在需要的情況下告知87LPC764應(yīng)使用何種波特率。

  本文從總體上介紹了基于Tetra硬件開發(fā)平臺(tái)的網(wǎng)絡(luò)視頻中云臺(tái)攝像機(jī)控制模塊的設(shè)計(jì)與。項(xiàng)目中云臺(tái)模塊對(duì)各種類型云臺(tái)的兼容能力,以及可同時(shí)監(jiān)控多種不同類型云臺(tái)攝像機(jī),是本產(chǎn)品的一個(gè)亮點(diǎn)。本項(xiàng)目所開發(fā)的視頻已經(jīng)投入市場(chǎng),以其完善的功能得到用戶的認(rèn)可。

參考文獻(xiàn)

1 周航慈,周立功,朱 F等. PHILS 51LPC系列單片機(jī)原理及應(yīng)用設(shè)計(jì)[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



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉