以下是小编为大家准备的CAN智能节点的设计,本文共9篇,欢迎大家前来参阅。

篇1:CAN智能节点的设计
CAN智能节点的设计
摘要:CAN总线是一种流行的实时性现场总线,文中提出了一种基于MSP430单片机,并以MCP2510为CAN控制器的智能节点设计方案,该方案利用MSP430通过标准SPI接口可实现对MCP2510的控制,并能够完全实现CAN总线规范。关键词:CAN智能节点;MSP430;MCP2510;数据通信
1 引言
CAN总线是控制器局域网(Controller Area Net-work)总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,(本网网收集整理)并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。
CAN总线智能节点在分布式控制系统中起着承上启下的作用。它位于传感器和执行机构所在的现场,一方面和上位机(PC或者工控机)进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。因此,智能化模块设计在CAN系统中有着十分重要的作用。
本文将给出一种用MSP430单片机和MCP2510 CAN控制器组成的总线智能节点的设计方案(见图1),该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。为了调试简单,本方案作了一些改动:一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。
2 硬件设计
本设计的整个接口模块主要由两部分组成:CAN控制器MCP2510和微控制器MSP430。图2所示是该智能节点的部分电路硬件原理图。下面对主要部分功能作一介绍。
2.1 MSP430F1232简介
MSP430系列微控制器是TI公司推出的功能强大的超低功耗16位微处理器。它集成了丰富的片上外围资源,因而开发方式十分简便,可以用C语言编写出效率很高的程序。所选MSP430F1232的工作电压为1.8~3.6V,内含8kB FLASH存储空间。片内集成了看门狗定时器(WTD)、基本时钟模块、US-ART、10位ADC、和带有3个捕获/比较器的16位定时器,因而片上资源十分丰富,完全可以满足一般的需要,同时减少了设计的复杂度。与其它单片机相比,MSP430的I/O端口功能更强,可实现双向的输入、输出,并可完成一些特殊的功能,如A/D转换、捕获比较等;另外,它还可以实现I/O的各种中断。
本设计中,MSP430的作用有两个:一是对执行机构的控制以及对输入模拟量或者开关量的信号采集;二是利用UART模块通过SPI模式与MCP2510通信并控制MCP2510以实现CAN规范。
2.2 MCP2510简介
MCP2510?1?是Microchip公司推出的功能很强的CAN控制器芯片,它支持CAN1.2、2.0A及2.0B规范;其内部结构见图3所示。该芯片内含3个发送缓存和2个接收缓存,可以对发送优先级进行管理,可滤除无用信息,MCP2510有6个可编程滤波器,而且中断资源十分丰富。最可贵的是,它可以通过标准的SPI接口与微控制器进行通信,从而放宽了MCU的选择范围?使得所有单片机都有接入的可能。
MCP2510的主要功能是在MCU的控制下实现CAN规范,它内部的所有寄存器和控制寄存器都映射到一个地址表上,MCU可以使用相应的命令格式通过标准的SPI接口来完成对MCP2510的初始化、工作状态的控制以及数据的'读写。此外,MCP2510产生的中断还可以反馈给MCU来处理。
2.3 系统时钟
由于MSP430的时钟频率决定着指令周期,因而该时钟直接影响SPI接口的速率。MSP430F1232有两个可选的时钟:一是外部低速32.768kHz的时钟晶体;二是采用内部数控DCO的可调频率。本设计直接采用它内部的数控DCO作为它的主时钟MCLK和SMCLK,由于直接工作在800kHz,因而免去了使用晶体。MCP2510采用标准的4MHz晶体。MSP430中USART模块的CLK可由系统时钟分频得到,速率设定也十分方便。实际上,MCP2510输出到总线的速率也可通过设置内部寄存器的控制分频系数来调节。
此外,由于MCP2510的输出信号驱动能力不够,而且与CAN总线物理接口的要求存在很大的差异,所以,在实际应用中必须使用CAN收发器(如MCP2551等),它可支持的CAN速率最高可达1Mbps,而且容错能力很强。此外,它内部还有很强的保护电路,可以防止总线的其它节点对它的影响。
3 软件设计
在进行本系统节点的软件设计前,首先简要说明一下MCP2510的指令格式,MCP2510的5条指令如表1所列。
表1 MCP2510指令格式
指 令指令格式说 明
复位1100 0000使内部寄存器复位,进入配置模式读取0000 0011从寄存器读取数据,指令在前,地址随后写入0000 0010写数据到寄存器,指令在前,地址和数据随后发送请求1000 0nnn对发送缓存发送信息进行初始化状态读取1010 0000读取常用状态寄存器的某些位数据位修改0000 0101对豁口的某几件位修改在使用时,可以把这些指令直接编写成函数形式,这样可使程序简练易读。同时,发送请求的硬件触发只需把TXnRTS置低即可。实际上,接收缓存收到信息后也能产生硬件触发,并在TXnRTS引脚产生低电平输出。
本设计的主程序流程图如图4所示。
上电复位后,MSP430首先完成自身外围模块的初始化,其任务主要是选择时钟模块中的时钟、使USART模块工作于SPI模式、以及对看门狗定时器的配置等;然后对MCP2510进行初始化,以对寄存器进行设置。需要注意的是,MCP2510只有在配置模式下才可以对控制参数进行配置,但它在复位以后就是配置模式。
当配置MCP2510到环回模式后,MSP430将写数据到MCP2510的发送缓存并控制其发送,此后,在接收缓存收到数据后,INT引脚将产生低电平中断以通知MSP430,MSP430响应中断后将读取数据,并和发送的数据进行比较,以验证程序的可行性。需要注意的是,无论是对MCP2510的读还是写,都必须使它的CS引脚处于低电平。
在实际应用中,MSP430和MCP2510都可以进入睡眠模式,并可以由中断来激活。整个节点的主要功能均由中断子程序来完成,其中的一部分是MSP430自身的中断(看门狗定时器溢出中断、SPI接收发送中断、ADC中断等),另一部分是MCP2510引起的中断,这部分中断资源十分丰富,包括信息接收发送中断、信息错误中断、总线激活中断等。它产生的所有中断都能使INT引脚为低电平, 单片机在检测到这些中断后,将通过SPI接口读取MCP2510内部的中断标志寄存器以判断是何中断,然后再进行进一步处理。
4 结束语
MSP430和MCP2510的很多实用功能本文还没有进一步开发,只是作了一个简单测试系统,而且许多实际应用中需要注意的问题也没有考虑到,需要进一步完善。此外,由于MCP2510使用标准的SPI接口与单片机通信,所以加上它可以不更换单片机,而只需对程序稍作修改即可,因此,采用该方案几乎可以在任何现有系统上实现CAN总线功能。
篇2:CAN智能节点的设计
CAN智能节点的设计
摘要:CAN总线是一种流行的实时性现场总线,文中提出了一种基于MSP430单片机,并以MCP2510为CAN控制器的智能节点设计方案,该方案利用MSP430通过标准SPI接口可实现对MCP2510的控制,并能够完全实现CAN总线规范。关键词:CAN智能节点;MSP430;MCP2510;数据通信
1 引言
CAN总线是控制器局域网(Controller Area Net-work)总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。
CAN总线智能节点在分布式控制系统中起着承上启下的作用。它位于传感器和执行机构所在的现场,一方面和上位机(PC或者工控机)进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。因此,智能化模块设计在CAN系统中有着十分重要的作用。
本文将给出一种用MSP430单片机和MCP2510 CAN控制器组成的总线智能节点的'设计方案(见图1),该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。为了调试简单,本方案作了一些改动:一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。
2 硬件设计
本设计的整个接口模块主要由两部分组成:CAN控制器MCP2510和微控制器MSP430。图2所示是该智能节点的部分电路硬件原理图。下面对主要部分功能作一介绍。
2.1 MSP430F1232简介
MSP430系列微控制器是TI公司推出的功能强大的超低功耗16位微处理器。它集成了丰富的片上外围资源,因而开发方式十分简便,可以用C语言编写出效率很高的程序。所选MSP430F1232的工作电压为1.8~3.6V,内含8kB FLASH存储空间。片内集成了看门狗定时器(WTD)、基本时钟模块、US-ART、10位ADC、和带有3个捕获/比较器的16位定时器,因而片上资源十分丰富,完全可以满足一般的需要,同时减少了设计的复杂度。与其它单片机相比,MSP430的I/O端口功能更强,可实现双向的输入、输出,并可完成一些特殊的功能,如A/D转换、捕获比较等;另外,它还可以实现I/O的各种中断。
本设计中,MSP430的作用有两个:一是对执行机构的控制以及对输入模拟量或者开关量的信号采集;二是利用UART模块通过SPI模式与MCP2510通信并控制MCP2510以实现CAN规范。
[1] [2] [3]
篇3:基于ADμC812的CAN总线智能节点的设计
基于ADμC812的CAN总线智能节点的设计
摘要:介绍了一种用单片机ADμC812、CAN总线控制器SJA1000和CAN总线驱动器POA82C250组成的CAN总线智能节点的设计方案,给出了该节点的硬件结构和软件设计方法,同时介绍了CAN总线的主要特点。关键词:CAN总线;ADμC812;数据采集卡
1 引言
CAN(Controller Area Network)总线协议最初是以研发和生产汽车电子产品著称的德国BOSCH公司开发的,它是一种支持分布式实时控制系统的串行通信局域网。目前,CAN总线以其高性能、高可靠性、实时性等优点,而被广泛应用于控制系统中的检测和执行机构之间的数据通信中。CAN总线具有以下一些技术特性:
●多主方式工作,采用非破坏性的基于优先权的总线仲裁技术;
●借助接收滤波可实现多地址的帧传送;
●数据采用短帧结构,抗干扰性强,数据帧的信息CRC校验及其它错误检测措施完善;
●发送期间丢失仲裁或由于出错而遭破获的帧可以自动重发;
●严重错误时可自动关闭总线功能,以使总线其它操作不受影响。
(本网网收集整理)
CAN总线符合ISO11898标准,最大传输速率为1MB/s时?传输距离最大为40m;传输速率为5kB/s时的最大传输距离为10km。CAN总线的传输介质可为双绞线、同轴电缆等。由于CAN总线是一种很有发展前景的现场总线,因此?得到了国际上很多大公司的支持,加之基于CAN总线的硬件接口简单,编程方便,系统容易集成。因此?它特别适用于系统分布比较分散、实时性要求高、现场环境干扰大的场合。
2 系统结构
由于CAN总线采用多主方式工作,所以它具有与DCS控制系统不一样的拓扑结构。其控制系统的构成由计算机和智能节点组成,图1所示是其系统结构。该系统最大的特点就是所有的节点(包括上位PC机)都能以平等的地位挂接在总线上。一个CAN总线节点通常至少包括三个部分,即负责节点任务控制的单片机、CAN总线控制器以及CAN总线收发器。本文给出的就是一个可完成数据采集功能的CAN节点的设计方法。
3 CAN节点的硬件设计
本CAN节点的电路原理简图如图2所示。该电路的三个核心器件是单片机ADμC812?1?、独立的CAN总线控制器SJA1000和CAN总线驱动器PCA82C250。其中SJA1000?2?和PCA82C250两者的组合应用已经在很多CAN总线节点的设计中用到,而本设计的特点就在于,它是根据要完成数据采集功能这一具体要求来选用微控制器ADμC812。图2中的串行接口芯片MAX232作为ADμC812与PC机的串口连接,它的使用是由该单片机的调试特点决定的。
ADμC812是高度集成、高精度12位数据采集系统,该产品在其内核中集成了带有片内可重编程非易失性闪速/电擦除程序存储器的高性能8位(与8051兼容)MCU和多通道(8个输入通道)12位ADC。
由于ADμC812只需要通过其串口模块和计算机的串口进行连接,而不需要额外的仿真器,因而可利用ADI公司的QUICKSTART软件来实现程序的在线下载、在线调试和在线仿真,从而极大地提高了工作效率。这也是本设计使用MAX232的原因。
该系统在工作时,首先将从前面传感器送来的工业标准信号(4~20mA或1~5V)通过调理电路变为0~2.5V的模拟电压信号输入至ADμC812的P0.0~P0.7 (AD0~AD7)引脚(根据实际情况确定所需AD端口的数量),然后通过程序控制,再将A/D转换所得的数字信息通过SJA1000和PCA82C250送到CAN总线上的相关节点。
SJA1000作为微控制器的片外扩展芯片,其片选引脚CS应接在微控制器的P2.0上,以用于决定CAN控制器各寄存器的地址。SJA1000通过CAN总线驱动器PCA82C250连接在物理总线上。PCA82C250器件可提供对总线的差动发送能力和对CAN控制器的差动接受能力,它同时完全和“ISO11898”标准兼容。为进一步提高系统的抗干扰能力,一般在CAN总线控制器SJA1000和CAN总线驱动器PCA82C250之间加接6N137光电隔离芯片,只不过在图2中没有表示出来。由于通信信号传输到导线的端点时会发生反射,而且反射信号会干扰正常信号的传输,因此,总线两端应接有终端电阻R1、R2,以消除反射信号,其阻值应当与传输电缆的特性阻抗大致相当。
4 CAN节点的软件设计
本节点的软件编程主要包括A/D转换(ADC)、CAN控制器的初始化、CAN总线数据的发送和接收等几个部分。主程序的流程图如图3所示。
下面分别对这几个主要部分的程序设计做一介绍。
4.1 A/D转换部分
笔者在本设计中采用的是单步A/D转换模式,并将A/D转换结果存入指定的数据存储区。具体步骤如下:
(1)通过设置ADC控制寄存器(ADCCON1和ADCCON2)的值来确定A/D转换的工作状态和采样通道号;
(2)使能ADC中断,置位SCONV位以启动单步A/D转换;
(3)等待响应ADC中断,并进入中断服务程序;
(4)把采样所得的数据从ADCDATAL和ADC-DATAH两个特殊寄存器中取出,并存入预设的片内数据存储器中,然后退出中断服务程序;
(5)判断所需通道是否采样完毕,如果未完成,则设置采样通道号并返回步骤(2),若完成则退出A/D转换子程序。
通过该程序可随时根据实际需要更改采样通道数,并将采样结果直接存入指定数据存储区,以为今后向CAN总线发送所得数据提供便利。
4.2 SJA1000的初始化
CAN的通信协议主要是由CAN控制器完成的.,因此,要想实现CAN节点的数据传送,对CAN控制器的初始化是十分关键的。这个步骤直接决定着该CAN网络系统各节点所共同遵守的协议。对SJA1000进行初始化实际上就是通过单片机向其片内的各个寄存器写入控制字的过程,其寄存器包括以下几个:
REG CONTROL―内部控制寄存器地址;
REG COMMAND―内部命令寄存器地址;
REG STATUS ―内部状态寄存器地址;
REG INTERRUPT―内部中断寄存器地址;
REG ACR―内部验收代码寄存器地址;
REG AMR―内部验收屏蔽寄存器地址;
REG BTR0―总线定时寄存器0;
REG BTR1―总线定时寄存器1;
REG OCR―输出控制寄存器。
其中:BTR0、BTR1寄存器的内容可用于决定系统通信的波特率和CAN协议物理层中的同步跳转宽度,因此,对于一个系统中的所有节点,这两个寄存器的内容必须相同(包括上位机),否则将无法进行通信;OCR寄存器的内容用于决定CAN控制器的输出方式;而写入ACR、AMR寄存器的内容则要根据实际的网络系统和报文标志符来决定。本设计中,笔者采用的是BasicCAN模式。
完成初始化后,CAN控制器就能正常运行了,但是要实现具体的数据收发任务,还必须编制特定的收、发程序。
4.3 CAN总线数据的发送和接收
(1)发送部分的程序设计
用CAN总线发送数据的流程图如图4所示。实际上,在程序运行过程中,常常会在发送某一帧数据时发现上一帧的数据还没有完全发送完毕(可以通过查询状态寄存器REG STATUS的第4位BIT TCS的显、隐状态可了解上次数据的发送情况)。因此,笔者采用的处理方法是:通过指令启动本次发送之后,就不停地查询状态寄存器,以判断本次发送是否完成,直到确定完成为止。这样可以为下次发送提供便利,同时也有利于程序的顺利执行,从而避免出现错误。
(2)接收部分的程序设计
图5所示是该系统接收部分的软件流程图。
实际上,在对响应速度要求不太高的场合,以查询方式来设计接收子程序是最简单、最可靠的方式。如果总线上有数据发往本节点,则通过查询状态寄存器的第1位BIT_RBS的位状态,便可得知接收缓冲区(RXFIFO)中的可用信息,然后通过软件将RXFIFO中的数据逐个“移入”到指定的片内存储空间即可。对于这
样一个主要以数据采集功能为主的CAN节点,这些数据多半是由CAN网络中的“控制中心”发来的控制信号,设计时把它们留给ADμC812进一步处理就可以了。
还应注意的是:在接收查询过程中,要“观察”是否有总线关闭、总线出错、接收缓冲器超载等状态,如果有的话,必须要进行相应的“错误”处理,否则也不能正常进行数据接收,还有一个问题是关于远程帧的处理。限于篇幅,本文不作介绍。
5 结束语
实践证明:本文所介绍的CAN总线智能节点能够很好地实现对工业标准模拟输出信号的采集以及与CAN总线上其它节点的通信。由于该节点是基于单片机ADμC812开发的,因此它的体积小巧且扩展灵活。笔者相信,基于该单片机的各种总线节点一定会得到广泛的应用。
篇4:基于82527的CAN总线智能传感器节点设计
基于82527的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):
765432100CCE00EIESIEIEINITCCE――改变配置允许位,高电平有效。该位有效时允许CPU对配置寄存器1FH、2FH、3FH、4FH、9FH、AFH写操作。
EIE――错误中断允许位,高电平有效。该位一般置1,当总线上产生异常数量的错误时中断CPU。
SIE――状态改变中断允许位,高电平有效。该位一般置0。
IE――中断允许位,高电平有效。
INIT――软件初始化允许位,高电平有效。该位有效时,CAN停止收发报文,TX0和TX1为隐性电平1。在硬件复位和总线关闭时该位被置位。
②CPU接口寄存器(02H):
76543210RSTSTDSCDMCPWDSLEEPMUX0CENRSTST――硬件复位状态位。该位由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的报文寄存器,其作用与③相同。
765432100COBYPOL0DCT10DCR1DCR0⑤总线配置寄存器(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接至比较器同相端。
76543210SJWBRP⑥位定时寄存器0(3FH);
SJW――同步跳转宽度位场,编程值1~3。
BRP――波特率分频位场,编程值0~63。
76543210SPLTSEG2TSEG1⑦位定时寄存器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)。
76543210BASE+0MSGVALTXIERXIEINTPNDBASE+1RMTPNDTXRQSTMSGLST/CPUUPDNEWDAT◇控制寄存器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)
存储报文标识符。
76543210DLCDIRXTD保留◇报文配置寄存器(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
篇5:基于ADμC812的CAN总线智能节点的设计
基于ADμC812的CAN总线智能节点的设计
摘要:介绍了一种用单片机ADμC812、CAN总线控制器SJA1000和CAN总线驱动器POA82C250组成的CAN总线智能节点的设计方案,给出了该节点的硬件结构和软件设计方法,同时介绍了CAN总线的主要特点。关键词:CAN总线;ADμC812;数据采集卡
1 引言
CAN(Controller Area Network)总线协议最初是以研发和生产汽车电子产品著称的德国BOSCH公司开发的,它是一种支持分布式实时控制系统的串行通信局域网。目前,CAN总线以其高性能、高可靠性、实时性等优点,而被广泛应用于控制系统中的检测和执行机构之间的数据通信中。CAN总线具有以下一些技术特性:
●多主方式工作,采用非破坏性的基于优先权的总线仲裁技术;
●借助接收滤波可实现多地址的帧传送;
●数据采用短帧结构,抗干扰性强,数据帧的信息CRC校验及其它错误检测措施完善;
●发送期间丢失仲裁或由于出错而遭破获的帧可以自动重发;
●严重错误时可自动关闭总线功能,以使总线其它操作不受影响。
CAN总线符合ISO11898标准,最大传输速率为1MB/s时?传输距离最大为40m;传输速率为5kB/s时的最大传输距离为10km。CAN总线的传输介质可为双绞线、同轴电缆等。由于CAN总线是一种很有发展前景的现场总线,因此?得到了国际上很多大公司的支持,加之基于CAN总线的硬件接口简单,编程方便,系统容易集成。因此?它特别适用于系统分布比较分散、实时性要求高、现场环境干扰大的场合。
2 系统结构
由于CAN总线采用多主方式工作,所以它具有与DCS控制系统不一样的拓扑结构。其控制系统的构成由计算机和智能节点组成,图1所示是其系统结构。该系统最大的`特点就是所有的节点(包括上位PC机)都能以平等的地位挂接在总线上。一个CAN总线节点通常至少包括三个部分,即负责节点任务控制的单片机、CAN总线控制器以及CAN总线收发器。本文给出的就是一个可完成数据采集功能的CAN节点的设计方法。
3 CAN节点的硬件设计
本CAN节点的电路原理简图如图2所示。该电路的三个核心器件是单片机ADμC812?1?、独立的CAN总线控制器SJA1000和CAN总线驱动器PCA82C250。其中SJA1000?2?和PCA82C250两者的组合应用已经在很多CAN总线节点的设计中用到,而本设计的特点就在于,它是根据要完成数据
[1] [2] [3] [4]
篇6:基于82527的CAN总线智能传感器节点设计
基于82527的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):
765432100CCE00EIESIEIEINITCCE――改变配置允许位,高电平有效。该位有效时允许CPU对配置寄存器1FH
[1] [2] [3] [4] [5] [6]
篇7:基于CAN总线和虚拟仪器技术的汽车CAN节点测试仪设计
基于CAN总线和虚拟仪器技术的汽车CAN节点测试仪设计
引言 Controller Area Network(控制器局域网,缩写为CAN),是为解决汽车电子控制单元间的信息通信而由德国Bosch公司提出的一种总线标准,以其卓越的性能、极高的'可靠性和低廉的价格,现在已经在汽车领域获得广泛应用.
作 者:侯冬冬 于良杰 马建辉 作者单位:山东省科学院自动化研究所 刊 名:世界电子元器件 英文刊名:GLOBAL ELECTRONICS CHINA 年,卷(期): “”(4) 分类号: 关键词:篇8:基于双口RAM的LonWorks智能通信节点设计
摘要:介绍一种基于双口RAM的LonWorks现场总线智能通信节点的设计方法,并给出详细的设计步骤、硬件及软件实现。通过此LonWorks智能通信节点,能够完成RS-232-C/RS-485标准与LonTalk协议间的转换提供RS-232-C/RS-485网络到LonWorks网络的接口,因此,具有很高的应用价值。
关键词:现场总线 LonWorks 智能节点 神经元芯片 双口RAM
引言
LonWorks(Local Operating Networks,局部操作网络)总线是由美国Echelon公司推出的一种现场总线技术。由于LonWorks控制网络的开放性、高速性和互操作性,它已广泛用于工业、楼宇、家庭、办公设备、交通运输、能源等自动化领域。EIA RS-232-C/RS-485通信网络在控制系统中应用最为普及,许多设备大都只提供RS-232或RS-485/422接口,不能直接接入LonWorks网络。因此,需要将现场LON网络介质上的信息转换为RS-232-C/RS-485标准的信号,或将RS-232-C/RS-485标准信号转换为包含LonTalk协议的数据,从而实现不同网络间的数据传输,同时也为上位PC机、底层工作站提供转换接口。本文所设计的LonWorks智能通信节点方便地与EIA RS-232-C/RS-485标准的串行I/O设备进行通信,轻松实现现场节点与上位PC机或其它RS-232-C/RS-485控制设备之间的可靠、准确、快捷数据传递。
篇9:基于双口RAM的LonWorks智能通信节点设计
1.1 节点硬件电路设计
智能节点以Neuron神经元处理器芯片为核心,其硬件电路还包括收发器、EEPROM、双口RAM、译码电路和service电路等。以神经元芯片构成网络接口,由它通过LonTalk协议与网上的其它智能节点通信,并通过双口RAM的访问实现与其它网络系统的数据交换。节点中用双口RAM充当不同网络通信过程中现场信息的接收、发送缓冲区,完成最近发送到达的交换数据的存储转发功能,缓解和避免系统缓存紧张和瓶颈的产生。用非易失性存储器EEPROM存放LonTalk网络协议固件、多任务调度程序、网络适配器通信管理程序以及网络配置信息等。节点的硬件组成结构如图1所示。
(本网网收集整理)
智能节点的基本结构可分为两部分:以Neuron 3150神经元芯片主构成的LonWorks现场总线一侧,其基本功能是实现LON网络上的智能节点功能;另一侧是由单片机系统构成的串行通信接口,其功能是实现EIA RS-232-C/RS-485标准的串行通信。在这两部分间采用了双口RAM CY7C130芯片作为数据共享区。CY7C130通信接口电路的左端口与Neuron 3150芯片连接,右端口与8051单片机系统连接,如图2所示。双口RAM的两端都有独立的数据线、地址线和控制线,两端都可对双口RAM的任意单元进行操作。只要两端不同时对同一地址单元进行操作就不会发生冲突。BUSY显示本端口想要存取的.地址正在被另一个端口操作,发生硬件冲突时,后操作一端的BUSY信号有效。
在应用中分别对双口RAM 1KB的存储空间进行定义,即CY7C130的同一存储单元对于Neuron3150芯片及8051单片机系统各有一个地址,这样两个系统均能对其进行存取操作。在智能节点中,Neuron3150芯片对1KB空间的地址为D000H~D3FFH。8051单片机系统对它的定义为0000H~03FFH。值得注意的是,CY7C130芯片3FFH和3FEH两个单元被用作固定用途:当左端Neuron3150芯片向3FFH单元写入数据时,将产生中断信号INTR;同理,当右端8051单片机向3FEH单元写入数据时,将产生中断信号INTL。利用这两个信号,可以将系统设置为中断工作方式,达到节省通信时间的目的。由于双向数据信息的交换,可以这样来划分双口RAM存储区间:000H~01FFH单元存入Neuron 3150芯片向8051传送的信息,而200H~3FFH单元存放由8051向Neuron 3150发送的信息,并将同类但不同次的信息放在固定的存储单元,每次都以新的数据覆盖上次的数据。这样就不必进行标志的判断,只需要固定单元取数据就可以进行处理,既节省时间,又安全可靠。
1.2 硬件的抗干扰
Lon Works设备往往工作在复杂的电磁环境中,其自身各部分与周围其它电子设备之间,都不可避免地存在各种形式的电磁干扰和静电放电。为了保证通信的准确无误,延长硬件使用寿命,该通信节点在设计上结合LonWorks电路自身特点,采用有关接地、屏蔽和滤波的适当处理,有效减小了电磁干扰的影响。针对收发器FTT-10A,设计抗干扰电路时,应主要围绕印刷电路板上星形地结构和火花隙的设计。对于静电放电(ESD),在印刷电路板(PCB)设计中,采用火花放电隙,能够削弱到达收发器和后续缓冲器电路的ESD能量,使用箝位二极管,能大大增强节点承受来自网络连接端的ESD能力。对于电磁干扰,应尽量保证强噪声源(如DC/DC变换器、时钟电路等)远离收发器FTT-10A。
★节点
★《Can you play the guitar》初中英语教学设计
★智能钢笔
★智能合同
文档为doc格式