资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,4.3,CAN BUS,器件,4.3.1,简介,CAN,作为一种技术先进、可靠性高、功能完善、成本低的远程网络通信控制方式,已广泛应用于汽车电子、自动控制、电力系统、楼宇自控、安防监控、机电一体化、医疗仪器等自动化领域。主要产品如表,4-51,所示。,表4-51,CAN BUS,器件,制造商,产品型号,功,能,特,点,PHILIPS,SJA1000,CAN,通信控制器,符合,CAN 2.0B,协议,P87C591,80,C51,微控制器,+,CAN 2.0B,通信控制器,+10,位,A/D+PWM,C592,80,C51,微控制器,+,CAN 2.0A,通信控制器,+10,位,A/D+PWM,P82C150,带有数字,/,模拟输入输出功能的,CAN,器件,可用于传感器或执行机构,符合,CAN 2.0A,协议,PCA82C250,CAN,收发器,PCA82C251,CAN,收发器,TJA1050/TJA1040,高速,CAN,收发器,兼容并可替代,PCA82C250/251,INTEL,87C196CA/CB,82527,集成,CAN 2.0A/CAN 2.0B,的,16,位微控制器,,CAN,通信控制器,符合,CAN 2.0B,协议,+,两个,8,位双向,I/O,端口,MICROCHIP,PIC18F248,PIC18F258,PIC18F448,PIC18F458,8,位微控制器,+,CAN2.0B,通信控制器,+16,KB/32KB Flash,程序存储器,+768,B/1536B SRAM+256B E,2,PROM+I/O+A/D+SPI+I,2,C+UART,MOTOROLA,MC68HC908AZ60A,8,位微控制器,+,MSCAN,控制器,+6,KB Flash,程序存储器,+2,KB SRAM,+1KB E,2,PROM+SCI/SPI,串行接口,+,A/D+PWM+,定时器,+52,根,I/O,线,NEC,72005,CAN,通信控制器,符合,CAN 2.0A/2.0B,协议,Siemens,81C90/91,C167C,CAN,通信控制器,符合,CAN 2.0A,通信控制器,微控制器,+,CAN 2.0A/2.0B,通信控制器,4.3.2,CAN,总线驱动器,1,PCA82C250/251,PCA82C250/251,收发器是协议控制器和物理传输线路之间的接口。此器件对总线提供差动发送能力,对,CAN,控制器提供差动接收能力,可以在汽车和一般的工业应用上使用。,PCA82C250/251,收发器的主要特点如下:,完全符合,ISO 11898,标准。,高速率(最高达,1,Mbps)。,具有抗汽车环境中的瞬间干扰,保护总线能力。,斜率控制,降低射频干扰(,RFI)。,差分收发器,抗宽范围的共模干扰,抗电磁干扰(,EMI)。,热保护。,防止电源和地之间发生短路。,低电流待机模式。,未上电的节点对总线无影响。,可连接,110,个节点。,工作温度范围:,40+125,。,图429,PCA82C250/251,引脚图,PCA82C250/251,为8,引脚,DIP,和,SO,两种封装,引脚如图,4-29,所示。,引脚介绍如下:,TXD:,发送数据输入。,GND:,地。,Vcc:,电源电压,4.5,V5.5V。,RXD:,接收数据输出。,Vref:,参考电压输出。,CANL:,低电平,CAN,电压输入,/,输出。,CANH:,高电平,CAN,电压输入,/,输出。,Rs,:,斜率电阻输入。,图430,PCA82C250/251,应用电路,(3,)应用电路,PCA82C250/251,收发器的典型应用如图,4-30,所示。,2,TJA1050,TJA1050,是,Philips,公司生产的、用以替代,PCA82C250,的高速,CAN,总线收发器。该器件提供了,CAN,控制器与物理总线之间的接口以及对,CAN,总线的差动发送和接收功能。,TJA1050,除了具有,PCA82C250,的主要特性以外,在某些方面的性能还作了很大的改善。,4.4,CAN,应用节点设计,4.4.1,硬件电路设计,采用,AT89S52,单片微控制器、独立,CAN,通信控制器,SJA1000、CAN,总线驱动器,PCA82C250,及复位电路,IMP708,的,CAN,应用节点电路如图,4-41,所示。,图441,CAN,应用节点电路,在图,4-41,中,,IMP708,具有两个复位输出,RESET,和/,RESET,,分别接至,AT89S52,单片微控制器和,SJA1000 CAN,通信控制器。当按下按键,S,时,为手动复位。,4.4.2,BasicCAN,程序设计,CAN,应用节点的程序设计主要分为三部分:初始化子程序、发送子程序、接收子程序。,1.,CAN,初始化程序,程序流程图。,CAN,初始化子程序流程图如图,4-42,所示。,图,4,42 CAN,初始化子程序流程图,程序清单。,CAN,初始化子程序清单如下:,入口条件:将本节点号存入,NODE,单元。,波特率控制字存入,NBTR0,和,NBTR1,单元。,出口:无,CAN,任意两个节点之间的传输距离与其通信波特率有关,当采用,Philips,公司的,SJA1000 CAN,通信控制器时,并假设晶振频率为,16,MHz,,通信距离与通信波特率关系如表,4-60,所示。,表4-60,通信距离与通信波特率关系表,位,速,率,最大总线长度,总,线,定,时,BTR0,BTR1,1Mbps,40m,00H,14H,500kbps,130m,00H,1CH,250kbps,270m,01H,1CH,125kbps,530m,03H,1CH,100kbps,620m,43H,2FH,50kbps,1.3km,47H,2FH,20kbps,3.3km,53H,2FH,10kbps,6.7km,67H,2FH,5kbps,10km,7FH,7FH,2.,CAN,接收子程序,程序流程图。,CAN,接收子程序流程图如图,4-43,所示。,图,4,43 CAN,接收子程序流程图,程序清单。,CAN,接收子程序清单如下:,入口条件:无。,出口:接收的描述符、数据长度及数据放在,RXBF,开始的缓冲区中。,3.,CAN,发送子程序,程序流程图。,CAN,发送子程序流程图如图,4-44,所示。,图,4,44 CAN,发送子程序流程图,程序清单。,CAN,发送子程序清单如下:,入口条件:将要发送的描述符存入,TXBF;,将要发送的数据长度存入,TXBF+1;,将要发送的数据存入,TXBF+2,开始的单元。,出口:无。,4.5,基于,PCI,总线的,CAN,智能网络通信适配器的设计,4.5.1,SCADA,系统结构,基于,CAN,现场总线的数据采集与监控(,SCADA),系统结构如图,4-45,所示。,图,4,45,基于,CAN,现场总线的,SCADA,系统结构图,4.5.2,PCI,总线概述,PCI,总线的英文全称为:,Peripheral Component Interconnect,Spercial,Interest Group,简称,PCISIG,,即外设部件互连。,PCI,总线是由,Intel,公司提出的。,对,PCI,扩展卡及元件,能够自动配置,实现设备的即插即用;处理器独立,不依赖任何,CPU,,支持多种处理器及将来待开发的更高性能处理器;支持,64,位地址;多主控制允许任何,PCI,主设备和从设备之间进行点对点访问;,PCI,提供数据和地址的奇偶校验功能,保证了数据的完整性和准确性。,计算机的,PCI,总线示意图如图,4-46,所示。,图,4,46,计算机的,PCI,总线示意图,4.5.3,PCI,控制器,CY7C09449PV,CY7C09449PV,是,Cypress,公司生产的半导体,PCI-DP,系列的,PCI,接口控制器之一,它提供了可与多种常用的微处理器直接连接的,PCI,主/,从接口,一个,128,Kbit,的双端口,SRAM,用作局部微处理器和,PCI,总线间的共享存储器。,CY7C09449PV,给设计者提供了一种将应用连接到,PCI,总线的简单方法。它同时提供一个,I2O,消息单元,具有消息队列和中断能力。,CY7C09449PV,控制器的主要特点为:具有,128,Kbit,的双端口共享存储器;可以作为主设备和从设备接口使用,符合,PCI 2.2,规范;内置主桥能力;可以直接与多种微处理器接口;具有,I2O,(Intelligent Input&Output,的缩写)信息传送单元,包括,4,个深度为,32的,FIFO;,它的局部总线时钟频率最高可达,50,MHz;,采用单一,3.3,V,电源供电,与,3,V,和5,V,的,PCI,总线信号兼容。,4.5.4,CAN,智能网络通信适配器的设计,1,系统功能,CAN,智能网络通信适配器主要是用来承担上位计算机和,CAN,智能测控节点等下位机之间的数据交互任务的。,2,硬件结构和工作过程,基于,PCI,总线的,CAN,智能网络通信适配器硬件结构如图,4-49,所示。,图,4,49 CAN,智能网络通信适配器硬件结构图,3.,CAN,数据包格式,CAN,通信数据传输采用短帧结构,每帧最多发送,8,个字节有效数据,在传输的数据量超过,8,个字节有效数据时,给用户编程带来了一定的困难。为此,定义了如图,4-50,所示的,CAN,的数据包格式。,a)b),图,4,50,发送数据包和接收数据包格式,a),发送数据包格式,b),接收数据包格式,与上述定义的数据包格式相对应,,CAN,的多帧数据传输帧结构如图,4-51,所示。,图,4,51 CAN,多帧数据传输帧结构图,4,设备驱动程序,WDM,的开发,Windows,操作系统(,Windows98,Windows2000),为了保证系统的安全性,稳定性和可移植性,对底层操作采取了屏蔽的策略,对应用程序访问硬件资源进行了限制。上层的应用程序无权直接访问硬件资源,需要通过编制的设备驱动程序(,WDM),实现对硬件资源、外围设备(如,PCI,设备)的控制,如获取,PCI,资源配置情况,把分配的物理地址映射到线性地址以及对局部总线工作方式的控制等。,WDM(Win32 Driver Model),作为,Windows,的最新一代驱动程序模型,其运行平台是,Windows 98/Me/NT/2000/XP,等操作系统,运行在系统的内核态。,开发,WDM,的方式有两种:选用,DDK,开发和选用第三方软件工具开发。本系统开发选用,NuMega,公司提供的,DriverWorks,软件。,4.6,CAN,智能节点的设计,4.6.1,CAN,智能测控节点的一般结构,在基于,CAN,现场总线的,SCADA,系统中,需要设计对工业现场实现测控的智能节点。,CAN,智能测控节点的结构如图,4-64,所示。,图,4,64 CAN,智能测控节点结构图,下面以,FBCAN-8DI,八路数字量输入模块为例介 绍智能测控节点的设计。,4.6.2,FBCAN-8DI,八路数字量输入智能节点的设计,1,硬件结构,FBCAN-8DI,八路数字量输入智能节点的硬件框图如图,4-65,所示。,图,4,65 FBCAN,8DI,智能节点的硬件结构框图,在该智能节点的设计中,设定开关的口地址为,7,FFFH,SJA1000,的地址为,BF00H,,读取数字量的口地址为,DFFFH。,2,数字量输入电路,数字量输入电路如图,4-66,所示。,图,4,66,数字量输入电路,当跳线器,JP1,的1-2,短路,跳线器,JP2,的1-2,断开、,2-3,短路时,输入端,DI+,和,DI,可以接一干接点信号。,当跳线器,JP1,的1-2,断开,跳线器,JP2,的1-2,短路、,2-3,断开时,输入端,DI+,和,DI,可以接有源接点。,在图,4-66,中,开关量输入端所用电源为,+24,V,,也可以是,+15,V,或+5,V,电源,只需改变电阻,R,1,的阻值即可。,3,DC/DC,电源电路,在智能节点的设计中,供电电源一般为,+24,V,,而智能节点内部通常需要,+5,V,或其它电源(如放大器、,A/D、D/A,等器件所需电源),因此需要将,+24,V,电源进行,DC/DC,变换,产生所需电源,图,4-67,为将,+24,V,变成,+5,V,的,DC/DC,变换电路。,图,4,67 DC/DC,电路,在图,4-67,中,,VD1,为防止电源反接二极管,,VD2,为,TVS,抗浪涌二极管,,C,1,C,2,为滤波电容。,4,程序设计,在,FBCAN-8DI,智能节点的设计中,采用第,4.5,节介绍的,CAN,数据包格式。程序主要包括主程序、读取数字量状态子程序、定时器,0,中断服务程序、,CAN,数据包接收中断服务程序、,CAN,数据包发送子程序。另外,还有参数配置程序,网络检查程序,,WDT,及串行,E2PROM,数据读写等程序。,
展开阅读全文