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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的客房通信控制器的設(shè)計(jì)

          基于CAN總線的客房通信控制器的設(shè)計(jì)

          作者: 時(shí)間:2009-08-26 來(lái)源:網(wǎng)絡(luò) 收藏
          接口電路主要由SJA1000、高速光耦6N137和驅(qū)動(dòng)器82C250組成。SJA1000作為CAN協(xié)議轉(zhuǎn)換的,它內(nèi)建BASIC CAN協(xié)議,并提供對(duì)CAN2.0B協(xié)議的支持。通過(guò)對(duì)片內(nèi)寄存器的讀、寫操作,主單片機(jī)能夠設(shè)置CAN總線模式,實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收。
          SJA1000在邏輯上實(shí)現(xiàn)了傳輸數(shù)據(jù)的編碼和解碼,若要與物理線路連接,還必須借助總線驅(qū)動(dòng)器82C250,以增強(qiáng)CAN總線的差動(dòng)發(fā)送和接收驅(qū)動(dòng)能力。為了增強(qiáng)CAN 總線節(jié)點(diǎn)的抗干擾能力,防止線路間串?dāng)_,SJA1000 的TX0 和RXO 并不是直接與82C250 的TXD 和RXD 相連,而是通過(guò)高速光耦6N137 后再與82C250 相連;另外,CAN總線驅(qū)動(dòng)器采用帶隔離的DC/DC模塊單獨(dú)供電,實(shí)現(xiàn)了控制器與CAN總線的隔離,提高系統(tǒng)的可靠性。
          82C250的CANH和CANL引腳各自通過(guò)一熱敏電阻與CAN總線相連,當(dāng)過(guò)流時(shí)電阻發(fā)熱阻值變大,保護(hù)82C250免受過(guò)流的沖擊。CANH和CANL與地之間并聯(lián)兩個(gè)小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。
          RS232接口電路主要用于主控制器單片機(jī)與管理層中央服務(wù)器PC的雙向數(shù)據(jù)傳送。由于采用了標(biāo)準(zhǔn)的RS232串行通信,結(jié)構(gòu)簡(jiǎn)單、成本低。
          控制器的其它外圍電路還有電源模塊、非易失性EEPROM存儲(chǔ)器、時(shí)鐘保持電路、LED指示燈和看門狗等。非易失性EEPROM存儲(chǔ)器采用具有2KB容量的AT24C02,用于保存系統(tǒng)配置參數(shù)及各節(jié)點(diǎn)的最新信息,便于管理層的查詢。時(shí)鐘保持電路選用涓流充電時(shí)鐘芯片DS1302,其內(nèi)部含有實(shí)時(shí)時(shí)鐘和日歷,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信,用于給各節(jié)點(diǎn)控制器校時(shí)。同時(shí),控制器還配置了4個(gè)LED指示燈,分別用于系統(tǒng)上電、CAN通信、RS232通信和系統(tǒng)通信故障的指示,以方便系統(tǒng)的調(diào)試和對(duì)控制器運(yùn)行狀況的監(jiān)測(cè)。

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

          4 系統(tǒng)軟件
          CAN通信控制器的主要任務(wù)是過(guò)濾信息量,將現(xiàn)場(chǎng)層信息上傳給管理層,同時(shí)接收管理層的控制指令,對(duì)記錄數(shù)據(jù)或各CAN節(jié)點(diǎn)進(jìn)行操作。CAN通信控制器同時(shí)還具有數(shù)據(jù)記錄和零點(diǎn)校時(shí)功能。因而控制器軟件主要包括四大部分:CAN通信、RS232通信、EEPROM數(shù)據(jù)的讀寫和系統(tǒng)時(shí)鐘DS1302的讀寫。其程序主流程圖如圖3所示。


          圖3 控制器軟件流程圖

          CAN通信軟件包括CAN初始化、報(bào)文的接收和報(bào)文發(fā)送三部分。當(dāng)控制器上電后,首先對(duì)CAN控制器SJA1000進(jìn)行初始化設(shè)置,主要包括工作方式的設(shè)置、接受濾波方式的設(shè)置、接受屏蔽寄存器和接受代碼寄存器的設(shè)置、波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置,SJA1000的初始化只能在復(fù)位模式下進(jìn)行。完成SJA1000的初始化設(shè)置后即返回工作狀態(tài),開(kāi)始循環(huán)監(jiān)聽(tīng)CAN總線上的信息。報(bào)文的接收采取中斷方式,以便系統(tǒng)的即時(shí)響應(yīng)。在報(bào)文接收的過(guò)程中同時(shí)要對(duì)總線關(guān)閉、錯(cuò)誤報(bào)警、接受溢出等情況進(jìn)行處理。報(bào)文的發(fā)送相對(duì)比較簡(jiǎn)單,只需將待發(fā)送的數(shù)據(jù)組成一組報(bào)文送入SJA1000的發(fā)送緩存器中,啟動(dòng)發(fā)送即可。RS232通信軟件包括RS232初始化和與管理層中央服務(wù)器PC機(jī)的通信;控制器采用查詢方式接收中央服務(wù)器PC的數(shù)據(jù)。
          EEPROM24C02存儲(chǔ)器數(shù)據(jù)和時(shí)鐘芯片DS1302的讀寫均簡(jiǎn)單地采用同步串行的方式進(jìn)行通信。當(dāng)控制器收到節(jié)點(diǎn)的信息后,即將此信息上傳給管理層,同時(shí)將此信息寫入AT24C02存儲(chǔ)器,作為歷史信息保存,便于管理層的查詢??刂破鞯牧泓c(diǎn)校時(shí)功能是通過(guò)讀取DS1302的時(shí)鐘,當(dāng)時(shí)鐘為零點(diǎn)整時(shí),即統(tǒng)一對(duì)各現(xiàn)場(chǎng)CAN節(jié)點(diǎn)進(jìn)行校時(shí),避免了各CAN節(jié)點(diǎn)時(shí)鐘誤差的積累。

          5 結(jié)束語(yǔ)
          CAN總線的通信控制器已在賓館的控制和管理系統(tǒng)中得到了成功的應(yīng)用。實(shí)踐證明,由于采用了CAN總線技術(shù),不僅系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、適應(yīng)性和可擴(kuò)展性強(qiáng),而且CAN總線以其分時(shí)多主、非破壞性總線仲裁和自動(dòng)檢錯(cuò)重發(fā)的技術(shù)特點(diǎn)有效地提高了通信的可靠性,從而使現(xiàn)場(chǎng)調(diào)試更加方便、縮短了開(kāi)發(fā)周期。


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

          評(píng)論


          相關(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); })();