今天白话一下,LIN总线。
总线原理:
物理上就一根线,关联节点都接上,有且仅有一个主设备,N多从设备,每个节点要通信的内容都事先编号号。
这就好比大家开晚会,话筒就一个,主持人一个,N个嘉宾,每人的话题都有一个编号。
表达顺序是这样的,
晚会开始前,大家睡觉的睡觉,闲的闲
1 主持人,把话筒对着大鼓,敲-停-, 敲-停-, … 敲-停-
这样大家都被吵醒了,晚会开始了
晚会都是谈话内容,都是下面步骤的重复
t1 主持人把话筒同音闭了一会,--LIN总线的Break
t2 主持人试了试话题,呼呼呼呼--LIN总线的同期
t3 主持人说,下面是由 PID编号的人讲话--LIN总线的PID
t4 有PID的人,就开始说了 D0,D1,D2,D3,D4,D5,D6,D7 --LIN总线的数据
t5 有PID的人,接着说了就这样了--LIN总线的 CRC
就这样重复了多次之后,主持人
e1 主持人把话筒同音闭了一会,--LIN总线的Break
e2 主持人试了试话题,呼呼呼呼--LIN总线的同期
e3 主持人说,下面是由 PID编号是睡眠的人讲话(就他自己)--LIN总线的PID
e4 有PID的人,就开始说了 Go to sleep --LIN总线的数据,最多8个Byte
e5 有PID的人,接着说了就这样了--LIN总线的 CRC
就这样,晚会结束了,大家睡觉的睡觉 休息的休息
搞笑的结束了,稍微来点关键词
. 物理上就一根线,多节点送信,又没有冲突检测,怎么办,主设备调度啊
. 速度怎么样,和CAN相比,十几kbps不算高,不过连接上的设备就那么大信息量,正好啦
. 价额怎么样,便宜啊,一个物理tranceiver,一个带UART的CPU,再来的点软件,搞定了
. 安全系数怎么样,PID带校验,数据带CRC校验,能发现错误,报告
. 扩展性怎么样,用两个特定的PID,做数据链路层,创送上层的大包TP层,
TP层上面在支持个诊断功能,能做些其他事情了
. 各版本兼容性怎么样,主设备版本高,就能管理协调好
反之,从设备版本高,有些浪费
.内容属个人项目理解整理,如有遗漏请指教,补充。
|