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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種尋跡小車中分布式控制系統(tǒng)的設計與應用

          一種尋跡小車中分布式控制系統(tǒng)的設計與應用

          作者: 時間:2013-12-12 來源:網(wǎng)絡 收藏


          系統(tǒng)通信

          小車的各個電子控制單元之間通過LIN總線和CAN總線連接。

          本系統(tǒng)中CAN收發(fā)器采用了TLE6250G,電機信息的傳輸需要高速的數(shù)據(jù)傳輸率(200Kb/s)以達到實時控制電機的要求。CAN的數(shù)據(jù)發(fā)送速率高達1Mb/s,可工作于只接收模式和空閑模式,具有優(yōu)良的EMC特性和各種保護功能;而LIN總線因為數(shù)據(jù)傳輸率較低以及從確保高安全性能的角度來考慮并不合適。

          使用CAN、LIN結(jié)合的網(wǎng)絡結(jié)構可以兼顧CAN總線實時性強、可靠性高、通信速率快、互操作性好、靈活性高和LIN網(wǎng)絡結(jié)構簡單、成本低的特點,更好地搭建汽車的網(wǎng)絡系統(tǒng)。

          本系統(tǒng)采用了TLE6258系列LIN總線收發(fā)器,它作為介于協(xié)議控制器和物理總線之間的接口,特別適合在汽車和工業(yè)應用的LIN系統(tǒng)中用來驅(qū)動總線,且可用于標準的ISO9141系統(tǒng)。TLE6258提供空閑模式以減少電流損耗,通過在總線上發(fā)送喚醒幀,可把主機或從機從空閑模式喚醒,返回到正常的操作模式。圖4是本系統(tǒng)的LIN總線硬件電路圖。

          newmaker.com
          圖4 串行通信/LIN總線硬件電路

          如圖4所示,系統(tǒng)通過接插件K1在串行通信和LIN總線通信之間進行選擇,TXD0(串行發(fā)送)和RXD0(串行接收)信號來自微控制器。當TXD0和RXD0同TLE6258接通時,系統(tǒng)與LIN總線連接,而與MAX232連接時,系統(tǒng)執(zhí)行串行通信功能。圖4中INH是禁止輸入引腳,高電平有效,收發(fā)器引腳TxD接收來自微控制器引腳TXD0的數(shù)據(jù),同時將數(shù)據(jù)發(fā)送至總線,在發(fā)送數(shù)據(jù)的同時進行自接收,并通過引腳RxD將自接收的數(shù)據(jù)反饋給微控制器。微控制器接收到反饋回來的數(shù)據(jù)后調(diào)用接收中斷,接收中斷不斷發(fā)送和自接收數(shù)據(jù),從而實現(xiàn)LIN總線的通信。本系統(tǒng)中數(shù)據(jù)通信主要是主模塊向三個模塊發(fā)送控制命令和三個子模塊向主模塊反饋狀態(tài)數(shù)據(jù)。

          軟件設計

          系統(tǒng)中各個ECU通過CAN總線發(fā)送接收命令,實現(xiàn)相互通信,從而實現(xiàn)數(shù)據(jù)的共享等。軟件設計基于DAVE和KEIL軟件編寫,程序主要由CAN初始化、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)三部分組成,如圖5所示。

          newmaker.com
          圖5 主程序流程圖

          結(jié)論

          本設計方案可實現(xiàn)分布式車身控制系統(tǒng)的基本功能,且結(jié)構簡單、成本低。此外,這一設計思想同樣也適用于真車的控制。汽車電子技術的不斷進步,將促使CAN、LIN和正在發(fā)展的更高速、具有容錯性的總線技術有機組合,構成安全、舒適,更滿足人們需求的汽車網(wǎng)絡。(end)
          光電開關相關文章:光電開關原理

          上一頁 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); })();