摘要:介紹一種以8051微控制器和82527獨(dú)立CAN總線控制器為核心組成的CAN總線智能傳感器節(jié)點(diǎn)的設(shè)計(jì)方法,并給出其硬件原理圖和初始化程序。
關(guān)鍵詞:CAN總線 82527 單片機(jī) 數(shù)據(jù)采集 智能節(jié)點(diǎn)
引言
CAN(Controller Area Network,控制局域網(wǎng))屬于工業(yè)現(xiàn)場(chǎng)總線,是德國(guó)Bosch公司20世紀(jì)80年代初作為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器間的數(shù)據(jù)交換而開發(fā)的一種通信協(xié)議。1993年11月,ISO正式頒布了高速通信控制局域網(wǎng)(CAN)的國(guó)際標(biāo)準(zhǔn)(ISO11898)。CAN總線系統(tǒng)中現(xiàn)場(chǎng)數(shù)據(jù)的采集由傳感器完成,目前,帶有CAN總線接口的傳感器種類還不多,價(jià)格也較貴。本文給出一種由8051單片機(jī)和82527獨(dú)立CAN總線控制器為核心構(gòu)成的智能節(jié)點(diǎn)電路,在普通傳感器基礎(chǔ)上形成可接收8路模擬量輸入和智能傳感器節(jié)點(diǎn)。
1 獨(dú)立CAN總線控制器82527介紹
82527是Intel公司生產(chǎn)的獨(dú)立CAN總線控制器,可通過(guò)并行總線與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):
765432100CCE00EIESIEIEINITCCE——改變配置允許位,高電平有效。該位有效時(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):
76543210RSTSTDSCDMCPWDSLEEPMUX0CENRSTST——硬件復(fù)位狀態(tài)位。該位由82527寫入,為1時(shí)硬件復(fù)位激活,不允許對(duì)82527訪問(wèn);為0時(shí)允許對(duì)82527訪問(wèn)。
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)文寄存器,其作用與③相同。
765432100COBYPOL0DCT10DCR1DCR0⑤總線配置寄存器(2FH):
COBY——旁路