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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 通過光纖傳輸USB信號的電路設計

          通過光纖傳輸USB信號的電路設計

          作者: 時間:2013-07-03 來源:網絡 收藏
          本文涉及光纖通信接口電路,特別涉及一種通過USB(通用串行總線)信號的電路。 本文的電路將USB(通用串行總線)信號D+、D-的三種狀態(tài)轉換為發(fā)射激光的三種強度全亮、半亮、暗,并且通過到對方激光接收器再通過相應電路恢復D+、D-的三種狀態(tài)。激光接收器電路的輸出信號之一觸發(fā)單穩(wěn)延時電路來控制D+、D-與激光發(fā)射電路、激光接收電路的通與斷。

          由于目前計算機的使用電纜傳輸,所以通信距離難以延長,一般不超過30米。本文的方案克服了現(xiàn)有電纜傳輸距離短的缺點,從而提供一種通過的電路,使USB的通信距離增加到幾十千米。

          1 實現(xiàn)原理

          本方案是一種通過光纖傳輸USB信號的電路,成對使用,通過光的強度的三個等級(全亮、半亮、暗)分別代表USB數(shù)據(jù)線的三種狀態(tài),當光的強度為最低時(暗)代表USB數(shù)據(jù)線的閑置狀態(tài)。先發(fā)送USB信號的一方由于其USB的數(shù)據(jù)狀態(tài)先改變,其狀態(tài)的改變通過光纖傳輸?shù)綄Ψ诫娐返慕邮针娐樊a生一個下降沿(或者上升沿)觸發(fā)一個單穩(wěn)電路,此單穩(wěn)電路的輸出控制USB信號的“收/發(fā)”允許。先發(fā)送USB信號的一方由于其USB的數(shù)據(jù)狀態(tài)先改變,其狀態(tài)的改變通過光纖傳輸?shù)綄Ψ诫娐返慕邮针娐樊a生一個下降沿(或者上升沿)觸發(fā)一個單穩(wěn)電路,此單穩(wěn)電路的延時時間為USB傳輸一幀數(shù)據(jù)的時間。

          2 具體實現(xiàn)方法

          2.1 將USB信號(D+、D—)轉換為光纖傳輸信號

          圖1為將USB信號(D+、D-)轉換為光纖傳輸信號——激光的框圖。USB信號檢測電路(1)將D+和D-變換為“或”門輸出DOR1和差分比較器輸出RCV1。一雙可控三態(tài)緩沖器(2)通過控制端EN來控制邏輯“通”與“端”。當EN=“0”時,DOR=DOR1、RCV=RCV1。而當EN=“1”時,DOR和RCV為高阻狀態(tài)。激光發(fā)射驅動電路(3)將DOR和RCV轉換為三種激光強度(亮、半亮、暗)。激光接收電路(4)將接收到的三種激光強度(亮、半亮、暗)恢復為D+和D-的三種狀態(tài)。激光接收電路(4)的輸出之一H的狀態(tài)變化觸發(fā)單穩(wěn)延時電路(5)。

          單穩(wěn)延時電路(5)的輸出EN平時(即USB信號處于閑置狀態(tài)時)為“0”,當其輸入H有下降延(即由“1”變?yōu)椤?”)時輸出EN由“0”變?yōu)椤?”并且保持為“1”大約1000us,然后恢復為“0”。另一雙可控三態(tài)緩沖器(2)通過控制端EN來控制來控制邏輯“通”與“斷”,當EN=“1”時,VP=H、VM=L,而當EN=“0”時輸出VP、VM為高阻狀態(tài)。

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();