飞翔科技电子爱好者论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3409|回复: 5

LIN发送中的计算奇偶校验怎么理解

[复制链接]

4

主题

7

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2017-4-18 21:58:47 | 显示全部楼层 |阅读模式
计算奇偶校验位                        */
/*************************************************************/
unsigned char LINCalcParity(unsigned char id)
{
  unsigned char parity, p0,p1;
  parity=id;
  p0=(BIT(parity,0)^BIT(parity,1)^BIT(parity,2)^BIT(parity,4))<<6;     //偶校验位
  p1=(!(BIT(parity,1)^BIT(parity,3)^BIT(parity,4)^BIT(parity,5)))<<7;  //奇校验位
  parity|=(p0|p1);
  return parity;
}
(BIT(parity,0)代表0位么?为什么偶校验时只选取0,1,2,4位,选取的依据是什么?
回复

使用道具 举报

7

主题

330

帖子

1338

积分

超级版主

Rank: 8Rank: 8

积分
1338
发表于 2017-4-21 11:23:29 | 显示全部楼层
#define BIT(A,B)      ((A>>B)&0x01)   // A 为变量
程序中是对BIT进行了宏定义的,是取变量A的第B位的计算。
P0和P1的计算依据是根据LIN总线通讯协议定的,可以阅读一下LIN总线的协议。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2018-3-4 12:38:59 | 显示全部楼层
LIN演示代码:
void INIT_LIN(void)
{
  unsigned char i;
  SCI0BD = BUS_CLOCK/16/BAUD;   //设置SCI0波特率为9600  
  SCI0CR1 = 0x00;        //设置SCI0为正常模式,八位数据位,无奇偶校验
  SCI0CR2 = 0x2c;        //允许接收和发送数据,允许接收中断功能

上面将奇偶校验已经关闭了,无奇偶校验。

/*************************************************************/
/*                     计算奇偶校验位                        */
/*************************************************************/
unsigned char LINCalcParity(unsigned char id)
{
  unsigned char parity, p0,p1;
  parity=id;
  p0=(BIT(parity,0)^BIT(parity,1)^BIT(parity,2)^BIT(parity,4))<<6;     //偶校验位
  p1=(!(BIT(parity,1)^BIT(parity,3)^BIT(parity,4)^BIT(parity,5)))<<7;  //奇校验位
  parity|=(p0|p1);
  return parity;
}

这里,1,为什么还要计算奇偶校验?

2,LIN通信标识符场的奇偶校验功能是什么?为什么同时有奇校验和偶校验?是这个标识符场自身的校验?还是针对数据场的的校验?

3,TJA1020具有反馈功能。是不是一般的LIN通信的收发器都有反馈功能?如果都有,推荐几款汽车电子常用的LIN收发器型号?

回复 支持 反对

使用道具 举报

7

主题

330

帖子

1338

积分

超级版主

Rank: 8Rank: 8

积分
1338
发表于 2018-3-5 08:45:37 | 显示全部楼层
1、关闭的奇偶校验是串口的校验,计算的校验是LIN总线的校验,两个不是一回事。
回复 支持 反对

使用道具 举报

7

主题

330

帖子

1338

积分

超级版主

Rank: 8Rank: 8

积分
1338
发表于 2018-3-5 08:48:12 | 显示全部楼层
2、校验的作用就是识别传输过程是否存在错误。校验方式是由LIN总线的协议定的。只对ID进行校验。
回复 支持 反对

使用道具 举报

7

主题

330

帖子

1338

积分

超级版主

Rank: 8Rank: 8

积分
1338
发表于 2018-3-5 08:49:04 | 显示全部楼层
3、一般都是有反馈的,关于LIN收发器的型号,很多,可以百度一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|飞翔科技电子爱好者论坛  

GMT+8, 2019-4-20 16:45 , Processed in 0.204266 second(s), 26 queries .

Powered by Discuz X3.2

© 2001-2011 Comsenz 源码论坛

返回顶部