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 P317 1.jpg (图126:STM8_CAN网拓扑结构 ) CAN 2.0B(active)内核 beCAN模块可以完全自动地接收和发送CAN报文;且硬件完全支持标准标识符(11位)和扩展标识符(29位)。 控制、状态和配置寄存器 应用程序通过这些寄存器,可以:* 配置CAN参数,如波特率

  • 请求发送报文
  • * 处理报文接收

  • 管理中断
  • 获取诊断信息
  • 发送邮箱 共有3个发送邮箱供软件来安排要发送报文。由发送调度器决定哪个邮箱的报文先被发送。  接收过滤器 共有6个位宽可变/可配置的标识符过滤器组,用来选择留下软件所需要的报文,丢弃其它报文。 接收FIFO 接收FIFO用于存储CAN控制器接收的报文,FIFO中可以存放3个完整的报文。软件可以在同一个地址访问下一个可用的报文。FIFO完全由硬件来管理。 STM8 P318 1.jpg (图127:STM8_beCAN功能框图)