OBD落锁器工作原理 CAN总线控制

本文所说的OBD及OBDII都是指OBDII,后同。

目前有很多种OBD类产品,大部分都是通过CAN线来读取一些车身数据然后提供给手机端显示,也可以通过CAN线来控制车辆的开锁、关锁、升窗、双闪灯、天窗等,以实现各种不同的功能,如:OBD落锁器、OBD升窗器、OBD防盗器等等。

这里就来介绍下怎么实现OBD落锁器这个功能的,当然其他升窗器、防盗器也都是这同样的思路。

在一般人看来,OBD落锁器就是通过OBD来解锁行车电脑的隐藏功能,打开车辆本身的自带的功能;而在专业开发人员看来,这里面水很深,不是简单的靠ELM327就能搞定。

这里有三个难度:

1.获取OBD数据比较难:OBD数据分三种:CAN/SWC/J1850.OBD作为比较通用的接口类型,其实并不规范。首先外观不统一,大众车系的OBDII与丰田车系的OBDII外观差异明显;各车系OBDII里面定义的PIN脚基本没有标准,除了PIN16,PIN4,PIN5,PIN6,PIN14算是比较通用,其他引脚基本都是车厂自定义的。当然值得欣慰的是多数车的电源、地、CAN线位置都是固定的,大多数的OBD落锁器都是采用这四根线:12V,GND,CANH,CANL。也不排除有些车系比如通用汽车旗下的别克、雪佛兰是采用单线CAN/SWC,这就需要特别工具才能读取数据;J1850协议是采用PWM/VPW方式通信的,基本已经淘汰这里不考虑;

2.分析数据也难:对于普通的双线CAN或者单线CAN,有个合适的工具很有必要,但是对于一大堆的16进制数据,大部分数据其实是无关数据,也是要花不少时间来分拣出有用数据的。比如车门、车速、发动机转速、总里程、遥控器信号等都是必要的数据。

3.CAN控制数据难找:控制数据比如开锁、关锁、升窗、双闪之类的,数据就比较隐蔽了,不是容易得到的。一般有两种办法,一是暴力测试法,把所有抓到的数据返送回去,然后缩小范围;二是找专门的渠道,"借鉴"一些数据。没有专门的渠道的话,只能使用暴力测试法这种体力活。

----------------------------------------------------------------------------------

OBD落锁器功能分析:

功能如下:(这些功能都是通过CAN控制,插到OBD即可不需要接线)

1.车速落锁/D挡落锁:当车速大于20公里时,通过OBD的CAN总线控制落锁;部分车型没有车速信号则使用D档落锁;

2.P档解锁:当档位被推倒P档时,通过CAN控制开锁;

3.循环落锁:行车途中打开任意车门后,会重复落锁;

4.开门闪灯:打开任意一个车门后,通过CAN控制应急灯闪烁5次,间隔1秒闪一次;

5.急刹爆闪:车速大于40KM/H时,急踩刹车则快速闪烁应急灯,闪烁10次,间隔0.5秒闪一次;

6.倒车闪灯:当打到倒车档时,闪灯5次,间隔1秒闪一次;

7.可通过CAN总线读取原车各类信息数据,如:车门、车速、发动机、档位、刹车、方向盘角度、安全带是否扣好、四轮转速等等;

未完待续

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: STM32是一款微控制,具有CAN(控制局域网络)通信功能,可以用于获取汽车数据。 在汽车中,CAN总线是一种常见的通信协议,用于在车辆的不同电子控制单元(ECU)之间传输数据。STM32芯片作为一种嵌入式控制,具备CAN接口,可以与车辆的CAN总线进行通信,并获取到车辆中的各种数据。 通过STM32的CAN接口,我们可以访问和读取车辆中众多传感控制单元所采集的数据,例如发动机转速、车速、油门位置、刹车状态、转向角度等等。同时,还可以获取到诸如车门状态、车窗状态、车灯状态、空调控制等其他车内设备的数据。 获取到这些汽车数据后,我们可以通过对其进行处理和分析,实现车辆监控、诊断、控制等功能。例如,我们可以通过读取发动机转速和车速数据来计算燃油消耗量和行驶里程,通过读取刹车状态来实现智能制动控制,通过读取车门状态来实现自动落锁功能等。 总之,STM32具备CAN通信功能,可以与汽车的CAN总线进行通信,获取并处理车辆中的各种数据,从而实现对车辆的监控、控制和诊断等应用。这使得STM32成为汽车电子领域中一种重要的控制选择。 ### 回答2: STM32是意法半导体推出的一款高性能微控制,具有广泛的应用领域,包括汽车电子系统。CAN(Controller Area Network)是一种常用于汽车领域的通信协议,用于在车辆中的各个电子控制单元之间传输数据。 通过在STM32上集成CAN控制和相应的硬件接口,可以方便地获取汽车数据。CAN控制负责CAN协议的处理和通信任务,而STM32作为主控单元,通过CAN总线连接到车辆的各个电子控制模块,如发动机控制单元、刹车系统、防抱死系统等。 使用STM32获取汽车数据的过程如下: 1. 通过STM32的GPIO引脚和CAN总线进行连接,确保物理接口的正确连接。 2. 在STM32的固件中,配置CAN控制的工作模式、波特率等参数。 3. 启动CAN控制,使其能够接收和发送CAN数据帧。 4. 通过CAN总线发送针对特定电子控制模块的请求帧,以获取特定的汽车数据。 5. 接收相应的CAN数据帧,通过STM32的CAN控制进行解析和处理。 6. 根据获取的汽车数据,进行相应的控制和反馈操作,如显示驾驶信息、触发警告信号等。 通过STM32获取汽车数据具有以下优点: 1. 高性能:STM32具有较强的计算和处理能力,能够高效地处理复杂的汽车数据以及控制任务。 2. 可靠稳定:STM32采用低功耗、高稳定性、抗干扰等技术,能够在恶劣的车辆环境中稳定运行。 3. 灵活性:STM32可根据具体需求进行定制和扩展,支持多种通信接口和协议,适应不同的汽车系统。 总之,STM32作为一款先进的微控制,结合CAN总线通信技术,能够方便地获取汽车数据,为汽车电子系统的开发和应用提供了有效的工具和平台。 ### 回答3: STM32是一款功能强大的微控制,具有CAN总线通信接口,可以用于获取汽车的数据。 CAN(Controller Area Network)是一种广泛应用于汽车电子系统的通信总线标准,它通过在车内不同控制单元之间传输数据,实现车辆各个部件的协调工作。而STM32微控制的CAN接口能够与汽车的CAN总线进行通信,从而实现对汽车数据的获取。 通常,汽车的CAN总线上有很多传感和执行连接,这些设备可以向总线上发送数据,也可以从总线上接收数据。STM32作为总线上的一种设备,可以通过CAN接口与总线上的传感和执行进行通信,获得各种与汽车运行相关的数据。比如发动机转速、车速、油耗、水温等。 为了实现获取汽车数据,需要在STM32微控制中编写相应的软件程序。首先,需要配置CAN接口的参数,如波特率、帧格式等。然后,通过CAN接口发送查询命令给所需的传感或执行,请求相应的数据。接着,STM32通过CAN接口接收传感或执行返回的数据,并进行解析和处理。最后,将处理后的数据输出到相应的外部设备,如显示屏或储存中。 总之,借助STM32微控制的CAN接口,我们可以实现对汽车数据的获取。这不仅可以用于车辆监控和诊断,也可以用于其他汽车相关应用的开发,如智能驾驶、车载娱乐等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值