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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基子CAN_BUS的控制器調(diào)試系統(tǒng)的設(shè)計

          基子CAN_BUS的控制器調(diào)試系統(tǒng)的設(shè)計

          作者: 時間:2011-07-20 來源:網(wǎng)絡(luò) 收藏

          調(diào)節(jié)多點的控制參數(shù)是一項復(fù)雜的工作,以通信協(xié)議為基礎(chǔ),了一種連接多個CAN端點的,通過創(chuàng)建通信協(xié)議,實現(xiàn)了上位機與的CAN端點的實時數(shù)據(jù)交流。闡述了與上位機的通信流程。

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

          磁懸浮轉(zhuǎn)向架的懸浮由四組電磁鐵實現(xiàn),每組電磁鐵都有獨立的懸浮控制器,控制該點的懸浮與下落。為了獲得最優(yōu)的控制參數(shù),需要在整個轉(zhuǎn)向架的懸浮過程中通過上位機監(jiān)視軌道與電磁鐵之間的間隙、電磁鐵工作電流等狀態(tài)參數(shù)以及懸浮控制器的控制參數(shù),動態(tài)地修改控制參數(shù)以觀察控制效果。

          懸浮控制器之間是相互獨立的,上位機無法同時監(jiān)控多個懸浮控制器,因此需要找到合理的通信方式使上位機同時與所有的控制器連接,使它們之間能夠?qū)崟r傳遞數(shù)據(jù)。CAN總線是一種有效支持分布式控制和實時控制的多主的異步串行通信網(wǎng)絡(luò)。由于CAN總線具有較強的糾錯能力,支持差分收發(fā),適合高噪聲環(huán)境,具有較遠的傳輸距離,在各個領(lǐng)域中得到了廣泛應(yīng)用。CAN通信協(xié)議規(guī)定通信波特率、每個位周期的取樣位置和個數(shù)都可以自行設(shè)定,這保證了用戶在使用過程中的靈活性。選用CAN總線,無論是在抗電磁干擾方面還是在實時性方面都能夠滿足實驗要求。

          圖1

          1 硬件端口的

          懸浮控制器使用SJA1000作為CAN總線協(xié)議轉(zhuǎn)換芯片。SJA1000是一種獨立控制器,用于移動目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。它內(nèi)建BASIC CAN協(xié)議,并提供對CAN2.0B協(xié)議的支持。通過對片內(nèi)寄存器的讀、寫操作,懸浮控制器的核心處理器能夠設(shè)置CAN總線通信模式,實現(xiàn)數(shù)據(jù)的發(fā)送與接收。它的傳輸速度很快,位速率可達1Mbit/s,可滿足高速大流量實時傳輸要求。

          SJA1000在邏輯上實現(xiàn)了傳輸數(shù)據(jù)的編碼和解碼,若要與物理線路連接,必須借助總線驅(qū)動器。PCA82C250是協(xié)議控制器與物理鏈路之間的接口,可以用高達1Mbit/s的位速率在兩條有差動電壓的總線電纜上傳輸數(shù)據(jù),它與SJA1000結(jié)合才能實現(xiàn)CAN總線通信。

          圖1為CAN總線接口電路原理圖。圖中,SJA1000用16MHz的晶振作為基準時鐘,數(shù)據(jù)線AD0~AD7與核心控制器的低八位數(shù)據(jù)線相連,在CS、RD、WR的控制下可實現(xiàn)芯片寄存器的讀寫。RX0和TX0與PCA82C250數(shù)據(jù)輸入引腳相連,作為串行數(shù)據(jù)線。RX1與PCA82C250的參考電壓引腳5相連,向PCA82C250輸出參考電壓。PCA82C250的兩根輸出數(shù)據(jù)線之間加上120Ω的終端電阻,用以匹配線路。

          上位機通過專用的USBTOCAN轉(zhuǎn)換器實現(xiàn)PC機與CAN總線的連接,市場上有很多這類產(chǎn)品,這里不再詳細說明。上位機主要提供人機交互界面,顯示狀態(tài)和控制器參數(shù),并完成參數(shù)與程序的下載。

          2 通信協(xié)議構(gòu)建

          DSP控制器上的CAN總線端口要完成兩項工作:(1)上傳控制器的控制常量和電流、間隙等狀態(tài)參數(shù),送給檢測;(2)讀取上位機下傳的待修改的控制參數(shù),實現(xiàn)參數(shù)的在線修改,接收下傳的程序文件,實現(xiàn)DSP主程序的在線寫入。

          過程中,實現(xiàn)多DSP系統(tǒng)的在線聯(lián)調(diào)是很有效的調(diào)試手段。這樣,上位PC機不但能夠采集各控制器的狀態(tài)參數(shù),還能夠?qū)Σ杉臄?shù)據(jù)進行整理與顯示,并能實時調(diào)整不同控制器的控制參數(shù),最終實現(xiàn)控制器運行程序的遠程下載。

          為實現(xiàn)CAN總線的數(shù)據(jù)傳送,需要定義參數(shù)包、程序包、命令包三種傳送數(shù)據(jù)包,并分別由0x11、0x22、0x33標(biāo)示出來。根據(jù)數(shù)據(jù)傳送方向的不同,數(shù)據(jù)包的格式略有差異??紤]到CAN總線上的節(jié)點較多,為避免數(shù)據(jù)傳送過程中出現(xiàn)混亂的情況,定義數(shù)據(jù)發(fā)送的基本數(shù)據(jù)包大小為8個字節(jié),即CAN總線一次傳送的最大字節(jié)數(shù)為8。

          2.1 下傳數(shù)據(jù)協(xié)議

          下傳數(shù)據(jù)包括程序、參數(shù)、命令三種數(shù)據(jù)類型。

          2.1.1 參數(shù)數(shù)據(jù)包格式

          上位機需要下傳的數(shù)據(jù)包括控制參數(shù)C1、C2、C3及給定間隙與電流,根據(jù)修改需要,每個參數(shù)都是單獨下傳的。下傳數(shù)據(jù)包的大小與CAN的最大有效傳送字節(jié)數(shù)一致,為8個字節(jié)。第一個字節(jié)指出數(shù)據(jù)包的類型(用Oxll標(biāo)示),第二個字節(jié)指出參數(shù)類型(用0xx7標(biāo)示),第三字節(jié)至第八字節(jié)指出傳送的有效數(shù)據(jù),對應(yīng)上面給定參數(shù)的參數(shù)標(biāo)示依次為0x17、0x27、0x37、0x47、0x57。圖2所示為數(shù)據(jù)包的一般格式。

          2.1.2 程序數(shù)據(jù)包格式

          FLASH寫入文件較大,一般有幾十K字節(jié)。控制系統(tǒng)采用的FLASH芯片AT29C010以128字節(jié)為基本操作單位。為了適應(yīng)芯片,可將文件分成128字節(jié)的數(shù)據(jù)段,并為每個數(shù)據(jù)段標(biāo)定次序。發(fā)送時,標(biāo)出數(shù)據(jù)段號及該片數(shù)據(jù)所處段中的位置即可??刂破鹘邮盏?28字節(jié)后,做一次寫入FLASH操作,數(shù)據(jù)包格式及說明見圖3。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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