当前位置:首页 > 工业控制 > 工业控制
[导读]介绍一种以8051微控制器和82527独立CAN总线控制器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。

摘要:介绍一种以8051微控制器和82527独立CAN总线控制器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。

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

引言

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭