基于DSP的視頻檢測和遠程控制系統設計
發布時間:2007/8/24 0:00:00 訪問次數:1475
基于DSP的視頻檢測和遠程控制系統設計
摘要:提出一種視頻測和遠程控制的嵌入式設計方法,解決了采用具有高性能的數據處理功能的DSP作為視頻檢測處理器的設計總是;同時,提出在嵌入式操作系統中通信平臺的設計方法,實現了在嵌入式操作系統中PCI總線的設備驅動以及通過PPP協議與Internet建立連接。 關鍵詞:視頻檢測 PCI總線 PPP協議
引言
隨著計算機視覺技術以及圖像處理技術的不斷發展,計算機視覺和視頻檢測技術已經廣泛應用于工業控制、智能交通、設備制造等很多領域。傳統的視頻檢測往往采用工控機作為其視頻處理器來實現其功能。這種方法往往由于工控機處理速度的問題,無法實現對各個不同方向同時進行視頻檢測,而且由于視頻檢測處理過程需要占用大量的處理時間,因而無法實現實時的遠程控制功能。
目前在遠程控制和通信方面,基于DOS和Windows操作系統的通信平臺得到普遍的引用,但是DOS操作系統作為單任務操作系統,無法實現多任務功能和實時處理的要求;而Windows操作系統作為視窗操作系統,其系統的穩定性和實時性也無法與實時多任務嵌入式操作相比擬。
本文提出一種以DSP作為視頻檢測處理芯片,以Linux為操作系統的嵌入式系統設計方法。
1 系統結構
本系統的開發主要包括視頻檢測卡和x86通信平臺的設計2個部分。視頻檢測卡主要包括模擬圖像采集、轉換、DSP視頻檢測3個部分,每塊交換參數檢測卡擴充PCI總線接口,插在通信開發平臺的PCI總線插口上,通過PCI總線同通信平臺交換數據。通信平臺處理多塊交通參數檢測卡的通信問題,將視頻檢測卡通過PCI總線傳送過來的視頻檢測數據實時通過網絡傳送給控制中心。系統的功能方框圖如圖1所示。
根據系統設計要求,視頻檢測卡功能主要分為:模擬圖像采集、模擬圖像A/D轉換、數據緩存以及DSP視頻檢測5個部分。視頻檢測卡流程如圖2所示。
本系統采用Philips公司的SAA7111A來實現模擬圖像A/D轉換。該芯片可實現多路選通、鎖相與時序、時鐘產生與測試、ADC、亮色分離等功能。其輸出可以具有如下格式:YUV 4:1:1(12bit)、YUV 4:2:2(16bit)、YUV 4:2:2(CCIR-656)(8bit)等。由于DSP處理芯片和SA7111A的時序不同,可以通過CPLD進行邏輯控制FIFO來完成數據緩存的功能。
DSP是實時信號處理的核心。本系統采用TI公司DSP芯片——TMS320C6211。該芯片屬C6000的定點系列,C6211在這個系列中是性價比最高的一種。C6211處理器由3個主要部分組成:CPU內核、存儲器和外設。集成外設包括EDMA控制器、外存儲器接口(EMIF)、主機口(HPI)、多通道緩沖接口(McBSP)、定時器、中斷選擇子、JTAG接口、PowerDown邏輯以及PLL時鐘發生器。通過EMIF接口擴充SDRAM,而PCI總線控制芯片的擴展通過HPI接口。
PCI總線的接口芯片PCI9050,主要包括PCI總線信號接口和本地總線(LOCAL BUS)信號。在硬件設計時,只需將本地總線信號的接口通過電平轉換連接到DSP的HPI接口,同時擴展PCI接口就可以完成其硬件電路設計。
2 通信開發平臺的嵌入式系統設計
通信開發平臺以x86為核心器件,擴充PCI總線,通過Modem撥號,實現x86與Internet的連接。
2.1 PCI總線設備驅動
PCI設備有3種物理空間:配置空間、存儲器空間和I/O空間。配置空間是長度為256字節的一段連接空間,空間的定義如圖3所示。在配置空間中只讀空間有設備標識、供應商代碼、修改版本、分類代碼以及頭標類型。其中供應商代碼用來標識設備供應商的代碼;設備標識用來標識某一特殊的設備;修改版本標識設備的版本號;分類代碼用來標識設備的種類;頭標類型用來標識頭類型以及是否為多功能設備。除供應商代碼之外,其它字段的值由供應商分配。
命令字段寄存器用來提供設備響應的控制命令字;狀態字段用來記錄PCI總線相關事件(詳細的命令控制和狀態讀取方法見參考文獻4)。
基地址寄存器最重要的功能是分配PCI設備的系統地址空間。在基地址寄存器中,bit0用來標識是存儲器空間還是I/O地址空間。基地址寄存器映射到存儲器空間時bit0為“0”,映射到I/O地址空間時bit0為“1”。基地址空間中其它一些內容用來表示PCI設備地址空間映射到系統空間的起始物理地址。地址空間大小通過向基地址寄存器寫全“1”,然后讀取其基地址的值來得到。
PCI設備的驅動過程主要包括下面幾個步驟。
首先,PCI設備的查找。在嵌入式操作系統中一般提供相應的API函數,在Linux操作系統中通過函數pcibios_find_device(PCI_VENDOR_ID,PCI_DEVICE,index,&bus,&devfn)可以找到供應商代碼為PCI-ID,設備標識為PCI-DEVICE的第n(index+1)個設備,并且返回總線號和功能號,分別保存于bus和devfn中。
第2步,PCI設備的配置。通過操作系統提供的API函數訪問PCI設備的配置空間,配置PCI設備基址寄存器的配置、中斷配置
基于DSP的視頻檢測和遠程控制系統設計
摘要:提出一種視頻測和遠程控制的嵌入式設計方法,解決了采用具有高性能的數據處理功能的DSP作為視頻檢測處理器的設計總是;同時,提出在嵌入式操作系統中通信平臺的設計方法,實現了在嵌入式操作系統中PCI總線的設備驅動以及通過PPP協議與Internet建立連接。 關鍵詞:視頻檢測 PCI總線 PPP協議
引言
隨著計算機視覺技術以及圖像處理技術的不斷發展,計算機視覺和視頻檢測技術已經廣泛應用于工業控制、智能交通、設備制造等很多領域。傳統的視頻檢測往往采用工控機作為其視頻處理器來實現其功能。這種方法往往由于工控機處理速度的問題,無法實現對各個不同方向同時進行視頻檢測,而且由于視頻檢測處理過程需要占用大量的處理時間,因而無法實現實時的遠程控制功能。
目前在遠程控制和通信方面,基于DOS和Windows操作系統的通信平臺得到普遍的引用,但是DOS操作系統作為單任務操作系統,無法實現多任務功能和實時處理的要求;而Windows操作系統作為視窗操作系統,其系統的穩定性和實時性也無法與實時多任務嵌入式操作相比擬。
本文提出一種以DSP作為視頻檢測處理芯片,以Linux為操作系統的嵌入式系統設計方法。
1 系統結構
本系統的開發主要包括視頻檢測卡和x86通信平臺的設計2個部分。視頻檢測卡主要包括模擬圖像采集、轉換、DSP視頻檢測3個部分,每塊交換參數檢測卡擴充PCI總線接口,插在通信開發平臺的PCI總線插口上,通過PCI總線同通信平臺交換數據。通信平臺處理多塊交通參數檢測卡的通信問題,將視頻檢測卡通過PCI總線傳送過來的視頻檢測數據實時通過網絡傳送給控制中心。系統的功能方框圖如圖1所示。
根據系統設計要求,視頻檢測卡功能主要分為:模擬圖像采集、模擬圖像A/D轉換、數據緩存以及DSP視頻檢測5個部分。視頻檢測卡流程如圖2所示。
本系統采用Philips公司的SAA7111A來實現模擬圖像A/D轉換。該芯片可實現多路選通、鎖相與時序、時鐘產生與測試、ADC、亮色分離等功能。其輸出可以具有如下格式:YUV 4:1:1(12bit)、YUV 4:2:2(16bit)、YUV 4:2:2(CCIR-656)(8bit)等。由于DSP處理芯片和SA7111A的時序不同,可以通過CPLD進行邏輯控制FIFO來完成數據緩存的功能。
DSP是實時信號處理的核心。本系統采用TI公司DSP芯片——TMS320C6211。該芯片屬C6000的定點系列,C6211在這個系列中是性價比最高的一種。C6211處理器由3個主要部分組成:CPU內核、存儲器和外設。集成外設包括EDMA控制器、外存儲器接口(EMIF)、主機口(HPI)、多通道緩沖接口(McBSP)、定時器、中斷選擇子、JTAG接口、PowerDown邏輯以及PLL時鐘發生器。通過EMIF接口擴充SDRAM,而PCI總線控制芯片的擴展通過HPI接口。
PCI總線的接口芯片PCI9050,主要包括PCI總線信號接口和本地總線(LOCAL BUS)信號。在硬件設計時,只需將本地總線信號的接口通過電平轉換連接到DSP的HPI接口,同時擴展PCI接口就可以完成其硬件電路設計。
2 通信開發平臺的嵌入式系統設計
通信開發平臺以x86為核心器件,擴充PCI總線,通過Modem撥號,實現x86與Internet的連接。
2.1 PCI總線設備驅動
PCI設備有3種物理空間:配置空間、存儲器空間和I/O空間。配置空間是長度為256字節的一段連接空間,空間的定義如圖3所示。在配置空間中只讀空間有設備標識、供應商代碼、修改版本、分類代碼以及頭標類型。其中供應商代碼用來標識設備供應商的代碼;設備標識用來標識某一特殊的設備;修改版本標識設備的版本號;分類代碼用來標識設備的種類;頭標類型用來標識頭類型以及是否為多功能設備。除供應商代碼之外,其它字段的值由供應商分配。
命令字段寄存器用來提供設備響應的控制命令字;狀態字段用來記錄PCI總線相關事件(詳細的命令控制和狀態讀取方法見參考文獻4)。
基地址寄存器最重要的功能是分配PCI設備的系統地址空間。在基地址寄存器中,bit0用來標識是存儲器空間還是I/O地址空間。基地址寄存器映射到存儲器空間時bit0為“0”,映射到I/O地址空間時bit0為“1”。基地址空間中其它一些內容用來表示PCI設備地址空間映射到系統空間的起始物理地址。地址空間大小通過向基地址寄存器寫全“1”,然后讀取其基地址的值來得到。
PCI設備的驅動過程主要包括下面幾個步驟。
首先,PCI設備的查找。在嵌入式操作系統中一般提供相應的API函數,在Linux操作系統中通過函數pcibios_find_device(PCI_VENDOR_ID,PCI_DEVICE,index,&bus,&devfn)可以找到供應商代碼為PCI-ID,設備標識為PCI-DEVICE的第n(index+1)個設備,并且返回總線號和功能號,分別保存于bus和devfn中。
第2步,PCI設備的配置。通過操作系統提供的API函數訪問PCI設備的配置空間,配置PCI設備基址寄存器的配置、中斷配置