您的位置 首页 软件

根据82527的CAN总线智能流量传感器节点规划

引言CAN(ControllerAreaNetwork,控制局域网)属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的控制与测试仪器间…

导言

CAN(ControllerAreaNetwork,操控局域网)归于工业现场总线,是德国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选用CHMOS5V工艺制作,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):

CCE——改动装备答应位,高电平有用。该位有用时答应CPU对装备寄存器1FH、2FH、3FH、4FH、9FH、AFH写操作。

EIE——过错中止答应位,高电平有用。该位一般置1,当总线上发生反常数量的过错时中止CPU。

SIE——状况改动中止答应位,高电平有用。该位一般置0。

IE——中止答应位,高电平有用。

INIT——软件初始化答应位,高电平有用。该位有用时,CAN中止收发报文,TX0和TX1为隐性电平1。在硬件复位和总线封闭时该位被置位。

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

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的报文寄存器,其效果与③相同。

⑤总线装备寄存器(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接至比较器同相端。

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

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

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

⑦位守时寄存器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)。

◇操控寄存器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)

存储报文标识符。

◇报文装备寄存器(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:MOVDPTR,#0FF02H

MOVA,#00H

MOVX@DPTR,A;SCLK=XTAL

;MCLK=SCLK,CLKOUT无效

MOVDPTR,#0FF00H

MOVA,#41H

MOVX@DPTR,A;置位CCE,INIT

MOVDPTR,#0FF2FH

MOVA,#48H

MOVX@DPTR,A;旁路输入比较器设置1位隐性,0为显性,RX1无效

MOVDPTR,#0FF3FH;

MOVA,#43H;

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

MOVDPTR,#0FF4FH

MOVA,#0EAH

MOVX@DPTR,A;SPL=1,TSEG1=7,TSEG2=6此刻波特率为100Kbps

MOVDPTR,#0FF00H;

MOVA,#01H

MOVX@DPTR,A;制止对装备寄存器的拜访

MOVDPTR,#0FF10H;

MOVA,#55H;

MOVX@DPTR,A;

INCDPTR;

MOVX@DPTR,A;

MOVDPTR,#0FFF0H;

MOVA,#55H;

MOVX@DPTR,A

INCDPTR;

MOVX@DPTR,A;报文寄存器操控位初始化

MOVR0,#06H;

MOVDPTR,#0FF06H;

MOVA,#0FFH;

L1:MOVX@DPTR,A;报文标识符需悉数匹配

INCDPTR

DJNZR0,L1;

MOVDPTR,#0FF16H;

MOVA,#8CH;报文寄存器1可发送8个字节扩展报文

MOVX@DPTR,A;

MOVDPTR,#0FF26H;

MOVA,#84H;

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

MOVDPTR,#0FF00H;

MOVA,#00H;

MOVX@DPTR,A;初始化完毕

RET

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/236610.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部