STM8 beCAN工作模式

2020-06-30来源: eefocus关键字:STM8  beCAN  工作模式

STM8 beCAN工作模式

beCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件复位后,beCAN工作在睡眠模式以减少功耗。软件通过对CAN_MCR寄存器的INRQ或SLEEP置'1',可以请求beCAN进入初始化或睡眠模式。一旦进入了初始化或睡眠模式,beCAN就对CAN_MSR寄存器的INAK或SLAK位置'1'来进行确认。当INAK和SLAK位都为'0'时,beCAN就处于正常模式。在进入正常模式前,beCAN必须跟CAN总线取得同步;为取得同步,beCAN要等待直到CAN总线处于空闲状态,即在CANRX引脚上监测到11个连续的隐性位。


初始化模式

软件初始化应该在STM8S硬件处于初始化模式时进行。设置CAN_MCR寄存器的INRQ位为'1',请求beCAN进入初始化模式,然后等待硬件对CAN_MSR寄存器的INAK位置'1'来进行确认。


可以通过清除CAN_MCR寄存器的INRQ位,来请求beCAN退出初始化模式,一旦硬件对CAN_MSR寄存器的INAK位清'0',beCAN就退出了初始化模式。不管怎样,退出初始化模式时性RX引脚必须处于隐状态。


当beCAN处于初始化模式时,禁止CANz总线上报文的接收和发送,并且CANTX引脚输出隐性位(高电平)。进入初始化模式,不会改变寄存器的配置。


要初始化beCAN控制器,软件至少要对位时间特性寄存器和过滤器组进行设置。如果没有使用过滤器组,建议保持其处于非激活状态(使CAN_FCRx寄存器中相应的FACT位为0)


正常模式
在初始化完成后,软件必须请求STM8硬件进入正常模式,以便正常接收和发送报文。软件可以通过对CAN_MCR寄存器的INRQ位清'0',来请求从初始化模式进入正常模式,然后要等待硬件对CAN_MSR寄存器的INAK位置'1'的确认。再与CAN总线取得同步,即在CANRX引脚上监测到11个连续的隐性位(等效于总线空闲)后,beCAN才能正常接收和发送报文。


过滤器初值的设置不需要在初始化模式中完成,但必须在过滤器处于非激活状态下完成(相应的FACT位为0)。但是过滤器的位宽和模式的设置,则必须在初始化模式中进行。


睡眠模式(低功耗)

为了降低功耗,beCAN可工作在低功耗模式---睡眠模式。根据软件的使用需求,通过对CAN_MCR寄存器的SLEEP位置'1',以进入睡眠模式。在睡眠模式下,beCAN的时钟停止了,但软件仍然可以访问邮箱寄存器。


注:当STM8_beCAN处于睡眠模式时,软件通过对CAN_MCR寄存器的INRQ位置'1'来请求进入初始化模式,必须同时将SLEEP位清'0',才能进入初始化模式。可以通过两种方式CAN将be唤醒(退出睡眠模式):由软件清除SLEEP位,或者当硬件检测到CAN总线的活动时。


如果CAN_MCR寄存器的AWUM位为'1',一旦检测到CAN总线的活动,硬件就自动对SLEEP位清'0'来唤醒beCAN。如果CAN_MCR寄存器的AWUM位为'0',当唤醒中断发生时,软件必须将SLEEP位清'0'以退出睡眠状态。


注:如果唤醒中断被使能(CAN_IER寄存器的WKUIE位为'1'),那么一旦检测到CAN总线活动就会产生唤醒中断,而不管硬件是否会自动唤醒beCAN。


当SLEEP位被清'0'后,睡眠模式的退出必须与CAN总线同步,请参考图128:beCAN工作模式。不管怎样,在退出初始化模式时RX引脚必须处于隐性状态。当硬件对SLAK就确位清'0'时,认了睡眠模式的退出。

STM8_beCAN工作模式
(图128:STM8_beCAN工作模式 )


时间触发通讯模式
在该模式下,CAN的内部硬件计数器被激活,用于产生(Rx和Tx邮箱)时间戳,分别存储在CAN_MTSRH寄存器和CAN_MTSRL寄存器中,内部计数器在接收和发送的帧起始位的采样点位置被捕捉,生成时间戳。


TGT位(CAN_MDLCR寄存器中发送时间戳位)能将CAN_MTSRH寄存器和CAN_MTSRL寄存器里的内容以报文的最后两个字节自动发送出去(请参考TTCAN的规范ISO 11898-4)。在这种情况下,TTCM位(CAN_MCR寄存器中时间触发通讯模式位)必须置位以使能时间触发通讯机制。

关键字:STM8  beCAN  工作模式 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic501627.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8 模拟/数字转换器(ADC) 转换模式
下一篇:STM8 控制器局域网(beCAN)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8学习笔记---普通IO口模拟串口功能
串口在产品应用中很常见,但是单片机的默认带的串口往往比较少,有时候就会出现串口不够用,所以就想着能不能用普通IO口模拟串口来实现串口的功能。要模拟串口首先要清楚串口数据传输过程中的原理。常用的串口格式为 1位起始位,8位数据位,无校验位,1位结束位。起始位为低电平,结束位为高电平。数据0为低电平,数据1为高电平。所以最简单的串口传输一个字节总共有10个电平变化,每个电平的宽度由波特率决定的。具体的串口数据分析,可以参考这篇文章:STM8学习笔记---通过示波器分析串口数据。下面看一个通过波特率如何计算每个位的电平宽度。发送一个字节,以stm8中9600bit/s的波特率计算的过程为例(1秒钟传输9600位)。可以计算出传输1位所需
发表于 2020-06-07
STM8学习笔记---普通IO口模拟串口功能
IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足
同一个工程文件,选择103F3可以编译通过,但是选择103K3便提示空间不足百思不得其解,查阅大量资料无果。最后在IAR工程里面找到了配置文件 打开003f3的配置文件和003K3配置文件进行对比,其余都一样,唯独程序空间003K3是从地址0X9000开始,少了1K,不知道为何要这样设置,明明两个芯片空间大小和结构一模一样。将003K3的配置文件地址改成0x8000开始,重新编译,一切正常。编译通过,程序空间总共占用5419b。问题:这样操作后将程序下载到电路板上不知道会不会出错,有待验证。个人猜测应该没问题,是IAR的错误。
发表于 2020-06-07
IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足
STM8的烧写
最近一次烧写STM8遇到以下问题1.Error : Cannot communicate with the tool.Wrong tool selection or check tool power supply or check that a previous session is closed.Error : < PROGRAM MEMORY programming failed.和stlink的链接出问题,有两种情况:a.仿真器未连接b.驱动没装好2.Error : Cannot communicate with the device !Check the SWIM cable connection and check
发表于 2020-06-07
STM8读取AD值偶尔跳变出错的问题
在调试STM8S103K3T6的AD功能时,发现当温度快速变化时(吹风机模拟),读取到的AD值会偶尔出现跳变,出现的位置相对固定;AD时钟设为2Mhz,每100ms采集一次,单次单路采集,通道无切换,用示波器看供电电压和AD口电压都没有毛刺等跳变,可以排除外部器件的问题;后来查看手册发现问题,DRH/DRL数据的左对齐和右对齐方式,对应不同的读取顺序我使用的右对齐,把程序改成先读DRL,再读DRH,问题解决
发表于 2020-06-06
STM8读取AD值偶尔跳变出错的问题
基于使用STM8单片机I2C方式实现读写操作
STM8硬件I2C知识STM8S的I2C模块不仅可以接收和发送数据,还可以在接收时将数据从串行转换成并行数据,在发送时将数据从并行转换成串行数据。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(最高100kHz)或快速(最高400kHz)的I2C总线。1.I2C的4种模式● 从设备发送模式● 从设备接收模式● 主设备发送模式● 主设备接收模式2.I2C的主要特点● 并行总线/I2C总线协议转换器● 多主机功能:该模块既可做主设备也可做从设备●I2C主设备功能─ 产生起始和停止信号●I2C从设备功能─ 可编程的I2C 地址检测─ 停止位检测● 产生和检测7位/10位地址和广播呼叫
发表于 2020-05-23
基于使用STM8单片机I2C方式实现读写操作
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved