×

MRK CAN屏蔽Arduino

消耗积分:2 | 格式:zip | 大小:0.07 MB | 2022-07-04

绝代双骄

分享资料个

PCB图如下:
pYYBAGKxquGABlzZAACRNR9Sj_o988.png
poYBAGKxquOAI0mnAAA84s1ZKPc122.png
poYBAGKxquaAMhY3AAB7-oqDrX0554.jpg

 

成分

TPS54232D
德州仪器
× 1
MCP6072-E/SN
微芯片技术
× 1
TJA1055T/C,518
恩智浦半导体
× 1
741C083510JP
CTS电阻器产品
× 1
227CKS035M
伊利诺伊电容器
× 1
106SML035MD4
伊利诺伊电容器
× 1
CDRH3D14/HPNP-100NC
墨田
× 1
NX5032GA-16MHZ-STD-CSK-8
NDK美国公司
× 1
227CKS035M
伊利诺伊电容器
× 2
MLEAMB-A1-0000-000X01
科锐LED
× 1
jst-ph-2pin-90度 × 1
公排针 - 920-0011-01
施玛特板
× 1

描述

MRK CAN 屏蔽 Arduino

CAN-BUS Shield 为您的Arduino 或 Redboard 提供 CAN-BUS 功能,并允许您破解您的车辆。此屏蔽允许您轮询 ECU 以获取包括冷却液温度、节气门位置、车速和发动机转速在内的信息。您还可以存储此数据或将其输出到屏幕以制作仪表板项目。

它使用带有 MCP2551 CAN 收发器的 Microchip MCP2515 CAN 控制器。CAN 连接通过标准 9 路 sub-D 与 OBD-II 电缆一起使用。非常适合自动 CAN 应用。该扩展板还具有一个 uSD 卡座、串行 LCD 连接器和用于 EM506 GPS 模块的连接器。这些特性使这种屏蔽成为数据记录应用的理想选择。

注意:此屏蔽不包含 DB9 电缆。请务必查看下面的推荐产品部分,了解与此板一起使用的推荐电缆。

注意:本产品是与 SK Pang Electronics 合作的产品。每次销售的一部分都会返回给他们,以获得产品支持和持续开发。

控制器局域网 (CAN 总线)是一种 强大的车辆总线标准,旨在允许微控制器和设备在没有主机的情况下与彼此的应用程序进行通信。它是一种基于消息的协议,最初设计用于汽车内的多路电线以节省铜,但它也可以用于许多其他环境。对于每个设备,帧中的数据是按顺序传输的,但是如果多个设备同时传输,则最高优先级的设备可以继续传输,而其他设备则后退。所有设备都接收帧,包括发送设备。

pYYBAGKxqwaAMEpuAACeympBUTc232.jpg

历史

CAN 总线的开发始于 1983 年 Robert Bosch GmbH 该协议于 1986 年在密歇根州底特律举行的汽车工程师协会 (SAE) 会议上正式发布。第一个 CAN 控制器芯片由英特尔于 1987 年推出,此后不久由飞利浦推出。梅赛德斯-奔驰 W140 于 1991 年发布,是第一款采用基于 CAN 的多路布线系统的量产车。

博世发布了多个版本的 CAN 规范,最新的是 1991 年发布的 CAN 2.0。该规范分为两部分;A 部分用于具有 11 位标识符的标准格式,B 部分用于具有 29 位标识符的扩展格式。使用 11 位标识符的 CAN 设备通常称为 CAN 2.0A,而使用 29 位标识符的 CAN 设备通常称为 CAN 2.0B。博世可免费获取这些标准以及其他规范和白皮书。

1993 年,国际标准化组织 (ISO) 发布了 CAN 标准 ISO 11898,该标准后来被重组为两部分;涵盖数据链路层的 ISO 11898-1 和涵盖高速 CAN 的 CAN 物理层的 ISO 11898-2。ISO 11898-3 稍后发布,涵盖了低速容错 CAN 的 CAN 物理层。物理层标准 ISO 11898-2 和 ISO 11898-3 不是博世 CAN 2.0 规范的一部分。这些标准可以从 ISO 购买。

博世仍在积极扩展 CAN 标准。2012 年,博世发布了 CAN FD 1.0 或 CAN with Flexible Data-Rate。该规范使用不同的帧格式,允许不同的数据长度以及在仲裁决定后可选地切换到更快的比特率。CAN FD 与现有的 CAN 2.0 网络兼容,因此新的 CAN FD 设备可以与现有的 CAN 设备在同一网络上共存。

pYYBAGKxqwiAAmDyAAAbTYRrb6k983.png

CAN 总线是车载诊断 (OBD)-II 车辆诊断标准中使用的五种协议之一。自 1996 年以来在美国销售的所有汽车和轻型卡车都必须遵守 OBD-II 标准。自 2001 年以来在欧盟销售的所有汽油车和自 2004 年以来的所有柴油车都必须遵守 EOBD 标准

汽车

现代汽车可能有多达 70 个用于各种子系统的电子控制单元 (ECU)。 [7] 传统上,最大的处理器是发动机控制单元。其他用于自动驾驶、高级驾驶辅助系统 (ADAS)、变速箱、安全气囊、防抱死制动/ABS、巡航控制、电动助力转向、音响系统、电动车窗、车门、后视镜调节、混合动力/电动的电池和充电系统汽车等。其中一些形成独立的子系统,但其他之间的通信是必不可少的。子系统可能需要控制执行器或接收来自传感器的反馈。CAN 标准就是为满足这一需求而设计的。一个关键优势是不同车辆系统之间的互连可以实现广泛的安全性,仅使用软件即可实现经济性和便利性功能——如果这些功能使用传统汽车电子设备“硬连线”,则会增加成本和复杂性。示例包括:

自动启动/停止:来自车辆周围的各种传感器输入(速度传感器、转向角、空调开/关、发动机温度)通过 CAN 总线进行整理,以确定发动机在静止时是否可以关闭,以提高燃油经济性和排放。

电动驻车制动器:“坡道保持”功能通过 CAN 总线从车辆的倾斜传感器(也被防盗警报器使用)和道路速度传感器(也被 ABS、发动机控制和牵引力控制系统使用)获取输入,以确定是否车辆停在斜坡上。同样,来自安全带传感器(安全气囊控制装置的一部分)的输入从 CAN 总线馈送,以确定安全带是否系好,以便在离开时自动释放驻车制动器。

poYBAGKxqwqANUFSAAB7-rGbW6M223.jpg

驻车辅助系统:当驾驶员挂入倒档时,变速箱控制单元可通过 CAN 总线发送信号,激活驻车传感器系统和车门控制模块,使乘客侧车门后视镜向下倾斜以显示车门位置抑制。CAN 总线还接收来自雨量传感器的输入,以在倒车时触发后挡风玻璃雨刷器。

自动车道辅助/防撞系统:来自停车传感器的输入也被 CAN 总线用于向驾驶员辅助系统提供外部接近数据,例如车道偏离警告,最近,这些信号通过 CAN 总线传输以启动制动在主动防撞系统中通过电线。

自动刹车刮水:从雨量传感器(主要用于自动挡风玻璃刮水器)通过 CAN 总线获取输入到 ABS 模块,以在驾驶时启动不易察觉的刹车应用,以清除刹车转子中的水分。一些高性能的奥迪和宝马车型包含此功能。

传感器可以放置在最合适的位置,并且它们的数据被多个 ECU 使用。例如,室外温度传感器(传统上放置在前面)可以放置在车外后视镜中,避免发动机加热,以及发动机、气候控制和驾驶员显示器使用的数据。

pYYBAGKxqwyADpq4AABjGbKFxA8202.png

近年来,引入了 LIN 总线(本地互连网络)标准,以补充 CAN 用于空调和信息娱乐等非关键子系统,在这些子系统中,数据传输速度和可靠性不太重要。

框架[编辑]

CAN 网络可以配置为使用两种不同的消息(或“帧”)格式:标准或基本帧格式(在 CAN 2.0 A 和 CAN 2.0 B 中描述)和扩展帧格式(仅在 CAN 2.0 B 中描述) )。两种格式的唯一区别是“CAN base frame”支持11位长度的标识符,“CAN扩展帧”支持29位长度的标识符,由11位标识符组成(“基本标识符”)和一个 18 位扩展(“标识符扩展”)。CAN 基本帧格式和 CAN 扩展帧格式之间的区别是通过使用 IDE 位进行的,在 11 位帧的情况下以显性方式传输,在 29 位帧的情况下以隐性方式传输。支持扩展帧格式消息的 CAN 控制器也能够以 CAN 基本帧格式发送和接收消息。所有帧都以帧开始 (SOF) 位开始,该位表示帧传输的开始。

CAN 有四种帧类型:

数据帧:包含用于传输的节点数据的帧

远程帧:请求传输特定标识符的帧

错误帧:任何节点检测到错误时发送的帧

数据帧是实际数据传输的唯一帧。有两种消息格式:

基本帧格式:带有 11 个标识符位

扩展帧格式:带 29 个标识符位

CAN 标准要求实现必须接受基本帧格式并且可以接受扩展帧格式,但必须容忍扩展帧格式。

pYYBAGKxqw6AP7vzAABGbYebsV8913.png

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'MRK CAN屏蔽Arduino',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);