打印
[信息]

STM8 LIN主模式

[复制链接]
971|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2021-10-18 09:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
摘要: STM8 LIN模式功能描述在LIN模式下,LIN标准要求的数据格式是8位数据位加1位停止位。完成这样的设置需要将UART_CR1的M位清0,同时把UART_CR3的STOP位也清0。主模式UART初始化步骤:1.设置UART_BRR2和UART_BRR1来选择 ...


STM8 LIN模式功能描述
在LIN模式下,LIN标准要求的数据格式是8位数据位加1位停止位。
完成这样的设置需要将UART_CR1的M位清0,同时把UART_CR3的STOP[1:0]位也清0。
主模式
UART初始化
步骤:
1.设置UART_BRR2和UART_BRR1来选择期望的波特率。
2.将UART_CR3的LINEN位置1来使能LIN模式。
3.将UART_CR2的TEN位和REN位置1来使能发送器和接收器。
LIN报文头(header)的发送
按照LIN协议,所有在LIN总线上的通讯都由主设备通过发送报文头(header)发起,报文头之后是响应。报文头由主任务(主节点)发送,而数据由节点(主节点或者从节点)的从任务发送。
不带错误侦测的步骤:
1.将UART_CR2的SBK位置1来请求发送断开符+分界符。
2.对UART_DR写入0x55来请求发送同步域。
3.等待UART_SR的标志位TC为1。
4.对UART_DR写入被保护识别符值来请求发送识别符域。
5.等待UART_SR的标志位TC为1。

带错误侦测的步骤:
1.将UART_CR2的SBK位置1来请求发送断开符+分界符。
2.等待UART_CR4的标志位LBDF为1。
3.对UART_DR写入0x55来请求发送同步域。
4.等待UART_SR的标志位RXNE为1,并读回UART_DR。
5.对UART_DR写入被保护识别符值来请求发送识别符域。
6.等待UART_SR的标志位RXNE为1,并读回UART_DR。
只有在UART_RX管脚上接收回有效的断开符和分界符以后,标志位LBDF才会置1。
LIN断开符和分界符侦测
当STM8的LIN模式被使能时,断开符号检测电路被激活。该检测完全独立于USART接收器。断开符只要一出现就能检测到,不管是在总线空闲时还是在发送某数据帧期间。

当接收器被激活时(USART_CR1的REN=1),电路监测RX上的起始信号。监测起始位的方法同检测断开符号或数据是一样的。当起始位被检测到后,电路对每个接下来位的第8,9,10个过采样时钟点上进行采样。如果10个(当USART_CR4的LBDL=0)或11个(当USART_CR4的LBDL=1)连续位都是'0',并且又跟着一个分界符,USART_SR的LBD标志被置1。如果LBDIEN位=1,会有中断产生。
如果在第10或11个采样点之前采样到了'1',检测电路取消当前检测并重新寻找起始位。如果LIN模式被禁止(LINEN=0),接收器继续如正常USART那样工作,不需要考虑检测断开符。

如果LIN模式被激活(LINEN=1),只要一发生帧错误(例如在发送断开帧时,停止位检测到'0'),接收器就停止,直到断开符号检测电路接收到一个'1'(这种情况发生于断开符没有完整的发出来),或一个定界符(这种情况发生于已经检测到一个完整的断开符号)。
图116说明了断开符检测器状态机的行为和断开符号标志的关系。
LBDF标志用于主模式,LHDF标志用于从模式。
图117给了一个断开帧的例子。

(图116:STM8_LIN模式下的断开符检测(11位断开长度–设置了LBDL位))


(图117:STM8_LIN模式下的断开符检测与帧错误的检测)
响应发送(主设备是响应的发布方)
响应由符合UART规范的字节组成:8位数据位,1位停止位,无校验位。
要发送n字节的数据,应当按顺序重复n次以下步骤:
  • 对UART_DR寄存器写入数据
  • 等待UART_SR寄存器的标志位RXNE为1
  • 读UART_DR寄存器,检查读回值
响应接收(主设备是响应的签署方)
要接收n字节的数据,应当按顺序重复n次以下步骤:
  • 等待UART_SR寄存器的标志位RXNE为1
  • 读UART_DR寄存器
(响应忽略从设备对从设备通讯)
STM8在从设备与从设备的通讯,并且主设备不需要检查响应中错误的情况下,应用程序可以直到下一帧传输前都不必检查标志位RXNE。在下一次断开符发送之前,应当清除标志位RXNE和OR。
注意:接收回一个断开符也会在设置标志位LBDF前设置标志位RXNE和FE。因此,如果使用RX中断,最好在发送断开符之前关闭中断,来避免一次额外的中断。在从设备对从设备通讯的情况下,一旦报文头被发出,就可以清0标志位RIEN。


使用特权

评论回复
沙发
gwsan| | 2021-11-5 14:27 | 只看该作者
这是说的以太网是吗

使用特权

评论回复
板凳
qcliu| | 2021-11-5 14:29 | 只看该作者
串口通讯方式吗

使用特权

评论回复
地板
nawu| | 2021-11-5 14:32 | 只看该作者
一种半双工模式是吗

使用特权

评论回复
5
kxsi| | 2021-11-5 14:34 | 只看该作者
这是一种什么通讯模式啊

使用特权

评论回复
6
drer| | 2021-11-5 14:37 | 只看该作者
UART和USART有什么区别吗

使用特权

评论回复
7
drer| | 2021-11-5 14:38 | 只看该作者
从模式如何配置呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1510

主题

4547

帖子

6

粉丝