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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的分布式顯示控制系統(tǒng)

          基于CAN總線的分布式顯示控制系統(tǒng)

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
            CAN(Controller Area Network) 即控制器局域網(wǎng)絡(luò),是一種全數(shù)字化、多主和雙向的現(xiàn)場(chǎng)總線。CAN總線數(shù)據(jù)通信具有很高的可靠性、實(shí)時(shí)性和靈活性,越來越廣泛地應(yīng)用于各種工業(yè)現(xiàn)場(chǎng)。本分布式顯示控制系統(tǒng)采用CAN控制器SJA1000實(shí)現(xiàn)各節(jié)點(diǎn)間遠(yuǎn)距離串行通信,得到了很好的效果。系統(tǒng)結(jié)構(gòu)如圖1所示。

          主機(jī)負(fù)責(zé)監(jiān)控各個(gè)從機(jī),向從機(jī)發(fā)布指令,并接收處理從機(jī)傳來的檢測(cè)數(shù)據(jù)。從機(jī)執(zhí)行主機(jī)的指令,顯示運(yùn)行信息,向主機(jī)傳送檢測(cè)數(shù)據(jù)。CAN接口電路負(fù)責(zé)各節(jié)點(diǎn)間的串行通信。兩只125Ω電阻作為CAN線路的匹配電阻。本文著重介紹CAN總線的設(shè)計(jì)使用以及點(diǎn)陣顯示電路的設(shè)計(jì)原理,其他功能電路的介紹從略。
          CAN總線硬件設(shè)計(jì)
          CAN接口電路如圖2所示, SJA1000是PHILIPS公司生產(chǎn)的獨(dú)立CAN通信控制器,SJA1000集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,該控制器具有多主結(jié)構(gòu)、總線訪問優(yōu)先權(quán)、硬件濾波等特點(diǎn)。PCA82C250是CAN 協(xié)議控制器和物理總線的接口,它可以提供總線的差動(dòng)發(fā)送能力和接收能力,高速應(yīng)用可達(dá)1M baud,最多可掛110個(gè)節(jié)點(diǎn)。

          CAN總線初始化設(shè)計(jì)
          要使SJA1000正常工作,必須先對(duì)其作初始化,這是一個(gè)重點(diǎn)。對(duì)SJA1000的操作是由讀寫其片內(nèi)的控制寄存器實(shí)現(xiàn)的。待SJA1000硬件復(fù)位完成后,單片機(jī)就可以初始化SJA1000,初始化程序如下: INITISJA1000:
          RESET:
          CONFIG:
          OPERATE_MODE:
          CONFIG1:
          CLR EX0 ;關(guān)中斷
          MOV DPTR , #0000H
          MOV A , #01H
          MOVX@DPTR, A ;設(shè)置復(fù)位請(qǐng)求標(biāo)志
          MOV A , #40H
          MOV DPTR , #001FH
          MOVX @DPTR , A ;CDR=40H
          MOV A , #13H
          MOV DPTR , #0004H
          MOVX @DPTR , A ;設(shè)ACR接受代碼=13H
          MOV A , #00H
          MOV DPTR , #0005H
          MOVX @DPTR , A ;接受屏蔽寄存器(AMR)=00H
          MOV A , #01H
          MOV DPTR , #0006H
          MOVX @DPTR , A ; BTR0=01H
          MOV A , #1CH
          MOV DPTR , #0007H
          MOVX @DPTR , A ; BTR1=1CH
          MOV A , #1AH
          MOV DPTR , #0008H
          MOVX @DPTR , A ; OCR=1AH
          MOV A , #00001100B
          MOV DPTR , #0001H
          MOVX @DPTR , A ; GTS=0, CDO=1, RRB=1
          MOV DPTR , #0000H
          MOV A , #00011010B
          MOVX @DPTR , A ;進(jìn)入工作模式
          SETB EX0 ;開中斷
          RET
          #p##e#
          這里SJA1000的首地址是0000H。只有SJA1000進(jìn)入復(fù)位工作模式,才可以初始化相應(yīng)的寄存器。時(shí)鐘分頻寄存器(CDR)設(shè)定值為40H,表示選BasicCAN工作模式,忽略CAN輸入比較器和不用TX1輸出做專用接收中斷輸出。接收代碼寄存器(ACR)和接收屏蔽寄存器(AMR)組成接收過濾器,接收代碼位(AC.7-AC.0),接收屏蔽位(AM.7-AM.0)和信息識(shí)別碼的八位(ID.10-ID.3)滿足下述方程,該信息才會(huì)被接收:
          [(ID.10-ID.3)&equiv;(AC.7-AC.0)] ∨(AM.7-AM.0)≡11111111
          總線時(shí)序寄存器0(BTR0)可決定波特率預(yù)置值和同步跳轉(zhuǎn)寬度的值,BTR0=01H表示波特率設(shè)為250Kbps(用16M晶振)??偩€時(shí)序寄存器1(BTR1)決定位周期寬度,采樣點(diǎn)位置和在每個(gè)采樣點(diǎn)的采樣次數(shù)。系統(tǒng)中各節(jié)點(diǎn)的BTR0、BTR1應(yīng)設(shè)為相同,否則不能互相通信。輸出控制寄存器OCR決定了不同輸出驅(qū)動(dòng)配置的建立。設(shè)置完這些寄存器后,要將SJA1000設(shè)為正常工作模式,并按需要使能其相應(yīng)的中斷位。SJA1000中各控制寄存器的詳細(xì)說明和用法可參考文獻(xiàn)1。
          CAN總線通信程序設(shè)計(jì)
          各節(jié)點(diǎn)間的通信可采用中斷方式或查詢方式,本控制系統(tǒng)采用中斷方式通信。各個(gè)節(jié)點(diǎn)之間的指令、數(shù)據(jù)交換通過下面這個(gè)子程序模塊完成的。
          顯示電路各節(jié)點(diǎn)的一個(gè)重要組成部分是顯示電路。作為人機(jī)交互界面,顯示電路告訴人們系統(tǒng)當(dāng)前運(yùn)行信息。顯示電路結(jié)構(gòu)圖如圖3所示。

          單片機(jī)的任務(wù)是根據(jù)上位主機(jī)的命令產(chǎn)生顯示數(shù)據(jù)及控制信號(hào)。16行×64列的LED顯示點(diǎn)陣由點(diǎn)陣塊組成。顯示電路采用1/16掃描方式,顯示點(diǎn)陣的一行對(duì)應(yīng)一路行選通信號(hào),各行的同一列共用一個(gè)列選通信號(hào),這樣既滿足顯示要求,又可以簡化電路。行驅(qū)動(dòng)電路主要由74HC163、74HC138、Si4953組成,用以產(chǎn)生行選通信號(hào)。74HC163和74HC138構(gòu)成行譯碼器,在單片機(jī)的控制下,從第一行開始按順序選通顯示點(diǎn)陣各行;Si4953是P溝道MOSFET管,作用是提高行信號(hào)的驅(qū)動(dòng)能力。在選通某一行后,該行上各個(gè)LED是點(diǎn)亮還是熄滅,由各自的列選通信號(hào)決定,其它行的LED則全熄滅。顯示電路以這樣方法逐行掃描顯示點(diǎn)陣,只要整個(gè)掃描周期足夠快,人們就感覺不到顯示閃爍。
          驅(qū)動(dòng)電路由74HC595級(jí)聯(lián)組成,前一片74HC595的Q,H引腳連接下一片的SER引腳,各片的SRCLK、SRCLR、RCLK引腳分別并聯(lián)。單片機(jī)的RXD口輸出顯示數(shù)據(jù)給第一片74HC595的SER引腳;TXD口發(fā)出移位脈沖將串行數(shù)據(jù)逐位移入74HC595中。在一行數(shù)據(jù)傳輸完后,單片機(jī)向各個(gè)74HC595的SRCLK引腳發(fā)一個(gè)鎖存信號(hào),這行數(shù)據(jù)就被鎖入74HC595的鎖存器中,產(chǎn)生對(duì)應(yīng)輸入數(shù)據(jù)的列選通信號(hào)。在該行顯示期間,同時(shí)進(jìn)行下一行顯示數(shù)據(jù)的傳輸,這樣可以縮短掃描周期。
          本文介紹的分布式顯示控制系統(tǒng)已應(yīng)用于電梯控制系統(tǒng)中,其性能穩(wěn)定、可靠。CAN總線的選用提高了本系統(tǒng)的通信效率和可靠性。CAN總線通信具有可靠性高、通信距離遠(yuǎn)、速率高、多主結(jié)構(gòu)、錯(cuò)誤處理能力強(qiáng)等特點(diǎn),非常適合分布式系統(tǒng)的串行通信。系統(tǒng)中的顯示電路是一個(gè)成熟可靠的顯示方案,可根據(jù)這個(gè)設(shè)計(jì)原理,設(shè)計(jì)出各種規(guī)格要求的點(diǎn)陣顯示屏。


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