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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > USB接口便攜式M-BUS抄表儀的設計

          USB接口便攜式M-BUS抄表儀的設計

          作者: 時間:2012-04-28 來源:網絡 收藏

          2 主要電路原理
          2.1 串口轉換電路
          選用美國FTDI公司的FT232R實現(xiàn)串口轉換功能。
          FT232R是單片轉異步串行通信芯片,內嵌USB協(xié)議棧,無需編寫USB程序固件。UART支持7或8比特數(shù)據,1位或2位停止位,奇、偶或無校驗;通信波特率從300bps-3Mbps;內置256bvte接收緩存和128byte發(fā)送緩存;內部集成了1024Bit EEPROM用來存儲USB VID、PID、編號及產品字符等;每個器件都有唯一的USB序列號;支持USB掛起和釋放;支持USB供電、自主供電和總線供電;為便于與USB匹配,內部集成了3.3V電平轉換器;集成了1.8V-5V邏輯電平轉換器,可方便的與UART接口匹配;支持5V/3.3V/2.8V/1.8VCOMS電平輸出或TTL電平輸入;集成了上電復位電路;全內部時鐘,不需要外部振蕩器;集成了模擬電源濾波器,不需要模擬電源輸入;3.3V-5.25V單電源工作;-40℃-85℃工業(yè)級工作溫度范圍。
          使用FT232R實現(xiàn)USB串口轉換的原理電路圖如圖4所示。圖中,U1是USB串口轉換器,CN101是計算機的USB接口,J2可接外部電源適配器,以進一步提高M—BUS抄表儀的帶載能力。

          本文引用地址:http://www.ex-cimer.com/article/202340.htm

          d.JPG


          這個電路結構簡單,使用方便。也可與其它電路一起構成USB-485接口轉換器或USB-232接口轉換器。為低速串行通信提供了一個可靠的USB解決方案。
          2.2 電源電路
          總線電源有兩路(見圖5),一路產生傳號電壓,另一路產生空號電壓,由串口直接對總線電壓進行基帶調制。圖中選用了NS的LM2733產生兩路總線電壓。另外,時基電路、放大器和比較器的電源直接由USB電源供給。

          e.JPG


          LM2733為Boost型開關穩(wěn)壓器,輸入電壓范圍2.7-14V,開關頻率有600kHz和1.6MHz兩種,內部集成了40V/1A的MOSFET,封裝為SOT23-5,還有SHDN管腳,可方便的進行小型化設計和關斷控制。從主機USB接口得到的5V電源作為輸入電源,分別進行BOOST變換后,升壓到18V和30V,用作總線傳號電壓和空號電壓。
          2.3 發(fā)送和保護電路
          發(fā)送電路完成電壓調制功能如圖6所示。主機無信號發(fā)出時,LocalHostTXD為高電平,三極管VT1、VT2、VT3導通,場效應管VT7導通,VT9截止,總線輸出電壓為30V (空號電壓);主機有信號發(fā)出時,LocalHostTXD為低電平,三極管VT1截止,場效應管VT9柵極被拉高,VT9導通,VT7截止,總線電壓變?yōu)?8V (傳號電壓)。

          f.JPG



          關鍵詞: M-BUS USB 接口 便攜式

          評論


          相關推薦

          技術專區(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); })();