logo

STM8应用笔记 STM8单片机内核剖析 STM8 控制器局域网(beCAN)

STM8 控制器局域网(beCAN)

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

STM8控制器局域网(beCAN)简介

beCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。
对于安全紧要的应用,beCAN提供所有支持时间触发通信模式所需的硬件功能。

STM8 beCAN主要特点

  • 支持CAN协议2.0A和2.0B主动模式
  • 波特率最高可达1兆位/秒
  • 支持时间触发通信功能
  • 可选择时钟源(fMASTER或CANEXT)

发送

  • 3个发送邮箱
  • 发送报文的优先级特性可软件配置
  • 记录发送SOF时刻的时间戳

接收

  • 1个3级深度的接收FIFO
  • 6个位宽可变的过滤器组
  • 标识符列表
  • FIFO溢出处理方式可配置
  • 记录接收SOF时刻的时间戳

时间触发通信模式

  • 禁止自动重传模式
  • 16位自由运行定时器
  • 可配置定时器精度
  • 可在最后2个数据字节发送时间戳

管理

  • 中断可屏蔽
  • 邮箱占用唯一的地址空间,便于提高软件效率

总体描述

在当今的CAN应用中,CAN网络的节点在不断增加,并且多个CAN常常通过网关连接起来,因此整个CAN网中的报文数量(每个节点都需要处理)急剧增加。除了应用层报文外,网络管理和诊断报文也被引入。

  • 需要一个增强的过滤机制来处理各种类型的报文
    此外,应用层任务需要更多CPU时间,因此报文接收所需的实时响应程度需要减轻。
  • 采用接收FIFO方式,从而允许CPU花很长时间处理应用层任务而不会丢失报文。
    构筑在底层CAN驱动程序上的高层协议软件,要求跟CAN控制器之间有高效的接口。
  • 所有邮箱和报文以16个字节为一页映射到同一个地址,通过页面选择寄存器选择页面。

STM8_CAN网拓扑结构
(图126:STM8_CAN网拓扑结构 )

CAN 2.0B(active)内核
beCAN模块可以完全自动地接收和发送CAN报文;且硬件完全支持标准标识符(11位)和扩展标识符(29位)。

控制、状态和配置寄存器
应用程序通过这些寄存器,可以:

  • 配置CAN参数,如波特率
  • 请求发送报文
  • 处理报文接收
  • 管理中断
  • 获取诊断信息

发送邮箱
共有3个发送邮箱供软件来安排要发送报文。由发送调度器决定哪个邮箱的报文先被发送。

接收过滤器
共有6个位宽可变/可配置的标识符过滤器组,用来选择留下软件所需要的报文,丢弃其它报文。

接收FIFO
接收FIFO用于存储CAN控制器接收的报文,FIFO中可以存放3个完整的报文。软件可以在同一个地址访问下一个可用的报文。FIFO完全由硬件来管理。

STM8_beCAN功能框图
(图127:STM8_beCAN功能框图)

STM8 控制器局域网(beCAN)

——