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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的家庭控制器的設(shè)計(jì)與實(shí)現(xiàn)

          基于CAN總線的家庭控制器的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-12-10 來(lái)源:網(wǎng)絡(luò) 收藏

            中繼器采用特定的控制邏輯控制一對(duì)收發(fā)器82C250.收發(fā)器背-背相接,連接兩個(gè)物理上獨(dú)立的網(wǎng),雙向傳輸數(shù)據(jù)。從物理層上看,中繼器CAN信號(hào)的透時(shí)中繼。

            軟件

            上位機(jī)軟件

            采用Visual Basic 6.0開發(fā)軟件。分兩大功能模塊:高層系統(tǒng)管理模塊和低層通信模塊。程序流程圖如圖4所示。

          程序流程圖

            (節(jié)點(diǎn))軟件

            與上位機(jī)及其它節(jié)點(diǎn)的信息交換。

            在軟件中, 遵循模塊化思想,采用結(jié)構(gòu)化程序設(shè)計(jì)方案,使之具有良好的模塊性、可修改性和可移值性。

            CAN系統(tǒng)的初始化設(shè)計(jì)是軟件設(shè)計(jì)的關(guān)鍵,這一部分設(shè)計(jì)不好,系統(tǒng)將不可能正常工作。因此初始化設(shè)計(jì)是一個(gè)難點(diǎn),又是一個(gè)重點(diǎn)。

            在初始化之前,應(yīng)設(shè)置輸出控制寄存器(OCR)的復(fù)位請(qǐng)求位為高,再設(shè)置其它寄存器。控制寄存器(CR)設(shè)定中斷;命令寄存器(CMR)控制緩存器的接收狀態(tài);中斷寄存器(IR)、狀態(tài)寄存器(SR)查詢SJA1000的工作狀態(tài);接收碼寄存器(ACR)設(shè)定工作地址;接收屏蔽寄存器(AMR)設(shè)定工作形式,定時(shí)寄存器(BTR0、BTR1)設(shè)定工作頻率、采樣頻率;輸出控制寄存器(OCR)一般為正常輸出方式,最后應(yīng)使復(fù)位請(qǐng)求位從高變低,使CAN 進(jìn)入正常工作狀態(tài)。因此,對(duì)CAN進(jìn)行初始化,實(shí)際上就是對(duì)ACR,AMR,BTR0,BTR1和OCR這些寄存器進(jìn)行訪問(wèn)。

            成功地初始化SJA1000后,系統(tǒng)就可以應(yīng)用它來(lái)傳輸報(bào)文。

            結(jié)語(yǔ)

            CAN總線以其高性能、高可靠性及其獨(dú)特的設(shè)計(jì)越來(lái)越受到人們的重視,并被公認(rèn)為最有前途的總線之一。我們?cè)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/家庭">家庭控制器系統(tǒng)中應(yīng)用了這種總線技術(shù),設(shè)計(jì)了硬件電路和軟件,并得到實(shí)際應(yīng)用。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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