基于82527的CAN总线智能传感器节点设计

2010-07-26 17:12:51来源: 单片机及嵌入式系统应用

引言

    CAN(Controller Area Network,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式颁布了高速通信控制局域网(CAN)的国际标准(ISO11898)。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机82527独立CAN总线控制器为核心构成的智能节点电路,在普通传感器基础上形成可接收8路模拟量输入和智能传感器节点。

1 独立CAN总线控制器82527介绍

    82527是Intel公司生产的独立CAN总线控制器,可通过并行总线与Intel和Motrorola的控制器接口;支持CAN规程2.0B标准,具有接收和发送功能并可完成报文滤波。82527采用CHMOS 5V工艺制造,44脚PLCC封装,使用温度为-44~+125℃,其引脚的排列和定义参见参考文献[1]。

    (1)82527的时钟信号

    82527的运行由2种时钟控制:系统时钟SCLK和寄存器时钟MCLK。SCLK由外部晶振获得,MCLK对SCLK分频获得。CAN总线的位定时依据SCLK的频率,而MCLK为寄存器操作提供时钟。SCLK频率可以等于外部晶振XTAL,也可以是其频率的1/2;MCLK的频率可以等于SCLK或是其频率的1/2。系统复位后的默认设置是SCLK=XTAL/2,MCLK=SCLK/2。

    (2)82527的工作模式

    82527有5种工作模式:Intel方式8位分时复用模式;Intel方式16位分时复用模式;串行接口模式;非Intel方式8位分时复用模式;8位非分时复用模式。本文应用Intel方式8位分时复用模式,此时82527的30和44脚接地。

    (3)82527的寄存器结构[2]

    82527的寄存器地址为00~FFH.下面根据需要对寄存器给予介绍。

    ①控制寄存器(00H):

7 6 5 4 3 2 1 0
0 CCE 0 0 EIE SIE IE INIT

    CCE——改变配置允许位,高电平有效。该位有效时允许CPU对配置寄存器1FH、2FH、3FH、4FH、9FH、AFH写操作。

    EIE——错误中断允许位,高电平有效。该位一般置1,当总线上产生异常数量的错误时中断CPU。

    SIE——状态改变中断允许位,高电平有效。该位一般置0。

    IE——中断允许位,高电平有效。

    INIT——软件初始化允许位,高电平有效。该位有效时,CAN停止收发报文,TX0和TX1为隐性电平1。在硬件复位和总线关闭时该位被置位。

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

7 6 5 4 3 2 1 0
RSTST DSC DMC PWD SLEEP MUX 0 CEN

    RSTST——硬件复位状态位。该位由82527写入,为1时硬件复位激活,不允许对82527访问;为0时允许对82527访问。

    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——时钟输出允许位,高电平有效。

    ③标准全局屏蔽寄存器(06~07H)。该寄存器用于具有标准标识符的报文,或XTD置0的报文寄存器。该方式称为报文接收滤波。当某位为1时,报文标识符的相应位必须匹配;为0时,不必匹配。

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

7 6 5 4 3 2 1 0
0 COBY POL 0 DCT1 0 DCR1 DCR0

    ⑤总线配置寄存器(2FH):

    COBY——旁路输入比较器标志位,高电平有效。

    POL——极性标志位。为1,如果旁路输入比较器,RX0的输入逻辑1为显性,逻辑0为隐性;为0,则反之。

    DCT1——TX1输出切断控制位。为1,TX1输出不被驱动,该模式用于1根总线的情况,2根差分导线短路;为0,TX1输出被驱动。

    DCR1——RX1输入切断控制位。为1,RX1与输入比较器的反相端断开,接至VCC/2;为0,RX1接至输入比较器反相端。

    DCR0——RX0输入切断控制位。作用与DCR1相同,此时RX0接至比较器同相端。

7 6 5 4 3 2 1 0
SJW BRP

    ⑥位定时寄存器0(3FH);

    SJW——同步跳转宽度位场,编程值1~3。

    BRP——波特率分频位场,编程值0~63。

7 6 5 4 3 2 1 0
SPL TSEG2 TSEG1

    ⑦位定时寄存器1(4FH):

    SPL——采样模式标志位。1表示每位采样3次;0表示每位采样1次。

    TSEG1——时间段1位场,编程值2~15。

    TSEG1——时间段2位场,编程值1~7。

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

    ⑧报文寄存器(把每个寄存器的第1字节地址作为基址BASE)。

  7 6 5 4 3 2 1 0
BASE+0 MSGVAL TXIE RXIE INTPND
BASE+1 RMTPND TXRQST MSGLST/CPUUPD NEWDAT

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

MSGVAL——报文寄存器有效标志位,高电平有效。10置位,01复位。

TXIE——发送中断允许标志位,高电平有效。10置位,01复位。

RXIE——接收中断允许标志位,高电平有效,10置位,01复位。

INTPND——中断申请标志位,高电平有效。10置位,01复位。

RMTPND——远程帧申请标志位,高电平有效。10置位,01复位。

TXRQST——请求发送标志位,高电平有效。10置位,01复位。

MSGLST——报文丢失标志位,只用于接收报文寄存器。10表示未读报文被新报文覆盖,01表示未覆盖。

CPUUPD——CPU更新标志位,只用于发送报文寄存器。10报文不被发送,01报文可发送。

NEWDAT——新数据标志位。10表示向寄存器写入了新数据,01表示无新数据写入。

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

    存储报文标识符。

7 6 5 4 3 2 1 0
DLC DIR XTD 保留

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

DLC——数据长度编码,编程值0~8。

DIR——方向标志位。1发送,0接收。

XTD——标准/扩展标识符标志位。1扩展标识符,0标准标识符。

◇数据寄存器(BASE+7-BASE+14)

    82527存储报文时,8个数据字节均被写入,未用到的字节数据是随机的。

2 硬件电路设计

    智能节点的电路如图1所示(图中6264略去)。

    在硬件设计中,由ADC0809完成对8路模拟置的转换,与8051的信息交换采用查询方式,地址BFF8~BFFFH,其时钟可由ALE二分频获得;82527完成与CAN总线的信息交换。本设计中,旁路了输入比较器,与8051的信息交换采用中断方式,地址7F00~7FFFH,可以用82527的P1口和P2口对开关量采集或对继电器进行控制。82C250提供82527和物理总线间的接口,提高接收和发送能力。可根据需要扩展程序存储器

3 软件设计

    本设计软件采用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 ;旁路输入比较器设置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此时波特率为100Kbps

MOV DPTR,#0FF00H;

MOV A,#01H

MOVX @DPTR,A ;禁止对配置寄存器的访问

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可发送8个字节扩展报文

MOVX @DPTR,A;

MOV DPTR,#0FF26H;

MOV A,#84H;

MOVX @DPTR,A ;报文寄存器2可接收8个字节扩展报文

MOV DPTR,#0FF00H;

MOV A,#00H;

MOVX @DPTR,A ;初始化结束

RET

关键字:CAN总线  82527  单片机  数据采集  智能节点

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/0726/article_3199.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CAN总线
82527
单片机
数据采集
智能节点

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved