第四章 can 网络控制器及其相关芯片
DESCRIPTION
第四章 CAN 网络控制器及其相关芯片. CAN 总线收发器 PCA82C250/PCA82C251 独立的控制芯片 SJA1000 及其使用 带有 CAN 接口芯片的 DSP2407 及其使用. CAN 总线收发器 PCA82C250/PCA82C251. PCA82C250/251 是 CAN 协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对 CAN 控制器提供差动接收能力。又称为总线驱动器。 PCA82C251 有更高的击穿电压,而且在隐性状态小拉电流更小,在掉电情况小总线的输出特性有一定改善. 收发器主要特性. 完全符合 ISO11898 标准; - PowerPoint PPT PresentationTRANSCRIPT
第四章 CAN 网络控制器及其相关芯片
CAN 总线收发器 PCA82C250/PCA82C251
独立的控制芯片 SJA1000 及其使用 带有 CAN 接口芯片的 DSP2407 及其使
用
CAN 总线收发器 PCA82C250/PCA82C251
PCA82C250/251 是 CAN 协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对 CAN 控制器提供差动接收能力。又称为总线驱动器。
PCA82C251 有更高的击穿电压,而且在隐性状态小拉电流更小,在掉电情况小总线的输出特性有一定改善
收发器主要特性 完全符合 ISO11898 标准; 高速率(最高达 1Mbps ); 具有抗汽车环境中的瞬间干扰,保护总线能力; 斜率控制,降低射频干扰( RFI ); 差分接收器,抗宽范围的共模干扰,抗电磁干扰( EMI ) 热保护; 防止电池和地之间的发生短路; 低电流待机模式; 未上电的节点对总线无影响; 可连接 110 个节点。
PCA82C250 功能框图
接收器
保护电路
斜率/等待
驱动器
基准电压
硬件结构符号 管脚 功能描述
TXD 1 发送数据输入
GND 2 地
VCC 3 电源电压
RXD 4 接收数据输出
Vref 5 参考电压输出
CANL 6 低电平 CAN 电压输入 / 输出
CANH 7 高电平 CAN 电压输入 / 输出
RS 8 斜率电阻输入 PCA82C250 管脚图
工作模式 高速模式
管脚 8 接地。在高速工作模式下,发送器输出级晶体管将以尽可能快的速度打开、关闭。在这种模式下,不采取任何措施用于限制上升斜率和下降斜率。建议使用屏蔽电缆以避免射频干扰 RFI 问题。
斜率控制模式 对于较低速度或较短总线长度,可使用非屏蔽双绞线或平行
线作为总线。为降低射频干扰 RFI ,应限制上升斜率和下降斜率。上升斜率和下降斜率可通过由管脚 8 接至地的连接电阻进行控制。斜率正比于管脚 8 的电流输出。
工作模式 准备模式
管脚 8 如果接至高电平,则电路进入低电流待机模式。在这种模式下,发送器被关闭,而接收器转至低电流。
管脚 RS 选择的三种不同工作模式
在 RS 管脚上强制条件 模式 管脚上电压和电流VRS>0.75VCC 待机模式 IRS<|10μA|- 10μA<IRS< - 200μA
斜率控制模式 0.3VCC<VRS<0.6VCCVRS<0.3VCC 高速模式 IRS< - 500μA
独立的控制芯片 SJA1000 及其使用
SJA1000 是一个独立的 CAN 控制器,它在汽车和普通的工业应用上有先进的特征。由于它和 PCA82C200 在硬件和软件都兼容,因此它将会替代 PCA82C200 , SJA1000 有一系列先进的功能,适合于多种应用特别在系统优化诊断和维护方面非常重要。
操作模式 BasicCAN 模式
和 PCA82C200 兼容。 BasicCAN 模式是上电后默认的操作模式,因此用 PCA82C200 开发的已有硬件和软件,可以直接在 SJA1000 上使用而不用作任何修改。
PeliCAN 模式 是新的操作模式。它能够处理所有 CAN2.0B 规范
的帧类型。而且它还提供一些增强功能,使 SJA1000 能应用于更宽的领域。 工作模式通过时钟分频寄存器中的 CAN 模式位来选择,复位时默认模式是Basic CAN 模式。
SJA1000 控制器结构图 由主控制器进
行管理控制、将欲收发的信息(报文),转换为 CAN规范的 CAN帧,通过 CAN 收发器,在CAN BUS 上交换信息。
CAN BUS
CAN
核心模块
发送缓冲器
接口管理逻辑
接收FIFO
验收滤波
器
主 控制器
CAN收发
器
SJA1000 控制器结构 CAN 核心模块
根据 CAN 规范控制 CAN 帧的发送和接收。收到一个报文时, CAN核心模块将串行位流转换成用于的并行数据,发送一个报文时则相反。
接口管理逻辑 用于连接外部主控制器。外部可以是微型控制器或
任何其他器件, SJA1000 通过复用的地址 / 数据总线,与主控制器联系。
SJA1000 控制器结构 发送缓冲器
用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使 CAN核心模块从发送缓冲器读 CAN报文。
验收滤波器 通过这个可编程的滤波器能确定主控制器要接收哪些报文。
接收 FIFO 用于存储所有收到的报文,储存报文的多少由工作模式决定,最多
能存储 32 个报文。因为数据超载可能性被大大降低,这使用户能更灵活地指定中断服务和中断优先级。
SJA1000 的内部结构及功能
SJA1000 的内部结构及功能 接口管理逻辑( IML )
接口管理逻辑解释来自 CPU 的命令,控制 CAN 寄存器的寻址,向主控制器提供中断信息和状态信息。由 8 位并行地址 / 数据总线和片选、读、写、时钟、使能等控制信号线与主控制 CPU相连接。
发送缓冲器( TXB ) 发送缓冲器是 CPU 和 BSP(位流处理器)之间的
接口,能够存储发送到 CAN网络上的完整信息,缓冲器长 13个字节,由 CPU 写入、 BSP 读出。
SJA1000 的内部结构及功能 接收缓冲器( RXB , RXFIFO )
接收缓冲器是验收滤波器和 CPU之间的接口,用来储存从 CAN 总线上接收的信息,接收缓冲器( RXB , 13个字节)作为接收 FIFO( RXFIFO,长 64个字节)的一个窗口,可被 CPU访问, CPU在此FIFO的支持下可以在处理信息的时候接收其它信息。
验收滤波器( ACF ) 验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在 RXFIFO中。
SJA1000 的内部结构及功能 位流处理器( BSP )
位流处理器是一个在发送缓冲器、 RXFIFO 和 CAN 总线之间,控制数据流的程序装置,它还在 CAN 总线上执行错误检测、仲裁填充和错误处理。
位时序逻辑( BTL ) 位时序逻辑监视串口的 CAN 总线和处理与总线有关的位时序。
它在信息开头的总线传输时同步 CAN 总线位流(硬同步),接收信息时再次同步下一次传送(软同步) BTL 还提供了可编程的间段来补偿传播延迟时间、相位转换(例如:由于振荡漂移)和定义采样点和一位时间内的采样次数。
错误管理逻辑( EML ) EML负责传送层模块的错误管制。它接收 BSP 的出错报告。
通知 BSP 和 IML 进行错误统计。
SJA1000 控制器引脚
SJA1000 DIP28 引 脚图
SJA1000 控制器有DIP28(塑质双列直插封装)和 SO28(塑质小型外线封装)两种形式
SJA1000 引脚排列与引脚功能表
符号 引脚 说明
AD7-AD02 , 1 , 28
-23多路地址 / 数据总线
ALE/AS 3 ALE 输入信号 Intel 模式 AS 输入信号 Motorola 模式/CS 4 片选输入低电平允许访问 SJA1000
/RD/E 5微控制器( CPU )的 /RD 信号 Intel 模式或 E 使能信号 Motorol
a 模式
/WR 6微控制器( CPU )的 /WR 信号 Intel 模式或 RD//WR 信号 Moto
rola 模式
CLKOUT 7SJA1000 产生的提供给微控制器( CPU )的时钟输出信号时钟信号来源于内部振荡器且通过编程驱动时钟控制寄存器的时钟关
闭位可禁止该引脚VSS1 8 接地XTAL1 9 输入到振荡器放大电路外部振荡信号由此输入注 1XTAL2 10 振荡放大电路输出使用外部振荡信号时左开路输出注 1MODE 11 模式选择输入 1=Intel 模式 0=Motorola 模式
VDD3 12 输出驱动的 5V 电压源TX0 13 从 CAN 输出驱动器 0 输出到物理线路上TX1 14 从 CAN 输出驱动器 1 输出到物理线路上VSS3 15 输出驱动器接地
/INT 16
中断输出用于中断微控制器( CPU ) /INT 在内部中断寄存器各位都被置位时低电平有效 /INT 是开漏输出且与系统中的其它 /INT 是线或的此引脚上的低电平可以把 IC 从睡眠模式中激活
/RST 17 如 C=1F ; R=50kVDD2 18 输入比较器的 5V 电压源
RX0 , RX1 19 , 20
从物理的 CAN 总线输入到 SJA1000 的输入比较器;支配控制电平将会唤醒 SJA1000 的睡眠模式;如果 RX1比 RX0 的电平高,就读支配控制电平,反之读弱势电平,如果时钟分频寄存器的 CBP 位被置位就旁路 CAN 输入比较器以减少内部延时(此时连有外部收发电路)这种情况下只有 RX0 是激活的;弱势电平被认为是高,而支配电平被认为是低。
VSS2 21 输入比较器的接地端VDD1 22 逻辑电路的 5V 电压源
SJA1000 的特征 与 PCA82C200 完全兼容的功能。
灵活的微处理器接口 --- 允许接口大多数微型处理器或微型控制器。
可编程的 CAN 输出驱动器 ----对各种物理层的分界面。
CAN 位频率高达 1Mbit/s----SJA1000覆盖了位频率的所有范围,包括高速应用
SJA1000 的特征 改良的 PCA82C200 功能
CAN2.0B(passive)----SJA1000 的 CAN2.0B passive 特征允许 CAN 控制器接收有 29位标识符的报文。
64个字节接收 FIFO----接收 FIFO,可以存储高达21 个报文,这延长了最大中断服务时间,避免了数据超载。
24MHz时钟频率 ---- 微处理器的访问更快和 CAN的位定时选择更多。
接收比较器旁路 ---- 减少内部延迟,由于改进的位定时编程,使 CAN 总线长度更长。
SJA1000 的特征 PeliCAN 模式的增强功能
CAN2.0B active----CAN2.0B active支持带有 29位标识符的网络扩展应用。
发送缓冲器 ----有 11 位或 29位标识符的报文的单报文发送缓冲器。
增强的验收滤波器 ----- 两个验收滤波器模式,支持11 位和 29位标识符的滤波。
可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断 ----- 支持错误分析,在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化。
SJA1000 的特征 PeliCAN 模式的增强功能
仲裁丢失捕捉中断 ---- 支持系统优化包括报文延迟时间的分析。
单次发送 ----使软件命令最小化和允许快速重载发送缓冲器。
仅听模式 ---SJA1000 能够作为一个认可的 CAN监控器操作,可以分析 CAN 总线通信或进行自动位速率检测。
自测试模式 ---- 支持全部 CAN节点的功能自测试或在一个系统内的自接收。
BasicCAN 模式
SJA1000 是一种 I/O设备基于内存编址的微控制器,与其它控制器( CPU)之间的操作是通过象 RAM一样的片内寄存器读写来实现的。
微处理器 ( CPU)
CAN收发器
控制寄存器SJA1000 CAN 控 制器
命令寄存器状态寄存器中断寄存器验收代码寄存器验收屏蔽寄存器….
….CAN BUS
BasicCAN 模式 复位模式
当硬件复位或控制器掉线总线状态位时会自动进入复位模式。
工作模式 是通过置位控制寄存器的复位请求位激活的
段 CAN 地址 寄存器名称(符号)
控制
0 控制寄存器1 命令寄存器2 状态寄存器3 中断寄存器4 验收代码寄存器
5 验收屏蔽寄存器
6 总线定时寄存器 0
7 总线定时寄存器 1
8 输出控制寄存器
9 测试寄存器
发送缓冲器10 识别码 (ID10-3)11 识别码 ID2-0)+RTR 和 DLC
12-19 数据字 1- 节 8
接收缓冲器20 识别码 (ID10-3)21 识别码 ID2-0)+RTR 和 DLC
22-29 数据字节 1-8 30 31 时钟分频器
BasicCAN 地址表
波特率设定 总线定时寄存器 0
定义了波特率预设值( BRP)和同步跳转宽度( SJW)的值。复位模式有效时这个寄存器是可以被访问(读 /写)的。在 BasicCAN 模式中总是 FFH。波特率预设值( BRP) CAN 系统时钟 tSCL的周期是可编程的,而且决定了相应的位时序。CAN 系统时钟由如下公式计算: tSCL=2×tCLK×(32×BRP.5+16×BRP.4+8×BRP.3+4×BRP.2+2×BRP.1+BRP.0+1)
这里 tCLK=XTAL的频率周期 =1/fXTAL
波特率设定 同步跳转宽度 (SJW)
为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关信号边沿重新同步。同步跳转宽度,定义了每一位周期可以被重新同步,缩短或延长的时钟周期的最大数目:
tSJW=tSCL×(2×SJW.1+SJW.0+1)
波特率设定 总线定时寄存器 1 ( BTR1)
总线定时寄存器 1 定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目。在复位模式中,这个寄存器可以被读 /写访问,在 PeliCAN 模式的工作模式中,这个寄存器是只读的,在 BasicCAN 模式中总是 FFH。
波特率设定 时间段 1 ( TSEG1 )和时间段( TSEG2 ) TSEG1=tSCL×(8×TSEG1.3+4×TSEG1.2+2×TSEG1.
1+TSEG1.0+1) TSEG2=tSCL×(4×TSEG2.2+2×TSEG2.1+TSEG2.0+
1)
CAN 总线通讯程序
CAN 总线通讯程序由三大部分组成: SJA1000初始化、接收和发送 ,右图为初始化流程
CAN 总线数据发送
CAN 总线数据接收
中断控制接收数据流程 查询控制接收数据流程
带有 CAN 接口芯片
的 DSP2407
CAN 模块结构 CAN 规格 2.0B 0B-8B 数据长度设计
的 6个信箱 可配置的标准或扩展标识符
可编程的波特率 可编程的中断表 可读的错误计数器 自测试模块
CAN 接口电路