标题：CAN-BUS
CAN-BUS
CAN-BUS的原理CAN（Controller Area Network）即控制器局域网络。是应用在现场、在微机化测量设备之间实现双向串行多节点数字通讯系统，是一种开放式、数字化、多点通信的底层控制网络。 CAN协议建立在ISO/OSI模型之上，其模型结构有三层。协议分为Can2.0A, CAN2.0B,CANopen几种。
CAN-BUS即CAN总线技术，全称为“控制器局域网总线技术（Controller Area Network-BUS）”。CAN总线的通讯介质可采用双绞线，同轴电缆和光导纤维。通讯距离与波特率有关，最大通讯距离可达10km，最大通讯波持率可达1Mdps。实际使用中几乎多数采用的是特性阻抗120Ω的双绞屏蔽电缆，常用的国产型号规格： STP-120Ω（for RS485 & CAN） one pair 18 AWG，电缆外径8.2mm左右，灰色护套。适用于室内、管道及一般工业环境。使用时，屏蔽层一端接地！汽车用CANBUS电缆尚有耐温(70℃、90℃、125℃等系列)、耐油、阻燃等特殊要求。CAN总线仲裁采用11位标识和非破坏性位仲裁总线结构机制，可以确定数据块的优先级，保证在网络节点冲突时最高优先级节点不需要冲突等待。CAN总线采用了多主竞争式总线结构，具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次，因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证，技术比较成熟，控制的芯片已经商品化，性价比高，特别适用于分布式测控系统之间的数据通讯。
CAN-BUS的发展CAN-Bus总线技术最早被用于飞机、坦克等武器电子系统的通讯联络上。将这种技术用于民用汽车最早起源于欧洲，在汽车上这种总线网络用于车上各种传感器数据的传递。
随着CAN-BUS的不断完善和发展，作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式，CAN-BUS 不再仅仅局限于汽车电子领域，还被广泛应用到其它各个自动化控制系统中。在欧洲、美洲，亚洲CAN-bus总线技术在工程机械领域都已经普遍应用，国际上一些著名的工程机械大公司如CAT、VOLVO、利勃海尔等都在自己的产品上广泛采用CAN-bus总线技术，大大提高了整机的可靠性、可检测和可维修性，同时提高了智能化水平。在国内，CAN-bus总线控制系统也开始在汽车的控制系统中广泛应用，在工程机械行业（如自动控制、智能大厦、电力系统、安防监控等领域）中也正在逐步推广应用。
CAN-BUS的应用一：在汽车上的应用
目前CAN-BUS总线在车上的应用越来越普及，不仅仅局限于高档车（比如波罗、宝来、帕萨特），中档车（如上海大众的途安）也越来越多的配备了CAN-BUS总线。不过国内使用此技术的小型家用轿车并不常见，国内奇瑞率先将此技术应用于A5车型中，也算是自主品牌当中智能化程度的一种突破。
汽车上的CAN-BUS总线一般有三种：高速的动力驱动系统（速率可达到500kb/s以上）主要连接对象包括发动机ECU、ABSECU、SRSECU、组合仪表等；低速的CAN总线则用于车身舒适系统（速率100kb/s),连接对象有集控锁、电动门窗、后视镜、厢内照明灯等；另外可能还会有用于卫星导航的智能通讯系统。
通过遍布车身的传感器，汽车的各种行驶数据会被发送到“总线”上，这些数据不会指定唯一的接收者，凡是需要这些数据的接收端都可以从“总线”上读取需要的信息。CAN总线的传输数据非常快，可以达到每秒传输32bytes有效数据，这样可以有效保证数据的实效性和准确性。传统的轿车在机舱和车身内需要埋设大量线束以传递传感器采集的信号，而CAN-Bus总线技术的应用可以大量减少车体内线束的数量，综合了发动机、变速箱、安全气囊、组合仪表、ABS和舒适电脑诊断系统。通过控制器区域网络，使汽车的各个系统协调运作，信息共享，保证车辆行驶更安全、舒适和可靠。
CAN-Bus技术在POLO上的应用在CAN-Bus技术的帮助下，POLO轿车各种传感器的信息可以实现共享，从而减少了车体内线束和控制器的接口数量，避免了过多线束存在的互相干涉、磨损等隐患，降低了POLO轿车电气系统的故障发生率。另外， POLO轿车的防盗性、安全性都得到了较大幅度提升。例如，在启动车辆时，确认钥匙合法性的信息会通过CAN-Bus总线进行传递，其校验的信息比以往的防盗系统更为丰富。车钥匙、发动机控制器和防盗控制器互相存储对方信息，校验码中还掺杂了随即码，从而大幅提高防盗能力。校验信息通过Can-Bus传递大幅提高了信息传递的可靠性，使防盗系统的工作稳定可靠。
POLO轿车利用CAN-Bus技术大幅提高了自身的科技含量，减少了电气系统的故障发生率，但高技术带来质量的同时也为POLO带来了较高价格。
附（关于汽车CAN-BUS的形象描述）：
我用最简单的话让各位了解。过去把发动机打开以后，可以看到一连串的线路，这些线路中传输着各种各样的控制信号。如果使用速度更快的线路作为总线传输全部的信号，并且对应的部件加一个对信号过滤选择的器件，这样线路就大大减少了，速度也上去了。不过加上去的东西价格和对线路简化而减少的投入也要考虑到成本里面。
对于不用CAN-BUS的汽车，有一大把不封装的塑胶铜线。车体温度高，塑胶容易老化，当塑胶出现破损，容易产生短路现象从而损坏车体线路。所以使用个一、两年以上的时候，不是这里就是那里出毛病，其实都是线路出问题，现在把这些线变成一根质量更好的线路了后，第一，打开车盖后，看起来更简约了；第二，总线的老化远比之前来得慢了很多，使用寿命提高了，当然成本会有一定提高，因为我们用到了局域网控制系统。
不难发现越高档的车里面的CAN-BUS越多，有两个、三个、四个，当然价位不一样。不要小看这个东西，其实它是一个模块组，里面有很多开关，零组件、接口，两个小模块之间要连接是通过总线的（和电脑里的总线设置形式差不多），所以传输快，故障率低。因此在选择车辆的时候，先问你这个车辆有没有CAN—BUS的设置，如果没有，保证它的科技、成本还达不到标准，因此还不能称之为好车。
二：在高空作业车上的应用
高空作业车由于控制的点比较分散，并且要求控制系统绝对的稳定可靠，实现精确的控制要求。主要控制动作有：下车调平、主臂的伸缩、主臂的变幅，曲臂的展收，回转，并能够实现自动展车、收车的功能等。CAN-BUS很好的满足了这些要求，在实际的运用中验证是切实可行的。
由于高空作业车具有地面转台和高空平台两个操作平台，两个平台都能对上车进行各种动作的控制。这里就有一个上下操作平台的工作人员的协调问题，例如操作的优先级、系统的冗余、动作的安全保证，如果用传统的电气控制，很难实现上下平台的通讯问题，CAN-BUS的运用很好的解决了这个问题：上下平台通过CAN-BUS通讯可以实现数据的共享，通过显示终端操作人员可以实时的了解到对方的操作情况，避免了以前那种完全依靠操作人员的经验和相互的协调程度，提高了系统的可靠安全性能，减少了人为因素的不利影响。
关于CAN-BUS总线诊断系统CAN是最新款大众、奥迪、SEAT和斯柯达汽车诊断通信的一种新方式。不同于以前使用K线诊断通信的ISO9141系统，新CAN总线系统比以前的ISO9141系统要快得多（500 kbps与10.4 kbps的区别）。运用CAN诊断必须要有新的硬件和软件。
诊断过程1．连接5053线至电脑。
2．发现新硬件，搜索驱动位置指向5053安装目录。
3．打开方向盘下面的储物盒，打开到最大角度，直到下不去了，用钥匙顶一下里面有个档片，这样盖子又能下来一定角度，注意用力要轻，免得档片断掉，断了我估计盖不上了吧。大可不必把整个盖子拆下来。
4．一头连接至CAN-BUS接口，一头连接电脑。
启动软件5．启动vag-5053软件，注意一定要将车和电脑连接才能启动软件，否则软件将无法启动。
6.进入“系统配置”，确认COM端口为USB，点击测试，确认状态正常，最后点击“保存”。
7．进入“选择控制模块”。
8．进入相应的模块，比如需要修改“中央便利系统”，选择“46”，再选择“07重新编码”，点击“长编码帮助”。提醒：操作前：请把原编码记下来，以后有问题可以改回来。
9．选择要打开的功能吧。建议一次改一个，一个个功能试。
10．选择完毕，点击Transfer Coding，最后点击“确定”保存新的编码。
新的功能
速腾可以通过5053线调出的一些功能。一键升窗先来解释一下“一键升窗”，原车在锁车后要一直按住摇控器锁键不能松手，没关的玻璃才会升到顶,按到中途松开遥控器玻璃窗就会停下来.现在更改编码后只要按一下键摇控的关门键玻璃窗就可以直接关上了。
注：可一键关闭所有的车窗，包括天窗。
1、 舒适系统零件号为1K0 959 433 AM
准备一条数据线，连上电脑，用5053软件进入到46，点击07单元，只要将
原来的编码:19D8 02（08） 7F2D 8405 484F 01E0 11A0
改成 19D8 02（48） 7F2D 8405 484F 01E0 11A0，拔掉钥匙，打开车窗，然后锁车，按住锁车键不放，直到玻璃启动，放开锁车键，车窗玻璃仍然上升。完成。
2、 舒适系统零件号 1K0 959 433 CA
备一条数据线，连上电脑，用5053软件进入到46，点击07单元，只要将
原编码为11900A000106（08）7F2D04840560084F01E0FCA0，
变更为 11900A000106（48）7F2D04840560084F01E0FCA0，拔掉钥匙，打开车窗，然后锁车，按住锁车键不放，直到玻璃启动，放开锁车键，车窗玻璃仍然上升。完成。
注意，只改动括号部分即可离家/回家功能用5053 进入 09中央电器控制单元 把长编码第一位改为A，就可以实现离家/回家功能 打开离家、回家模式：
5053： 9－7
有些高手反应：打开离家、回家模式感觉不好，白天大灯也亮，而且开大灯锁车不会报警打开拔钥匙自动解锁5053： 46－7
高人指点：打开拔钥匙自动解锁可以不通过5053，直接在大屏里自己设 电子怠速值 默认是128，改成130加装定速巡航1。将巡航手柄换上
2。用CANBUS进入发动机控制单元01－登陆11－输入11463
3。用CANBUS进入方向盘电器单元16－重新编码07－倒数第二位改成4
第二步好像是激活功能用的，所以也需要做。
在改代码前，还是先看一下原始代码吧，我的方向盘电器单元的编码是10012，倒数第二位是巡航功能编码，含义如下：
* 0xxxx?x: Board Computer / Cruise Control System (CCS) 板载电脑/巡航控制
0 = w/o Board Computer and w/o Cruise Control System (CCS) 无板载电脑 无巡航控制
1 = with Board Computer and w/o Cruise Control System (CCS) 有板载电脑 无巡航控制
2 = w/o Board Computer and with Cruise Control System (CCS) 无板载电脑 有巡航控制
4 = with Board Computer and with Cruise Control System (CCS) 有板载电脑 有巡航控制安全开门功能此功能表现为按一下遥控的开锁键仅打开司机旁的车门，连续按两次打开全车车门。配合15KM/H落锁功能可有效防止抢劫。
用5053软件进入到46-07单元
修改前的长编码
18D802487F2D8405484F01E011A0
修改后的编码
19D802487F2D8405484F01E011A0 
开启车门警告灯功能
一、四门分别换装上门灯；
二、先后进入四门控制单元，左前门地址42、右前门地址52、左后门地址62、右后门地址72；
三、每个门进入控制单元后，选择重新编码，在原数据基础上加64，如 0000180 加64后就是 0000244。其他三门以此类推。
加装原厂胎压监测功能
一、安装胎压监测线束和设定开关；
二、进入 03 ABS控制单元，选择重新编码，将原编码 0021121 改为 0004737 保存退出即启用ABS控制单元的胎压监测功能。
补充，根据pablozhang同学提供的信息，冠军版的比较特别---将原编码 0021122 改为 0004738 。（冠军的胎压监测编码是改成4738，千万不能是4737啊，我当时就是改了这个，结果ABS灯长亮，4S差点给偶换了个ABS泵，哈哈）下雨关窗这个好像要加个雨量感应器
要把下雨关窗更调出来，需要修改以下两个件组/模块的编码：
09-Cent. Elect. 里面的 RLS(Rain & Light Sensor)
46-Central Conv.
一、修改RLS编码
（以下操作一704.1版本为例说明，下同）
1、打开09模块；
2、选择07编码；
3、在下拉菜单选择RLS组件；
4、记下当前的编码。我的车编码为 00208933（十进制）；
5、把00208933转成十六进制，结果为33025；
6、把第一位即3加4，结果为73025（十六进制）；
7、把73025（十六进制）转成十进制，结果为471077;
8、把00471077替换00208933（不知道前面的零有没用，保守还是加上）；
9、保存；
二、修改46编码
1、打开09模块；
2、选择07编码；
3、把第10位改成02；从左边开始数，每2个数字为一位。如果有长编码(Long Code)辅助工具更好,就是Byte 9；
4、保存
加装前风挡玻璃清洗液报警系统
一、拆开前包围安装玻璃水罐液面传感器；
二、进入 17 组合仪表，选择重新编码，将原编码左数第三和第四位加上4，即**XX***中的XX加4，如：0017103，加上4后变成 0021103
即启用玻璃水罐液面报警，报警时仪表中屏的相应符号会点亮。
附：
1，CAN总线诊断系统适用于以下车型： 2005年以前所有VW、Audi Skoda,Seat系列车型；
2，必须要有CAN总线诊断系统才能诊断的车型：
所有高尔夫5 (A5平台)
2003年后 大众途安(1T底盘)
2004年后 高尔夫(1K底盘)
2004年后VW Caddy (2K底盘)
2004年后Seat Altea (5P底盘)
2004年后 斯柯达 欧雅(1Z底盘)
2005年后Seat Toledo (5P底盘)
2005年后 高尔夫Plus 长编码都是16进制的，A不是代表字母，而是十六进制的10，B\C\D\E\F,则分别代表11、12、13、14、15，将1改为A就是相当于十进制的将1改为10 5053线：
常说的5053线就是一个数据线，用来连接行车电脑和笔记本测试电脑的。在电脑上需要装上调试软件，这个在你买线的时候就有。