RS232接口轉(zhuǎn)USB接口的通信方法
摘要:USB通用串行總線是計算機(jī)外設(shè)接口的發(fā)展趨勢,將逐漸取代PC機(jī)上的RS232協(xié)議串口,因此很多傳統(tǒng)的RS232接口設(shè)備都將面臨一個向USB接口轉(zhuǎn)換的問題。本文以IC卡門禁考勤系統(tǒng)為例,提出一種方案,使傳統(tǒng)的RS232接口轉(zhuǎn)化為USB接口后直接通過USB總線接入PC, 同時使IC卡門禁考勤設(shè)備增加了USB總線具有的熱插拔、自動配置和智能電源管理等功能;著重剖析USB通信內(nèi)核,探討系統(tǒng)軟硬件設(shè)計方案。關(guān)鍵詞:USB 終端 人機(jī)接口設(shè)備(HID) 列舉
引 言
USB作為一種新的PC機(jī)互連協(xié)議,使外設(shè)到計算機(jī)的連接更加高效、便利。這種接口適合于多種設(shè)備,不僅具有快速、即插即用、支持熱插拔的特點,還能同時連接多達(dá)127個設(shè)備,解決了如資源沖突、中斷請求(IRQs)和直接數(shù)據(jù)通道(DMAs)等問題。因此,越來越多的開發(fā)者欲在自己的產(chǎn)品中使用這種標(biāo)準(zhǔn)接口。而RS232是單個設(shè)備接入計算機(jī)時,常采用的一種接入方式,其硬件實現(xiàn)簡單, 因此在傳統(tǒng)的設(shè)備中有很多采用了這種通信方式。 一般的IC卡門禁考勤系統(tǒng)也使用RS232接口與PC機(jī)通信。如果將USB技術(shù)應(yīng)用于IC卡門禁考勤系統(tǒng)與PC機(jī)之間的數(shù)據(jù)通信,這樣,不僅能使IC卡門禁考勤設(shè)備具備USB通信的諸多優(yōu)點,而且對PC機(jī)而言還可以節(jié)余1個RS232串口為其它通信所用。
1 USB系統(tǒng)概述
USB規(guī)范描述了總線特性、協(xié)議定義、編程接口以及其它設(shè)計和構(gòu)建系統(tǒng)時所要求的特性。USB是一種主從總線,工作時USB主機(jī)處于主模式,設(shè)備處于從模式。USB系統(tǒng)所需要的唯一的系統(tǒng)資源是,USB系統(tǒng)軟件所使用的內(nèi)存空間、USB主控制器所使用的內(nèi)存地址空間(I/O地址空間)和中斷請求(IRQ)線。USB設(shè)備可以是功能性的,如顯示器、鼠標(biāo)或者集線器之類。它們可以作低速或者高速設(shè)備實現(xiàn)。低速設(shè)備最大速率限制在1.5 Mb/s,每一個設(shè)備有一些專有寄存器,也就是端點(endpoint)。在進(jìn)行數(shù)據(jù)交換時,可以通過設(shè)備驅(qū)動間接訪問它。每一個端點支持幾種特殊的傳輸類型,并且有一個唯一的地址和傳輸方向。不同的是端點0 僅用作控制傳輸,并且其傳輸可以是雙向的。
系統(tǒng)上電后,USB主機(jī)負(fù)責(zé)檢測設(shè)備的連接與拆除、初始化設(shè)備的列舉過程,并根據(jù)設(shè)備描述表安裝設(shè)備驅(qū)動后自動重新配置系統(tǒng),收集每個設(shè)備的狀態(tài)信息。設(shè)備描述表標(biāo)識了設(shè)備的屬性、特征并描述了設(shè)備的通信要求。USB主機(jī)根據(jù)這些信息配置設(shè)備、查找驅(qū)動,并且與設(shè)備通信。
典型的USB數(shù)據(jù)傳輸是由設(shè)備驅(qū)動開始的,當(dāng)它需要與設(shè)備通信時,設(shè)備驅(qū)動提供內(nèi)存緩沖區(qū),用來存放設(shè)備收到或者即將發(fā)送的數(shù)據(jù)。USB驅(qū)動提供USB設(shè)備驅(qū)動和USB主控制器之間的接口,并將傳輸請求轉(zhuǎn)化為USB事務(wù),轉(zhuǎn)化時需要與帶寬要求及協(xié)議結(jié)構(gòu)保持一致。某些傳輸是由大塊數(shù)據(jù)構(gòu)成的,這時需要先將它劃分為幾個事物再進(jìn)行傳輸。
具有相似功能的設(shè)備可以組成一類,這樣便于分享共有的特性
[1] [2] [3] [4]