<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于82527的CAN總線(xiàn)智能傳感器節點(diǎn)設計

基于82527的CAN總線(xiàn)智能傳感器節點(diǎn)設計

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹一種以8051微控制器和82527獨立控制器為核心組成的方法,并給出其硬件原理圖和初始化程序。

關(guān)鍵詞: 82527 單片機 數據采集

引言

CAN(Controller Area Network,控制局域網(wǎng))屬于工業(yè)現場(chǎng)總線(xiàn),是德國B(niǎo)osch公司20世紀80年代初作為解決現代汽車(chē)中眾多的控制與測試儀器間的數據交換而開(kāi)發(fā)的一種通信協(xié)議。1993年11月,ISO正式頒布了高速通信控制局域網(wǎng)(CAN)的國際標準(ISO11898)。CAN總線(xiàn)系統中現場(chǎng)數據的采集由完成,目前,帶有CAN總線(xiàn)接口的種類(lèi)還不多,價(jià)格也較貴。本文給出一種由8051單片機和82527獨立CAN總線(xiàn)控制器為核心構成的電路,在普通傳感器基礎上形成可接收8路模擬量輸入和智能傳感器節點(diǎn)。

1 獨立CAN總線(xiàn)控制器82527介紹

82527是Intel公司生產(chǎn)的獨立CAN總線(xiàn)控制器,可通過(guò)并行總線(xiàn)與Intel和Motrorola的控制器接口;支持CAN規程2.0B標準,具有接收和發(fā)送功能并可完成報文濾波。82527采用CHMOS 5V工藝制造,44腳PLCC封裝,使用溫度為-44~+125℃,其引腳的排列和定義參見(jiàn)參考文獻[1]。

(1)82527的時(shí)鐘信號

82527的運行由2種時(shí)鐘控制:系統時(shí)鐘SCLK和寄存器時(shí)鐘MCLK。SCLK由外部晶振獲得,MCLK對SCLK分頻獲得。CAN總線(xiàn)的位定時(shí)依據SCLK的頻率,而MCLK為寄存器操作提供時(shí)鐘。SCLK頻率可以等于外部晶振XTAL,也可以是其頻率的1/2;MCLK的頻率可以等于SCLK或是其頻率的1/2。系統復位后的默認設置是SCLK=XTAL/2,MCLK=SCLK/2。

(2)82527的工作模式

82527有5種工作模式:Intel方式8位分時(shí)復用模式;Intel方式16位分時(shí)復用模式;串行接口模式;非Intel方式8位分時(shí)復用模式;8位非分時(shí)復用模式。本文應用Intel方式8位分時(shí)復用模式,此時(shí)82527的30和44腳接地。

(3)82527的寄存器結構[2]

82527的寄存器地址為00~FFH.下面根據需要對寄存器給予介紹。

①控制寄存器(00H):

76543210
0CCE00EIESIEIEINIT

CCE――改變配置允許位,高電平有效。該位有效時(shí)允許CPU對配置寄存器1FH、2FH、3FH、4FH、9FH、AFH寫(xiě)操作。

EIE――錯誤中斷允許位,高電平有效。該位一般置1,當總線(xiàn)上產(chǎn)生異常數量的錯誤時(shí)中斷CPU。

SIE――狀態(tài)改變中斷允許位,高電平有效。該位一般置0。

IE――中斷允許位,高電平有效。

INIT――軟件初始化允許位,高電平有效。該位有效時(shí),CAN停止收發(fā)報文,TX0和TX1為隱性電平1。在硬件復位和總線(xiàn)關(guān)閉時(shí)該位被置位。

②CPU接口寄存器(02H):

76543210
RSTSTDSCDMCPWDSLEEPMUX0CEN

RSTST――硬件復位狀態(tài)位。該位由82527寫(xiě)入,為1時(shí)硬件復位激活,不允許對82527訪(fǎng)問(wèn);為0時(shí)允許對82527訪(fǎng)問(wèn)。

DSC――SCLK分頻位。該位為1,SCLK=XTAL/2;為0,SCLK=XTAL。

DMC――MCLK分頻位。該位為1,MCLK=SCLK/2;為0,MCLK=SCLK。

PWD――掉電模式使能位,高電平有效。

SLEEP――睡眠模式使能位,高電平有效。

MUX――低速物理層復用標志位。該位為1,ISO低速物理層激活,PIN24=VCC/2,PIN11=INT#(#表示取反);該位為0,PIN24=INT#,PIN11=P2.6。

CEN――時(shí)鐘輸出允許位,高電平有效。

③標準全局屏蔽寄存器(06~07H)。該寄存器用于具有標準標識符的報文,或XTD置0的報文寄存器。該方式稱(chēng)為報文接收濾波。當某位為1時(shí),報文標識符的相應位必須匹配;為0時(shí),不必匹配。

④擴展全局屏蔽寄存器(08~0BH)。該寄存器用于擴展報文格式,或XTD置1的報文寄存器,其作用與③相同。

76543210
0COBYPOL0DCT10DCR1DCR0

⑤總線(xiàn)配置寄存器(2FH):

COBY――旁路輸入比較器標志位,高電平有效。

POL――極性標志位。為1,如果旁路輸入比較器,RX0的輸入邏輯1為顯性,邏輯0為隱性;為0,則反之。

DCT1――TX1輸出切斷控制位。為1,TX1輸出不被驅動(dòng),該模式用于1根總線(xiàn)的情況,2根差分導線(xiàn)短路;為0,TX1輸出被驅動(dòng)。

DCR1――RX1輸入切斷控制位。為1,RX1與輸入比較器的反相端斷開(kāi),接至VCC/2;為0,RX1接至輸入比較器反相端。

DCR0――RX0輸入切斷控制位。作用與DCR1相同,此時(shí)RX0接至比較器同相端。

76543210
SJWBRP

⑥位定時(shí)寄存器0(3FH);

SJW――同步跳轉寬度位場(chǎng),編程值1~3。

BRP――波特率分頻位場(chǎng),編程值0~63。

76543210
SPLTSEG2TSEG1

⑦位定時(shí)寄存器1(4FH):

SPL――采樣模式標志位。1表示每位采樣3次;0表示每位采樣1次。

TSEG1――時(shí)間段1位場(chǎng),編程值2~15。

TSEG1――時(shí)間段2位場(chǎng),編程值1~7。

波特率=XTAL/[(DSC+1)*(BRP+1)*(3+TSEG1+TSEG2)]

⑧報文寄存器(把每個(gè)寄存器的第1字節地址作為基址BASE)。

 76543210
BASE+0MSGVALTXIERXIEINTPND
BASE+1RMTPNDTXRQSTMSGLST/CPUUPDNEWDAT

◇控制寄存器0,1(BASE+0,BASET+1)

MSGVAL――報文寄存器有效標志位,高電平有效。10置位,01復位。

TXIE――發(fā)送中斷允許標志位,高電平有效。10置位,01復位。

RXIE――接收中斷允許標志位,高電平有效,10置位,01復位。

INTPND――中斷申請標志位,高電平有效。10置位,01復位。

RMTPND――遠程幀申請標志位,高電平有效。10置位,01復位。

TXRQST――請求發(fā)送標志位,高電平有效。10置位,01復位。

MSGLST――報文丟失標志位,只用于接收報文寄存器。10表示未讀報文被新報文覆蓋,01表示未覆蓋。

CPUUPD――CPU更新標志位,只用于發(fā)送報文寄存器。10報文不被發(fā)送,01報文可發(fā)送。

NEWDAT――新數據標志位。10表示向寄存器寫(xiě)入了新數據,01表示無(wú)新數據寫(xiě)入。

◇仲裁寄存器0,1,2,3(BASE+2-BASE+5)

存儲報文標識符。

76543210
DLCDIRXTD保留

◇報文配置寄存器(BASE+6)

DLC――數據長(cháng)度編碼,編程值0~8。

DIR――方向標志位。1發(fā)送,0接收。

XTD――標準/擴展標識符標志位。1擴展標識符,0標準標識符。

◇數據寄存器(BASE+7-BASE+14)

82527存儲報文時(shí),8個(gè)數據字節均被寫(xiě)入,未用到的字節數據是隨機的。

2 硬件電路

智能節點(diǎn)的電路如圖1所示(圖中6264略去)。

在硬件中,由ADC0809完成對8路模擬置的轉換,與8051的信息交換采用查詢(xún)方式,地址BFF8~BFFFH,其時(shí)鐘可由ALE二分頻獲得;82527完成與CAN總線(xiàn)的信息交換。本設計中,旁路了輸入比較器,與8051的信息交換采用中斷方式,地址7F00~7FFFH,可以用82527的P1口和P2口對開(kāi)關(guān)量采集或對繼電器進(jìn)行控制。82C250提供82527和物理總線(xiàn)間的接口,提高接收和發(fā)送能力??筛鶕枰獢U展程序存儲器。

3 軟件設計

本設計軟件采用MCS-51匯編語(yǔ)言編寫(xiě),程序框圖如圖2所示。

82527的初始化程序如下:

INT:MOV DPTR,#0FF02H

MOV A,#00H

MOVX @DPTR,A ;SCLK=XTAL

;MCLK=SCLK,CLKOUT無(wú)效

MOV DPTR,#0FF00H

MOV A,#41H

MOVX @DPTR,A ;置位CCE,INIT

MOV DPTR,#0FF2FH

MOV A,#48H

MOVX @DPTR,A ;旁路輸入比較器設置1位隱性,0為顯性,RX1無(wú)效

MOV DPTR,#0FF3FH;

MOV A,#43H;

MOVX @DPTR,A ;SJW=2,BRP=3

MOV DPTR,#0FF4FH

MOV A,#0EAH

MOVX @DPTR,A ;SPL=1,TSEG1=7,TSEG2=6此時(shí)波特率為100Kbps

MOV DPTR,#0FF00H;

MOV A,#01H

MOVX @DPTR,A ;禁止對配置寄存器的訪(fǎng)問(wèn)

MOV DPTR,#0FF10H;

MOV A,#55H;

MOVX @DPTR,A;

INC DPTR;

MOVX @DPTR,A;

MOV DPTR,#0FFF0H;

MOV A,#55H;

MOVX @DPTR,A

INC DPTR;

MOVX @DPTR,A ;報文寄存器控制位初始化

MOV R0,#06H;

MOV DPTR,#0FF06H;

MOV A,#0FFH;

L1:MOVX @DPTR,A ;報文標識符需全部匹配

INC DPTR

DJNZ R0,L1;

MOV DPTR,#0FF16H;

MOV A,#8CH ;報文寄存器1可發(fā)送8個(gè)字節擴展報文

MOVX @DPTR,A;

MOV DPTR,#0FF26H;

MOV A,#84H;

MOVX @DPTR,A ;報文寄存器2可接收8個(gè)字節擴展報文

MOV DPTR,#0FF00H;

MOV A,#00H;

MOVX @DPTR,A ;初始化結束

RET



評論


相關(guā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>