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

          新聞中心

          串行通信總結

          作者: 時間:2016-12-15 來源:網(wǎng)絡 收藏
          我們都知道在現(xiàn)實應用中,各種控制器之間需要進行數(shù)據(jù)交換,而大部分的數(shù)據(jù)交換都是通過串行通信實現(xiàn)的。如今,串行通信已經發(fā)展的比較成熟,如RS232,RS485,CAN,SPI,IIC,USB等都是常見的串行通信技術。

          RS232的通信協(xié)議與微控制器uart串口通信協(xié)議(我們常說的“數(shù)據(jù)鏈路層”)一致,只是電平在‘0’,‘1’的定義上(我們常說的“物理層”)有所差別。uart中端口對GND低電平代表‘0’,端口對GND高電平(+5V)代表‘1’,而RS232中用-15V~-3V代表邏輯1,3V~15V代表邏輯0。物理層對邏輯0,1電壓的限制比較高,同時是單線電平信號,抗干擾能力表弱,不適用與長距離通信。雖然uart支持多機通信,但是RS232一般用在短距離點對點通信的應用場合(可能是通信距離短組建不了多機通信網(wǎng)絡吧)。

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

          RS485是應用在多機通信應用比較多的通信方式。在工業(yè)控制中,RS485的“數(shù)據(jù)鏈路層”也是基于Uart上的,只不過在“物理層”的邏輯‘0’,‘1’定義上是采用差分信號的。RS485一般有AB兩根線,當A-B=2V~6V為邏輯1,A-B=-2V~-6V為邏輯0。由于RS485采用差分信號傳輸數(shù)據(jù),抗干擾能力強,傳輸距離遠。由RS485協(xié)議組建的多機通信網(wǎng)絡中,一般有一個主機,N(N<31)個從機構成。由于只有兩個差分信號線為通信線,所以RS485通信是半雙工的,從機不能主動提出發(fā)送請求,需要主機輪詢到該從機的時候,該從機才能進行數(shù)據(jù)發(fā)送。

          Can總線技術是另一類多機串行通信技術。CAN通信技術可以組建多達110多個點的多點通信網(wǎng)絡。這里插入一份開放系統(tǒng)互連模型的分層定義表。

          Can總線的在物理層與RS485類似,也是采用兩根數(shù)據(jù)線CANH,CANL傳輸差分信號,CANH-CANL=0代表隱性(相當于邏輯1),CANH-CANL有一個比較大的差值時代表顯性(相當于邏輯0)。具體數(shù)據(jù)鏈路層的定義與RS485有著比較大的差別,CAN總線是采用發(fā)送報文的形式進行數(shù)據(jù)傳輸?shù)模恳粓笪睦锒及?1位或者29位的標識碼作為發(fā)送起始幀。can總線采用的是位仲裁機制,當一個點發(fā)送占用總線發(fā)送標識碼后改點會檢測總線的狀態(tài),如果發(fā)送的為隱性位,而檢測到總線為顯性位,說明有其他點發(fā)送更高優(yōu)先級標識碼,這個點會自動退出發(fā)送狀態(tài),將總線讓給發(fā)送高優(yōu)先級標識碼的點。從這里我們可以發(fā)現(xiàn),標識碼越小優(yōu)先級越高的特點。Can總線技術相對RS485技術具有很多優(yōu)點:1。CAN總線上所有點都可以是主機,只要總線空閑可在任意時刻向總線發(fā)送數(shù)據(jù)(內部具有總線沖突仲裁機制),增加數(shù)據(jù)通信的實時性。2.通信距離遠,組件網(wǎng)絡比較大,通信速度快。目前用專用的CAN通信控制器實現(xiàn)CAN通信,有些高檔的MCU也具備CAN通信模塊。



          關鍵詞: 串行通信Can總

          評論


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