摘要:設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)USB/EPP轉(zhuǎn)接系統(tǒng),給出其硬件設(shè)計(jì)方案并討論了相關(guān)技術(shù)細(xì)節(jié),使其實(shí)現(xiàn)USB接口到EPP接口的相互數(shù)據(jù)轉(zhuǎn)發(fā)。使僅具有EPP接口的傳統(tǒng)儀器設(shè)備借助于USB/EPP轉(zhuǎn)接系統(tǒng)擁有USB總線所提供的即插即用和設(shè)備插架特性,方便其通過USB接口靈活接入同時(shí)擁有多個(gè)外設(shè)的計(jì)算機(jī)主機(jī)系統(tǒng)。
關(guān)鍵詞:USB;EPP;轉(zhuǎn)接系統(tǒng)
1. 引言
在傳統(tǒng)的I/O模式中,計(jì)算機(jī)外設(shè)通常映射為CPU中固定I/O地址,要求由主機(jī)分配一個(gè)指定的IRQ中斷請(qǐng)求。由于PC機(jī)的端口和中斷資源有限,因而使外設(shè)的可擴(kuò)展性受到局限;同時(shí),隨著電腦應(yīng)用的拓展,PC機(jī)的外設(shè)接口越來越多,外設(shè)對(duì)系統(tǒng)資源的獨(dú)占性也容易導(dǎo)致系統(tǒng)資源沖突。由于各種外部設(shè)備不斷增加,容易導(dǎo)致各種I/O沖突。
由Intel、Compaq、Microsoft、IBM等廠商所提出的USB總線標(biāo)準(zhǔn),基于即插即用和設(shè)備插架技術(shù),設(shè)備接入時(shí)不影響應(yīng)用程序的運(yùn)行,具有良好的可擴(kuò)充性和擴(kuò)展的方便性。目前USB協(xié)議已經(jīng)發(fā)展到了最新的2.0版本,可支持峰值傳輸速率為480Mbps的高速外設(shè),可提供4~8個(gè)USB 2.0接口,同時(shí)通過USB集線器(HUB)的擴(kuò)展還可以支持多達(dá)127個(gè)外設(shè)同時(shí)連接,基本上解決了各種外設(shè)同時(shí)存在同時(shí)使用的所有問題;赨SB接口的上述優(yōu)點(diǎn),目前的計(jì)算機(jī),特別是筆記本計(jì)算機(jī)基本上都只配備USB接口,而取消了傳統(tǒng)的串口和并口,這對(duì)那些以前購置的需要與計(jì)算機(jī)進(jìn)行通信而只有串口或并口的各種儀器的繼續(xù)使用造成了極大的障礙。
針對(duì)傳統(tǒng)的數(shù)字化儀器與計(jì)算機(jī)通信中存在的接口不足的問題,本文設(shè)計(jì)了一個(gè)USB/EPP轉(zhuǎn)接系統(tǒng),使其能夠從計(jì)算機(jī)的USB接口接收數(shù)據(jù),經(jīng)過格式轉(zhuǎn)換,從USB/EPP轉(zhuǎn)接系統(tǒng)的并行接口EPP發(fā)送給傳統(tǒng)的儀器設(shè)備;同時(shí)也能夠從USB/EPP轉(zhuǎn)接系統(tǒng)的并行接口EPP接收數(shù)據(jù),將其轉(zhuǎn)化為USB幀格式,并發(fā)送到計(jì)算機(jī)的USB接口。從而使僅具有EPP接口的傳統(tǒng)儀器設(shè)備借助于USB/EPP轉(zhuǎn)接系統(tǒng),可以繼續(xù)正常使用。
2.USB總線
2.1 USB系統(tǒng)描述及總線協(xié)議
USB是一種電纜總線,支持在主機(jī)和各種即插即用外設(shè)之間進(jìn)行數(shù)據(jù)傳輸。由主機(jī)預(yù)定的標(biāo)準(zhǔn)協(xié)議使各種設(shè)備分享USB帶寬,當(dāng)其它設(shè)備和主機(jī)在運(yùn)行時(shí),總線允許添加、設(shè)置、使用以及拆除外設(shè),這為多個(gè)儀器設(shè)備共享同一個(gè)主計(jì)算機(jī)提供了可能。USB協(xié)議采用了管道模型的軟硬件協(xié)議,摒棄了一般外設(shè)協(xié)議的端口映射方式,從而有效地避免了計(jì)算機(jī)應(yīng)用系統(tǒng)I/O端口地址沖突。
根據(jù)功能劃分,一個(gè)USB系統(tǒng)由三個(gè)部分組成:即USB互連、USB主機(jī)和USB設(shè)備。圖1給出了USB系統(tǒng)的通用拓?fù)浣Y(jié)構(gòu)。
圖1 USB系統(tǒng)通用拓?fù)浣Y(jié)構(gòu)
2.2 USB互連
USB互連描述USB設(shè)備和主機(jī)進(jìn)行連接和通信的方式,主要包括以下幾個(gè)方面:總線的拓?fù)浣Y(jié)構(gòu),即USB設(shè)備和主機(jī)之間的連接模型,通過集線器(Hub)擴(kuò)展,主機(jī)可外接多達(dá)127個(gè)外設(shè);內(nèi)部層析的聯(lián)系,即在USB系統(tǒng)中各個(gè)層次完成的功能;數(shù)據(jù)流模型,即數(shù)據(jù)通過USB在提供者和使用者之間的移動(dòng)方式;USB調(diào)度,即USB提供共享互連的方式。USB的電纜有4根線,Vcc,Ground,D+, D- ,分別接5伏電源、地和一對(duì)差分?jǐn)?shù)據(jù)線。功率不大的外設(shè)可以直接通過總線供電。USB總線最大可以提供5V 500mA電流,并支持節(jié)約能源的掛機(jī)和喚醒模式。
2.3 USB主機(jī)
USB主機(jī)是USB通信模式的核心,是整個(gè)USB系統(tǒng)的管理者,負(fù)責(zé)控制和調(diào)度連接到主機(jī)USB端口的全部設(shè)備的活動(dòng)。在任何USB系統(tǒng)中只有一個(gè)USB主機(jī)。USB主機(jī)包括:客戶軟件、USB系統(tǒng)軟件和USB主機(jī)控制器3個(gè)層次?蛻糗浖(fù)責(zé)提供用戶界面;USB系統(tǒng)軟件包括驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序,分別用來驅(qū)動(dòng)面向客戶的主機(jī)界面和主機(jī)控制器;主機(jī)控制器是USB總線在主計(jì)算機(jī)系統(tǒng)上的接口,通過硬件、固件和軟件來共同實(shí)現(xiàn)用于支持主機(jī)與設(shè)備之間的交互。
在USB規(guī)范中定義了四種數(shù)據(jù)傳輸方式:控制傳輸方式、批量傳輸方式、中斷傳輸方式和同步傳輸方式。
控制傳輸屬于雙向傳輸,數(shù)據(jù)量通常較小,它把非周期性的由主機(jī)軟件發(fā)起的請(qǐng)求可靠地傳送給USB設(shè)備,主要用來進(jìn)行查詢、配置和給設(shè)備發(fā)送通用的USB命令?刂苽鬏敽愣ㄕ加每偩10%的帶寬,每個(gè)控制數(shù)據(jù)包最大為64字節(jié),帶有CRC校驗(yàn)的功能。
批量傳輸可以是單向或者雙向的,特別適合非周期性大數(shù)據(jù)包的可靠傳輸,典型的應(yīng)用是用來傳輸可以利用任何帶寬的數(shù)據(jù),而且當(dāng)這些數(shù)據(jù)沒有可用帶寬時(shí)可以容忍等待。它對(duì)準(zhǔn)確性要求較高,最大數(shù)據(jù)包為64字節(jié),通常應(yīng)用于繪圖儀、打印機(jī)和可移動(dòng)存儲(chǔ)器中。
中斷傳輸方式主要用于定時(shí)查詢?cè)O(shè)備是否有中斷數(shù)據(jù)要傳送,只傳送或接收少量數(shù)據(jù),而且并不經(jīng)常傳輸;但它們通常有一個(gè)確定的服務(wù)周期,查詢間隔在設(shè)備描述符中預(yù)先定義,對(duì)于低速設(shè)備,查詢間隔為10ms~255ms。中斷傳輸要求通道的最大服務(wù)周期能夠得到保證,同時(shí)由錯(cuò)誤引起的重發(fā)在下一服務(wù)周期進(jìn)行。中斷傳輸特別適合小規(guī)模數(shù)據(jù)、低速、低延遲的應(yīng)用場(chǎng)合,常用于鼠標(biāo)、鍵盤這類低速設(shè)備。
同步傳輸用于主機(jī)和設(shè)備之間周期性的、連續(xù)的通信,一般用于傳送與時(shí)間相關(guān)的信息。同步傳輸?shù)淖畲髷?shù)據(jù)包可以為1024字節(jié),它對(duì)實(shí)時(shí)性的要求超過對(duì)準(zhǔn)確性的要求,適合數(shù)據(jù)采集和音頻、視頻傳輸?shù)膽?yīng)用場(chǎng)合,如USB攝像頭、VoIP電話終端等。
2.4 USB設(shè)備
USB設(shè)備的邏輯結(jié)構(gòu)包括:USB總線接口, USB邏輯設(shè)備和應(yīng)用層3個(gè)層次。USB總線接口是USB總線在USB設(shè)備方面的接口,用來支持與主機(jī)的通信;端點(diǎn)是USB設(shè)備與USB總線的邏輯連接點(diǎn),一系列相互獨(dú)立的端點(diǎn)在一起構(gòu)成了USB邏輯設(shè)備;功能相關(guān)的端點(diǎn)的組合稱為接口,一系列接口的組合構(gòu)成USB的一個(gè)配置。一個(gè)USB設(shè)備可以有多個(gè)配置,但一次只能有一個(gè)配置。管道實(shí)現(xiàn)了在主機(jī)的一個(gè)內(nèi)存緩沖區(qū)與設(shè)備的端點(diǎn)之間的數(shù)據(jù)傳輸,主機(jī)與外設(shè)的數(shù)據(jù)在邏輯上就是通過管道來傳輸?shù)摹?/P>
3. 硬件設(shè)計(jì)





