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. 跨进程SharedPreferences异常。

    诡异的SharedPreferences异常,在ACC之后,SharedPreferences获取不到值了,但是另一个应用可以获取到值.同样的方法,一个正常一个异常. Context c = null ...

  2. 微信小程序(七)文章详情页面动态显示

    文章详情页面动态显示(即点击某个文章就跳转到相应文章的详情页): 思路:在文章列表页面添加catchtop事件,在js文件中获取文章的index,并用wx.navigateTo中的 url拼接详情页的 ...

  3. Linux 访问控制列表(access control list)

    简介 随着应用的发展,传统的linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展linux的文件权限控制,以实现更为复杂的权限控制需求.其可以针对任意的用户和用户组进行权限分 ...

  4. Kafka 特性

    Kafka 特性 标签(空格分隔): Kafka 支持多个生产者 多个生成者连接Kafka来推送消息,这个和其他的消息队列功能基本上是一样的 支持多个消费者 Kafka支持多个消费者来读取同一个消息流 ...

  5. GoldenDict词典的超级实用高级玩法----全文搜索功能

    快捷键: Ctrl+Shift+F 菜单进入:搜索--全文搜索 模式:正则表达式 比如:我想知道地道的英文表达    请xx天/周/年假 给搜索框写入正则表达式   请(.)(天|周|年)假 就可以了 ...

  6. web渗透 学习计划(转载)

    作者:向生李链接:https://www.zhihu.com/question/21914899/answer/39344435来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  7. LeetCode算法题-Convert BST to Greater Tree(Java实现)

    这是悦乐书的第255次更新,第268篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第122题(顺位题号是538).给定二进制搜索树(BST),将其转换为更大树,使原始BS ...

  8. TypeScript——初步认识

    JavaScript的痛点 众所周知,前端开发“三剑客”分别是HTML.CSS以及JS,其中JS由于其灵活简单等特点获得了大家的青睐,但是成也萧何败萧何,由于JS设计初衷是浏览器的嵌入式脚本语言,作为 ...

  9. Mockito单元测试

    Mockito简介 Mockito是一个单元测试框架,需要Junit的支持.在我们的项目中,都存在相当多的依赖关系,当我们在测试某一个业务相关的接口或则方法时,绝大多数时候是没有办法或则很难去添加所有 ...

  10. Django【跨域】

    jsonp 方式一:指定返回方法 # 后端 def view(request): callback = request.GET.get('callback') return HttpResponse( ...