<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PCI總線(xiàn)的嵌入式實(shí)時(shí)圖像處理系統

基于PCI總線(xiàn)的嵌入式實(shí)時(shí)圖像處理系統

作者: 時(shí)間:2013-03-14 來(lái)源:網(wǎng)絡(luò ) 收藏


DSP完成的功能主要是對從FIFO讀入的數據進(jìn)行處理,包括依照程序進(jìn)行識別、特征提取以參數檢測等。當視頻頭采集速度為每秒25幀圖像時(shí),它留給DSP處理的時(shí)間最多為每幀40ms,如果考慮系統中一定的延時(shí)以及處理后圖像的存儲時(shí)間,那么DSP處理一幅圖像時(shí)間不能超過(guò)30ms,按照C6211的處理速度,在30ms內可以處理36M條指令。DSP讀出FIFO中的行數據并存入SDRAM,一幀圖像有576行,在最后一行時(shí)會(huì )收到幀中斷,這時(shí)SDRAM中的圖像數據總共有1440×576=810KB。讓C6211用36M條指令的時(shí)間處理810K的數據是綽綽有余。

(2) SDRAM存儲器

HY57V651620B是現代公司發(fā)布的128Mb SDRAM,支持分頁(yè)尋址,訪(fǎng)問(wèn)速度為7.5ns,與DSP系統同步工作,但因為DSP工作在150MHz,故系統中SDRAM工作在DSP時(shí)鐘的一半或者2/3,即75MHz或者100MHz。當工作在100MHz時(shí)候,SDRAM在時(shí)序上需要一些特殊的控制,不是簡(jiǎn)單的與DSP同步。SDRAM主要在系統運行過(guò)程中存儲臨時(shí)數據和處理結果。系統中共有256Mb的存儲空間,其消耗情況視啟動(dòng)程序和圖像處理程序的大小而定。

(3) FLASH存儲器

AM29LV800B是AMD公司發(fā)布的8Mb FLASH芯片,同樣支持分頁(yè)尋址,工作在異步方式。啟動(dòng)程序固化在FLASH芯片中。當系統加電啟動(dòng)時(shí),FLASH中的程序下載到DSP的SDRAM中運行。FLASH具有在線(xiàn)重寫(xiě)入功能,這對系統啟動(dòng)程序的修改和升級都帶來(lái)了很大的方便。

2.2 視頻解碼模塊

本系統視頻A/D采用的是Philips公司的SAA7111A作為視頻解碼芯片,SAA7111A可以提供四路模擬視頻輸入,具有兩個(gè)模擬處理通道,支持四路CVBS模擬信號或二路Y/C模擬信號或(2×CVBS和1×Y/C)。SAA7111A對視頻頭輸入的標準PAL格式的模擬圖像信號進(jìn)行A/D轉換,然后輸出符合CCIR601建議格式的4:2:2的16位YUV數據到FIFO,其中亮度信號Y為8位、色度信號Cr和Cb合為8位數據。FIFO采用的是IDT公司的IDT72V215LB芯片,深度為512×18。按照CCIR601標準,YUV圖像分辨率為720×576,那么按行輸出時(shí),SAA7111A輸出數據流大小為:720×16=1440bit。因為DSP通過(guò)32位的SBSRAM接口與FIFO通信,故YUV數據寫(xiě)入FIFO時(shí)需要在FIFO之間實(shí)現乒乓切換,這時(shí)一行720×16的數據在兩片FIFO中存儲變?yōu)?60×32。

2.3 PCI通信模塊

PCI(Peripheral Component Interconnect,外圍組件接口)它既可以作為中間層的總線(xiàn)也可以作為周邊總線(xiàn)系統使用。與其他普通總線(xiàn)規范相對照,為高速I(mǎi)/O設備提供了更好的支持,比如可以很好的支持圖像適配器、網(wǎng)絡(luò )接口控制器、磁盤(pán)控制器等?,F行的標準允許在33MHz下使用64根數據線(xiàn),傳輸速率可達2.12Gbps。并且支持線(xiàn)性突發(fā)的數據傳輸模式,可確??偩€(xiàn)不斷滿(mǎn)載數據,因此能有效利用總線(xiàn)帶寬。另外,還具有低延時(shí)的隨機存取特性,對從總線(xiàn)上的主控寄存器到從屬寄存器的寫(xiě)延時(shí)為60ns。

PCI總線(xiàn)規范吸引人的地方不僅是其高速度,更在于它適應了現代I/O設備對系統的要求,對PCI擴展卡及器件能進(jìn)行全自動(dòng)配置,并且只需很少的接口邏輯就可以實(shí)現并支持其他總線(xiàn)系統。

TMS320C6211的HPI口不支持PCI總線(xiàn)的無(wú)縫接口。本系統中采用TI公司的PCI2040來(lái)實(shí)現DSP的HPI與PCI總線(xiàn)的連接。DSP處理后的數據經(jīng)HPI口輸出到PCI2040進(jìn)行解碼,然后輸出到PCI總線(xiàn)上。其邏輯結構圖如圖3所示。

PCI2040是TI公司設計的專(zhuān)門(mén)用來(lái)完成C5000系列和C6000系列DSP和PCI總線(xiàn)進(jìn)行接口的專(zhuān)用芯片。PCI2040符合PCI局部總線(xiàn)2.2規范,能夠方便的實(shí)現PCI總線(xiàn)與TMS320C54X或TMS320C6X DSP的HPI斷口的無(wú)縫連接。PCI2040可以兼容3.3V和5V,以適應不同的PCI總線(xiàn)電壓。PCI2040與C6211之間不需要進(jìn)行信號的電平轉換,也不需要額外的控制邏輯電路,因此接口電路十分簡(jiǎn)單。

在本系統中,PCI2040上存在2種電壓:5V和3.3V,其中3.3V是HPI口電壓,而5V是PCI總線(xiàn)電壓。PCI2040在啟動(dòng)時(shí)需要對其PCI總線(xiàn)寄存器和HPI寄存器參數進(jìn)行預加載。系統中PCI解碼模塊包括一塊配置ROM--AT24C08A,屬于EEPROM型ROM,便于對配置參數的修改和升級。當系統啟動(dòng)時(shí),存儲在A(yíng)T24C08A的數據被下載到PCI2040的寄存器中并進(jìn)行配置。

圖中/HINT[3:0]、/HCS[3:0]、HRDY[3:0]、HRST[3:0]分別與4片DSP中的相應信號相連,即PCI2040可以同時(shí)與4片DSP接口。

3 PCI總線(xiàn)驅動(dòng)實(shí)現方法


在系統軟件方面,基于PCI總線(xiàn)的圖像面臨的難點(diǎn)頗多,其中難度最大的是PCI驅動(dòng)問(wèn)題。

為闡明如何在Windows操作系統下實(shí)現PCI總線(xiàn)的驅動(dòng),還需了解PCI設備的配置空間系統。PCI設備有3種物理存儲空間:配置空間、存儲器空間和I/O空間。配置空間是長(cháng)度為256字節的一段連續空間,空間的定義如圖4。在配置空間中只讀空間有設備標識、供應商代碼、修改版本、分類(lèi)代碼以及頭標類(lèi)型。其中供應商代碼用來(lái)標識設備供應商的代碼;設備標識用來(lái)標識某一特殊的設備;修改版本標識設備的版本號;分類(lèi)代碼用來(lái)標識設備的種類(lèi);而頭標類(lèi)型用來(lái)標識頭類(lèi)型以及是否為多功能設備。除供應商代碼之外,其他字段的值由供應商分配?;刂芳拇嫫髯钪匾墓δ苁欠峙銹CI設備的系統地址空間。在基地址寄存器中bit0(最低位)用來(lái)標識存儲器空間還是I/O地址空間,基地址寄存器映射到存儲器空間時(shí)bit0為“0”,映射到I/O地址空間時(shí)bit0為“1”。

3.1 Windows環(huán)境下驅動(dòng)程序

驅動(dòng)程序可以理解為一系列控制硬件設備的函數。在Windows操作系統中,封裝驅動(dòng)程序的方法是制作一個(gè)DLL或VxD。當硬件是非標準設備時(shí),必須針對特定的硬件來(lái)設計Windows環(huán)境下的設備驅動(dòng)程序。

在DOS操作系統,對于一個(gè)應用程序而言它總認為自己是唯一運行的程序,因此應用程序可以直接訪(fǎng)問(wèn)硬件,獨占所有的系統內存以及系統運行時(shí)間,當然也就不需要設備驅動(dòng)程序。但到了Windows操作系統,系統中同時(shí)可能有若干個(gè)應用程序在運行,這就使得系統不可能讓它隨意的直接訪(fǎng)問(wèn)硬件,否則就會(huì )引起應用程序訪(fǎng)問(wèn)沖突而導致系統崩潰。為解決這一問(wèn)題,人們提出將系統的資源虛擬化,讓?xiě)贸绦蜻\行在一個(gè)虛擬定環(huán)境中的虛擬機(VM)上,而管理程序和驅動(dòng)程序運行在實(shí)際機器上(Ring0級),由它們來(lái)處理針對硬件的操作。虛擬資源是硬件(甚至軟件)資源的仿真,當系統虛擬了所有或者幾乎所有的程序可以訪(fǎng)問(wèn)的資源時(shí),它就創(chuàng )造了一個(gè)“虛擬機”(VM)。Windows虛擬機完全透明的仿真了以下資源和性能:

(1) 可訪(fǎng)問(wèn)的內存空間
(2) I/O操作
(3) 中斷操作
(4) 外圍設備(顯示器、鍵盤(pán)等)

如此以來(lái),Windows應用程序在Ring3級(最低級)的保護模式上運行,不能直接訪(fǎng)問(wèn)硬件,執行一個(gè)對硬件的操作就會(huì )引起一個(gè)異常事件,此時(shí)處理器切換到Ring0級,并且將控制權交給相應當控制器。所有Windows應用程序分享一個(gè)系統虛擬機。


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>