以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
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个字节为一页映射到同一个地址,通过页面选择寄存器选择页面。
(图126:STM8_CAN网拓扑结构
)
CAN 2.0B(active)内核
beCAN模块可以完全自动地接收和发送CAN报文;且硬件完全支持标准标识符(11位)和扩展标识符(29位)。
控制、状态和配置寄存器
应用程序通过这些寄存器,可以:
- 配置CAN参数,如波特率
- 请求发送报文
- 处理报文接收
- 管理中断
- 获取诊断信息
发送邮箱
共有3个发送邮箱供软件来安排要发送报文。由发送调度器决定哪个邮箱的报文先被发送。
接收过滤器
共有6个位宽可变/可配置的标识符过滤器组,用来选择留下软件所需要的报文,丢弃其它报文。
接收FIFO
接收FIFO用于存储CAN控制器接收的报文,FIFO中可以存放3个完整的报文。软件可以在同一个地址访问下一个可用的报文。FIFO完全由硬件来管理。
(图127:STM8_beCAN功能框图)
|
STM8 控制器局域网(beCAN)
——