<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > USB-RS to 232轉(zhuǎn)換卡的設(shè)計與實現(xiàn)

          USB-RS to 232轉(zhuǎn)換卡的設(shè)計與實現(xiàn)

          作者: 時間:2011-04-02 來源:網(wǎng)絡 收藏
          自1969年由美國電氣工業(yè)協(xié)會(EIA)推薦以來,由于接口和通信協(xié)議比較簡單,因而在計算機串行通信領(lǐng)域得到了廣泛的應用,開發(fā)出了大量的以 為接口的各類產(chǎn)品。但隨著總線規(guī)范的推出,使得外設(shè)到計算機的連接更加高效、便利,功率不大的外圍設(shè)備可以直接通過數(shù)據(jù)線供電,而不必外接電源。總線最大可以提供5 V/500 mA電流,并提供節(jié)約能源的掛機和喚醒模式。此外,由于USB用于上行和下行連接頭的機械特性不同,還可以防止非法連接。根據(jù)USB協(xié)議,理論上最多可以同時將127個外設(shè)連接在同一臺計算機上。同時基于USB的數(shù)據(jù)通信系統(tǒng),可使采集系統(tǒng)與計算機之間的數(shù)據(jù)交換具備廣泛的適用性。USB是目前計算機的標準配置,采用此方案可以使用任何一臺計算機進行數(shù)據(jù)通信。但是目前仍然有許多使用 串行接口的控制設(shè)備、儀器儀表、遠程終端等運行在諸多應用領(lǐng)域中,立即將其改造為USB方式顯然存在成本及實施方面的問題。為適應USB廣泛流行的現(xiàn)實,有必要開發(fā)USB-RS 232卡,在它的支持下,這些傳統(tǒng)的設(shè)備無須改造,即可通過其原有的RS 232接口與USB總線接口實現(xiàn)數(shù)據(jù)傳輸。

          1 USB-RS 232轉(zhuǎn)換卡的組成及其工作原理

          1.1 組成
          USB-RS 232轉(zhuǎn)換卡的設(shè)計原理框圖如圖1所示,由USB接口模塊、UART接口模塊、數(shù)據(jù)緩沖區(qū)和協(xié)議控制單元組成。各部分功能如下:
          USB接口模塊 主要提供與USB總線的連接,它需要實現(xiàn)一般USB設(shè)備接口的所有功能,以實現(xiàn)與USB主機的數(shù)據(jù)傳輸。
          UART接口模塊 實現(xiàn)標準的RS 232接口的所有功能,以實現(xiàn)與標準RS 232接口的連接。
          協(xié)議控制單元 通過接收USB接口的命令,對UART接口進行配置(如配置通信波特率、數(shù)據(jù)位、校驗位、停止位、數(shù)據(jù)量控制信號等)。
          數(shù)據(jù)緩沖區(qū) 用來臨時保存雙方數(shù)據(jù)傳輸過程中的數(shù)據(jù)。

          1.JPG


          1.2 工作原理
          下面以計算機與外設(shè)的數(shù)據(jù)傳輸為例,介紹USB-RS 232轉(zhuǎn)換卡的工作原理:
          當USB-RS 232轉(zhuǎn)換卡連接到USB總線上時,計算機檢測到設(shè)備的連接后對設(shè)備進行初始化配置并啟動相關(guān)的客戶驅(qū)動程序;驅(qū)動程序給設(shè)備發(fā)送配置命令以設(shè)置RS 232接口的數(shù)據(jù)傳輸特性;最后,在數(shù)據(jù)傳輸時,計算機上的驅(qū)動程序首先將數(shù)據(jù)包傳輸給USB接口,USB接口讀出實際的有效數(shù)據(jù)并保存在數(shù)據(jù)緩沖區(qū)中,UART接口則從數(shù)據(jù)緩沖區(qū)中將數(shù)據(jù)取走并發(fā)送給設(shè)備。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();