zoukankan      html  css  js  c++  java
  • 由CAN总线学习所引发的感想

        工作在无声无息中从我身边流过了2个月的时光,越来越感到无奈,唯一  欣慰的是可以自由地学习!公司是主要做汽车空调控制器的,经过一段时间的学习对公司的基本产品都有了熟悉,公司的工作流程也基本有了了解,最近几天在学习和了解汽车电子的CAN总线。 
         经过一段时间的学习,心里对CAN有了自己的看法,并由此 我看到了一些技术的共同点!那就是为了节省成本,减小复杂度,一般采用公用资源的方式来解决这个问题,当然基本思路是这样但是具体要解决的问题会十分的复杂。
          CAN总线的发明和提出本身就是基于日益增长的汽车电子系统,电子系统变得越来越庞大,种类越来越繁多,电子系统也在呈现出模块化的产业趋势,面对这些一个个模块接踵而来的当然是汽车电子智能控制系统(ECU)对各个,模块的控制问题,由于系统要控制的模块繁多,单一独立的ECU已经很难满足汽车控制的要求,汽身控制呈现出多ECU的控制现象。
          多ECU的控制当然要比单一的ECU控制要复杂得多,首先就是走线问题,这个问题非常突出,如果要采取单一的独立控制还要有相互的通信,系统的走线会变得非常复杂,这是汽车系统设计人员所不愿意看到的,面对这些问题,汽车的先导者,自然而然地提出了CAN总线技术。
          之前没接触过CAN总线会觉得它很神秘,但是了解过后我们就会发现,它就只是一个标准而已,也就是一个总线而已,原来多根线完成功能,现在就只需要一根总线,就像现今的处理器架构,基本上分为两种:冯诺伊曼结构和哈佛结构,其中跟CAN很像的当然是冯诺伊曼结构,共用总线,冯诺伊曼的是数据总线和地址总线公用一条总线。CAN也是采用这个基本的解决方案,采用这个方案一般都有这样的特点:
    1.硬件结构会相对比较简单 
    2.需要一个标准的调度系统
    3.数据传输相对于独立传输线独立,数据传输瓶颈会相对比较小。因此不适合高速的大数据量交换的设备。例如数据高速交换的DSP一般采用的都是哈佛结构。
    4.传输距离可以很远
     
        采用类似思路的解决方案还有很多,;例如我们熟知的USB设备,原来的并行传输设备和串行传输设备。
        发散一下,我们的多核CPU也有异曲同工之妙。当然也许会有人觉得有点牵强,不过我觉得从我个人的观点来说他们都在承接着一个共用的思路,虽然发明者设计者当初都没有此等沟通,但是他们不谋而合地实现了一个理念:化繁就简,用尽可能简单的方法实现我们的想法,解决我们的实际问题。
           由于本人技术水平有限,本文纯属个人所学所想,文中所谈的深度难以达到大家理想的要求,有些观点难免失漏错误之处,如有不同观点欢迎交流指正,不胜感激。
  • 相关阅读:
    ORACLE 数据迁移到SQL SEVER2005的问题
    sql server性能分析检测数据库阻塞语句
    经典存储过程
    sql server性能分析查询死锁的sql语句
    sql server性能分析索引使用效率评估
    discuz!X2.5不改代码即可去掉网址后面的forum.php后缀
    discuz!X2.5伪静态设置
    详解ListView
    frameset、frame和iframe的区别
    android中的Context到底该怎么用
  • 原文地址:https://www.cnblogs.com/zhang747725388/p/2670460.html
Copyright © 2011-2022 走看看