《CAN BUS及CAN应用节点设计.ppt》由会员分享,可在线阅读,更多相关《CAN BUS及CAN应用节点设计.ppt(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、4.3 CAN BUS器件4.3.1 简介 CAN作为一种技术先进、可靠性高、功能完善、成本低的远程网络通信控制方式,已广泛应用于汽车电子、自动控制、电力系统、楼宇自控、安防监控、机电一体化、医疗仪器等自动化领域。主要产品如表4-51所示。表4-51 CAN BUS器件 制造商产品型号功 能 特 点PHILIPSSJA1000CAN通信控制器,符合CAN 2.0B协议P87C59180C51微控制器+CAN 2.0B通信控制器+10位A/D+PWMC59280C51微控制器+CAN 2.0A通信控制器+10位A/D+PWMP82C150带有数字/模拟输入输出功能的CAN器件,可用于传感器或执行
2、机构,符合CAN 2.0A协议PCA82C250CAN收发器PCA82C251CAN收发器TJA1050/TJA1040高速CAN收发器,兼容并可替代PCA82C250/251INTEL87C196CA/CB82527集成CAN 2.0A/CAN 2.0B的16位微控制器,CAN通信控制器,符合CAN 2.0B协议+两个8位双向I/O端口MICROCHIPPIC18F248PIC18F258PIC18F448PIC18F4588位微控制器+CAN2.0B通信控制器+16KB/32KB Flash程序存储器+768B/1536B SRAM+256B E2PROM+I/O+A/D+SPI+I2C+
3、UARTMOTOROLAMC68HC908AZ60A8位微控制器+MSCAN控制器+6KB Flash程序存储器+2KB SRAM+1KB E2PROM+SCI/SPI串行接口+A/D+PWM+定时器+52根I/O线NEC72005CAN通信控制器,符合CAN 2.0A/2.0B协议Siemens81C90/91C167CCAN通信控制器,符合CAN 2.0A通信控制器微控制器+CAN 2.0A/2.0B通信控制器4.3.2 CAN总线驱动器n1PCA82C250/251nPCA82C250/251收发器是协议控制器和物理传输线路之间的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动
4、接收能力,可以在汽车和一般的工业应用上使用。nPCA82C250/251收发器的主要特点如下:n完全符合ISO 11898标准。n高速率(最高达1Mbps)。n具有抗汽车环境中的瞬间干扰,保护总线能力。n斜率控制,降低射频干扰(RFI)。n差分收发器,抗宽范围的共模干扰,抗电磁干扰(EMI)。n热保护。n防止电源和地之间发生短路。n低电流待机模式。n未上电的节点对总线无影响。n可连接110个节点。n工作温度范围:40+125。图429 PCA82C250/251引脚图PCA82C250/251为8引脚DIP和SO两种封装,引脚如图4-29所示。n引脚介绍如下:nTXD:发送数据输入。nGND:
5、地。nVcc:电源电压4.5V5.5V。nRXD:接收数据输出。nVref:参考电压输出。nCANL:低电平CAN电压输入/输出。nCANH:高电平CAN电压输入/输出。nRs:斜率电阻输入。图430 PCA82C250/251应用电路(3)应用电路PCA82C250/251收发器的典型应用如图4-30所示。n2TJA1050nTJA1050是Philips公司生产的、用以替代PCA82C250的高速CAN总线收发器。该器件提供了CAN控制器与物理总线之间的接口以及对CAN总线的差动发送和接收功能。TJA1050除了具有PCA82C250的主要特性以外,在某些方面的性能还作了很大的改善。4.4
6、 CAN应用节点设计4.4.1 硬件电路设计 采用AT89S52单片微控制器、独立CAN通信控制器SJA1000、CAN总线驱动器PCA82C250及复位电路IMP708的CAN应用节点电路如图4-41所示。图441 CAN应用节点电路n在图4-41中,IMP708具有两个复位输出RESET和/RESET,分别接至AT89S52单片微控制器和SJA1000 CAN通信控制器。当按下按键S时,为手动复位。4.4.2 BasicCAN程序设计nCAN应用节点的程序设计主要分为三部分:初始化子程序、发送子程序、接收子程序。n1.CAN初始化程序程序流程图。CAN初始化子程序流程图如图4-42所示。图
7、442 CAN初始化子程序流程图 程序清单。CAN初始化子程序清单如下:入口条件:将本节点号存入NODE单元。波特率控制字存入NBTR0和NBTR1单元。出口:无 nCAN任意两个节点之间的传输距离与其通信波特率有关,当采用Philips公司的SJA1000 CAN通信控制器时,并假设晶振频率为16MHz,通信距离与通信波特率关系如表4-60所示。表4-60 通信距离与通信波特率关系表 位 速 率最大总线长度总 线 定 时BTR0BTR11Mbps40m00H14H500kbps130m00H1CH250kbps270m01H1CH125kbps530m03H1CH100kbps620m43H
8、2FH50kbps1.3km47H2FH20kbps3.3km53H2FH10kbps6.7km67H2FH5kbps10km7FH7FHn2.CAN接收子程序程序流程图。CAN接收子程序流程图如图4-43所示。图443 CAN接收子程序流程图 程序清单。CAN接收子程序清单如下:n入口条件:无。n出口:接收的描述符、数据长度及数据放在RXBF开始的缓冲区中。n3.CAN发送子程序程序流程图。CAN发送子程序流程图如图4-44所示。图444 CAN发送子程序流程图n 程序清单。nCAN发送子程序清单如下:n入口条件:将要发送的描述符存入TXBF;n将要发送的数据长度存入TXBF+1;n将要发送
9、的数据存入TXBF+2开始的单元。n出口:无。4.5 基于PCI总线的CAN智能网络通信适配器的设计4.5.1 SCADA系统结构基于CAN现场总线的数据采集与监控(SCADA)系统结构如图4-45所示。图445 基于CAN现场总线的SCADA系统结构图 4.5.2 PCI总线概述nPCI总线的英文全称为:Peripheral Component Interconnect Spercial Interest Group,简称PCISIG,即外设部件互连。PCI总线是由Intel公司提出的。n对PCI扩展卡及元件,能够自动配置,实现设备的即插即用;处理器独立,不依赖任何CPU,支持多种处理器及将
10、来待开发的更高性能处理器;支持64位地址;多主控制允许任何PCI 主设备和从设备之间进行点对点访问;PCI提供数据和地址的奇偶校验功能,保证了数据的完整性和准确性。n计算机的PCI总线示意图如图4-46所示。图446 计算机的PCI总线示意图 4.5.3 PCI控制器CY7C09449PVnCY7C09449PV是Cypress公司生产的半导体PCI-DP 系列的PCI接口控制器之一,它提供了可与多种常用的微处理器直接连接的PCI主/从接口,一个128Kbit的双端口SRAM用作局部微处理器和PCI总线间的共享存储器。CY7C09449PV给设计者提供了一种将应用连接到PCI总线的简单方法。它
11、同时提供一个I2O消息单元,具有消息队列和中断能力。nCY7C09449PV控制器的主要特点为:具有128Kbit的双端口共享存储器;可以作为主设备和从设备接口使用,符合PCI 2.2规范;内置主桥能力;可以直接与多种微处理器接口;具有I2O(Intelligent Input&Output的缩写)信息传送单元,包括4个深度为32的FIFO;它的局部总线时钟频率最高可达50MHz;采用单一3.3V电源供电,与3V和5V的PCI总线信号兼容。4.5.4 CAN智能网络通信适配器的设计n1系统功能nCAN智能网络通信适配器主要是用来承担上位计算机和CAN智能测控节点等下位机之间的数据交互任务的。n
12、2硬件结构和工作过程n基于PCI总线的CAN智能网络通信适配器硬件结构如图4-49所示。图449 CAN智能网络通信适配器硬件结构图 n3.CAN数据包格式nCAN通信数据传输采用短帧结构,每帧最多发送8个字节有效数据,在传输的数据量超过8个字节有效数据时,给用户编程带来了一定的困难。为此,定义了如图4-50所示的CAN的数据包格式。a)b)图450 发送数据包和接收数据包格式a)发送数据包格式 b)接收数据包格式 n与上述定义的数据包格式相对应,与上述定义的数据包格式相对应,CAN的多帧数的多帧数据传输帧结构如图据传输帧结构如图4-51所示。所示。图451 CAN多帧数据传输帧结构图n4设备
13、驱动程序WDM的开发nWindows操作系统(Windows98,Windows2000)为了保证系统的安全性,稳定性和可移植性,对底层操作采取了屏蔽的策略,对应用程序访问硬件资源进行了限制。上层的应用程序无权直接访问硬件资源,需要通过编制的设备驱动程序(WDM)实现对硬件资源、外围设备(如PCI设备)的控制,如获取PCI资源配置情况,把分配的物理地址映射到线性地址以及对局部总线工作方式的控制等。nWDM(Win32 Driver Model)作为Windows的最新一代驱动程序模型,其运行平台是Windows 98/Me/NT/2000/XP等操作系统,运行在系统的内核态。n开发WDM的方式
14、有两种:选用DDK开发和选用第三方软件工具开发。本系统开发选用NuMega公司提供的DriverWorks软件。4.6 CAN智能节点的设计4.6.1 CAN智能测控节点的一般结构n在基于CAN现场总线的SCADA系统中,需要设计对工业现场实现测控的智能节点。nCAN智能测控节点的结构如图4-64所示。图464 CAN智能测控节点结构图下面以FBCAN-8DI八路数字量输入模块为例介 绍智能测控节点的设计。4.6.2 FBCAN-8DI八路数字量输入智能节点的设计 n1硬件结构nFBCAN-8DI八路数字量输入智能节点的硬件框图如图4-65所示。图465 FBCAN8DI智能节点的硬件结构框图
15、n在该智能节点的设计中,设定开关的口地址为7FFFH,SJA1000的地址为BF00H,读取数字量的口地址为DFFFH。n2数字量输入电路n数字量输入电路如图4-66所示。图466 数字量输入电路 n当跳线器JP1的1-2短路,跳线器JP2的1-2断开、2-3短路时,输入端DI+和DI可以接一干接点信号。n当跳线器JP1的1-2断开,跳线器JP2的1-2短路、2-3断开时,输入端DI+和DI可以接有源接点。n在图4-66中,开关量输入端所用电源为+24V,也可以是+15V或+5V电源,只需改变电阻R1的阻值即可。n3DC/DC电源电路n在智能节点的设计中,供电电源一般为+24V,而智能节点内部通常需要+5V或其它电源(如放大器、A/D、D/A等器件所需电源),因此需要将+24V电源进行DC/DC变换,产生所需电源,图4-67为将+24V变成+5V的DC/DC变换电路。图467 DC/DC电路 n在图4-67中,VD1为防止电源反接二极管,VD2为TVS抗浪涌二极管,C1C2为滤波电容。n4程序设计n在FBCAN-8DI智能节点的设计中,采用第4.5节介绍的CAN数据包格式。程序主要包括主程序、读取数字量状态子程序、定时器0中断服务程序、CAN数据包接收中断服务程序、CAN数据包发送子程序。另外,还有参数配置程序,网络检查程序,WDT及串行E2PROM数据读写等程序。
限制150内