型号: PXF0284
CAN (Controller Area Network) 总线又称控制器局域网是Bosch 公司, 在现代汽车技术中领先推出的一种多主机局部网由于其卓越的性能极高的可靠性独特灵活的设计和低廉的价格现,已广泛应用于工业现场控制智能大厦小区安防交通工具医疗仪器环境监控等众多领域CAN, 已被公认为几种最有前途的现场总线之一CAN。 总线规范已被ISO 国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN 总线极高的可靠性从而使应用层通信协议得以大大简化。CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。
控制器局域网CAN是目前为止被批准为国际标准的少数现场总线之一。CAN网络可以采用多主方式工作。它采用非破坏性的总线仲裁技术,其控制和信号传输采用短帧结构,因而具有低耦合性和较强的抗干扰能力。它的传输介质可以是双绞线、同轴光纤或电缆,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因此数据出错率极低,可靠性较高;当其传输的信息出错严重时,节点可以自动断开与总线的联系,以使其总线上其它的操作不受影响。
虽然目前USB、PCI等总线技术得到了快速发展,但是在大量应用的测试微机及工控机中,用的最多的还是ISA总线。ISA总线具有16位数据宽度,其最高工作频率为8MHz,数据传输速率可达到16MB/s,地址总线有24条,可寻址16MB的地址单元,其总线信号分为5类,分别为数据线、控制线、地址线、电源线和时钟线。
控制器局域网CAN属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。由于CAN总线具有很高的实时性能和应用范围,从位速率最高可达1Mbps的高速网络到低成本多线路的50Kbps网络都可以任意搭配。因此,CAN总线己经在工业控制、汽车业、航空业、安全防护等领域中得到了广泛应用。
现场总线是应用在生产最底层的一种总线型拓扑的网络,是用作现场控制系统的、直接与所有受控节点串行相连的通信网络。受控设备和网络所处的环境可能很特殊,对信号的干扰往往是多方面的,这就要求控制必须是实时性很强。
CAN控制器SJA1000的地址数据总线是分时复用的,它通过ALE信号的下降沿可锁存总线上的地址信号;ISA总线上的数据总线和地址是单独提供的, 其不能直接和SJA1000的地址数据总线相连。此设计利用地址译码电路来对地址信号线进行译码,从而为CAN适配卡分配出一定的端口地址。然后利用74HC373芯片的数据锁存功能锁存第一次I/O操作中通过ISA数据总线传送的数据信号,以便作为访问CAN控制器SJA1000中寄存器的地址信号,最后在第二次I/O操作中完成对SJA1000中相应地址寄存器的读写操作。
其它现场总线较差,这也是目前CAN总线在众多领域被广泛采用的原因。节点是网络上信息的接CAN总线与其它几种现场总线比较而言是最容易实现价格最为低廉的的一种,但其性能并不比收和发送站,由微处理器和可编程的CAN 控制芯片组成的就是所谓智能节点。它们有两者合二为一的如芯片P8XC592,也有如此文介绍的独立的通信控制芯片与单片机接口。其后者的优点是比较灵活。
DALLAS的最新单线数字温度传感器DS18B20体积更小、适用电压更宽、更经济, DALLAS 半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器。一线总线独特且经济的特点,用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822 “一线总线”数字化温度传感器与DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10°C~+85°C范围内,精度为±0.5°C。DS1822的精度较差为± 2°C。现场温度是直接以"一线总线"的数字方式传输,这样大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:设备或过程控制、环境控制、测温类消费电子产品等。与前一代产品不同的是新的产品支持3V~5.5V的电压范围,使系统设计更方便、灵活。且新一代产品更便宜,体积更小。DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选用更小的封装方式,更宽的电压适用范围。分辨率的设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!其性能价格比也非常出色!DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义分辨率参数和报警温度的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使特性、电压及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
随着科学技术的飞速发展,过程控制领域在过去的两个世纪里发生了巨大的变革。19世纪60年代出现的基于5-13psi的气动信号标准,标志着控制理论初步形成,20世纪50年代,随着基于4-20mA或0-10mA的电流模拟信号的模拟过程控制体系被提出被得到广泛的应用,标志着电气自动控制时代的到来,20世纪70年代,随着数字计算机的介入,产生了“集中控制”的中央控制计算机系统,不久后伴随着“集中控制”的北人们发现,该系统存在着可靠性低、易失控等缺点,很快就将其发展为分布式控制系统;随着快速发展的微处理器被广泛的应用,数字化通信网络被延伸到工业过程现场成为可能,也就产生了以微处理器为核心,使用集成电路代替常规电子线路,实施信息采集、处理、显示、传输以及优化控制等功能的智能设备。设备之间彼此控制、通信,在精度、可靠性以及可维护性、可操作性等都有更高的要求。因此,现场总线的产生成为了必然。
现场总线是应用在生产最底层的一种总线型拓扑的网络,是用作现场控制系统的、直接与所有受控节点串行相连的通信网络。受控设备和网络所处的环境可能很特殊,对信号的干扰往往是多方面的,这就要求控制必须是实时性很强。在20世纪80年代初,工程人员开始讨论现有的总线系统运用于轿车的可能性。1986年2月在SAE大会上,博世公司提出了CAN,称为“Automotive SerialController Area Network”。而今几乎在欧洲诞生的每一辆新轿车都装配有一个或多个CAN网络系统。CAN网络系统也应用在了从火车到轮船等其他类型的运输工具上,以及工业控制方面 。仅1999年,就有近六千万个CAN控制器投入使用,2000年这个数字达到一亿。
由于CAN总线具有多主方式工作、非破坏总线仲裁、直接通讯距离远、通信介质灵活、性价比高等特点,它的应用范围现在已不再局限于汽车行业,而已经扩展到了机械工业、农业机械、纺织机械、数控机床、机器人、家用电器等行业领域。CAN总线已经形成了国际标准,并且被公认为其中最有前途的现场总线之一。对于CAN总线的开发具有重要的现实意义。
利用P89C51单片机、和SJA1000CAN控制器设计开发智能温度节点,实时上传测量的温度并显示,接收命令来控制温度。
图2.1-1 系统总图
本文中所设计的CAN总线系统智能节点是以89C51作为节点的微处理器在CAN总线通信接口中采用PHILIPS公司的SJA1000和隔离CAN收发器模块。SJA1000是独立CAN, CTM系列模块是集成电气隔离、电源隔离、CAN收发器,CAN总线保护于一体的隔离CAN收发器模块。
如图所示,CAN总线系统智能节点硬件电路主要由四部分所构成微控制器89C51,独立CAN 通信控制器SJA1000 CAN,隔离CAN收发器模块和DS18B20数字温度传感器。
89C51负责SJA1000的初始化且通过控制SJA1000实现数据的发送和接收等通信任务。SJA1000的AD0A~D7连接到89C51的P0口,CS接高,CPU通过这些地址可对SJA1000执行相应的读写操作。SJA1000的INT接89C51的INT0 ,89C51也可通过中断方式访问SJA1000。
89C51的P3.0接LED,作为继电器的状态显示。P3.1接继电器,控制电阻丝的通断,来控温。89C51的P0为数码管的断码,P2为位码。显示实时测量温度和控温点,各为两位数。
CTM系列模块是集成电气隔离、电源隔离、CAN收发器,CAN总线保护于一体的隔离CAN收发器模块,该模块RXD、TXD引脚兼容+3.3V、及+5V的CAN控制器,不需要外接其他元器件,直接将+3.3V或+5V的CAN控制器发送、接收引脚与CTM模块的发送、接收引脚相连接.
图2.2-1 硬件电路图
P89C51是PHILIPS半导体公司生产的低电压、高性能CMOS、8位单片机,片内含有4kbytes的可反复擦写的Flash只读程序存储器(ROM)和128 bytes的随机存取数据存储器(RAM ),器件采用PHILIPS半导体公司的高密度、非易失性存储技术生产,它兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的P89C51单片机可为您提供许多高性价比的应用场合,灵活应用于各种控制领域。
P89C51提供4k字节Flash闪速存储器、128字节内RAM,它有32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,P89C51可降至OHz的静态逻辑操作,并且支持两种软件可选的节电工作模式。其空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。在掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
3.1.2 引脚功能说明
图3.1.2-1 几脚功能图
引脚功能说明
P0口:PO口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写”1”可作为高阻抗输入端用。
Pl口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
表3.1.2-1 第二功能
端口引脚 |
第二功能 |
P3.0 |
串行输入口 |
P3.1 |
串行输出口 |
P3.2 |
外中断0 |
P3.3 |
外中断1 |
P3.4 |
定时/计数器0 |
P3.5 |
定时/计数器1 |
P3.6 |
外部数据存储器写选通 |
P3.7 |
外部数据存储器读选通 |
P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端。
SJA1000是一独立的CAN控制器,它主要用于一般工业环境中的区域网络控制和移动目标。它是美国PHILIPS半导体公司PCA82C200 CAN控制器的替代产品,而且它增加的是一种新的操作模式——PeliCAN,这种模式支持CAN2.0B协议。
SJA1000的主要性能特点如下:
引脚可以与PCA82C200独立CAN控制器兼容
电器特性可以与PCA82C200独立CAN控制器兼容
以有扩展的接收缓冲器64字节,先进先出(FIFO)。
它支持CAN2.0A/B协议
它支持29位和11位标识码
其通信位速率可达1Mbps
其验收滤波器的扩展
时钟频率是24MHz
可以与不同的微处理器接口
有可编程的CAN输出驱动器配置等。
图3.2.2-1 SJA1000引脚
表3.2.2-2 SJA1000引脚功能
符 号 |
引 脚 |
功 能 |
AD0 AD7 |
2,1,28 23 |
地址/数据复用总线 |
ALE |
3 |
ALE 信号INTEL 方式或AS 信号Motorola 方式 |
/CS |
4 |
片选输入低电平允许访问SJA1000 |
/RD |
5 |
微控制器的读信号Intel 方式或E 信号Motorola 式 |
/WR |
6 |
微控制器的写信号Intel 方式或读写信号Motorola 方式 |
CLKOUT |
7 |
SJA1000 产生的提供给微控制器的时钟输出信号此信号由内部振荡器经可编程分频器得到可编程禁止该引脚 |
VSS1 |
8 |
逻辑电路地 |
XTAL1 |
9 |
振荡放大器输入外部振荡放大器信号经此引脚输入 |
XTAL2 |
10 |
振荡放大器输出使用外部振荡信号时此引脚必须开路 |
MODE |
11 |
方式选择输入端1=Intel 方式0=Motorola 方式 |
VDD3 |
12 |
输出驱动器5V 电源 |
TX0 |
13 |
由输出驱动器0 至物理总线的输出端 |
TX1 |
14 |
由输出驱动器1 至物理总线的输出端 |
VSS3 |
15 |
输出驱动器地 |
/INT |
16 |
中断输出端用于向微控制器提供中断信号 |
/RST |
17 |
复位输入端用于重新启动CAN 接口低电平有效 |
http://www.51lm.cn/p/templates/cn/show.php?cid=0&aid=284
|