1.緒言 在空間飛行器的遙感測繪過程中,由于受到有限信道帶寬的限制,數據的壓縮處理顯得 尤為重要。隨著圖像傳感技術的進步以及對圖像質量要求的提高,對不同設備中通用標準接 口之間的數據傳輸也有了更高的要求。通用串行接口(USB)的熱插拔、高速特性使其成為各 個系統數據高速連接的通用標準。選擇USB 接口進行數據傳輸的前提下,對各種設備的小 型化、低功耗要求,需要脫離體積較大的PC 機來實現系統的嵌入式操作。為了解決圖像壓 縮調試中壓縮板傳輸數據的雙重角色矛盾——直接硬盤存儲中圖像壓縮板為主機(Host), 高速USB 硬盤為外設;電腦調試中PC 機為主機,圖像壓縮板為外設(Peripheral)。本文采 用具有USB OTG(On-the-Go)技術的協議芯片ISP1761 來完成同一端口的雙重操作,并且 實現了自動切換。 2.OTG 技術及ISP1761 特性分析 USB OTG 在兼容所有USB2.0 特性的前提下,結合了對嵌入式應用的新特性,其中包 括低功耗、更小的USB 接頭以及在同一個USB 端口上實現了雙重角色(OTG)的功能—— 作為主機和外設的功能。OTG 適用于沒有PC 機(主設備)的情況下,實現從設備相互之間 的對等連接。 USB2.0 協議本身支持高達480Mbps 的高速(high speed)數據傳輸,并且與USB1.1 規 范后向兼容,而后者僅支持全速(full speed)12Mbps 和低速(low speed)1.5Mbps。在具有 OTG 技術的USB 協議芯片之中,Philips 公司生產的芯片ISP1761 不但在同一接口具有了主 機/外設雙重功能(OTG),而且實現主機/外設的高速傳輸(high speed 支持480Mbps)。 ISP1761采用低功耗設計,正常工作時Icc在接口形式上:ISP1761 是單片高速USB OTG 控制器,配備了一個OTG 接口和兩個主 機控制器接口,OTG 接口可以通過控制線在主機/外設角色間隨時轉換,使得本系統可以隨 時連接PC 機和USB 高速硬盤進行數據傳輸調試。 在數據傳輸上:集成PLL鎖相環,可以獲得穩定的傳輸采樣;內部FIFO進行數據緩沖; 支持DMA傳輸方式,支持HNP (Host Negotiation Protocol主機通信協議)和SRP(Session Request Protocol)對話請求協議技術,采用請求/應答機制進行快速數據交換。 在控制方面:采用通用處理器接口,可以方便的連接到各種CPU單元。特別是支持RISC 處理器接口,能夠和Xilinx FPGA軟核MicroBlaze直接相連,實現高速控制。 3. MicroBlaze 系統結構及其ISP1761 連接方法 MicroBlaze嵌入式軟核是一個被Xilinx公司優化過的可以嵌入在FPGA中的RISC處理器 軟核,MicroBlaze采用的數據總線和指令總線是分開的,總線接口有LMB和IBM的OPB兩種, 其中,LMB為有效的塊RAM傳輸提供簡單的同步協議,而OPB接口提供片上、片外設備和 外設存儲器之間的連接,MicroBlaze還提供Xilinx CacheLink(XCL)的接口,XCL為Caches和 特定的外部存儲器控制器提供一個快速的從設備方仲裁流接口,MicroBlaze也支持高達8個 快速單一連接端口(FSL), FSL提供一個快速的非仲裁流通信機制,而每一個又可分主接口和 從接口。 MicroBlaze 軟核處理器與ISP1761 連接操作示意圖如圖1 所示。 內部可尋址的主機控制器緩沖存儲器(即內部RAM)大小為63kB,包括傳輸描述和有效載 荷PTD(Philips Transfer Descriptor)和payload兩部分,PTD區域和payload區域都被分成三個 部分,ISO(Isochronous)、INT(Interrupt)、ATL(Acknowledged Transfer List),可以進行 如圖2所示的分區管理。無論是與MicroBlaze還是與USB硬盤進行數據傳輸都需要訪問1761內部 RAM,即數據必須通過PIO模式或DMA模式傳輸到PTD區域和payload區域才能進行協議轉換等操作,具體區域需要由ISP1761內部的仲裁機構來裁定。 因為ISP1761的初始化主要是對內部寄存器賦值,因此采用PIO模式。通過CS_N、WR_N、 RD_N來訪問寄存器和存儲器。當USB接口進行高速數據傳輸時,則采用DMA方式。通過DACK、 WR_N、RD_N來訪問。ISP1761的DMA傳輸長度支持1,4,8,16個字,在DMA傳輸開始的時 候,DREQ有效。DMA訪問時序如圖2所示。 4.調試系統硬件實現以及工作過程 4.1 調試系統硬件組成 本系統所實現的是測繪圖像數據壓縮以及 USB 接口的數據傳輸。如圖3 所示,由圖像 傳感器獲取的圖像數據經過FIFO 緩存后,經由FPGA 進行JPEG2000 標準下的圖像壓縮, 壓縮程序由Verilog HDL 硬件描述語言實現,壓縮后的數據流在MicroBlaze 軟核處理器的控 制下,暫存到DDR RAM 中,進行連續相關圖像比較及其處理,最后將圖像數據存儲到高 速USB 硬盤中。但在調試的過程中,需要對壓縮算法進行驗證和*估,即將需要存儲到高 速USB 硬盤的數據流直接連接輸入到PC 機中,在PC 機中進行數據顯示、處理和識別等方 面的*估,因此調試中要頻繁的將同一個USB OTG 高速接口在高速USB 硬盤和PC 機USB 接口中調換。 設計中 CCD 傳感器采用2200 萬像素(4008×5344)的超大分辨率全幀CCD 圖像傳感器 FTF4052M。FIFO 采用IDT 公司的IDT72V2113,容量為512K×9bit。FPGA 采用Xilinx 公 司的Virtex4 FX12,它集成PowerPC405 硬核處理器和MicroBlaze 軟核處理器,可以通過IP 核方便的連接SRAM 和DDR SDRAM 進行數據暫存或高速緩沖存儲,DDR RAM 采用 HYB25D256160BT,軟核也可以針對ISP1761 的預留MicroBlaze 接口直接對其進行高速控 制,其中JPEG2000 壓縮部分為自己編制已做成用戶自定義IP 核,直接添加到MicroBlaze 軟核處理器中。 4.2 MicroBlaze 軟件配置流程 系統采用 ISE EDK(Embedded Development Kit)中的BaseSystem BuilderWizard 來快速構建基于MicroBlaze 軟核處理系統。在XPS(Xilinx Platform. Studio)平臺下進行硬核配置。 首先定義內部所用各種存儲器(BRAM,DDR RAM)以及應用總線(LMB,OPB)和接口, 之后添加JPEG2000 的IP 核,對用戶IP 核進行各種導入操作,包括總線形式選擇、主從配 置、分配地址空間、添加端口信號、將端口信號連接到FPGA 管腳上,并且定義成外部管 腳。軟件工程設計主要包括:軟件工作環境設置,對設備驅動進行調整,添加應用軟件,自 己編寫的應用C 固件程序添加到軟件工程之中,最后產生位流文件。 4.3 OTG 芯片控制流程 OTG 引腳可以分別連接到PC 機和高速USB 硬盤,而OTG 的主機/外設作用選擇取決于 ISP1761 中的ID 引腳,引腳值由連接到USB mini-AB 插座上的插頭類型決定。如果ID 為低 (mini-A 插頭),為主機A-device。如果ID 為高(mini-B 插頭),為外圍設備B-device,這樣 就實現了智能主從選擇,方便隨時改變硬件進行壓縮調試。 ISP1761引腳VBUS開/關之間的時間(session)是交換數據過程。主機和外設都可以開始一 個數據傳輸過程,在一個傳輸過程里面主機的作用能夠通過HNP在A、B設備中隨時改變。如果 主機開始一個數據傳輸,通過使能電荷泵來有效VBUS。外設檢測到VBUS有效后,通過使能DP線 上的上拉電阻來確定自己外設地位。主機檢測到遠程上拉電阻則也確定了自己的主機地位。主機 就可以和外設進行通信。結束通信則通過無效VBUS來實現。 如果外設開始一個數據傳輸,必須通過數據線脈沖或者VBUS 脈沖來初始化SRP。當主機檢 測到SRP 事件,則有效VBUS(只有主機才能有效VBUS),這時就確定了自己的地位。SRP 初 始化過程如表1 所示。主機對兩件SRP 事件有反應:數據線脈沖或VBUS 脈沖。當用數據線脈 沖時,ISP1761 能夠檢測DP 脈沖。這意味著僅為外圍設備必須通過DP 來初始化數據線脈沖。 當主機通過 OTG 描述符而檢測到支持HNP 的外設時,主機就會通過使用SetFeature (b_hnp_enable)命令使能HNP hand-off,之后進入懸空狀態。外設信號就會通過無效自己的 上拉電阻來獲得主機地位。而主機則認可了自己的外設地位。此時,外設就作為主機來進行各種 通信,直到外設結束通信,兩者又返回各自狀態。HNP 是對話時用來在默認主機(A-device) 和默認外設(B-device)之間傳輸主機控制。如果B-device 想利用總線,就給A-device 給發送 斷開信號。這樣,A-device 就獲得外設地位,B-device 則獲得主機地位。 5.結束語 通過將壓縮后的協議轉換前圖像、讀出高速 USB 硬盤中的圖像、連接到主機USB 接口 采集的圖像三者對比后達到完全一致,驗證了通過單片協議芯片ISP1761 實現了USB OTG 標準下的高速數據傳輸,實現了同一壓縮板端口的上/下行數據調試。 CCD 傳感器數據量 為100Mbps 的情況下,采用JPEG2000 標準對圖像數據進行無損壓縮,實測壓縮率約為2.1: 1,因此通過USB 接口實現了約45.8Mbps 的上/下行(OTG)有效數據傳輸,遠遠超過USB 低速、全速的傳輸速度,實現了真正意義上的高速(high speed)數據傳輸。 |