CAN总线接口电路_第1页
CAN总线接口电路_第2页
CAN总线接口电路_第3页
CAN总线接口电路_第4页
CAN总线接口电路_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 介绍了采用 PHILIP 公司生产的控制器局域网的高度集成的通信控制器 SJA1000 和 82C250 作为收发器的 CAN 总线接口电路的硬件设计方法,介绍了控制器和收发器 及看门狗芯片的特点、内部结构、寄存器结构及地址分配,说明一种通用型 CAN 总线 的设计和开发.探讨应用中需注意的一些问题。 关键词:关键词:CAN 总线;控制器;收发器;电路设计 I 目次目次 摘要摘要. I 1 绪论1 绪论 . 1 1.1 CAN总线简介 . 1 1.1.1 CAN协议 . 1 1.1.2 电气参数及信号表示 . 2 1.2 CAN的主要技术特点 . 2 1.3 CAN总线通信系统拓扑结构 . 3 2 CAN总线接口电路设计2 CAN总线接口电路设计 . 3 2.1 总体方案设计 . 3 2.2 各模块电路的设计 . 4 2.2.1 单片机最小系统 . 4 2.2.2 CAN总线接口控制电路设计 . 5 2.2.2.1SJA1000 简介 . 5 2.2.2.2 基于SJA1000 的控制电路设计. 10 2.2.3 CAN总线收发电路设计 . 11 2.2.3.1CAN总线收发器 82C250 介绍. 11 2.2.3.2 基于 82C250 收发电路设计 . 14 2.2.4 复位、监控电路设计 . 15 2.2.4.1X5045P简介 . 15 2.2.4.2 基于X5045P的电路设计 . 18 2.2.5 电源设计 . 18 2.3 接口电路总体电路原理图 . 19 3 结束语3 结束语 . 21 参考文献参考文献 . 22 附录 1: 接口电路总体电路原理图附录 1: 接口电路总体电路原理图. 23 II 1 绪论 1 绪论 1.1 CAN总线简介 1.1 CAN总线简介 CANControl(Controller) Area Network是控制(器)局域网的简称。CAN 是一 种有效支持分布式控制或实时控制的串行通信网络,最初由德国 Bosch 公司 80 年代 用于汽车内部测试和控制仪器之间的数据通信。 目前 CAN 总线规范已被国际标准化组 织 ISO 制订为国际标准 ISO11898,并得到了 Motorola,Intel ,Philips 等大半导体 器件生产厂家的支持,迅速推出各种集成有 CAN 协议的产品。目前 CAN 总线主要用于 汽车自动化领域,如发动机自动点火、注油、复杂的加速刹车控制(ASC) 、抗锁定刹 车系统 (ABS) 和抗滑系统等。 BENZ、 BMW 等著名汽车上已经采用 CAN 来满足上述功能。 在工业过程控制领域,CAN 也得到了广泛的应用。 1.1.1 CAN协议 1.1.1 CAN协议 CAN总线采用分层结构,规范规定了任意两个节点之间的兼容性。包括电气特件 利数据解释协议。 。 CAN 协议可分为: 目标层、 传送层、 物理层。 其中目标层和传送层包括了 ISO/OSI 定义的数据链路的所有功能。目标层的功能包括:确认要发送的信息;位应用层提供 接口。传送层功能包括:数据帧组织:总线仲裁:检错、错误报告、错误处理。 CAN 总线以报文为单位进行信息交换,报文中含有标示符(ID) ,它既描述了数据 的含义又表明了报文的优先权。CAN 总线上的各个协点都可主动发送数据。当同时有 两个或两个以上的节点发送报文时,CAN 控制器采用 ID 进行仲裁。ID 控制节点对总 线的访问。发送具有最高优先权报文的节点获得总线的使用权,其他节点自动停止发 送,总线空闲后,这些节点将自动重发报文。 CAN 支持四类信息帧类型。 (1)数据帧 CAN 协议有两种数据帧类型标准 2.0A 和标准 2.0B。两者本质的 不同在于 ID 的长度不同。在 2.0A 类型中,ID 的长度为 l l 位;在 2.0B 类型中 ID 为 29 位。一个信息震中包括 7 个主要的域: 帧起始域标志数据帧的开始,由一个显性位组成。 仲裁域内容由标示符和远程传输请求位(RTR)组成,RTR 用以表明此信息帧 是数据帧还是不包含任何数据的远地请求帧。当 2.0A 的数据帧和 2.0B 的数据帧必须 在同一条总线上传输时,首先判断其优先权,如果 ID 相同,则非扩展数据帧的优先 1 权高于扩展数据帧。 控制域r0、r1 是保留位,作为扩展位,DLC 表示一帧中数据字节的数目。 数据域包含 08 字节的数据。 校验域检验位错用的循环冗余校验域,共 15 位。 应答域包括应答位和应答分隔符。正确接收到有效报文的接收站在应答期间 将总线值为显性电平。 帧结束由七位隐性电平组成。 (2)远程帧 接受数据的节点可通过发远程帧请求源节点发送数据。它由 6 个域 组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。 (3)错误指示帧 由错误标志和错误分界两个域组成。接收节点发现总线上的报 文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误 认可标志”。 (4)超载帧 由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。 当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧问空隙域检测到 显性电平时,则导致发送超载帧。 (5)帧间空隙 位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空 闲状态组成。帧间空隙是必要的,在此期间, CAN 不进行新的帧发送,为的是 CAN 控 制器在下次信息传递前有时间进行内部处理操作。当总线空闲时 CAN 控制器方可发送 数据。 1.1.2电气参数及信号表示 1.1.2电气参数及信号表示 总线上的数据采用不归零编码方式(NRZ) ,可具有两种互补的逻辑值之一:显性 及隐性。CAN 总线中各节点使用相同的位速率。它的每位时间由同步段、传播段、相 位缓冲段 1 及相位缓冲段 2 组成。发送器在同步段前改变输出的位数值,接受器在两 个相位缓冲段间采样输入位值,而两个相位缓冲段长度可自由调节,以保证采样的可 靠性。另外,CAN 总线采用时钟同步技术来保证通讯的同步。 1.2 CAN 的主要技术特点的主要技术特点 CAN 网络上的节点不分主从, 任一节点均可在任意时刻主动地向网络上其他节点发 送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统 CAN 只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送 接收数据,无需专门的调度 CAN 的直接通信距离最远可达 10km(速率 5kbps 以下) ;通信速率最高可达 2 本页已使用福昕阅读器进行编辑。 福昕软件( C ) 2 0 0 5 - 2 0 1 0 ,版权所有, 仅供试用。 1Mbps(此时通信距离最长为 40m)。 CAN 上的节点数主要决定于总线驱动电路, 目前可达 110 个; 报文标识符可达 2032 种(CAN2.0A) ,而扩展标准(CAN2.0B)的报文标识符几乎不受限制。 1.3 CAN 总线通信系统拓扑结构总线通信系统拓扑结构 CAN 在物理结构上属于总线式通信网络。系统的组成如下图: 图 1 CAN 总线系统结构图 该系统由上位监控 PC 机、智能节点和现场设备三部分组成。上位监控 PC 机主要 负责对系统数据的接受与管理、控制命令的发送以及各控制单元动态参数和设备状态 的实时显示;智能节点可以使现场设备方便地连接到 CAN 总线上,主要负责对现场的 环境参数和设备状态进行监测,对采集来的数据进行打包处理并将处理古的数字信号 通过 CAN 通信控制器 SJA1000 发送到 CAN 总线。智能节点的设计和选择,对通信信号 的传输发送有很的影响,系统中的数据传送和接收,都是通过 CAN 总线接口实现。CAN 总线接口电路的设计,对 CAN 总线很是重要。本文正是基于此,对 CAN 总线接口电路 进行设计分析,给出一种设计方案。 2 CAN总线接口电路设计 2 CAN总线接口电路设计 2.1 总体方案设计 2.1 总体方案设计 CAN 总线接口电路主要包括:单片机、控制器接口、总线收发器和看门狗电路等。 采用 Philips 公司生产的 SJA1000 控制器和与其配套的 82C250CAN 收发器。按照 CAN 总线物理层协议选择总线介质,设计布线方案,连接成 CAN 网络。双绞屏蔽线可设两 套,在两套介质上同时进行信息传输,接收方只用一个介质。在冗余和非冗余段的连 接临界点处进行总线切换。 硬件电路的设计主要是CAN 通信控制器与微处理器之间和CAN总线收发器与物理 总线之间的接口电路的设计。CAN 通信控制器是 CAN 总线接口电路的核心,主要完成 CAN 的通信协议,而 CAN 总线收发器的主要功能是增大通信距离,提高系统的瞬间抗 干扰能力,保护总线,降低射频干扰(RFI) ,实现热防护等。看门狗电路主要是实现 对电路的监控和复位作用。 3 本页已使用福昕阅读器进行编辑。 福昕软件( C ) 2 0 0 5 - 2 0 1 0 ,版权所有, 仅供试用。 目前广泛流行的 CAN 总线器件有两大类:一类是独立的 CAN 控制器,如 82C200、 SJA1000 及 Intel82526/82527 等,另一类是带有在片 CAN 的微控制器,如 P8XC582 及 16 位微控制器 87C196CA/CB 等。本课题选取 PHILIPS 公司的 SJA1000 CAN 控制器以及 82C250 总线收发器,主要是考虑到 SJA1000 支持 CAN 2.0A/B 规约。而 82C250 可以支 持 110 个 CAN 节点,并且国内市场上 PHILIPS 的产品型号比较多,购买比较方便。在 本次设计中,接口电路简单表示如下图: 图 2-1 接口电路总体框图 2.2 各模块电路的设计 2.2 各模块电路的设计 2.2.1 单片机最小系统2.2.1 单片机最小系统 本设计中,应用到单片机为 ATMEL 公司 51 系列的 89C51,该型号的单片机应用广 泛,技术成熟,市场上价格便宜,而且在学习中所学到的多为该型号,在本次设计中 是首选的芯片。89C51 单片机作为系统的核心控制部分,但在本设计中不是重点讲解 内容,其相关技术应用和引脚特点功能等,可参照其他相关资料。设计的电路原理方 框大致如下图 2-2 所示。 设计中为避免出现时钟信号的冲突,对单片机的外接晶振引脚 XTAL1、XTAL2 不 接上外围电路,而是通过控制器 SJA1000 的时钟信号脚反馈给单片机。同时,对单片 机的复位信号处理,RST 引脚接上 X5045P 的 RST 脚,复位信号可由 X5045P 输出,在 X5045P 芯片看门狗外围电路的作用下,减少了以往由电阻、电容组成的简易复位电路 造成的不精确、延时高等不良作用,使单片机回复到初始状态,完成复位操作。由于 在该电路中要用到单片机的存储作用,存储由 SJA1000 传输过来的处理数据。因此, 脚/EA 接上高电平,选用片内 ROM。对 ALE 脚,也即地址锁存有效信号除数端是和控 4 制器 SJA1000 的 ALE 脚接通。 RST 9 RXD/P3.0 10 INT0/P3.2 12 INT1/P3.3 13 T0/P3.4 14 T1/P3.5 15 EA/VPP 31 XTAL1 19 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 ALE/PROG 30 TXD/P3.1 11 WR/P3.6 16 RD/P3.7 17 PSEN 29 XTAL2 18 U2 89C51 CS 1 SO 2 WP 3 Vss 4 SI 5 SCK 6 RES 7 Vcc 8 U1 X5045 VCC VCC clkout wr rd CS ALE 图 2-2 单片机最小系统 2.2.2 CAN总线接口控制电路设计 2.2.2 CAN总线接口控制电路设计 SJA1000 在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间 的数据通信。该电路的主要功能是通过 CAN 总线接收来自上位机的数据进行分析组态 然后下传给下位机的控制电路实现控制功能,当 CAN 总线接口接收到下位机的上传数 据,SJA1000 就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一 帧信息并通过 CAN 总线上传给上位机进行分析。 AT89C51 是 CAN 总线接口电路的核心, 其承担 CAN 控制器的初始化、CAN 的收发控制等任务。 2.2.2.1SJA1000 简介 2.2.2.1SJA1000 简介 PHILIPS 公司的 PCA82C200 是符合 CAN2.0A 协议的总线控制器,SJA1000 是它的 替代产品,它是应用于汽车和一般工业环境的独立 CAN 总线控制器。具有完成 CAN 通 信协议所要求的全部特性。经过简单总线连接的 SJA1000 可完成 CAN 总线的物理和数 据链路层的所有功能。其硬件与软件设计和 PCA82C200 的基本 CAN 模式(BesicCAN) 兼容。同时,新增加的增强 CAN 模式(PeliCAN)还可支持 CAN2.0B 协议。SJA1000 的 主要特性如表 1 所示。 5 表 1 SJA1000 寄存器配置(复位模式) 名称 地 址 7 6 5 4 3 2 1 0 模式 寄存 0 - - - 睡眠方 式 滤波方 式 自检方 式 监听方式 复 位 命令 寄存 1 - - - 自收请 求 清超限 状态 释放接 收缓冲 夭折发送 发 送 状态 寄存 2 总线状态 错误状 态 发送状 态 接收状 态 发送完 成状态 发送缓 冲器状 数据超限 接 收 中断 寄存 3 总线错误 中断 仲裁丢 失中断 错误认 可状态 唤醒中 断 数据超 限中断 错误报 警中断 发送中断 接 收 中断 允许 4 总线错误 中断允许 仲裁丢 失中断 错误认 可中断 唤醒中 断允许 数据超 限中断 错误报 警中断 发送中断 允许 接 收 保留 5 总线 定时 6 SJM.1 SJM.0 BRP.5 BRP.4 BRP.3 BRP.2 BRP.1 BRP .0 总线 定时 7 SAM TSEG2. 2 TSEG2.1 TSEG2. 0 TSEG1. 3 TSEG1. 2 TSEG1.1 TSE G1. 输出 控制 8 COTP1 OCTN1 OCPOL1OCTP0 OCTN0 OCPOL0OCMODE1 OCM ODE 测试 寄存 9 保留 10 仲裁 丢失 11 - - - ALC.4 ALC.3 ALC.2 ALC.1 ALC .0 出错 码捕 12 ECC.7 ECC.6 ECC.5 ECC.4 ECC.3 ECC.2 ECC.1 ECC .0 错误 警告 13 EWL.7 EWL.6 EWL.5 EWL.4 EWL.3 EWL.2 EWL.1 EWL .0 6 RX出 错计 14 RXERR.7 RXERR. 6 RXERR.5 RXERR. 4 RXERR. 3 RXERR. 2 RXERR.1 RXE RR. TX出 错计 15 TXERR.7 TXERR. 6 TXERR.5 TXERR. 4 TXERR. 3 TXERR. 2 TXERR.1 TXE RR. 滤波 码寄 16 AC.7 AC.6 AC.5 AC.4 AC.3 AC.2 AC.1 AC. 0 滤波 屏蔽 20 AM.7 AM.6 AM.5 AM.4 AM.3 AM.2 AM.1 AM. 0 保留 24 00H 00H 00H 00H 00H 00H 00H 00H RX报 文个 29 0 0 0 RMC.4 RMC.3 RMC.2 RMC.1 RMC .0 RX缓 冲器 30 0 0 RBSA.5RBSA.4RBSA.3RBSA.2RBSA.1 RBS A.0 时钟 分配 31 CAN 模式CBP RXINTEN0 Clock offf CD.2 CD.1 CD. 0 内 部 RAM 32 内 部 RAM 96/ 108 内 部 RAM 109 /11 00H 112 /12 管脚及电气特性与独立 CAN 总线控制器 PCA82C200 兼容; 软件与 PCA82C200 兼容(缺省为基本 CAN 模式) ; 扩展接收缓冲器(64 字节 FIFO) ; 支持 CAN2.0B 协议; 同时支持 11 位和 29 位标识符; 位通讯速率为 1Mbits/s; 增强 CAN 模式(PeliCAN); 7 采用 24MHz 时钟频率; 支持多种微处理器接口; 可编程 CAN 输出驱动配置; 工作温度范围为-40+125。 图 2-3 SJA1000 引脚配置 SJA1000 的功能框图如表 1 所示,图 2-3 是其引脚图。从表 1 可以看出,SJA1000 型独立 CAN 总线控制器由以下几部分构成; (1)接口管理逻辑:它接收来自微处理器的命令,控制 CAN 寄存器的地址,并 为微处理器提供中断和状态信息。 (2)发送缓冲器:有 13 字节长。它位于 CPU 和位流处理器(BSP)之间,能存 储一条将在 CAN 总线上发送的完整的报文,报文由 CPU 写入,由 SBP 读出。 (3)接收缓冲器(RXB、RXFIFO) :它是 CPU 和接收滤波器之间的接口,用来存 储从 CAN 总线接收并通过了滤波的报文。接收缓冲器 RXB 是提供给 CPU 可访问的 13 字节的窗口,这个窗口是属于接收 FIFO(RXFIFO)的一部分,共由 64 字节长。有了 这个 FIFO,可以在 CPU 处理一个报文的同时继续接收其他到来的报文。 (4)接收滤波器:它把报文头中的标识符和接收滤波寄存器中的内容进行比较, 以判断文报文是否被接收。如果被接收,报文存入 RXFIFO。 (5)位流处理器:它是一个控制发送缓冲器、RXFIFO 并行数据和 CAN 总线(串 行数据)之间数据的序列发生器,同时它也执行错误检测、仲裁、位填充和 CAN 总线 错误处理功能。 (6)位定时逻辑不:它将 SJA1000 同步于 CAN 总线上的位流。 (7)错误管理逻辑:它按照 CAN 协议完成错误界定。 由于 SJA1000 与 PCA82C2000 兼容,因此 SJA1000 的缺省工作方式即基本 CAN 模 式与 82C200 相同。下面介绍 SJA1000 工作在增强 CAN 模式(PeliCAN)下的寄存器配 8 置。在初始化期间,芯片在复位模式(RESET MODE)时的寄存器配置如表 1 所列,在 工作期间的运行模式(OPERATING MODE)下,部分寄存器的定义将有所更改,具体见 表 2。 表 2 SJA1000 寄存器配置(工作模式)与表 1 不同之外 名称 地址 7 6 5 4 3 2 1 0 16 RX/TX 帧信息 TX 帧 (写) RX 帧 (读) FF FF RTR RTR X 0 X 0 DLC.3 DLC.3 DLC.2 DLC.2 DLC.1 DLC.1 DLC.0 DLC.0 RX/TX 报文 缓冲器 17 28 SJA1000 的新增功能如下: (1)支持 CAN2.0B 协议 SJA1000 完全支持 CAN2.0B 协议,这意味着实现了扩展的振荡器容差和处理扩展 帧报文,在基本 CAN 方式中,仅可发送和接收标准帧报文(11 位标识符) ,若检测到 CAN 总线上的扩展帧报文(29 位标识符) ,他们将允许,并在确认报文正确后给予应 答, 但不会产生接收中断。 标识符作为报文的名称将被用于接收器的验收滤波过程中, 同时在仲裁处理期间,也用来确定总线访问的优先权。标识符二进制数值愈低,其优 先权愈高。 (2)扩展的接收缓冲器 利用 SJA1000 可将原有的 PAC82C200 双接收缓冲器被接收 FIFO 替代,并可用来 存储来自 CAN 总线上被接收和滤波的报文,作为 CPU 能访问的一个 FIFO 的 13 字节窗 口,接收 FIFO 总长度为 64 字节。通过 FIFO,CPU 可以在处理一个报文的同时接收其 它报文。 (3)增强的错误处理能力 在增强 CAN 模式功能中,SJA1000 为增强错误处理功能增加了一些新的特殊功能 寄存器,包括:仲裁丢失捕捉寄存器(ALC) ,出错码捕捉寄存器(ECC) ,错误警告极 限寄存器(EWLR) ,RX 出错计数寄存器(RXERR)和 TX 出错计数寄存器(TXERR)等。 借助于这些错误寄存器可以找到丢失仲裁位的位置,分析总线错误类型和位置,定义 9 错失仲裁位的位置,分析总线错误类型和位置,定义错误警告极限值以及记录发送和 接收时出现错误的个数等。 (4)增强的验收滤波功能 SJA1000 带有验收滤波器功能,它的作用是自动检查报文中的标识符和数字节。 通过设置滤波,与该总线节点不相关的一个报文或一组报文净不被 SJA1000 所接收, 这样可以提高 CPU 的利用效率。在增强型 CAN 方式中,SJA1000 还增加了单滤波方式 和双滤波方式,可以对标准帧和扩展帧实现更复杂的滤波功能 2.2.2.2 基于SJA1000 的控制电路设计 2.2.2.2 基于SJA1000 的控制电路设计 控制器SJA1000作为本接口电路中的控制部分,应用本设计中,对于SJA1000和单 片机的连接,引脚AD0AD7是和89C51的输出输入脚P0.0P0.7相接;SJA1000的片选 信号脚/CS必须由微控制器的P2.7口控制否则这个片选输入必须接到VSS 也可以通过 地址解码控制例如当地址/数据总线用于其他外围器件,ALE对应ALE,读/写输入脚 /WR、/RD,/INT和单片机的/INT0连接,由于在该系统中要用到相同的时钟频率,所 以我们要时钟信号引脚CLKOUT和单片机的XTAL1脚相连,达到频率一致的目的;而在 复位信号的处理,可以在看门狗外围电路的RST信号输出后再通过和非门电路的相连, 很好的实现了电路的复位作用。而对于控制器的收发引脚TX0,TX1与RX0,RX1,在本 系统中TX0、RX0可和收发器82C250的TXD、RXD接通。同时,在和CPU接口中SJA1000 支 持对两个著名的微型控制器系列的直接连接80C51 、68xx 。通过SJA1000 的MODE 引 脚可选择接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和 Motorola 模式里地址/数据总线和读/写控制信号的连接。本设计中,正是使用Intel 模式。对SJA1000的Vdd1Vdd3电源输入脚,外接上驱动+5V电压;而Vss1Vss3输出 接地。设计中,对SJA1000提供16Mkz的晶振。电路设计如下 10 RST 9 RXD/P3.0 10 INT0/P3.2 12 INT1/P3.3 13 T0/P3.4 14 T1/P3.5 15 EA/VPP 31 XTAL1 19 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 ALE/PROG 30 TXD/P3.1 11 WR/P3.6 16 RD/P3.7 17 PSEN 29 XTAL2 18 U2 89C51 AD6 1 AD7 2 ALE/AS 3 CS 4 RD/E 5 WR 6 clkout 7 Vss1 8 XTAL1 9 XTAL2 10 MODE 11 Vdd3 12 TX0 13 TX1 14 Vss3 15 INT 16 RST 17 Vdd2 18 RX0 19 RX1 20 Vss2 21 Vdd1 22 AD0 23 AD1 24 AD2 25 AD3 26 AD4 27 AD5 28 U3 SJA1000 CS 1 SO 2 WP 3 Vss 4 SI 5 SCK 6 RES 7 Vcc 8 U1 X5045 12 U6A 74LS04 R1 390R R2 390R R3 6.2K R4 4.7k VCC C1 100nf VCC Y1 16.000MHZ C6 22pf C7 22pf VCC clkout clkout wr wr rd rd CS CS ALE ALE 图 2-4 SJA1000 控制电路 2.2.3 CAN总线收发电路设计 2.2.3 CAN总线收发电路设计 2.2.3.1CAN总线收发器 82C250 介绍 2.2.3.1CAN总线收发器 82C250 介绍 82C250 是 CAN 控制器与物理总线间的接口, 可以提供对总线的差动发送和接收能 力,与 IS011898 标准完全兼容,并具有抗汽车环境下的瞬间干扰、保护总线的能力。 为了提高系统的可靠性和抗干扰能力, 在CAN控制器和CAN收发器之间采用光耦6N137 进行隔离 PCA82C250 提供对物理总线的符合 CAN 电气协议的差动发送和接收功能,另外, 它具有的电流限制电路,还提供了对总线的进一步的保护功能。通过 82C250 与物理 接收器斜率/ 等待 保护电路 驱动器 基准电压 31 8 4 5 7 6 TXD RXD Rs Vref Vcc CANH CANL GND 图 2-5 82C250 引脚结构 11 总线进行连接,可使总线支持多达 110 个节点的挂接。上图给出 PCA82C250 的功能方 框图。对于 CAN 控制器及带有 CAN 总线接口的器件,82C250 并不是必须使用的器件, 因为多数 CAN 控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般 只允许2030个节点连接在一条总线上。 而82C250支持多达110个节点, 并能以1Mbps 的速率工作于恶劣电气环境。 图 2-6 PCA82C250 配置 82C250 有 8 个管脚,其封装形式在本设计中采用 DIP 形式,各引脚功能如表 3: 表 3 82C250 引脚功能说明 管脚 符号 功 能 描 述 1 TXD 发送数据输入端, 接控制器的串行 数据输出端 2 GND 地 3 Vcc 电源电压:4.5V Vcc 5.5V 4 RXD 接收数据输出端, 接控制器的串行 数据输入端 5 VREF 基准电压输出端 6 CANL 低电平输入/输出 端 7 CANH 高电平输入/输出 端 8 Rs 斜率控制电阻输 入端 12 表 4 82C250 真值 电源 TXD CANH CANL 总线状态 RXD 4.5Vcc5.5 0 高电平 低电平 支配 0 4.5Vcc5.5 1 或悬浮 悬浮 悬浮 退让 1 Vcc2V 不定 悬浮 悬浮 退让 不定 2VVcc0.75Vcc 悬浮 悬浮 退让 不定 2VVcc2.5V 时,电源导通;当第脚加低电平0.4V 时,电 源被关闭。可以用电路来控制或手动控制,若不需控制时,第脚与第脚连接。 2.3 接口电路总体电路原理图 2.3 接口电路总体电路原理图 见附录 1见附录 1 在本电路原理中, 控制单元以单片机 AT89C51 为核心, 选用器件 SJA1000 作为 CAN 控制器,并选用芯片 82C250 和 6N137、X5045P 作为 CAN 控制器接口和光耦合隔离、 复位电路。在实际中,应注意以下几个问题 1. SJA1000 的中断请求信号 INT 在中断允许且有中断发生时,由高电来此跳变到 低电平, 所以 INT 和 AT0C51 的 INT0 直接相连。 片选信号 CS 和单片机引脚 P2.7 相连, 当 CS 接到低电平时,SJA1000 被选中,CPU 可对 SJA1000 进行读/写操作。为了增强 CAN 总线节点的抗干扰能力。SJA1000 的 TX1 脚悬空,RX1 引脚的电位必须维持在约 0.5VCC上,否则,将不能形成 CAN 协议要求的电平逻辑。 2. SJA1000 的 TxD 和 RxD 并不是直接与 82C250 的 TxD 和 RxD 相连而是通过高速 光耦合 6N137 后与 82C250 相连,这样就可以很好的实现了总线上个 CAN 节点的电气 隔离,不过应该特别说明一点的是光耦部分电路所采用的两个电源 Vcc 和 Vdd 必须完 19 全隔离,否则采用光耦也就失去了意思。电源的完全隔离可采用小功率电源隔离模块 或带多 5V 隔离输出的开关电源模块实现,这些部分虽然增加了节点的复杂,但是却 提高了节点的稳定性和安全性,保护 CAN 控制器正常工作。 3. 由于单片机和 SJA1000 所用的工作频率不同,给设计带来麻烦。因此,在本 次设计中将 SJA1000 的 CLOCKOUT 的时钟信号接至 AT89C51 的时钟电路输入端,作为 AT89C51 的外部时钟输入,解决了时钟同步问题。 4. 82C250 是 CAN 总线收发器,是 CAN 控制器 SJA1000 正常工作与 CAN 总线的接 口器件,是对 CAN 总线以差分方式发送,TXD 和 RXD 引脚分别发送经过驱动后的发送 和接收信号。其引脚 RS 用于选择 82C250 的工作模式(高速、斜率或等待) 。RS 脚接 地,82C250 工作于高速方式,RS 脚串接一个电阻 R 后再接地,若 82C250 处于 CAN 总 线的网络终端,总线接口部分必须加一个 120的匹配电阻,以保护 82C250 免受过激 的冲击忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低。本设计中,82C250 的 CANH 和 CANL 引脚与地之间并联了两个 30pf 的小电容可以起到滤除总线上的高频 干扰和一定的防电磁辐射的能力 5. 另外在两根 CAN 总线接入端与地之间分别反接了一个保护二极管。当 CAN 总 线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用,82C250 的 Rs 脚上接一个斜率电阻。 电阻大小可以根据总线通信速度适当调整一般在 16140K之 间。 6. 另外,在本系统中应用到的芯片 X5045P 具有电源监控、看门狗等功能,还同 时输出高低电平的复位信号,分别输出到 AT89C51 和 SJA1000 的复位端,以满足本次 设计的要求。 20 3 结束语 3 结束语 现场总线标准及其技术日益成为国际自动控制领域关注的一大焦点,其原因是它 改变了传统控制系统的结构,形成了全新的网络集成分布式控制系统。在我国,现场 总线已经发展到推广应用阶段,中国已经成为各种现场总线激烈争夺的重要战场。因 此研究现场总线技术及其产品就显得尤为重要。本文正是基于控制器 SJA1000 和 82C250 收发器的基础上,外接上看门狗电路芯片 X5045P 及高速光耦合器 6N137,设 计 CAN 总线接口电路,该电路理论上很好的实现了设计原理要求。该设计简单明了, 在电路实现时,还需考虑各模块间的接地、屏蔽等诸多问题。 21 参考文献 参考文献 1. 饶运涛 邹继军 郑勇芳 著 现场总线 CAN 原理与应用技术 北京航空航天大学 出版社 2003 年 6 月第 1 版 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论