- 相關(guān)推薦
1394技術(shù)及其在圖像傳輸系統(tǒng)中的應用
摘要:為了最大限度地利用現(xiàn)有硬件資源,縮短開發(fā)周期,研制了1394-PCI的轉(zhuǎn)接卡,實現(xiàn)了基于1394的高速圖像傳輸系統(tǒng)。介紹了1394高速串行總線的特性及原理及1394-PCI轉(zhuǎn)接卡的硬件、軟件設(shè)計。關(guān)鍵詞:1394高速串行總線 1394-PCI轉(zhuǎn)接卡 設(shè)備驅(qū)動程序
當今的計算機外圍設(shè)備都在追求高速性和高通用性,尤其在進行圖像數(shù)據(jù)處理和傳輸時,數(shù)據(jù)的大指、高速、實時性對計算機與外設(shè)的接口提出了更高的要求。
目前新型總線接口有兩種:USB和1394接口。它們都支持即插即用,具有易擴展、使用方便、成本低等特點。但在任何USB系統(tǒng)中,只能有一個主機,最多可接127個外設(shè),在全速模式下的傳輸紡為500kbps~10Mbps。而相比之下1394顯得更勝一籌。它支持點到點的傳輸,消除了主機處理器/內(nèi)存瓶頸,具有可升級性,支持400Mbps、200Mbps和100Mbps傳輸率,單一總線支持63個節(jié)點,由于1394總線的高速性和獨立于主機的操作能力,使它成為高多媒體設(shè)備接口的首選。
1 1394技術(shù)
IEEE 1394起源于蘋果公司,又名FireWire,是為家用電器研制的一種高速串行總線標準,其目的是為了解決對速度要求很高的寬帶設(shè)備的傳輸問題。(范文先生網(wǎng)www.gymyzhishaji.com收集整理)1995年12月,IEEE 1394-1994高速總線標準正式被IEEE標準委員會批準。
1.1 1394的主要特點
a.支持點對點傳輸。串行總線設(shè)備能自主執(zhí)行事務(wù),而不需要主機CPU的干預。
b.可擴展總線?梢詫⑿碌拇性O(shè)備連接入總線節(jié)點提供的端口從而擴展串行總線。
d.熱插拔。不需要系統(tǒng)斷電就可以動態(tài)地加入或刪除設(shè)備。
e.即插即用。每次加入或刪除設(shè)備時,總線節(jié)點會自動配置,并且配置時不需要主機系統(tǒng)的干預。
f.巨大的映射至內(nèi)存的地址空間。每個節(jié)點擁有256T字節(jié)的地址空間,每條總線上有16P字節(jié)地址空間。
1.2 1394原理
1394原理主要定義了以下幾點:
a.1394總線的拓撲結(jié)構(gòu)。1394串行總線的拓撲結(jié)構(gòu)可以分為兩種環(huán)境:底板環(huán)境和電纜環(huán)境。不同環(huán)境間總線的連接需要總線橋。電纜環(huán)境下的物理拓撲結(jié)構(gòu)是無環(huán)網(wǎng)絡(luò)結(jié)構(gòu),由電纜連接各節(jié)點間的端口,呈分支擴展,形成樹狀或菊花狀的網(wǎng)絡(luò)拓撲。底板環(huán)境中物理拓撲是多點接入(multidrop)的總線,總線上分布著多個連接器,允許節(jié)點直接插入,通過仲裁使各節(jié)點享用總線。
b.1394的物理接口。1394設(shè)備通過標準的六芯線纜來傳輸信號,如圖1所示。其TPA/TPA*和TPB/TPB*為一對差分模式的信號線。VP、VG提供8~40V的電源,可以通過它們給其它的節(jié)點供電。
c.1394總線協(xié)議。在1394傳輸中,支持等時傳輸和異步傳輸事務(wù),并將每次傳輸分解為一系列的小事和,有效地利用總線帶寬。異步事務(wù)需要數(shù)據(jù)確認,總線協(xié)議要復雜些,它包括三種基本事務(wù)類型:讀取、寫入和鎖定。每個事務(wù)由請求子事務(wù)和響應子事務(wù)組成。由于等時應用程序的性質(zhì),相關(guān)的總線事務(wù)十分簡單,等時事務(wù)每隔125μs向目標節(jié)點發(fā)送數(shù)據(jù)并且需要任何回熱。1394總線一共定義了12種事務(wù)類型的包格式,采用循環(huán)冗余校驗(CRC)進行數(shù)據(jù)差錯控制,有相應硬件和軟件處理各類傳輸事務(wù)。
d.1394電源管理。電源管理涉及到單獨節(jié)點或節(jié)點中元件的電源狀態(tài)控制。1394定義了4種電源狀態(tài)以及相應的CSR寄存器和ROM配置項,支持掛起/恢復機制,使節(jié)點在軟件控制下處于低功耗。
2 系統(tǒng)硬件設(shè)計
2.1 圖像傳輸系統(tǒng)總體設(shè)計
系統(tǒng)采用冗余備份的雙路1394高速總線將數(shù)據(jù)傳送給大容量存儲器、數(shù)據(jù)加密器和信道編碼器,如圖2所示。
由于本地系統(tǒng)中普通采用PCI接口,為了最大限度地利用現(xiàn)有硬件資源,縮短開發(fā)周期,研制了1394-PCI的轉(zhuǎn)接卡,來實現(xiàn)基于1394高速圖像傳輸系統(tǒng)。該轉(zhuǎn)接卡主要通過物理層和鏈路層控制芯片組實現(xiàn),其中鏈路層控制芯片采用TI公司的TSB12LV23,支持開放主機控制器接口(OHCI)的PCI接口芯片。
2.2 TSB12LV23/TSBAB03芯片組
TSB12LV23提供主機接口和物理層接口,實現(xiàn)CRC校驗以及同步服務(wù)。在芯片中集成了中斷寄存器、傳送/接收FIFO和DMA通道。TSBAB03芯片完成1394總線協(xié)議中的物理層功能,實現(xiàn)仲載機制,對收發(fā)信號進行編碼/解碼。
鏈路層和物理層芯片的連接電路圖如圖3所示。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件包括1394設(shè)備驅(qū)動程序、動態(tài)鏈路庫和應用程序。
3.1 1394設(shè)備驅(qū)動程序開發(fā)
Windosw驅(qū)動模型(WDM)定義了驅(qū)動程序分層,以適應即插即用系統(tǒng)。1394系統(tǒng)驅(qū)動程序采用分層結(jié)構(gòu)模型,其設(shè)備棧如圖4所法。設(shè)備驅(qū)動位設(shè)備棧頂,通過發(fā)IRP給IEEE 1394總線驅(qū)動來與設(shè)備通信。IEEE 1394總線驅(qū)動為1394總線提供了獨立于硬件的接口,并將一部分IRP傳向端口驅(qū)動程序。
在分層模型中,1394總線驅(qū)動負責管理1394設(shè)備驅(qū)動程序與1394控制器之間的通信;加載及卸載設(shè)備驅(qū)動程序。設(shè)備驅(qū)動程序在功能層工作,它們不需要任何低層硬件資源,只需對總線驅(qū)動程序發(fā)請求,由總線驅(qū)動程序訪問硬件來完成這些請求。
用DDK設(shè)計的1394設(shè)備驅(qū)動由4個模塊組成:初始化模塊、即插即用模塊、電源管理模塊以及I/O模塊。
初始化模塊提供設(shè)備驅(qū)動的入口點,從而將不同的IRP請求發(fā)向相應的執(zhí)行模塊。
即插即用模塊用于實現(xiàn)1394設(shè)備的熱插拔和動態(tài)配置。當總線驅(qū)動程序在加電或者添加/刪除時檢測到新設(shè)備,從設(shè)備中取出一個或多個標識符,用于檢查所有可用的安裝文件,發(fā)現(xiàn)合適的設(shè)備驅(qū)動程序。驅(qū)動程序被裝入,調(diào)用AddDevice入口點,告訴它發(fā)現(xiàn)一個新設(shè)備,并創(chuàng)建功能設(shè)備對象(FDO)?偩驅(qū)動程序或者安裝文件詳細描述設(shè)備所需的硬件資源,使用仲裁器為每個設(shè)備分配資源。
電源管理模塊負責設(shè)備的掛起和恢復。
I/O模塊完成I/O請求的大部分工作。該模塊定義了所需的I/O控制代碼,從而為應用程序提供了調(diào)用系統(tǒng)驅(qū)程序的接口。
3.2 動態(tài)鏈接庫的設(shè)計
由于Windows具有與設(shè)備無關(guān)的特性,不提倡與機器底層的東西打交道。如果直接用Windows的API函數(shù)或I/O讀寫指令進行訪問和操作,程序運行時往往就會產(chǎn)生保護模式錯誤甚至死機,更嚴重的情況會導致系統(tǒng)崩潰。用DLL技術(shù)可以方便地解決上述問題。而且DLL沒有自己的堆棧,與調(diào)用它的應用程序采用有相同的堆棧式,減少了編程設(shè)計上的不便;一個DLL在內(nèi)存中只有一個實例,使之能高效經(jīng)濟地使用內(nèi)存;DLL的代碼封裝懷使得程序簡潔明晰。
在1394 API動態(tài)鏈接庫中封裝了所有的1394請求命令,如異步讀/寫、等時讀/寫等,從而可以很方便地在應用級實現(xiàn)1394傳輸。通過調(diào)用DeviceIoControl向設(shè)備發(fā)請求,由I/O管理器構(gòu)造一個1394請求塊傳給總線驅(qū)動程序;由總線驅(qū)動程序完成該請求或者請求進一步傳給端口驅(qū)動程序,然后返回執(zhí)行狀態(tài)。
3.3 應用程序設(shè)計
在高速圖像傳輸系統(tǒng)中,應用程序是控制數(shù)據(jù)流的中心。采用VC++ 6.0和2000DDK實現(xiàn),主要功能有:獲取視頻數(shù)據(jù)源、檢測1394設(shè)備、總線管理、分配1394地址空間、設(shè)備等時資源和通道、完成1394傳輸。一次等時傳輸流程如圖5所示。
4 應用前景
如前所述,由于1394的高速、靈活和可擴展性,使其在很多方面都大有用武之地,其中包括大容量存儲器、視頻會議、家庭網(wǎng)絡(luò)、高速打印機、娛樂設(shè)備等。而且由于數(shù)字廣播、因特網(wǎng)、家庭數(shù)字網(wǎng)絡(luò)和高帶寬的視頻/音頻傳輸需求,使得IEEE 1394迅速發(fā)展。
【1394技術(shù)及其在圖像傳輸系統(tǒng)中的應用】相關(guān)文章:
LVDS技術(shù)及其在多信道高速數(shù)據(jù)傳輸中的應用08-06
VHDL在高速圖像采集系統(tǒng)中的應用設(shè)計08-06
基于FPGA的快速并行FFT及其在空間太陽望遠鏡圖像鎖定系統(tǒng)中的應用08-06
高溫液體流量檢測系統(tǒng)及其在鋅精餾中的應用08-06
數(shù)控加工仿真系統(tǒng)原理及其在教學中的應用08-13
新型數(shù)字CCD相機及其圖像數(shù)據(jù)傳輸卡設(shè)計08-06
DMA在實時圖像處理中的應用08-06