CAN总线控制器
词条创建时间:2021-06-28浏览次数:652
CAN总线控制器即Controller Area Network Bus控制器,作为一种技术先进,可靠性高,功能完善,成本合理的远程网络通讯控制方式,为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线。CAN-bus控制逐步被广泛应用到各种控制领域。
CAN总线控制器原理
还是以SJA1000为例,其中CAN核心模块根据CAN总线协议控制数据帧的发送和接收;接口管理逻辑模块提供SJA1000与主微处理器或其它设备的连接,主微处理器可以通过数据/地址复用总线和读写控制逻辑访问SJA1000的所有寄存器;发送缓冲区可以存储一个完整的标准或扩展的报文,当主微处理器要求SJA1000发送报文时,接口管理逻辑操纵CAN核心模块将发送缓冲区中的报文发送到CAN总线上;当接收一个报文时,CAN核心模块首先将总线上的串行位流数据转换位并行数据,然后交给接收过虑模块进行识别,决定该报文是否为主微处理器所要求的报文类别,所有接收的报文可以存放在接收先进先出队列,根据不同的工作模式和数据长度,该队列可以存放最多32个报文,然后用户可以灵活地对报文分为不同地优先级和中断处理服务。
SJA1000可直接连接两类主要的处理器家族:Intel公司的80C51系列和Motorola公司的68xx系列,其芯片外围专门有一个模式管脚用了选择CPU的类型。SJA1000提供了8位地址/数据复用总线和读/写控制信号与CPU交换数据,我们可以将SJA1000看作映射到主微处理器的外围存取器I/O设备。
SJA1000通过2个8位寄存器来支持对报文的过滤功能,将应用不关心的报文拒之门外将提供处理期的性能,因为大多数应用都是通过中断的方式交换数据,所以正确的使用过滤功能可以为中断处理函数赢得时间。SJA1000提供一个接收编码寄存器(Acceptance Code Register)和一个接收屏蔽寄存器(Acceptance Mask Register)。接收过滤模块将CAN报文的11位标识符的高8位于这2个寄存器里存放的值相比较,并作出是否接收的判断。
CAN总线控制器主要特性
多主结构依据优先权进行总线访问
无破坏性的基于优先权的逐位仲裁
借助验收上检测到扩展帧报文(29位 的标识码)也是容许的,并且如果报文正确的话,会给 出一个应答信号,但是不会产生接收中断. 而PeliCAN工作模式则完全支持扩展帧报文,功能强大 .包含BasicCAN又比其功能多.
CAN总线控制器工作模式
由于CAN协议的更新,有2.0A和2.0B两个协议.因此, 有了两种工作模式,而不同之处就是在于对待扩展帧的 处理方法.CAN控制器的两种工作模式是BasicCAN模 式和PeliCAN工作模式.两种工作模式在寄存器等方面 均有区别.
BasicCAN工作模式是基本的工作模式,对应于2.0A协 议,在此模式下只可以发送和接收标准帧报文(11位的标 识码),如果此时在CAN总线上检测到扩展帧报文(29位 的标识码)也是容许的,并且如果报文正确的话,会给 出一个应答信号,但是不会产生接收中断. 而PeliCAN工作模式则完全支持扩展帧报文,功能强大 .包含BasicCAN又比其功能多.
CAN总线控制器功能介绍
CAN总线控制器结构图
CAN总线控制器功能框图
接口管理逻辑
接口管理逻辑(IML)解释来自CPU的 命令,控制CAN寄存器的寻址,向 主控制器提供中断信息和状态信息 .
发送缓冲器
发送缓冲器(TXB)是CPU和BSP(位流处 理器)之间的接口.它能够存储通过 CAN网络发送的一条完整报文.缓冲 器长13个字节,由CPU写入,BSP读出 .
接收缓冲器
接收缓冲器(RXB,RXFIFO)是接收滤波器 和CPU之间的接口,用来存储从CAN总线 上接收并被确认的信息.接收缓冲器(RXB ,13个字节)作为接收FIFO的一个窗口,可 以被CPU访问. CPu在此FIFO的支持下,可以处理一条报 文的同时接收其他报文
验收滤波器
验收滤波器(AcFAccePtaneeFilter)把它的内容 和接收到的标示码相比较,以决定是否接收下条 报文.在验收测试通过后,这条完整的报文就被 保存在RXFIFO中.
位流处理器
位流处理器(BSP)是一个在发送缓冲器, RXFIFO和CAN总线之间的控制数据流的序列发生器.它还执行总线上的错误 监测,仲裁,填充和错误处理,是 本设计中的重点模块,属于cAN总线控制器中 的中心模块
位时序逻辑
位时序逻辑(BTL)监视串行的CAN总线和位时序. 它是一条报文开头,总线传输出现到显性时同步于 CAN总线上的位流(硬同步),并且在其后接收一条 报文的传输过程中在同步(软同步). BTL还提供了可编程的时间段来补偿传播延时,相 位偏移和定义采样点和每 一位采样次数.本次设计不涉及这一块的内容.
错误管理逻辑
错误管理逻辑(EML)负责限制传输层模块的错误.它 接收来自BSP的出错报告,然后把有关错误统计告诉 BSP(位流处理器)和IML(接口管理逻辑).
CAN总线控制器规范
CANCAN-bus 规范 CAN-bus 规范( Version 2.0 )
CAN2.0A :CAN标准报文格式
CAN2.0B :CAN标准报文格式和扩展报文格式
ISO11898-1/2/3/4 国际标准
CAN-bus 技术规范的目的
定义数据链路层
定义CAN协议在周围各层中所发挥的作用
CAN总线控制器应用
CAN控制器最初是为汽车的监测、控制系统而设计的,现已在航天、电力、石化、冶金、纺织、造纸、仓储等行业广泛采用。在火车、轮船、机器人、楼宇自控、医疗器械、数控机床、过程自动化仪表等自控设备中,都广泛采用CAN技术。