基于USB接口的同步視頻輸出系統(tǒng)設(shè)計方案
在信息技術(shù)日新月異的今天,人們對視頻圖像傳輸?shù)男枨笤絹碓狡惹?,要求越來越高,而整個圖像傳輸系統(tǒng)的瓶頸在于視頻圖像的信息量很大,而且傳輸?shù)倪^程中容易出現(xiàn)延時、抖動、失真等現(xiàn)象,因此在選擇視頻圖像傳輸?shù)目偩€要求速度高,錯誤率低的特點。目前視頻圖像實時傳輸采用的總線主要有PCI、1394以及USB.三者比較而言,USB 2.0高速傳輸協(xié)議,兼有快速、通用、可靠、省電、熱插拔等優(yōu)點,比傳統(tǒng)基于PCI總線、1394總線的視頻輸出系統(tǒng),特別是在需要利用筆記本電腦等便攜設(shè)備進(jìn)行視頻輸出的場合,具有更強大的通用性和靈活性。
本文所介紹的同步視頻輸出系統(tǒng)設(shè)計方案,由作為外設(shè)的視頻輸出接口卡和主機(jī)上的應(yīng)用軟件兩個部分組成,采用通用串行總線(USB)實現(xiàn)視頻圖像數(shù)據(jù)的傳輸,并依據(jù)PAL制電視標(biāo)準(zhǔn)與主機(jī)同步視頻顯示,畫面流暢清晰。
1.視頻輸出接口卡硬件結(jié)構(gòu)和工作原理
1.1 視頻輸出接口卡的硬件結(jié)構(gòu)
視頻輸出接口卡的結(jié)構(gòu)框圖如圖1所示,主要由內(nèi)置MCU的USB接口芯片、圖像存儲SRAM、以及D/A圖像輸出三個部分。各部分的主要功能為:USB接口芯片和主機(jī)通信,將主機(jī)的視頻圖像數(shù)據(jù)按照一定時序通過USB電纜寫入SRAM保存;SRAM芯片負(fù)責(zé)數(shù)字視頻信號的存儲;D/A圖像輸出部分將數(shù)字視頻信號轉(zhuǎn)換成模擬視頻信號,按照PAL制式進(jìn)行輸出顯示。
1.2 視頻圖像傳輸和存儲顯示
本系統(tǒng)視頻圖像數(shù)據(jù)是通過USB電纜傳輸,USB電纜包含4根電線:Vbus,D+,D-和GND.數(shù)據(jù)以480M高速信號在D+和D-信號線上差分傳輸,而收發(fā)器在USB接口控制芯片上,不需要外部電路。
USB接口部分是本系統(tǒng)最為重要的通信部分。USB接口控制芯片采用的是CYPRESS公司的EZ USB FX2系列CY7C68013芯片。它內(nèi)部集成帶8KB片內(nèi)RAM的增強型51系列MCU、16位并行地址總線、8/16數(shù)據(jù)總線、IIC總線、4KB FIFO 存儲器以及通用可編程接口GPIF,串行接口引擎SIE和USB收發(fā)器,是USB 2.0的完整的解決方案。
串行接口引擎智能SIE通過包排序、信號產(chǎn)生/檢測、CRC產(chǎn)生/校驗、NRZI數(shù)據(jù)編碼、位填充和包標(biāo)識產(chǎn)生/解碼來處理USB通信協(xié)議,并保證傳輸?shù)経SB電纜上的數(shù)據(jù)字節(jié)以LSB開頭。它使MCU從繁瑣的USB協(xié)議中脫身,集中注意力放在控制數(shù)據(jù)的輸入和輸出。
FX2內(nèi)部集成的高速MCU為增強型8051,功能較傳統(tǒng)的8051系列單片機(jī)強大,但在代碼的編寫上兼容,使用方便,且速度是標(biāo)準(zhǔn)8051的3~5倍,工作頻率可以軟件設(shè)置,最高可為48Mhz,還帶有兩個串口,三個計數(shù)/定時器,八級中斷,雙數(shù)據(jù)指針方便數(shù)據(jù)塊搬移。
外設(shè)接口有兩種接口方式:可編程接口GPIF和Slave FIFO.可編程邏輯接口GPIF是主控方式,可以由軟件設(shè)計讀寫控制波形,不通過MCU,就可以實現(xiàn)主動對任何8/16位接口的控制器、存儲器和總線進(jìn)行數(shù)據(jù)的讀寫。而且讀寫的最高速度可以達(dá)到96MB/s,高于USB2.0的傳輸速度。Slave FIFO是從控方式,外部控制器(如DSP 和單片機(jī)等)可以像對普通的FIFO一樣對FX2的多重緩沖讀寫,工作方式也可選擇同步或異步,工作時鐘可以選擇輸入和輸出。
另外,它是基于RAM的“軟”系統(tǒng)解決方案,不需要ROM或者其他的固化存儲器,可以使用片內(nèi)的程序/數(shù)據(jù)RAM.固件可以直接通過USB電纜下載,方便固件的修改和升級。
靜態(tài)存儲器SRAM采用IDT公司雙口異步靜態(tài)RAM芯片IDT70v09,8位數(shù)據(jù)線,17根地址線,64M容量。
視頻信號輸出轉(zhuǎn)換的芯片是DAC0800, 將數(shù)字圖像信號轉(zhuǎn)換為模擬信號,依據(jù)PAL制輸出。PAL制視頻輸出標(biāo)準(zhǔn)為25幀/秒,一幀分奇偶兩場,20ms一場,其中場正程為17ms,逆程為3ms.系統(tǒng)中正是利用場同步信號作為同步標(biāo)準(zhǔn),使USB設(shè)備的圖像傳輸和顯示一致。
1.3 工作原理
當(dāng)USB設(shè)備第一次插入到USB接口時,F(xiàn)X2通過USB電纜自動枚舉,并下載固件程序和USB描述符表;接下來,F(xiàn)X2二次枚舉,根據(jù)下載的信息定義重新定義USB設(shè)備。這兩個步驟稱為再枚舉,設(shè)備插入時就立即執(zhí)行而沒有提示。二次枚舉以后主機(jī)可以通過控制管道和USB設(shè)備通訊,完成USB設(shè)備的端點配置等初始化工作,完畢,開始查詢USB設(shè)備是否準(zhǔn)備好。USB設(shè)備端MCU檢測外部中斷INT0(場信號跳變沿),若外部中斷INT0發(fā)生,則轉(zhuǎn)入外部中斷服務(wù)子程序,應(yīng)答主機(jī),說明USB設(shè)備已經(jīng)準(zhǔn)備好接受數(shù)據(jù),主機(jī)查詢到此應(yīng)答后,應(yīng)用程序發(fā)一場圖像數(shù)據(jù)到FX2,單片機(jī)檢測到數(shù)據(jù)到達(dá)后,啟動GPIF,然后GPIF獨立于MCU將圖像數(shù)據(jù)導(dǎo)入SRAM,一場圖像傳輸完畢,結(jié)束GPIF,退出中斷服務(wù)子程序,直到下一輪中斷開始。D/A部分電路在場正程部分讀取SRAM圖像數(shù)據(jù),并轉(zhuǎn)換為模擬信號輸出顯示,而在場逆程中禁止讀取SRAM.
2.固件(FIRMWARE)設(shè)計
固件是指固化在USB控制器中MCU的程序,它的主要功能是負(fù)責(zé)接收與處理主機(jī)發(fā)給設(shè)備的各種請求,并向主機(jī)返回設(shè)備的狀態(tài)信息。FX2 系列的固件代碼可以存儲到主機(jī)中,設(shè)備上電復(fù)位以后通過USB電纜手動下載到FX2,這種方法易于升級,在系統(tǒng)的開發(fā)過程中很方便;固件代碼可以固化到片外存儲器EEPROM或者是ROM,設(shè)備上電以后,自動下載固件到片內(nèi)RAM,這兩種方法可以將系統(tǒng)固件做成產(chǎn)品,無須每次手動下載。
本系統(tǒng)中固件分兩個部分,一個是數(shù)據(jù)通道的控制,一個是主機(jī)控制命令的應(yīng)答。數(shù)據(jù)通道的控制主要是GPIF控制數(shù)據(jù)傳輸管道完成。而控制管道EP0則負(fù)責(zé)主機(jī)和USB設(shè)備端的去掉數(shù)據(jù)部分的通信:更改管道和端點配置信息,設(shè)置軟件中斷,更改GPIF視頻圖像傳輸?shù)拇笮。@取重要寄存器的狀態(tài)等等。
評論