簡易USB與LVDS接口轉(zhuǎn)換器
1 引言
本文引用地址:http://m.butianyuan.cn/article/103929.htm通用串行總線USB(Universal Serial Bus)接口以其通信速率快,USB2.0協(xié)議速率達(dá)480 Mb/s,支持熱插拔的特點(diǎn)得到廣泛應(yīng)用,緩解日益增加的PC外設(shè)與有限的主板插槽和端口之間的矛盾;而低壓差分信號LVDS(Low-Voltage Differential Signaling)接口作為一種新型的高速串行。低噪聲的數(shù)據(jù)傳輸接口,廣泛應(yīng)用于視頻傳輸領(lǐng)域,實(shí)現(xiàn)USB與LVDS接口轉(zhuǎn)換,使在只有USB接的情況下便可實(shí)現(xiàn)雙視頻顯示的連接,進(jìn)一步擴(kuò)展兩種接口的使用范圍,從而在一定程度上解決主板插槽與端口日益匱乏的問題。
2 系統(tǒng)概述
該系統(tǒng)設(shè)計(jì)主要由穩(wěn)壓電路,USB接口,基于FPGA的協(xié)議數(shù)據(jù)轉(zhuǎn)換以及LVDS接口等部分組成,其系統(tǒng)設(shè)計(jì)框圖如圖1所示。該系統(tǒng)設(shè)計(jì)的USB接口使用高速USB物理層收發(fā)器USB3300將USB協(xié)議的差分信號轉(zhuǎn)換成8位的并行信號后,再與FPGA交互數(shù)據(jù),從而避免FPGA直接與USB協(xié)議的物理層交互數(shù)據(jù),簡化FPGA可編程門陣列編程?;谕瑯铀枷?,系統(tǒng)LVDS接口部分采用SN65LV1023與SN62LV1224,將低壓差分信號轉(zhuǎn)換成 10位的并行信號再與FPGA進(jìn)行數(shù)據(jù)交互。通過專用轉(zhuǎn)換器USB3300,SN65LV1023,SN65LV1224使得FPGA只與并行信號和相應(yīng)的控制信號連接,而不與USB協(xié)議和LVDS協(xié)議的復(fù)雜物理層信號交互,從而較為簡單地實(shí)現(xiàn)協(xié)議數(shù)據(jù)轉(zhuǎn)換的軟件編程。
系統(tǒng)設(shè)計(jì)使用兩片USB3300,其中USB3300 A與主機(jī)PC的USB接口相連,將主機(jī)傳輸?shù)腢SB協(xié)議數(shù)據(jù)轉(zhuǎn)換后,通過與FPGA的數(shù)據(jù)交互以及FPGA的協(xié)議數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換成10位并行信號,輸出給 SN65LV1023,最后以LVDS協(xié)議的低壓差分信號輸出,實(shí)現(xiàn)USB接口到LVDS接口的轉(zhuǎn)換。而SN65LV1224與主機(jī)的LVDS接口連接,將LVDS協(xié)議的數(shù)據(jù)轉(zhuǎn)換成10位并行輸入FPGA進(jìn)行協(xié)議數(shù)據(jù)轉(zhuǎn)換后,再將8位并行數(shù)據(jù)與USB3300_B進(jìn)行數(shù)據(jù)交互,最后以USB協(xié)議的差分信號輸出,從而實(shí)現(xiàn)LVDS接口到USB接口的轉(zhuǎn)換。
3 系統(tǒng)硬件設(shè)計(jì)
3.1 穩(wěn)壓電路
該系統(tǒng)設(shè)計(jì)需要提供5 V和3.3 V的穩(wěn)定電壓信號。于是穩(wěn)壓電路部分使用TPS76815向系統(tǒng)提供5 V的電壓信號,TPS76815電路連接如圖2所示,使能麗引腳接地,為除去毛刺則在OUT端接4.7μF和0.01μF的電容濾波,使用 TPS76833提供3.3 V電壓信號。TPS76833連接電路與TP$76815類似。
3.2 USB接口電路
因?yàn)閁SB協(xié)議的物理層定義過于復(fù)雜,采用FPGA現(xiàn)場可編程邏輯門陣列與USB協(xié)議物理層交互難度太大,同時(shí)也很難滿足數(shù)據(jù)收發(fā)時(shí)序同步要求。所以應(yīng)在與FPGA數(shù)據(jù)交互前進(jìn)行必要的數(shù)據(jù)轉(zhuǎn)換。因此,考慮使用USB控制器。而一般的 USB控制器只支持USB1.1協(xié)議,并不滿足高速傳輸要求.而轉(zhuǎn)換后的數(shù)據(jù)也較復(fù)雜。不利于協(xié)議數(shù)據(jù)轉(zhuǎn)換部分的編程。本系統(tǒng)應(yīng)用SMSC公司開發(fā)的高速 USB物理層收發(fā)器USB3300。USB3300使用低引腳計(jì)數(shù)接口(ULPI)連接ULPI兼容鏈路層。ULPI接口在鏈路層和PHY之間采用傳輸頻帶內(nèi)信號和狀態(tài)字節(jié)的方法,將引腳數(shù)從UTMI+接口的54降低到12。這樣大大降低USB協(xié)議物理層與FPGA數(shù)據(jù)交互的難度,易于軟件編程。 USB3300連接電路如圖3所示,為控制數(shù)據(jù)傳輸?shù)臅r(shí)序同步,采用USB3300的時(shí)鐘輸出工作方式。USB3300外接24 MHz的時(shí)鐘晶體振蕩器,經(jīng)內(nèi)部鎖相環(huán)電路轉(zhuǎn)換為60 MHz信號,通過CLK輸入FPGA作為其時(shí)鐘信號,從而實(shí)現(xiàn)FPGA與USB3300的時(shí)鐘同步。USB接口部分與FPGA的數(shù)據(jù)交互傳輸通過雙向的8 位數(shù)據(jù)信號實(shí)現(xiàn),USB3300通過DIR與NXT信號輸出控制數(shù)據(jù)信號的傳輸方向,而FPGA通過STP信號控制數(shù)據(jù)的傳輸方向USB3300的狀態(tài)。這樣便實(shí)現(xiàn)FPGA與USB3300的數(shù)據(jù)交互。
3.3 協(xié)議數(shù)據(jù)轉(zhuǎn)換部分
系統(tǒng)協(xié)議數(shù)據(jù)轉(zhuǎn)換部分中采用現(xiàn)場可編程邏輯門陣列器件EP1C6U240C8進(jìn)行編程,主要實(shí)現(xiàn)的功能是將與USB3300交互的數(shù)據(jù)轉(zhuǎn)換成10位并行數(shù)據(jù)與SN65LV1023和SN65LV1224交互,同時(shí)通過STP信號控制 USB3300的數(shù)據(jù)傳輸方向和USB3300的狀態(tài)。由于USB協(xié)議本身有低功耗模式,在低功耗模式時(shí)鎖相環(huán)關(guān)閉,在硬件設(shè)計(jì)時(shí)一定要接RESET控制鍵,這樣便于軟件編程的調(diào)試。
3.4 LVDS接口電路
低壓差分信號LVDS(Low Voltage Differential Signaling)接口是一種高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌?,其電壓信號擺幅低,技術(shù)上能做到且產(chǎn)生極低噪聲,功耗也極低,主要用于服務(wù)器、可堆壘集線器、無線基站、3FG交換機(jī)及高分辨率顯示等。與USB協(xié)議接口類似其物理層信號直接與FPGA進(jìn)行交互相當(dāng)復(fù)雜,系統(tǒng)選用SN65LV1224和 SNLV1023,將FPGA與LVDS接口物理層數(shù)據(jù)交互,轉(zhuǎn)換為10位的并行信號,同時(shí)通過相關(guān)的控制信號控制數(shù)據(jù)的傳輸方向。SN65LV1023 與SN65LV1224的硬件連接電路分別如圖4和圖5所示,其中SN65LV1023實(shí)現(xiàn)10位并行數(shù)據(jù)轉(zhuǎn)換成LVDS的低壓差分信號,同時(shí)FPGA通過TCLK_R/F控制內(nèi)部鎖相環(huán),進(jìn)而控制SN65LV1023狀態(tài)。而SN65LV1224則將LVDS的低壓差分信號轉(zhuǎn)換成10位并行數(shù)據(jù)信號輸入 FPGA,這樣通過SN65LV1023與SN65LV1224,便在較為簡單的情況下實(shí)現(xiàn)FPGA與LVDS接口的數(shù)據(jù)交互。
4 系統(tǒng)軟件設(shè)計(jì)
利用可編程邏輯門陣列FPGA轉(zhuǎn)換協(xié)議數(shù)據(jù),由于系統(tǒng)使用USB3300可將USB協(xié)議物理層信號轉(zhuǎn)換成8位并行信號,而使用SN65LV 1023與SN65LV1224則將低壓差分信號LVDS轉(zhuǎn)換成10位并行信號,這樣大大簡化FPGA的編程。 FPGA編程只需通過控制引腳,控制兩個(gè)并行信號的輸入輸出即可,同時(shí)可將數(shù)據(jù)的讀寫操作模塊化,從而進(jìn)一步簡化系統(tǒng)編程。
系統(tǒng)軟件設(shè)計(jì)流程如同6所示。由于遵循USB協(xié)議,在一段時(shí)間不進(jìn)行任何操作時(shí)則進(jìn)入低功耗模式。而USB3300也擁有這一特性。在一定時(shí)間系統(tǒng)不進(jìn)行任何的讀寫操作,USB3300將進(jìn)入低功耗模式,此時(shí)USB3300會自動關(guān)閉鎖相環(huán)時(shí)鐘輸出。
所以在系統(tǒng)啟動后,首先判斷USB3300的狀態(tài),如果在低功耗模式下,則控制STP信號開啟內(nèi)部時(shí)鐘,進(jìn)入到同步模式。
設(shè)備連接成功后,隨時(shí)判斷是否應(yīng)該進(jìn)行讀寫操作,若需要,則進(jìn)入讀寫操作模塊,實(shí)現(xiàn)讀寫操作后又開始判斷讀寫。等待一段時(shí)間不執(zhí)行讀寫操作后,USB3300則進(jìn)入低功耗模式,關(guān)閉鎖相環(huán),等待下次讀寫操作時(shí)再重新啟動內(nèi)部時(shí)鐘。
5 結(jié)論
采用專用轉(zhuǎn)換器USB3300,SN65LV1023,SN65LV1224分別將USB協(xié)議物理層的差分信號和LVDS的低壓差分信號轉(zhuǎn)換成并行信號,并通過FPGA編程實(shí)現(xiàn)協(xié)議編程的轉(zhuǎn)換。該系統(tǒng)設(shè)計(jì)較為簡單,并且系統(tǒng)拓展較簡單,可易于實(shí)現(xiàn)USB接口、LVDS接口對多種接口的轉(zhuǎn)換。
由于串口通信協(xié)議的物理層信號較為復(fù)雜,F(xiàn)PGA直接與其物理層信號進(jìn)行數(shù)據(jù)交互比較難以實(shí)現(xiàn),難以做到時(shí)序同步,而采用專用的轉(zhuǎn)換器將串行信號轉(zhuǎn)換成并行數(shù)據(jù)信號,則大大簡化邏輯門陣列編程。該系統(tǒng)合理使用USB3300和SN65LV1023與SN65LV1224接口器件使得邏輯門陣列的編程易于實(shí)現(xiàn),也可使用其他的專用轉(zhuǎn)換器,實(shí)現(xiàn)不同接口的轉(zhuǎn)換。
評論