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