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

          新聞中心

          趣解CAN總線的工作方式

          作者: 時(shí)間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
            現(xiàn)實(shí)中,如果兩個(gè)人同時(shí)說話,怎樣來決定誰先說呢?有時(shí)候是嗓門最大的先說,而這基本上也是控制器局域網(wǎng) (CAN) 總線工作方式。

            在一條CAN總線中,所有收發(fā)器發(fā)出消息的優(yōu)先級(jí)(從最低有效位 (LSB) 到最高有效位 (MSB));最高優(yōu)先級(jí)的消息將被發(fā)送。特別是對(duì)于CAN來說,如果兩個(gè)收發(fā)器同時(shí)發(fā)送,他們都“張開嘴” 說一個(gè)“0”(邏輯高電平);數(shù)值越低,這條消息的重要性越高。換句話說,如果兩個(gè)收發(fā)器都在“喊”,首先“閉嘴”的收發(fā)器必須等到另外一個(gè)收發(fā)器完成發(fā)送之后才能說話。整個(gè)過程被稱為仲裁,更確切的說是非破壞性仲裁。

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

            在設(shè)計(jì)通信系統(tǒng)時(shí),你可以隨意使用很多穩(wěn)健的語言。其中的一些表達(dá)方式比較成熟并且意思明確,而其他的語言仍舊在不斷的發(fā)展中,比如說CAN總線。CAN是一款非常穩(wěn)健的差分信令通信協(xié)議。這款協(xié)議最初設(shè)計(jì)用于汽車應(yīng)用,在無需主機(jī)控制器的情況下,實(shí)現(xiàn)微控制器傳感器或集成電路之間的通信。

            CAN的工作原理也是其非常穩(wěn)健的一個(gè)原因。他的差分信令拓?fù)浣Y(jié)構(gòu)使其能夠輕松應(yīng)對(duì)耦合噪聲。在出現(xiàn)由接地層噪聲導(dǎo)致的位移時(shí),這一特性可以使傳輸線路,CANL和CANH保持在一起。與其他差分協(xié)議不同的是,當(dāng)CAN處于接收狀態(tài)(一個(gè)邏輯1)時(shí),兩條線路都將處于同樣電壓,通常為VCC/2(除非是一款3V CAN總線收發(fā)器,那樣的話就是完全另外一種對(duì)話方式了)。當(dāng)CAN線路被分別驅(qū)動(dòng)時(shí),這成為主導(dǎo)狀態(tài)和一個(gè)邏輯0。將CANL和CANH想象為一張嘴的兩片嘴唇:L是下嘴唇,而H是上嘴唇。當(dāng)你想說話時(shí),你告訴自己分開你的嘴唇并張開嘴。這是一個(gè)低電平有效邏輯信令,其中“0”在你開口說話時(shí)置位。當(dāng)你不在說話時(shí),你的嘴唇緊閉,CANH和CANL線路一起處于VCC/2電平上。

            

            圖1:CAN信令和邏輯電平

            除了這些基本原理之外,CAN總線也在不斷的發(fā)展中。全新調(diào)整和增強(qiáng)功能正在使這項(xiàng)技術(shù)更加高效,并且釋放出全新的性能水平。




          關(guān)鍵詞: CAN總線工作方

          評(píng)論


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