本文档描述的产品是车身控制器,汇总了产品的电气功能需求、产品性能需要、以及相关的法律法规要求。产品开发将依据本文档进行。
| BCM | Body Control Module |
| EEPROM | Non-Volatile Memory For Storing Coding And Balancing Data |
| ACC | Auxiliary (Ignition Pos 1) |
| IG1 | Ignition1 (Ignition Pos 2) |
| IG2 | Ignition2 (Ignition Pos 3) |
| KL.31 | Battery Negative |
| KL.30 | Battery Positive |
|
|
|
|
|
|
|
|
|
注: KL.30是功率信号,ACC, IG1, IG2是非功率信号。
参考文件
| 1 | XXXX |
| 2 | XXXX |
|
|
|
| 序号 | 功能名称 | 功能简述 |
| 1 | 外部灯光 | 左右转向灯,危险报警灯控制 |
| 近光灯、带我回家功能控制 | ||
| 远光灯控制 | ||
| 位置灯控制(分别控制保杠,尾门,前位置灯) | ||
| 白昼灯控制 | ||
| 前雾灯控制 | ||
| 后雾灯控制 | ||
| 刹车灯控制 | ||
| 2 | 内部灯光 | 内顶灯控制 |
| 钥匙孔照明灯控制 | ||
| 踏步灯功能控制 | ||
| 3 | 雨刮洗涤系统 | 前雨刮控制 |
| 4 | 锁系统 | RKE遥控解闭锁 |
| 拔出钥匙自动解锁 | ||
| 车速自动闭锁 | ||
| 碰撞解锁 | ||
| 5 | RKE功能 | 遥控解闭锁 |
| 6 | 防盗报警系统 | 防盗报警功能 |
| 7 | 辅助功能 | 除霜功能 |
| 电动车窗使能功能 | ||
| 点火开关状态采集 | ||
| 手刹开关信号采集 |
| 功能配置名称 | 配置信号名称 | 配置的默认值 |
|
| 车速自动闭锁门配置 | Config.Lock.AutolockSpeedCfg | 0x1, 40km/h |
|
| 带我回家功能时间配置 | Config.FollowMeHomeTimeCfg | 0x1,30s |
|
| 锁热保护时间配置 | Config.LockThermalDelayCfg | 0x1,15s |
|
BCM的正常工作电压是9V-16V,按照平台制定的电压管理策略执行,分为五种状态:
| 正常 | 9-16V |
允许输出 |
| 高压 | 短暂的高于16V,大于40ms,但是440ms内又回到正常。 | |
| 低压 | 短暂的低于9V,大于40ms,但是80ms内又回到正常。 | |
| 过压 | 长久的高于16V, 大于440ms,没有回到正常。 | 关闭输出,系统电压恢复正常后输出恢复 |
| 欠压 | 长久的低于9V,大于80ms,没有回到正常。 |
CAN 网络工作电压范围7-17.5V,LIN 网络工作电压范围7-18V,DTC工作电压为8-16V
工作温度为-40~+80℃,存储温度-40 to 85°C,休眠电流小于3mA(@12.8V),按照XX平台的测试方式,定时精度+/-10%。
进入休眠状态的三个前提条件为:
其中功能满足休眠条件为:
BCM进入休眠状态前,关闭所有输出信号。进入休眠状态后,以下输入信号均可将BCM从休眠中唤醒。
BCM提供CAN线方式的诊断以方便BCM的维修。诊断部分需要实现以下的功能:
支持一路CAN总线作为网络上面的终端节点m,一路LIN总线作为网络主节点。
对于高边输出:
在On-stage时进行开路短路检测,一旦发现短路或者开路即有计数器计数,达到一定的数值即可以判断为真正的开路或者短路,并置相应的DTC。在Off-stage时进行短路到电源检测,一旦发现短路到电源即有计数器计数,达到一定的数值即可以判断为真正的短路到电源,并置相应的DTC。
对于SPI低边输出:
我们只需要通过读取其寄存器的诊断位信息来判断,在Off-stage时, 若诊断位为低, 则判断输出为开路, 同时有计数器计数,达到一定的数值即可以判断为真正的开路,并置相应的DTC. 在On-stage时, 若诊断位为高, 则判断输出为短路到电源, 同时有计数器计数,达到一定的数值即可以判断为真正的短路到电源,并置相应的DTC。
对于JAC M516车型,BCM提供RKE功能。
BCM模块本身包含RKE模块,使用的无线频率是433.92MHz±100kHz,RKE共2个按键,包括三门解锁功能,三门上锁功能,以及尾门解锁功能。
RKE通过诊断的方式进行匹配,具体配钥匙的如图1所示。当等待第一把钥匙学习的时候,右侧转向灯常亮,等待第二把钥匙学习的时候,左侧转向灯常亮,学习成功,两侧转向灯灭。通过诊断结束命令或者定时时间到,退出学习状态,RKE匹配结束。
备注:
遥控距离保证20米,先按照没有外部天线的方式开发,实车测试达不到要求的距离需要增加外部天线。

M516安全气囊展开信号为硬线PWM信号,信号周期240ms,ACU在ON档之后发送硬线信号。
当未发生碰撞(正常模式)时:200ms±10%高电平,40ms±10%低电平;当发生碰撞输出反向PWM信号:200ms±10%低电平,40ms±10%高电平,总共20±10%个有效高电平脉冲,之后恢复正常模式脉冲。
ACU的PWM碰撞反向信号输出为异步触发,即不考虑在碰撞之前是高或者低电平,都在碰撞发生的时刻先起始输出一个持续200ms低电平,具体描述如图2所述:

图2 碰撞信号详细图解
外部灯光组合开关接线如图3所示:

图3 外部灯光组合开关接线图
转向灯主要由左转向灯、右转向灯、左转向指示灯、右转向指示灯组成。转向灯在工作时以每分钟85±10次的频率闪烁。点亮和熄灭的时间相同。左转向指示灯和右转向指示灯通过CAN网络发送给仪表。
转向灯和危险报警灯输入信号见表1:
| 序号 | 描述 | 输入/输出 | 类型 | 有效值(接通时) | 湿电流 |
| 1 | ACC | 输入 | 自锁开关 | KL30 | 10mA |
| 2 | IG1 | 输入 | 自锁开关 | KL30 | 10mA |
| 3 | IG2 | 输入 | 自锁开关 | KL30 | 10mA |
| 4 | 左转向灯开关 | 输入 | 自锁开关 | KL31 | 10mA |
| 5 | 右转向灯开关 | 输入 | 自锁开关 | KL31 | 10mA |
| 6 | 危险报警灯开关 | 输入 | 自锁开关 | KL31 | 10mA |
| 7 | 碰撞信号 | 输入 | 脉冲信号 |
|
|
| 8 | 位置灯开关 | 输入 | 自锁开关 | GND | 10mA |
表1 转向灯相关输入信号
备注:
1.湿电流:英文原文为Wet Current,是指开关需要通过的,维持一定的电流清理开关触头表面的尘垢和腐蚀,以保持触头状态良好的电流的最小值称为湿润电流,这个电流对金属表面的氧化起阻止作用,防止开关失效,目前江淮定义除了雨刮归位开关是40mA,其它都是10mA。
2.关于碰撞信号请参见2.1.11碰撞信号一节。
转向灯和危险报警灯输出信号见表2:
| 序号 | 描述 | 输入/出 | 类型 | 有效值 | 额定驱动能力 |
| 1 | 左转向灯 | 输出 | 高边输出 | KL30 | 2*21W |
| 2 | 右转向灯 | 输出 | 高边输出 | KL30 | 2*21W |
| 3 | 左转向指示灯 | 输出 | CAN信号 | DirIndicationLeft
| 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
| 4 | 右转向指示灯 | 输出 | CAN信号 | DirIndicationRight | 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
| 5 | 左转向灯开关状态 | 输出 | CAN信号 | LeftTurnSwitch
| 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
| 6 | 右转向灯开关状态 | 输出 | CAN信号 | RightTurnSwitch
| 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
| 7 | 危险报警开关指示灯 | 输出 | 高边输出 | KL30 | 1.2W,LED |
表2 转向灯相关输出信
功能概述:
7) 点火锁开关在ON时,转向灯和警示灯工作优先级为后操作优先,具体说明如下:如果转向灯在工作状态,打开报警灯开关,那么报警灯工作取代转向灯的工作,直到报警灯开关被关闭,系统才回到转向灯工作状态;如果报警灯在工作状态,将转向灯拨到左或右,那么转向灯工作取代报警灯的工作,直到转向灯输出关闭或者点火状态从ON变为OFF,系统才回到报警灯工作状态。
8) 如果接收到碰撞信号,那么所有的灯工作在报警灯状态下至少5秒钟,5秒钟后再次按下报警灯开关,将能关掉报警灯闪烁,这样为了防止由于碰撞而使报警灯开关被按下,如未按下危险报警灯开关,当检测到点火开关由ON-OFF-ON;碰撞解除,警示灯恢复正常工作。
9) 当转向灯由于对地短路或者过载而上报故障时,短路状态将通过相关DTC记录到memory中,并且立即关断该侧转向灯高边驱动芯片,组合仪表上转向指示灯也停止,如果在本次点火循环过程中转向灯再次被开启也不执行对应操作,必须重新启动一次点火循环,输出才能恢复正常。
10) 当工作于转向灯工作模式时,某侧转向灯由于开路或者对电源短路而上报故障时,开路状态将通过相关DTC记录到memory中,并且该侧转向灯以双倍频率(170±20次/min)闪烁,组合仪表转向指示灯也以双倍频率闪烁。当点火钥匙从ON转到OFF/ACC,再从OFF/ACC到ON,输出恢复正常,或者在本次点火循环中,当开路故障排除时也可以恢复正常频率闪烁。
注:在危险报警灯工作状态,检测到转向灯故障时,闪烁频率不改变。

图4 左右转向灯/危险警报灯时序图
注:标红色部分为碰撞信号发生后超过5S才能关闭报警灯信号。
近光灯输入信号见下表3。
| 序号 | 描述 | 输入/出 | 类型 | 有效值(接通时) | 湿电流 |
| 1 | ACC | 输入 | 自锁开关 | KL30 | 10mA |
| 2 | IG1 | 输入 | 自锁开关 | KL30 | 10mA |
| 3 | IG2 | 输入 | 自锁开关 | KL30 | 10mA |
| 4 | 近光灯开关 | 输入 | 自锁开关 | KL31 | 10mA |
| 5 | 大灯开关 | 输入 | 自锁开关 | KL31 |
|
| 6 | 远光灯开关 | 输入 | 自锁信号 | KL31 |
|
表3 近光灯输入信号
近光灯输出信号如表4所示。
| 序号 | 描述 | 输入/出 | 类型 | 有效值 | 额定驱动能力 |
| 1 | 近光灯输出 | 输出 | 低边驱动 | KL31 | 180mA |
| 2 | 近光灯指示信号 | 输出 | CAN信号 | HeadLampLowBeamCtrl
| 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
表4 近光灯输出信号
前照近光灯开关机械结构为,当转到近光灯时,位置灯开关接通。
近光灯点亮条件为:
近光灯功能关闭条件:
远光灯输入由表5所示,
| 序号 | 描述 | 输入/输出 | 类型 | 有效值(接通时) | 湿电流 |
| 1 | ACC | 输入 | 自锁开关 | KL30 | 10mA |
| 2 | IG1 | 输入 | 自锁开关 | KL30 | 10mA |
| 3 | IG2 | 输入 | 自锁开关 | KL30 | 10mA |
| 4 | 远光开关 | 输入 | 自锁开关 | KL31 | 10mA |
| 5 | 大灯开关 | 输入 | 自锁开关 | KL31 | 180mA |
表5 远光灯输入信号
| 序号 | 描述 | 输入/出 | 类型 | 有效值 | 额定驱动能力 |
| 1 | 远光灯输出 | 输出 | 低边驱动 | KL31 | 180mA |
| 2 | 远光灯指示信号 | 输出 | CAN | HeadLampHighBeamCtrl
| 0x0: OFF 0x1: ON Initial Value:0x0 Default Value:0x0 Error Value NA |
表6 远光灯输出信号
远光灯功能描述如下:
其他详见《车身控制器BCM系统功能规范》
车身控制器BCM系统功能规范
https://download.csdn.net/download/ChrisKKC/85360507
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
在我的Character模型中,我添加了:字符.rbbefore_savedoself.profile_picture_url=asset_path('icon.png')end但是,对于数据库中已存在的所有角色,它们的profile_picture_url为nil。因此,我想进入控制台并遍历所有这些并进行设置。在我试过的控制台中:Character.find_eachdo|c|c.profile_picture_url=asset_path('icon.png')end但这给出了错误:NoMethodError:undefinedmethod`asset_path'formain:O
因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实