<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CAN總線(xiàn)的分布式顯示控制系統

基于CAN總線(xiàn)的分布式顯示控制系統

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

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

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

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


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>