AN和LIN相关的内容很多,今天仅对几年前困扰过我的一个疑问进行说明。
  以前最常见的通迅方式为CAN和LIN,但现在也有很多其他的通讯方式了,而这两种通讯方式仍使用广泛。
  前几年常听人说CAN的成本和LIN差不多,所以没必要用LIN;而那时又有人说CAN要收发器LIN不需要了,所以LIN还是便宜不少,当时真是很晕乎的。后来看到CAN确实要收发器,而LIN其实也是要的,只是某种情况下被集成了而以。
  为了更好的理解这个问题,了一张飞思卡尔的图来说明。从左往右有4个图:第一张图中是单独的收发器,MCU通过收发器连至CAN总线上,第二张图即LDO与CAN收发器集成了,第三张图相对第二张为增加了中等的功能安全(Medium Functional Safety)功能,最后一张图提升了功能安全的等级及增加了SMPS等。

  显然,从理论上说CAN和LIN的物理架构决定了其肯定要有一个类似于收发器的东西来实现通迅功能,但是这个收发器可集成到其他部件中。集成越来越多的功能是汽车电子芯片发展趋势之一,且一般来说,2个分开的器件集成到一起实现某个功能比仅仅只将它们拼凑到一块来实现成本要低些。因此收发器并非不存在,只是集成到别的地方去了,特定场合下简单的说LIN不要收发器不能说它不对,因为原设计可能本来就有自带的LIN还未被利用上,但这种说法在技术上却有些容易误导不明真相者。目前很多SBC(System Basic Chip)都有集成LIN收发器和CAN的收发器,如飞思卡尔MC33909。
  下图为一个SBC+MCU的框架示意,SBC带了4路LIN、1路CAN,MCU直接从SBC读取这些CAN、LIN的信息而不需要再增加单独的收发器。如果这些CAN和LIN不够用,则需自搭电路、增加分立的收发器来实现,图中为增加了2路LIN和1路CAN的示意。

  在实际设计中,整车厂不需要特别关注哪个芯片带了多少路LIN还是CAN,他们主要还是关注自己的车上需要多少路、每路上挂一些什么模块;但如果车厂想自己指定产品的芯片,则需提前对相关芯片的信息进行统一搜集和了解,以争取最高的性价比。

A.01.12—模块的输出—通讯(CAN&LIN)的更多相关文章

  1. A.01.10—模块的输出—PWM高端输出

    PWM高端输出比低端输出用得多,如上次提到的卤素灯的控制均是采用高端输出的. PWM高端输出与PWM低端输出的差异就像固态高端输出与固态低端输出的差异类似,从线路失效后对用户的影响来看:高端输出为控制 ...

  2. A.01.09—模块的输出—PWM低端输出

    PWM输出在汽车上的应用也比较多,它有三种不同的实现方式. 第一种由软件实现,即软件设定对一个输出口拉高和拉低的时间,形成时高时低的PWM控制:但这种方式目前用得不多,这是由使用需求和软件本身的特性决 ...

  3. A.01.11—模块的输出—输出复用和可配

    对于输入来说,高边输入与低边输入可配,那对于输出来说,它有哪些可配的情况呢. 下图中展示了2种常见的类型. 第一种为同一驱动芯片内部的情况.对于OPL与ODL,即PWM低端输出和固态的低端输出,它们是 ...

  4. Python模块01/自定义模块/time模块/datetime模块/random模块

    Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...

  5. android源码环境下用mmm/mm编译模块,输出编译log到文件的方法

    android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ...

  6. 数据分析01 /numpy模块

    数据分析01 /数据分析之numpy模块 目录 数据分析01 /数据分析之numpy模块 1. numpy简介 2. numpy的创建 3. numpy的方法 4. numpy的常用属性 5. num ...

  7. python 小兵(12)模块1

    序列化 我们今天学习下序列化,什么是序列化呢? 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 为什么要有序列化模块: 比如,我们在python代码中计算的一个数据需要给另外一段程序使用 ...

  8. Java1.0-1.12各个版本的新特性

    JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997- ...

  9. 01. Numpy模块

    1.科学计算工具-Numpy基础数据结构 1.1.数组ndarray的属性 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成:① 实际的数据② 描述这些数据的元数据 注意数组格式, ...

随机推荐

  1. iOS----------禁止输入汉字

    说明: ^.*[\u4e00-\u9fa5].*$ 是否包含中文^[\u4E00-\u9FA5]+$ 是否全中文 - (BOOL)textField:(UITextField *)textField ...

  2. JavaScript函数继承

    在ES6中有了继承,使用extends关键字就能实现.但这里讲的讲的不是这种,而是ES6之前的几种实现继承的方式. (一)原型继承 ECMAScript中将原型链作为实现继承的主要方法.其基本思想是利 ...

  3. 【资源分享】ArcFace Demo [Android]

    虹软人脸识别引擎Android的Demo演示,可以直接下载使用. 下载地址: https://github.com/asdfqwrasdf/ArcFaceDemo readme: 工程如何使用? 下载 ...

  4. uiautomatorviewer 查看元素报错: Error taking device screenshot: null 原因

    使用uiautomatorviewer 查看android某些页面元素,出现错误Error obtaining UI hierarchy  Reason: Error taking device sc ...

  5. JMeter接口测试 (二) ~ 参数化

    对应qq群号:616961231 上篇内容介绍了jmeter的基本使用, 略微提了如何做参数化,  本篇对参数化做进一步深入讲解, 参数化可以将一个变量使用不同数据, 比如有多个用户下单购买商品,调用 ...

  6. MPP架构海量数据分析仓库——Greenplum介绍

    一.Greenplum背景 时间回到2002年,互联网行业经过近10年的发展,数据量正处于快速增长期: 1.传统的主机计算模式在海量数据面前,除了造价昂贵外,在CPU计算和IO吞吐上不能满足海量数据的 ...

  7. android SDK 无法更新

    android-windows-sdk无法更新解决办法:   1.在host文件新增如下配置 (host文件位置:c:\Windows\System32\drivers\etc文件夹下面,用文本编辑器 ...

  8. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

  9. 分享Winform datagridview 动态生成中文HeaderText

    缘起 很久以前给datagridview绑定列的时候都是手动的,记得以前用Display自定义属性来动态给datagridview绑定列.后来发现不行,于是还在博问发了问题: 后来热心网友帮我回答了这 ...

  10. 二十八、layui的日历组件使用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...