《CAN控制器芯片介绍》由会员分享,可在线阅读,更多相关《CAN控制器芯片介绍(37页珍藏版)》请在金锄头文库上搜索。
1、第四章第四章 CANCAN网络控制器及其相关芯片网络控制器及其相关芯片nCANCAN总线收发器总线收发器PCA82C250/PCA82C251PCA82C250/PCA82C251n独立的控制芯片独立的控制芯片SJA1000SJA1000及其使用及其使用n带有带有CANCAN接口芯片的接口芯片的DSP2407DSP2407及其使用及其使用CANCAN总线收发器总线收发器PCA82C250/PCA82C251PCA82C250/PCA82C251nPCA82C250/251是CAN协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。又称为总线驱动器。nPCA
2、82C251有更高的击穿电压,而且在隐性状态小拉电流更小,在掉电情况小总线的输出特性有一定改善收发器主要特性收发器主要特性n完全符合完全符合ISO11898ISO11898标准;标准;n高速率(最高达高速率(最高达1Mbps1Mbps););n具有抗汽车环境中的瞬间干扰,保护总线能力;具有抗汽车环境中的瞬间干扰,保护总线能力;n斜率控制,降低射频干扰(斜率控制,降低射频干扰(RFIRFI););n差分接收器,抗宽范围的共模干扰,抗电磁干扰(差分接收器,抗宽范围的共模干扰,抗电磁干扰(EMIEMI)n热保护;热保护;n防止电池和地之间的发生短路;防止电池和地之间的发生短路;n低电流待机模式;低电
3、流待机模式;n未上电的节点对总线无影响;未上电的节点对总线无影响;n可连接可连接110110个节点。个节点。PCA82C250PCA82C250功能框图功能框图接收器保护电路斜率/等待驱动器基准电压硬件结构硬件结构符号管脚功能描述TXD1发送数据输入GND2地VCC3电源电压RXD4接收数据输出Vref5参考电压输出CANL6低电平CAN电压输入/输出CANH7高电平CAN电压输入/输出RS8斜率电阻输入 PCA82C250PCA82C250管脚图管脚图 工作模式工作模式n高速模式高速模式n管脚8接地。在高速工作模式下,发送器输出级晶体管将以尽可能快的速度打开、关闭。在这种模式下,不采取任何措
4、施用于限制上升斜率和下降斜率。建议使用屏蔽电缆以避免射频干扰RFI问题。n斜率控制模式斜率控制模式n对于较低速度或较短总线长度,可使用非屏蔽双绞线或平行线作为总线。为降低射频干扰RFI,应限制上升斜率和下降斜率。上升斜率和下降斜率可通过由管脚8接至地的连接电阻进行控制。斜率正比于管脚8的电流输出。 工作模式工作模式n准备模式准备模式n管脚8如果接至高电平,则电路进入低电流待机模式。在这种模式下,发送器被关闭,而接收器转至低电流。管脚管脚RSRS选择的三种不同工作模式选择的三种不同工作模式在在RSRS管脚上强制条件管脚上强制条件模式模式管脚上电压和电流管脚上电压和电流VRS0.75VCCVRS0
5、.75VCC待机模式待机模式IRS|10A|IRS|10A|10AIRS10AIRS200A200A斜率控制模式斜率控制模式0.3VCCVRS0.6VCC0.3VCCVRS0.6VCCVRS0.3VCCVRS0.3VCC高速模式高速模式IRSIRS500A500A独立的控制芯片独立的控制芯片SJA1000SJA1000及其使用及其使用nSJA1000是一个独立的CAN控制器,它在汽车和普通的工业应用上有先进的特征。由于它和PCA82C200在硬件和软件都兼容,因此它将会替代PCA82C200,SJA1000有一系列先进的功能,适合于多种应用特别在系统优化诊断和维护方面非常重要。操作模式操作模式
6、nBasicCAN模式模式n和PCA82C200兼容。BasicCAN模式是上电后默认的操作模式,因此用PCA82C200开发的已有硬件和软件,可以直接在SJA1000上使用而不用作任何修改。nPeliCAN模式模式n是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。 工作模式通过时钟分频寄存器中的CAN模式位来选择,复位时默认模式是Basic CAN模式。SJA1000SJA1000控制器结构图控制器结构图n由主控制器进行管理控制、将欲收发的信息(报文),转换为CAN规范的CAN帧,通过CAN收发器,在CAN BUS上交换
7、信息。CAN BUSCAN核心模块发送缓冲器接口管理逻辑接收FIFO验收滤波器主 控制器CAN收发器SJA1000SJA1000控制器结构控制器结构nCANCAN核心模块核心模块n根据CAN规范控制CAN帧的发送和接收。收到一个报文时,CAN核心模块将串行位流转换成用于的并行数据,发送一个报文时则相反。n 接口管理逻辑接口管理逻辑n用于连接外部主控制器。外部可以是微型控制器或任何其他器件,SJA1000通过复用的地址/数据总线,与主控制器联系。SJA1000SJA1000控制器结构控制器结构n发送缓冲器发送缓冲器n用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使CA
8、N核心模块从发送缓冲器读CAN报文。n验收滤波器验收滤波器n通过这个可编程的滤波器能确定主控制器要接收哪些报文。n 接收接收FIFOFIFOn用于存储所有收到的报文,储存报文的多少由工作模式决定,最多能存储32个报文。因为数据超载可能性被大大降低,这使用户能更灵活地指定中断服务和中断优先级。SJA1000SJA1000的内部结构及功能的内部结构及功能SJA1000SJA1000的内部结构及功能的内部结构及功能n接口管理逻辑(接口管理逻辑(IMLIML)n接口管理逻辑解释来自CPU 的命令,控制CAN 寄存器的寻址,向主控制器提供中断信息和状态信息。由8位并行地址/数据总线和片选、读、写、时钟、
9、使能等控制信号线与主控制CPU相连接。n发送缓冲器(发送缓冲器(TXBTXB) n发送缓冲器是CPU 和BSP(位流处理器)之间的接口,能够存储发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU 写入、BSP 读出。SJA1000SJA1000的内部结构及功能的内部结构及功能n接收缓冲器(接收缓冲器(RXBRXB,RXFIFORXFIFO) n 接收缓冲器是验收滤波器和CPU之间的接口,用来储存从CAN 总线上接收的信息,接收缓冲器(RXB,13个字节)作为接收FIFO(RXFIFO,长64个字节)的一个窗口,可被CPU访问,CPU在此FIFO的支持下可以在处理信息的时候接收其它信息。
10、n验收滤波器(验收滤波器(ACFACF) n验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在RXFIFO中。SJA1000SJA1000的内部结构及功能的内部结构及功能n位流处理器(位流处理器(BSPBSP)n位流处理器是一个在发送缓冲器、RXFIFO 和CAN 总线之间,控制数据流的程序装置,它还在CAN 总线上执行错误检测、仲裁填充和错误处理。n位时序逻辑(位时序逻辑(BTLBTL)n 位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。它在信息开头的总线传输时同步CAN 总线位流(硬同步),接收信息时再次同步下一次传送(软
11、同步)BTL 还提供了可编程的间段来补偿传播延迟时间、相位转换(例如:由于振荡漂移)和定义采样点和一位时间内的采样次数。n错误管理逻辑(错误管理逻辑(EMLEML) nEML负责传送层模块的错误管制。它接收BSP 的出错报告。通知BSP 和IML 进行错误统计。SJA1000SJA1000控制器引脚控制器引脚SJA1000 DIP28SJA1000 DIP28引脚图引脚图 SJA1000 控制器有DIP28(塑质双列直插封装)和SO28(塑质小型外线封装)两种形式SJA1000SJA1000引脚排列与引脚功能表引脚排列与引脚功能表符号符号引脚引脚说明说明AD7-AD02,1,28-23多路地址
12、多路地址/数据总线数据总线ALE/AS3ALE输入信号输入信号Intel模式模式AS输入信号输入信号Motorola模式模式/CS4片选输入低电平允许访问片选输入低电平允许访问SJA1000/RD/E5微控制器(微控制器(CPU)的)的/RD信号信号Intel模式或模式或E使能信号使能信号Motorola模模式式/WR6微控制器(微控制器(CPU)的)的/WR信号信号Intel模式或模式或RD/WR信号信号Motorola模式模式CLKOUT7SJA1000产生的提供给微控制器(产生的提供给微控制器(CPU)的时钟输出信号时钟信)的时钟输出信号时钟信号来源于内部振荡器且通过编程驱动时钟控制寄存
13、器的时钟关闭号来源于内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚位可禁止该引脚VSS18接地接地XTAL19输入到振荡器放大电路外部振荡信号由此输入注输入到振荡器放大电路外部振荡信号由此输入注1XTAL210振荡放大电路输出使用外部振荡信号时左开路输出注振荡放大电路输出使用外部振荡信号时左开路输出注1MODE11模式选择输入模式选择输入1=Intel模式模式0=Motorola模式模式VDD312输出驱动的输出驱动的5V电压源电压源TX013从从CAN输出驱动器输出驱动器0输出到物理线路上输出到物理线路上TX114从从CAN输出驱动器输出驱动器1输出到物理线路上输出到物理线路
14、上VSS315输出驱动器接地输出驱动器接地/INT16中断输出用于中断微控制器(中断输出用于中断微控制器(CPU)/INT在内部中断寄存器各在内部中断寄存器各位都被置位时低电平有效位都被置位时低电平有效/INT是开漏输出且与系统中的其是开漏输出且与系统中的其它它/INT是线或的此引脚上的低电平可以把是线或的此引脚上的低电平可以把IC从睡眠模式中从睡眠模式中激活激活/RST17如如C=1F;R=50kVDD218输入比较器的输入比较器的5V电压源电压源RX0,RX119,20从物理的从物理的CAN总线输入到总线输入到SJA1000的输入比较器;支配控制的输入比较器;支配控制电平将会唤醒电平将会唤
15、醒SJA1000的睡眠模式;如果的睡眠模式;如果RX1比比RX0的的电平高,就读支配控制电平,反之读弱势电平,如果时钟电平高,就读支配控制电平,反之读弱势电平,如果时钟分频寄存器的分频寄存器的CBP位被置位就旁路位被置位就旁路CAN输入比较器以减少输入比较器以减少内部延时(此时连有外部收发电路)这种情况下只有内部延时(此时连有外部收发电路)这种情况下只有RX0是激活的;弱势电平被认为是高,而支配电平被认为是低。是激活的;弱势电平被认为是高,而支配电平被认为是低。VSS221输入比较器的接地端输入比较器的接地端VDD122逻辑电路的逻辑电路的5V电压源电压源SJA1000SJA1000的特征的特
16、征n与与PCA82C200PCA82C200完全兼容的功能。完全兼容的功能。n灵活的微处理器接口-允许接口大多数微型处理器或微型控制器。n可编程的CAN输出驱动器-对各种物理层的分界面。nCAN位频率高达1Mbit/s-SJA1000覆盖了位频率的所有范围,包括高速应用SJA1000SJA1000的特征的特征n改良的改良的PCA82C200PCA82C200功能功能nCAN2.0B(passive)-SJA1000的CAN2.0B passive特征允许CAN控制器接收有29位标识符的报文。n64个字节接收FIFO-接收FIFO,可以存储高达21个报文,这延长了最大中断服务时间,避免了数据超载
17、。n24MHz时钟频率-微处理器的访问更快和CAN的位定时选择更多。n接收比较器旁路-减少内部延迟,由于改进的位定时编程,使CAN总线长度更长。SJA1000SJA1000的特征的特征nPeliCANPeliCAN模式的增强功能模式的增强功能nCAN2.0B active-CAN2.0B active支持带有29位标识符的网络扩展应用。n发送缓冲器-有11位或29位标识符的报文的单报文发送缓冲器。n增强的验收滤波器-两个验收滤波器模式,支持11位和29位标识符的滤波。n可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断-支持错误分析,在原型阶段和在正常操作期间可用于:诊断、系
18、统维护、系统优化。SJA1000SJA1000的特征的特征nPeliCANPeliCAN模式的增强功能模式的增强功能n仲裁丢失捕捉中断-支持系统优化包括报文延迟时间的分析。n单次发送-使软件命令最小化和允许快速重载发送缓冲器。n仅听模式-SJA1000能够作为一个认可的CAN监控器操作,可以分析CAN总线通信或进行自动位速率检测。n自测试模式-支持全部CAN节点的功能自测试或在一个系统内的自接收。BasicCANBasicCAN模式模式SJA1000是一种I/O设备基于内存编址的微控制器,与其它控制器(CPU)之间的操作是通过象RAM一样的片内寄存器读写来实现的。 微处理器 (CPU)CAN收
19、发器控制寄存器SJA1000 CAN控制器命令寄存器状态寄存器中断寄存器验收代码寄存器验收屏蔽寄存器.CAN BUSBasicCANBasicCAN模式模式n复位模式复位模式n当硬件复位或控制器掉线总线状态位时会自动进入复位模式。n工作模式工作模式n是通过置位控制寄存器的复位请求位激活的段段CANCAN地址地址寄存器名称(符号)寄存器名称(符号)控制控制0 0控制寄存器控制寄存器1 1命令寄存器命令寄存器2 2状态寄存器状态寄存器3 3中断寄存器中断寄存器4 4验收代码寄存器验收代码寄存器5 5验收屏蔽寄存器验收屏蔽寄存器6 6总线定时寄存器总线定时寄存器0 07 7总线定时寄存器总线定时寄存
20、器18 8输出控制寄存器输出控制寄存器9 9测试寄存器测试寄存器发送缓冲器发送缓冲器1010识别码识别码(ID10-3)(ID10-3)1111识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC12-1912-19数据字数据字1-1-节节8 8接收缓冲器接收缓冲器2020识别码识别码(ID10-3ID10-3)2121识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC22-2922-29数据字节数据字节1-81-830303131时钟分频器时钟分频器BasicCANBasicCAN 地址表地址表波特率设定波特率设定n总线定时寄存器总线定时寄存器0 0n定义了
21、波特率预设值(BRP)和同步跳转宽度(SJW)的值。复位模式有效时这个寄存器是可以被访问(读/写)的。在BasicCAN模式中总是FFH。波特率预设值(BRP) CAN系统时钟tSCL的周期是可编程的,而且决定了相应的位时序。CAN系统时钟由如下公式计算:tSCL=2tCLK(32BRP.5+16BRP.4+8BRP.3+4BRP.2+2BRP.1+BRP.0+1) 这里tCLK=XTAL的频率周期=1/fXTAL波特率设定波特率设定n同步跳转宽度同步跳转宽度(SJW)(SJW) n为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关信号边沿重新同步。同步跳转
22、宽度,定义了每一位周期可以被重新同步,缩短或延长的时钟周期的最大数目: tSJW=tSCL(2SJW.1+SJW.0+1)波特率设定波特率设定n总线定时寄存器总线定时寄存器1 1(BTR1)BTR1)n总线定时寄存器1定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目。在复位模式中,这个寄存器可以被读/写访问,在PeliCAN模式的工作模式中,这个寄存器是只读的,在BasicCAN模式中总是FFH。波特率设定波特率设定n时间段时间段1 1(TSEG1TSEG1)和时间段()和时间段(TSEG2TSEG2)nTSEG1=tSCL(8TSEG1.3+4TSEG1.2+2TSEG1.1+T
23、SEG1.0+1)nTSEG2=tSCL(4TSEG2.2+2TSEG2.1+TSEG2.0+1)CANCAN总线通讯程序总线通讯程序 CAN总线通讯程序由三大部分组成:SJA1000初始化、接收和发送 ,右图为初始化流程CANCAN总线数据发送总线数据发送CANCAN总线数据接收总线数据接收中断控制接收数据流程 查询控制接收数据流程 带有带有CANCAN接口芯片接口芯片的的DSP2407DSP2407CANCAN模块结构模块结构nCAN规格2.0Bn0B-8B数据长度设计的6个信箱n可配置的标准或扩展标识符n可编程的波特率n可编程的中断表n可读的错误计数器n自测试模块CANCAN接口电路接口电路