切换到宽版
  • 35643阅读
  • 103回复

用单片机DIY森林人彩屏车机的红外方控(适用于各种车、车机和单片机的通用方案) [复制链接]

上一主题 下一主题
离线hongo
 

发帖
51585
M币
145158
专家
271
粉丝
15149
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2015-07-22
— 本帖被 發騷友 从 汽车拆客 移动到本区(2016-04-13) —
这个DIY是给没有方向盘按钮/游丝或者按钮/游丝不合适的车上使用斯巴鲁森林人车机时加上方向盘遥控。它不仅适用于森林人车机,而且原则上也适合几乎所有的车机,因为为了简化方向盘游丝连线,各种车机的方控基本都是用电阻分压原理而不是用矩阵键盘来控制的,只需要按照不同车机的标准方控电阻值改变DIY电路中的电阻大小就可以了。另外如果是车机改成台机在家里使用的话,也可以用这种方法给它加个红外遥控器。


故事的开始是这样的:去年斯巴鲁森林人的原装彩屏CD车机很火,因为它的尺寸很接近标准双锭2DIN(只是面板略宽一点,与有些丰田车的尺寸一样,如果在标准双锭的车上安装的话只需要稍微扩宽一点车机安装口就行),可以很容易用来替换升级老车上的双锭音响,从而实现USB、蓝牙、倒车视频等等新功能,而且该机的音质也很好,所以在拆机车机市场该机被炒到了300元以上,远远高于其他的二手拆机车机。







该机系出名门品质确实不错,功能齐全音质出色,而且还有倒车影像。不过该机有一个重大的问题,就是它的蓝牙电话和声控拨号等功能只能通过方向盘遥控接口才能设置和使用,无法通过机身上的按钮来控制。升级换装了该机的老车很多要么方向盘上根本就没有方控按钮和游丝,要么游丝不合适(需要至少3条多余的游丝导线)而无法改装森林人彩屏车机的方控,所以不仅音量和选曲不能方便地在方向盘上控制,而且更重要的蓝牙电话也完全无法使用。

所以这就有了一个DIY加装方控的问题。该机的原厂方控原理其实是很简单的,如下图所示:




它的原理是,车机的主控CPU通过探测两根遥控线上对地的分压来判断哪一个方控按钮被按下,而具体的实现则非常简单,两条方控线SR1+和SR2+接到方向盘的按钮上,分别通过0欧(短路)、330欧、1000欧和3110欧的电阻接地(SR-),在车机内部方控线上则有上拉电阻,方向盘上不同的电阻与上拉电阻产生不同的分压,于是CPU就知道是哪个方向盘按钮被按下了。


因此DIY方控理论上也很简单,只要照上面的电路图用几个按钮和电阻就行了。但是问题在于如果换装森林人彩屏车机的车方向盘没有合适的方控游丝,那么就没有办法把SR方控信号接到方向盘上,那就只能DIY几个按钮拉线到车身的某些部位做固定有线遥控,比如有人这样做,粘在方向柱上:




还有人用这样的创意,悬吊在中控台上:




还能做得更雷人一点吗?


直到有一天有个天才的家伙在万能的x宝上发现了这个东西:



方向盘红外遥控器!这是一个专为方向盘设计的红外遥控器,可以方便地直接安装在方向盘上,前面有9个按钮,其中SET是学习键,没有发射红外遥控信号的功能,遥控器背后还有两个按钮一般用于音量控制,和很多车的原配方控一样:






这个方向盘遥控器是学习型的,可以随意学习别的遥控器的信号,从而适应任何红外遥控系统。它原本是设计用来给自带红外遥控的车机以及外加式的MP3播放器用的。但是有了这个利器,我们就能借用它能直接安装在方向盘上的特点DIY出很专业很美观的红外方控了,理论上只需要做一个红外线遥控信号到车机电阻分压信号之间的接口电路就能用这个方向盘遥控器控制森林人彩屏车机,最直接的想法就是用红外遥控信号驱动继电器来控制那几个方控电阻。

于是这就产生了汽车之家的这篇文章http://club.autohome.com.cn/bbs/thread-c-109-17231782-1.html,作者用4块从x宝购买的成品二通道红外遥控接收板加几个电阻和三极管构成一个红外方向盘遥控,他考虑用三极管做切换开关代替继电器省电而且寿命长可靠性高:



这个方案可以用,但是除了一共需要4块遥控接收板的缺点之外还有一个最大的缺点是由于使用了双极型的三极管高位控制(电阻接地而三极管在电阻之上),双极型三极管在完全导通时仍然有很明显的CE极饱和压降,至少0.2~0.3V,相当于有一个明显的等效导通内阻,等效内阻的大小与车机CPU方控检测电流大小有关,车机CPU方控检测电流越小该导通压降引起的等效电阻就越大,这个饱和压降产生的等效内阻足以影响靠分压比来工作的森林人车机CPU对按钮的判断。而且高位控制的话三极管很难饱和,特别是很多单片机的I/O口拉电流只有几百微安,以电流驱动的双极型三极管在不饱和未完全导通的情况下其CE极压降更大,引入的等效电阻误差更大,而且这个误差和每个三极管自身的性质以及工作状态有关,不是统一固定的,无法事先预测和计算。所以汽车之家原帖主也说他的方法根本不能用标准电路图里的电阻值,必须每一个键的遥控功能都要现场试验来试出合适的电阻,他是用一个可变电阻代替控制电阻通过不断尝试调整到需要的功能键被CPU识别,然后测出可变电阻的阻值再换成同样大小的固定电阻。因此这个方案成本高、可靠性低、调试过程也非常麻烦。

在此方案的基础上有人试验成功的非常简单的改进型方案是直接用AVR等I/O具有高阻态的单片机I/O端拉低方控电阻的电平,相当于接地,如此来产生必要的分压实现方控。这种方法非常简单,但是可行性和单片机中具体的I/O电路实现有关,有的单片机用这种方法可以正常工作有的则可能不行。因为不同的单片机在拉低I/O和升高电平时结果不一样,有的单片机拉低时电平并不完全等于0,这时也是相当于有一个等效内阻串联在方控电阻上,会引起车机CPU的误判。不仅如此,而且很多单片机的I/O也没有高阻态,所以也可能在升高电平的时候会因为从单片机带来的电压而对车机CPU的方控产生误判的影响。

基于这些问题的分析,我的DIY方案中是用单片机负责红外遥控的接收解码,然后驱动8只MOSFET场效应管在低位控制作为模拟开关接通和断开方控电阻。因为低位控制(场管直接接地,电阻接在场管上面直接接方控线)可以保证场管饱和,而MOSFET场管是电压控制器件,需要的驱动电流极小,即使只有几百微安的单片机IO口的拉电流也足以使其可靠地饱和导通。最关键的是MOSFET和双极型三极管相比其饱和导通电阻极小,一般是毫欧级的,导通压降基本为0,所以用MOSFET来作为电阻切换开关不会引入额外的等效电阻而影响车机CPU对方控功能键的判断,无论车机CPU的检测电流是多少都没有关系,从而就可以直接用森林人车机原厂电路中的的标准方控电阻,不需要反复试验调试,简单方便多了。而MOSFET的漏极只接方控线,跟DIY的电路完全无关,在无方控键操作时它处于关断的高阻状态(兆欧量级的),从而不会从DIY的遥控电路带来任何电压给车机CPU影响方控的工作。所以这个方案是通用方案,原则上可以适用于任何单片机和用电阻分压方控的车机。

下面是我DIY红外遥控接口到车机方控接口电路的具体电路图,纯手工绘制哦:



单片机用的是老掉牙的大路货STC89C52,因为手头正好还有很多这货。任何有10个以上I/O口的单片机原则上都可以用。红外接收头的信号从89C52的P3.2口输入,红外接收头就是最常见的那种3脚的一体化接收头,我用的是没有金属屏蔽罩的那种,安装在车上更隐蔽美观一些:




这个电路的工作原理是:红外信号解码判断后通过P3的8个I/O口输出控制信号控制8只MOSFET场效应管接通合适的方控电阻通过REM1和REM2连接方控线向车机发送控制信号。单片机1脚的LED是指示用的,开机LED亮,收到红外信号时闪烁。2脚接的是无源蜂鸣器,当收到有效红外信号时会发出哔声。LED和蜂鸣器只起指示作用,都可以省掉不要。

电路中的MOSFET用任何N沟道增强型的场效应管都可以,最便宜的2N7000就行,几分钱一个。我买了一些2N7000,不过最后实际用的是手边从报废的老硬盘上拆下的FDS6912贴片双MOSFET管,体积小,一片可以同时控制两路电阻。




精彩内容在楼下继续。




[ 此帖被hongo在2015-07-28 00:18重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共46条打赏M币+173专家+1
离线hongo

发帖
51585
M币
145158
专家
271
粉丝
15149
只看该作者 1楼 发表于: 2015-07-22
在编程时我本来打算先用下面这种最常见的山寨红外遥控器来设计程序,因为这种是以前玩的最多的,程序直接拷过来就行了。电路做好编程完成后再用那个学习型的方向盘遥控器来学习这个山寨MP3遥控器的信号,这样编程简单,省事。



结果拿到方向盘遥控器以后实际测试时发现,那个学习型的方向盘遥控器在没有学习任何信号时本身就已经有出厂的缺省的红外信号了,而且用示波器稍微一分析发现它缺省的红外信号的时序和编码方法、格式和上面那种山寨红外遥控器的完全一样!都是标准的NEC红外编码格式,引导码4.5ms低电平9ms高电平,信号编码0.45ms低0.45高表示0,0.45ms低1.35ms高表示1,而且连设备码都是0x00,后面是设备码反码,后两个字节是遥控码和其反码。真是得来全不非功夫,地球山寨是一家,都用同样的码,不用学习了,这种新的方向盘遥控器直接拿来就能用以前的程序,而且不学习也不用担心电池掉电记忆的学习码丢失而需要重新学习的问题,完美的省事方案!




该红外遥控电路的电源电压是5V,用车上的12V电压的话需要加个12V->5V的降压,可以用DC-DC开关降压电路也可以用线性稳压。我是直接用个78L05三端稳压,接在通往点烟器的线上取电。这个遥控电路耗电很小,不到10mA,所以不用担心降压电路的效率和散热的问题。

电路图里面的RX和TX接出来除了用来做ISP在线烧写程序之外,还会在收到红外遥控信号时发送解码后的红外信号代码,把它接上上位电脑设置成9600的波特率,设置成一个开始位8个数据位一个停止位的方式打开数据终端软件就能看到单片机收到的红外信号的代码,对于调试十分方便。发送的代码包括4个字节,前两个是设备码,互为反码作为验证,后两个字节是遥控码,也是互为反码作为校验。这个电路接上电脑读出方向盘遥控器上每一个按钮的红外信号码,就可以放到程序里完成最终的编程了,非常简便。




为方便网友参考,我的程序清单列在下面,也上传了编译好的HEX文件。程序其实可以简化很多,我加了一些验证信号有效性防止误码的语句,纯粹是强迫症的结果,实际上误码率很低,并不是必要的。。。。。。在程序中遥控器的左右方向键用来控制前后选曲,前面和背面的上下方向都用来控制音量增减,POWER用来选择模式MODE,播放键控制声控TALK,另外两个键则分别控制摘机OFF HOOK和挂机ON HOOK,正好把方向盘遥控器上所有的10个键都用上,而且所有的方控功能都支持。


  1. #include <reg52.h>
  2. #include <stdio.h>
  3. #define DeviceID 0x00
  4. #define Key_up 0x12
  5. #define Key_down 0x54
  6. #define Key_left 0x19
  7. #define Key_right 0x16
  8. #define Key_play 0x59
  9. #define Key_band 0x55
  10. #define Key_source 0x18
  11. #define Key_power 0x40
  12. #define Key_plus 0x0A
  13. #define Key_minus 0x13
  14. sbit IR_In = P3^2;        
  15. sbit LED = P1^0;        
  16. sbit Beep_Out = P1^1;        
  17. sbit Out_seek_up = P2^0;
  18. sbit Out_seek_down = P2^1;
  19. sbit Out_vol_up = P2^2;
  20. sbit Out_vol_down = P2^3;
  21. sbit Out_mode = P2^4;
  22. sbit Out_on_hook = P2^5;
  23. sbit Out_off_hook = P2^6;
  24. sbit Out_talk = P2^7;
  25. unsigned char IR_int_count = 0;
  26. unsigned char BitNum = 0;        
  27. unsigned char StartFlag = 0;        
  28. unsigned char LeadFlag = 0;            
  29. unsigned char FinishFlag = 0;        
  30. unsigned char DecodeGood = 0;        
  31. unsigned char BitValue[32] = {0};    
  32. unsigned char Code[4];                    
  33. void UART_Init();
  34. void timer0Init();
  35. void int0Init();
  36. void ProcessCode();
  37. void DelayUs(unsigned int Us);
  38. void DelayMs(unsigned int Ms);
  39. void Beep();
  40. void main()
  41. {
  42.   Beep();
  43.   UART_Init();
  44.   timer0Init();
  45.   int0Init();
  46.   while(1)
  47.   {
  48.         P2=0x00;            
  49.         LED = 0;        
  50.         Beep_Out = 1;    
  51.         if(FinishFlag == 1)
  52.             ProcessCode();
  53.   }
  54. }
  55. void UART_Init()
  56. {
  57.   SCON = 0x50;
  58.   TMOD |= 0x20;
  59.   TH1 = 0xFD;  
  60.   TL1 = 0xFA;
  61.   TR1 = 1;
  62.   ES = 0;  
  63. }
  64. void IR_int() interrupt 0    
  65. {
  66.     LED = 1;        
  67.     if(FinishFlag==1)        
  68.     {
  69.         StartFlag = 0;        
  70.         return;
  71.     }
  72.     if(StartFlag == 0)    
  73.     {
  74.         DelayMs(8);        
  75.         if(IR_In)            
  76.             return;
  77.         StartFlag = 1;            
  78.         while(!IR_In);        
  79.         IR_int_count = 0;    
  80.         LeadFlag = 0;                
  81.         return;
  82.     }
  83. if(LeadFlag == 0)
  84. {
  85.     if(IR_int_count < 15)                    
  86.         StartFlag = 0;
  87.     else if(IR_int_count > 20)        
  88.         StartFlag = 0;
  89.     else                                                    
  90.     {
  91.         LeadFlag = 1;                
  92.         IR_int_count = 0;        
  93.         BitNum = 0;                    
  94.     }
  95.     return;
  96. }
  97.   if(IR_int_count > 10)        
  98.         StartFlag = 0;                
  99.     BitValue[BitNum] = IR_int_count;    
  100.     IR_int_count = 0;                                    
  101.     BitNum++;                                                    
  102.     if(BitNum == 32)                                    
  103.     {
  104.         StartFlag = 0;                                    
  105.         FinishFlag = 1;                                    
  106.     }
  107. }
  108. void ProcessCode()
  109. {
  110.     unsigned char i,j;
  111.     LED=1;
  112.     for(i=0; i<4; i++)                            
  113.     {
  114.         for(j=0; j<8; j++)                        
  115.         {
  116.             Code[i] >>= 1;                            
  117.             if(BitValue[(i*8+j)] > 6)        
  118.                 Code[i] |= 0x80;                    
  119.         }  
  120.         SBUF = Code[i];                            
  121.         while(TI == 0);                            
  122.         TI = 0;                                            
  123.     }
  124.     if(Code[0] == ~Code[1] && Code[2] == ~Code[3] && Code[0] == DeviceID)          
  125.      {    
  126.             switch(Code[2])                    
  127.             {
  128.                 case Key_up:
  129.                     Out_vol_up = 1;
  130.                     break;
  131.                 case Key_down:
  132.                     Out_vol_down = 1;                    
  133.                     break;
  134.                 case Key_plus:
  135.                     Out_vol_up = 1;
  136.                     break;
  137.                 case Key_minus:
  138.                     Out_vol_down = 1;                  
  139.                     break;
  140.                 case Key_left:
  141.                     Out_seek_down = 1;
  142.                     break;
  143.                 case Key_right:
  144.                     Out_seek_up = 1;
  145.                     break;
  146.                 case Key_play:
  147.                     Out_talk=1;
  148.                     break;
  149.                 case Key_band:
  150.                     Out_on_hook = 1;
  151.                     break;
  152.                 case Key_source:
  153.                     Out_off_hook = 1;
  154.                     break;
  155.                 case Key_power:
  156.                     Out_mode = 1;
  157.                     break;
  158.          }  
  159.         Beep();
  160.     }
  161.     FinishFlag = 0;        
  162. }
  163. void DelayUs(unsigned int Us)        
  164. {
  165.     unsigned int x;
  166.     for(x=0;x<Us/200;x++);
  167. }
  168. void DelayMs(unsigned int Ms)        
  169. {
  170.     unsigned int x,y;
  171.     for(x=0;x<Ms;x++)
  172.         for(y=0;y<120;y++);
  173. }
  174. void Beep()            
  175. {
  176.     unsigned int x;
  177.     for(x=0;x<300;x++)
  178.     {
  179.         DelayUs(500);
  180.         Beep_Out = !Beep_Out;
  181.     }
  182. }
  183. void timer0() interrupt 1            
  184. {
  185.   IR_int_count++;  
  186. }
  187. void timer0Init()            
  188. {
  189.   TMOD &=0xf0;            
  190.   TMOD |= 0x02;            
  191.   TH0 = 0x00;
  192.   TL0 = 0x00;        
  193.    ET0 = 1;          
  194.    EA= 1;              
  195.    TR0 = 1;          
  196. }
  197. void int0Init()
  198. {
  199.   IT0 = 1;        
  200.   EX0 = 1;          
  201.   EA = 1;            
  202. }






[ 此帖被hongo在2015-07-27 08:24重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共32条打赏M币+128专家+1
离线hongo

发帖
51585
M币
145158
专家
271
粉丝
15149
只看该作者 2楼 发表于: 2015-07-22
因为电路很简单,所以直接用洞洞板做的:




MOSFET场管用的是拆机的FDS6912贴片,所以场管都焊在背面,焊得很乱,就不拿出来吓人了。。。


最后,它还需要一个外壳才能安到车里。我这里是用电脑里硬盘空位的假硬盘来做的,切成两半,其中一半把两边去掉,这样就组成一个盒子了,大小正好合适:











电路板的引出线一共有8根(电源2根,红外接收头3根,方控线3根),正好用RJ45网线插头/座,便宜方便可靠,而且还可以用网线插座上自带的LED接到电路的指示LED上做状态显示,盖上盒子后从外面也能方便地看到工作状态:





调试安装很简单:

1. 焊好电路,检查无误后串口信号线连接电脑,接5V电源把程序烧进去。这时蜂鸣器会发出哔的一声,同时P1.0口上的LED指示灯应该亮起来。

2.退出STC-ISP烧写程序,打开串口终端软件,我这里用的是RealTerm,设置好通讯速率等,然后用遥控器对准遥控电路随便按一个按钮,遥控电路的指示LED会闪烁,蜂鸣器发出哔的一声,串口终端里会显示出这个遥控按钮的4个字节的红外码(这里显示的是二进制模式),说明电路和程序都工作正常。在不清楚遥控器编码的时候也可以用它来读出遥控器每个键的编码,然后写到程序里去:




3. 把程序中Beep子程序里的延时语句DelayUs(500)改成DelayUs(30000),重新编译烧进单片机。把两条方控线的任一条接数字万用表的红表笔,黑表笔接地,打到20k欧的电阻档。接通遥控电路的5V电源,此时万用表读书应该由无穷大突然瞬间跳低然后立即回到无穷大,这是因为单片机复位时会自动把I/O端口设成缺省的高电平,程序执行后才会变成低电平。随便按方向盘红外遥控器上与两条方控线相对应的每一个按键,原来短暂的哔声会变成连续的“哒哒”声,持续9秒钟,在这9秒的哒哒”声期间万用表的读数应该由无穷大立即变成该键对应的控制电阻值:0欧、330欧、1000欧或者3110欧,然后“哒哒”声结束后会回到无穷大:



如果万用表的读数不对的话要检查MOSFET场管和电阻部分是否有焊接错误,有没有场管是坏的等等。至此,离线测试完成,可以上车安装了。

4. 下一步就是安装到车上了,先把上面的DelayUs语句改回去重新烧写进正常的非测试程序。然后拆下车机,在中控台里面找个合适的空位置把DIY的遥控板固定好,可以用螺丝固定也可以用尼龙绑线固定,我是用胶粘的,外面的胶带主要为胶固化时做固定,同时也有加强的作用:




把电源线、车机遥控信号线用插头/座接出来,REM1和REM2连接到车机对应的接口上,就是下面图中主尾线J601接口的第4脚S.R1(+)、第13脚S.R2(+),尾线的第14脚S.R(-)则直接接地。









红外接收头焊好延长线接出来,用热缩管套好,然后固定在能方便接收到方向盘红外遥控器信号而且比较隐蔽的地方,我是放在中控台和方向柱交界处,不仔细看基本看不出来它的存在:




5. 接通车机和遥控板电源,打开车机,测试每个按钮的功能,应该都能正常遥控。这是开启蓝牙电话设置功能后车机的画面,只有用方控才能调出这个菜单:





6. 最后把遥控器安装固定在方向盘上。




为了得到最好的信号,可以把遥控器底部的透明罩打开,把红外LED掰到合适的位置和方向,对准红外接收头,把遥控信号调整到各个角度最好:








[ 此帖被hongo在2015-07-24 22:10重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共30条打赏M币+133专家+1
离线hongo

发帖
51585
M币
145158
专家
271
粉丝
15149
只看该作者 3楼 发表于: 2015-07-22
至此,DIY方向盘红外遥控全部完成。

关于声控蓝牙电话的具体使用方法网上有说明,基本过程是:按遥控器上的摘机或者通话键后车机即显示蓝牙电话菜单,用车机面板右边的旋钮选择设定电话蓝牙,这时会提示说出名字,对着车机的外接麦克风随便说名字然后确认。车机马上会显示蓝牙配对用的密码,我的森林人车机上好像总是1234不是随机的,把手机用车机上显示的设备名和密码配对就行了。配对完成后每次打开车机都会自动寻找已配对的手机并自动连接不需要重新手动配对。

有电话打进来时,车机会自动停止播放并发出振铃声,此时按方向盘遥控器上的摘机键就能通话,按挂机键停止通话。通过话的电话号码可以方便地存在车机上并训练它声控这个号码,方法是按方向盘遥控器上的通话键(TALK),车机出现菜单后,选择添加电话号码,里面选历史号码,找到通话过的号码后按车机上的确认键,此时车机会显示Listening,以正常发音对准车机外接麦克风说出这个电话的名字按确认就可以了。以后再主动呼叫打电话时,只需要按遥控上的通话键,说出前面训练的那个名字,车机就能自动找到对应的电话号码,然后按遥控器上的摘机键就能自动拨通该号码通话了,非常方便!

因为是红外线遥控,所以会受方向性的影响,方向盘转动到某些位置时可能会收不到红外信号,这是这个方案的一个缺点。不过红外接收头的实际灵敏度很高,遥控器离接收头又非常近,车内反射的红外光也能正常动作,所以接收不到红外遥控信号的区域并不大,还不到方向盘的三分之一圈。而且方向盘偏离中心较多时车辆都是在转弯过程中,为了安全此时应该集中精力开车,即使方控仍然起作用也不建议操作方控,应该等方向盘回中以后再操作。所以这个缺点在实际使用中影响并不大。

为方便参考,下面是网上找到的斯巴鲁原版中文说明书(非常烂的中文翻译)中关于蓝牙部分的扫描照片:








[ 此帖被hongo在2015-07-24 22:16重新编辑 ]
本帖最近打赏记录:共20条打赏M币+71
12
离线双响炮

发帖
25174
M币
22150
专家
2
粉丝
196
只看该作者 4楼 发表于: 2015-07-22
看着挺不错的
本帖最近打赏记录:共1条打赏M币+3
离线zangzj

发帖
11652
M币
23237
专家
141
粉丝
388
只看该作者 5楼 发表于: 2015-07-22
相当有水平。
离线xuyaz

发帖
26215
M币
4886
专家
126
粉丝
251
只看该作者 6楼 发表于: 2015-07-22
思路不错,具体制作就各使各的招了。
离线samhrc

发帖
6471
M币
16944
专家
46
粉丝
136
只看该作者 7楼 发表于: 2015-07-23
请教高手一个问题:

CAN线在大多数车机上都起的什么作用?为什么几乎所有的改装都不接这个,即使接上这两根线并不费事。如果我把CAN线也给它接上了,会有什么后果?


我这个问丰田SSSS,答复是对车机防盗(解锁)用和发出行车电脑的警报提示音用。也可能只有丰田车是这样的。
离线hongo

发帖
51585
M币
145158
专家
271
粉丝
15149
只看该作者 8楼 发表于: 2015-07-23
回 samhrc 的帖子
samhrc:请教高手一个问题:
CAN线在大多数车机上都起的什么作用?为什么几乎所有的改装都不接这个,即使接上这两根线并不费事。如果我把CAN线也给它接上了,会有什么后果?
....... (2015-07-23 01:04) 回 samhrc 的帖子

CAN是一种总线通讯协议,对车机的作用是支持防盗、自动根据车速调整音量等需要车机之外信息支持的功能。改装机不接这个是因为不是配套机的话接上没有用,报文ID不对的话是不理的。你接上这两根线,如果车机和车载电脑不是配套的,那么它们互相听不懂对方的数据,所以不会起什么作用。
本帖最近打赏记录:共4条打赏M币+11
离线潜隆

发帖
53430
M币
111438
专家
861
粉丝
869
只看该作者 9楼 发表于: 2015-07-23
做个遥控器方便多了。
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个