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

          關(guān) 閉

          新聞中心

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

          基于82527的CAN總線智能傳感器節(jié)點(diǎn)設(shè)計(jì)

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

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

          引言

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

          1 獨(dú)立CAN總線控制器82527介紹

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

          (1)82527的時(shí)鐘信號(hào)

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

          (2)82527的工作模式

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

          (3)82527的寄存器結(jié)構(gòu)[2]

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

          ①控制寄存器(00H):

          76543210
          0CCE00EIESIEIEINIT

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

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

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

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

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

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

          76543210
          RSTSTDSCDMCPWDSLEEPMUX0CEN

          RSTST――硬件復(fù)位狀態(tài)位。該位由82527寫入,為1時(shí)硬件復(fù)位激活,不允許對(duì)82527訪問;為0時(shí)允許對(duì)82527訪問。

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

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

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

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

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

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

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

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

          76543210
          0COBYPOL0DCT10DCR1DCR0

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

          COBY――旁路輸入比較器標(biāo)志位,高電平有效。

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

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

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

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

          76543210
          SJWBRP

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

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

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

          76543210
          SPLTSEG2TSEG1

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

          SPL――采樣模式標(biāo)志位。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)]

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

           76543210
          BASE+0MSGVALTXIERXIEINTPND
          BASE+1RMTPNDTXRQSTMSGLST/CPUUPDNEWDAT

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

          MSGVAL――報(bào)文寄存器有效標(biāo)志位,高電平有效。10置位,01復(fù)位。

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

          RXIE――接收中斷允許標(biāo)志位,高電平有效,10置位,01復(fù)位。

          INTPND――中斷申請(qǐng)標(biāo)志位,高電平有效。10置位,01復(fù)位。

          RMTPND――遠(yuǎn)程幀申請(qǐng)標(biāo)志位,高電平有效。10置位,01復(fù)位。

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

          MSGLST――報(bào)文丟失標(biāo)志位,只用于接收?qǐng)?bào)文寄存器。10表示未讀報(bào)文被新報(bào)文覆蓋,01表示未覆蓋。

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

          NEWDAT――新數(shù)據(jù)標(biāo)志位。10表示向寄存器寫入了新數(shù)據(jù),01表示無新數(shù)據(jù)寫入。

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

          存儲(chǔ)報(bào)文標(biāo)識(shí)符。

          76543210
          DLCDIRXTD保留

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

          DLC――數(shù)據(jù)長(zhǎng)度編碼,編程值0~8。

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

          XTD――標(biāo)準(zhǔn)/擴(kuò)展標(biāo)識(shí)符標(biāo)志位。1擴(kuò)展標(biāo)識(shí)符,0標(biāo)準(zhǔn)標(biāo)識(shí)符。

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

          82527存儲(chǔ)報(bào)文時(shí),8個(gè)數(shù)據(jù)字節(jié)均被寫入,未用到的字節(jié)數(shù)據(jù)是隨機(jī)的。

          2 硬件電路

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

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

          3 軟件設(shè)計(jì)

          本設(shè)計(jì)軟件采用MCS-51匯編語言編寫,程序框圖如圖2所示。

          82527的初始化程序如下:

          INT:MOV DPTR,#0FF02H

          MOV A,#00H

          MOVX @DPTR,A ;SCLK=XTAL

          ;MCLK=SCLK,CLKOUT無效

          MOV DPTR,#0FF00H

          MOV A,#41H

          MOVX @DPTR,A ;置位CCE,INIT

          MOV DPTR,#0FF2FH

          MOV A,#48H

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

          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 ;禁止對(duì)配置寄存器的訪問

          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 ;報(bào)文寄存器控制位初始化

          MOV R0,#06H;

          MOV DPTR,#0FF06H;

          MOV A,#0FFH;

          L1:MOVX @DPTR,A ;報(bào)文標(biāo)識(shí)符需全部匹配

          INC DPTR

          DJNZ R0,L1;

          MOV DPTR,#0FF16H;

          MOV A,#8CH ;報(bào)文寄存器1可發(fā)送8個(gè)字節(jié)擴(kuò)展報(bào)文

          MOVX @DPTR,A;

          MOV DPTR,#0FF26H;

          MOV A,#84H;

          MOVX @DPTR,A ;報(bào)文寄存器2可接收8個(gè)字節(jié)擴(kuò)展報(bào)文

          MOV DPTR,#0FF00H;

          MOV A,#00H;

          MOVX @DPTR,A ;初始化結(jié)束

          RET



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