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. ARouter学习随笔

    今天看了会ARouter,在这里简单记录下 跟着其他大哥的博客学习了下,总感觉不牢固,借此机会再次简单记录下. 第一步:ARouter 配置 android { defaultConfig { ... ...

  2. Python变量之白首如新,倾盖如故

    python中的变量变量:将运算的中间结果暂存到内存中,方便后续程序调用.变量的命名规则:1.变量名由字母.数字.下划线组成.2.变量名可以用字母.下划线开头,但是不能以数字开头.3.变量名是区分大小 ...

  3. Linux Shell 返回值之 PIPESTATUS

    BASH SHELL中,通常使用 $? 来获取上一条命令的返回码,对于管道中的命令,使用$?只能获取管道中最后一条命令的返回码,例如: 下面的例子 /djdjal/dajiojidksj.file是一 ...

  4. 为Arch Linux更换Archlinuxcn源(清华源)

    上一篇随笔 archlinux切换官方中国源 里面写了如何切换到官方的中国源,但是因为那个源有一些软件并没有,特别是一些国人常用的中文软件,比如搜狗输入法等这些都是没有的.所以我们现在需要手动切换源一 ...

  5. Eclipse编程中免除alt+斜杠,设置自动提示

    用eclipse进行编程时,设置自动提示 .abcdefghijklmnopqrstuvwxyz@

  6. 【Teradata SQL】字符串分割函数STRTOK和STRTOK_SPLIT_TO_TABLE

    STRTOK函数: 按照指定分隔符,将字符串分割成多个部分,返回指定部分字符串. 参数说明: (1)instring:字符串或字符串表达式. (2)delimiter:分隔符列表,字符串每个字符都会做 ...

  7. c#语法学习

    自动属性.隐试类型.命名参数和自动初始化器. note:这里说的这些,是语法糖.按照一定的格式写,部分代码编译器帮我们实现了, 1.自动属性:自动属性是非常有用的语法糖,帮我我们做了两件事:1.自动帮 ...

  8. DISK 100% BUSY,谁造成的?(ok)

    iostat等命令看到的是系统级的统计,比如下例中我们看到/dev/sdb很忙,如果要追查是哪个进程导致的I/O繁忙,应该怎么办? # iostat -xd ... Device: rrqm/s wr ...

  9. python接口自动化-get请求

    一.环境安装 1.用pip安装requests模块 >>pip install requests 二.get请求 1.  url 1.1:   response 的返回内容还有很多信息,例 ...

  10. PHP程序员从小白到高手,掌握这些技能少走弯路

    PHP程序员从小白到高手,掌握这些技能少走弯路 PHP究竟是不是最好的语言,一直以来是程序员最大的“争议”,但毋庸置疑的是,PHP绝对是最有前途和力量的变成语言,也是你入门最值得学习的语言. 作为老牌 ...