导读:


本文由汽车电子与软件授权发布,作者为糊涂振。


本文是CAN通讯系列的第10篇,本文将总结前面文章的内容,并介绍后续的文章思路。前9篇文章只是介绍了最常见的CAN通讯发送与接收功能,而且只考虑最理想情况。当然这是特意安排的,因为想先构建基于AUTOSAR的CAN通讯的主树干,再根据实际的需要逐渐扩展CAN通讯的分支,这样也符合我们实际的软件开发过程。下面我们就从3个视角来做回顾,并提供一些可供深入的主题。



1

信号角度


从信号角度,主要想再说明下:信号在CAN总线上是电压形式,在软件中是二进制数,这是怎么转换的?信号在软件中是如何变化的?

1.1 数模转换


通过本系列前面文章,我们知道ECU之间通过CAN总线通讯。从信号转换角度:模拟信号到数字信号,比如接收,如图1所示。其具体过程为:在CAN总线上,信号表现为电压形式,其具体值根据ISO11898和ISO11519标准的定义而来。然后电压信号经过CAN收发器转换成数字信号,即逻辑电平0和1。接着这些逻辑电平序列将被ECU硬件单元处理,丢弃或存入寄存器。反之,发送过程其实就是一个数字信号到模拟信号的转换过程。

图1 CAN总线到ECU的信号转换

这里若需掌握各个环节的细节:
  • 关于CAN总线特性,可通过ISO11898,ISO11519系列标准研究总线的电器和物理特性。

  • 关于信号转换实现,可研究CAN收发器的原理与特性等。

  • 关于寄存器存储,可细读相应的芯片手册,并动手去配置芯片和调试代码。


1.2 信号变化

上述的逻辑电平序列有什么规律?有什么作用?通过前面文章我们知道CAN协议标准定义了这些逻辑电平序列,使这些数据有了实际意义,其实就是一些数据帧,遥控帧等的信息。通过配置CAN硬件单元,比如利用IDE的数据就可以决定ECU是否接收某个CanId的数据,进而再准确将接收的相应数据存入相应的寄存器,比如IDE存入IDE相关的寄存器,DLC存入长度相关的寄存器。当软件通过硬件接口访问相应的寄存器,就可以读取到对应的数据,比如长度,数据等信息。这样软件按照OSI参考模型的架构将这些读取的数据以协议数据单元(PDU)格式逐层向上传输,直到将PDU解包成报文通讯协议规定的信号形式,整个过程如下图2所示。

图2 CAN通讯的信号变化过程

这里若研究各个环节的实现:
  • 关于CAN帧定义,可细读CAN协议和ISO11898-1标准。

  • 关于寄存器的存储与提取,可研究相应的芯片手册。

  • 关于CAN通讯架构,可参考OSI参考模型,ISO17356和AUTOSAR文档等。


2

软硬件角度


从软硬件角度,要实现怎么样CAN通讯功能,就决定了要用怎样的硬件和软件。那么从软件工程师角度,是怎么看硬件?又是怎么看软件的?

2.1 硬件


从软件工程师角度,主要是根据芯片手册,ECU原理图和其他驱动的用户手册来助于对软件的理解,比如了解CAN的硬件连接,即从总线连接到哪个PIN,PIN连接到什么收发器,收发器连接到芯片的哪些引脚。或者了解提取寄存器数据,要对芯片进行的哪些配置,怎么配置等。或者更深入地就是硬件特性变化会对软件产生怎样的影响等等。

2.2 软件


从前面文章我们知道,先明确了一个清晰的软件架构,如下图3的中间部分,再从控制流和数据流考虑。若采用一个极其简单的架构,如图3最左侧部分,从寄存器提取完数据,直接给应用层去解析。但这样的架构显然满足不了软件的安全性,可移植性,可重用性和可扩展性等要求,所以为了满足这些要求,会采用基于OSI参考模型的AUTOSAR架构,如图3最右侧部分,只允许CAN Driver 访问硬件,向上只对接CAN Interface,与上层的模块通讯均由CAN Interface统一管理,通过PduR路由到更多的上层模块,减少接口等等。当然前面文章出于内容更易懂且精炼的考虑,采用了图3中间部分的基于OSI参考模型的AUTOSAR架构的简约版。

图3 CAN通讯的软件架构,引自[1]

这个软件架构的CAN通讯控制流如下图4所示。前面文章已经大体上介绍了CAN发送与接收的控制过程,比如不同模块如何进行数据传输,同一模块中数据传输所需具备的条件。另外也介绍了这些过程所涉及的接收通知,发送,发送确认的相关函数与动作。抽象地讲就是实现一个功能需先要以一定的时序组织不同的模块,然后各个模块要满足各自一定的条件才去采取执行某些活动,最后考虑这些活动如何具体地一步一步实施。

图4

当然通过控制流不难发现,数据流也极其重要。基于OSI参考模型,协议数据单元(PDU)在不同的层会有不同的名字,比如数据链路层的PDU叫L-PDU,网络层的PDU叫N-PDU,交互层的PDU叫I-PDU。我们根据这些PDU和其他信息的映射关系,链接关系,就可构建起整个CAN通讯功能的数据流,类似于图5。这样使得我们能更好理解AUTOSAR配置工具,比如VECTOR或EB工具配置内容的设置和链接关系;也能更深入AUTOSAR的CAN通讯实现原理与方法,比如硬件的访问机制,从L-PDU到N-PDU到I-PDU的映射逻辑等。

图5 PDU的传输,引自[1]

这里若想研究软件的各个模块,可根据ISO11898-1, ISO17356-4和相关AUTOSAR文档。

3

功能视角


功能需求决定了硬件和软件,所以先看软件实现了怎么样的功能,然后再看软件具体是怎样实现的。正如目前文章介绍的只是最常见的CAN通讯发送与接收功能,没有考虑通讯错误的情况,也没有考虑总线关闭的情况。为了完善CAN通讯基本功能,也为了强化CAN通讯功能,下面将大概列举出来,也算是预告下后面文章的内容。

对于CAN通讯错误的情况,CAN协议标准定义了一套完成的错误处理机制。比如:

针对总线信号有定义错误帧,下图6所示。

图6 错误帧定义,引自[2]

针对总线通讯单元有定义主动错误,被动错误和总线关闭状态,如图7所示。

图7 单元的错误状态,引自[2]

针对CAN通讯网络有定义无通讯模式,静默模式,完全通讯模式,如图8所示。

图8 CanSM状态机,引自[3]

对于CAN数据帧数据长度不够的情况,有提出一种更灵活的CAN数据帧,即CANFD。

图9 CANFD概念,引自[4]

对于CAN通讯网络能被唤醒的情况,如下图10所示。

图10 具备唤醒的CAN网络示意,引自[5]

这里就先列出这些典型的CAN通讯功能,通过这些新功能不难发现:为了应对日益增加的功能需求,不管是针对个人还是企业,硬件还是软件,其实都需要不断地进行更新和强化。

到此我们就从3个视角既回顾了CAN通讯的基本发送与接收功能,也提出了CAN通讯的新功能,为了让大家更加全面且系统地了解CAN通讯功能,后面文章将在CAN发送与接收的主树干上继续生枝发叶。

Reference:
[1] Layered Software Architecture
[2] Can 入门书.pdf
[3] Specification of CAN State Manager
[4] CAN FD - The basic idea
[5] Tutorial for Wake Up Schemes and Requirements for Automotive Communication Networks, Automotive Electronics, BOSCH.



 #
BC-AUTO 在售报告列表
 1全球及中国数十家汽车工程技术服务企业研究报告
 2全球及中国电液制动系统EHB产业研究报告
 3全球及中国汽车基础软件企业研究报告
 4全球及中国车机系统产业研究报告
 5
全球及中国前向ACC、AEB产业技术研究报告
 6全球及中国车载ESP产业研究报告
 7
全球及中国车载EPS产业研究报告
 8
国际汽车半导体企业研究报告
 9
中国汽车半导体企业研究报告
10
全球及中国汽车半导体产业研究报告
11Euro-NCAP、C-NCAP主动安全规划及技术方案研究
12全球及中国车联网产业研究报告
13全球及中国整车OTA应用产业研究报告
14全球及中国车企、主流Tier1出行业务研究
15
全球及中国汽车大数据应用研究报告
16
全球及中国商用车自动驾驶产业研究报告
17
全球及中国驾驶员监测系统产业研究报告
18
全球及中国车载5G智能终端产业研究报告
19智能汽车操作系统产业研究报告
20
中国智能汽车行业主流Tier1研究报告
21全球智能汽车网络安全及信息安全产业研究报告
22
全球及中国车载网关产业研究报告
23全球及中国车载超声波雷达产业研究报告
24
全球及中国环视ADAS产业研究报告
25
国际主流前向双目视觉ADAS产业研究报告
26
国际主流前向单目视觉ADAS产业研究报告
27
全球及中国泊车辅助&自主泊车研究报告
28
特斯拉整车OTA汇总分析研究报告
29国际主流Tier1自动驾驶业务分析报告
30
全球及中国车载毫米波雷达产业研究报告
31全球及中国车载激光雷达产业研究报告
32
全球及中国车载高精度地图产业研究报告
33
全球及中国自动驾驶算法集成企业研究报告
34
全球及中国主流车企自动驾驶进展研究报告
35
智能网联汽车Tier2转型为Tier1供应商研究报告
36
全球及中国自动驾驶域控制器产业研究报告
37
全球及中国车载T-box产业研究报告
38
全球及中国数十项ADAS功能研究报告
39
40
全球及中国软件定义汽车产业研究报告
41全球及中国数十家汽车仿真企业及产品研究报告
42全球及中国车身域控制器产业研究报告
43全球及中国汽车仪表系统产业研究报告
44全球及中国智能座舱产业研究报告
45高级别自动驾驶惯性导航产业研究报告
46全球及中国车载HUD产业研究报告
47全球及中国车载显示屏产业研究报告
482021年全球及中国车载夜视系统产业研究报告
492021年中国汽车工业全产业链自主可控研究报告

 

<<< BC-Auto 小助手微信

最专业的智能汽车社群,值得你的加入

发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 所以,尽管我们已经断了所有的联系,但小伤痕还在,我们偶尔还可以当一当家人,还可以在哈尔滨某一年的雨季一起起床,一起走到阳台,一起沐浴久违的阳光。近50分钟的旅程
  • 朋友圈干饭美食文案1. ॱଳ͘ ‼2. ˶╹ꇴ╹˶3. 今天是²⁵⁶G的胃✌︎︎4. 幸福感爆棚&5. 开吃Food☑6. 美食共享 ⺣̤̬︎︎7. ✔
  •   万科大涨  3月12日,万科企业的股价上涨超过10%,相关债券也普遍上扬,显示在乐观消息刺激下,市场对万科的信心在不断加强。  从内资角度,对港股的持续净买
  • 系列名称:《希奥战队》产品名称:FigZero 1/6 希奥战队金战士产品特点:由孩之宝官方授权约12.08英寸(30.7厘米)高全可动收藏级人偶,约34个可动
  • 今生今世,惟爱任嘉伦,❤️嘉伦的腰,夺命的刀;嘉伦的笑,上瘾的药我见众山皆草木,唯嘉伦是青山嘉伦是天赐的礼物,我迟来的救赎遇见的那一天,嘉伦樱花开满了山嘉伦微微
  • 作者用细腻的笔触,让玩家从昏迷中醒来,就像是被命运安排好了一切,眼前的小镇熟悉又陌生,看似正常又处处透露着诡异,当你以为你洞察了这一切时,却又被这一切裹挟着向着
  • 。。
  • --此处只提供剧本复盘大致内容,完整电子版复盘内容请徽公中号:“亲亲剧本杀”获取~~《三点半》复盘 剧本类型:现代、惊悚、变格、新手、盒装 适合:喜欢惊悚元素
  • 早些年,出国留学都是厉害的学生。早些年,出国留学都是厉害的学生。
  • 道教中有魔王一说,当一个人笃定想要修道的时候,魔王就会时不时为其设置一些障碍,目的是考验此人的道心是否坚定。这是在告诉人们,修行不仅要断外缘,更要断了自己内心升
  • #SVT中转周边[超话]#要搬家了 出出 杂志和专辑不包 非偏9 偏远12ideal cut dicon 日本版本的 100r配置少双面卡和小圆片 其余全(有书
  • #算命算卦占卜婚姻事业感情# #宝宝取名改名#財星岁多却身弱,8个'字命中財星旺盛本是一件非常好的事情,但如果其人又有着算命身弱的命佫的话,就意味着他们容易赚得
  • 他们怀揣着对配送行业的热爱和对未来的憧憬,创立了裹小递品牌,立志为用户提供高效、可靠的同城配送服务。首先,裹小递将提供独家经营权,让您在所在区域内独家开展裹小递
  • 为什么不开心 我们已经进来了 我没有不开心 我只是因为过于复杂的情绪而一下子不知道应该表达什么情绪可是当场馆突然暗下来 中央屏幕慢慢浮现出歌词的时候 好像突然进
  • 我没有很想你,只是在早上醒来时,看看有没有你发来信息和未接来电 〒▽〒 哇哇~人家不依 我没有很想你,只是把你来电调成唯一的铃音 我没有很想你,只是在听歌时,被
  • 该网友称是该社区居民,宣传册首页上显示呵护心理健康,内页中“不管婆婆多么无理,也不要跟她吵架”“如果和婆婆同住,不要因为生气动不动就跑回娘家”“像爱老妈一样时刻
  • ---鲁迅13.每个人都不是生而伟大,而是在其成长的过程中变得伟大--教父14.于千万人之中遇见你所要遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也
  • 一个人若时常追求复杂而奢侈的生活,则苦难没有尽头,不仅贪欲无度,烦恼缠身,而且日夜不宁,心无快乐,因为复杂,往往浪费了宝贵的时间:因为奢侈,极有可能断送美好的人
  • #宝妈互关[超话]##张泽禹c位出道# #张泽禹 第一主唱# 掉V的第一件事就是来️人,小但乘客们很热情(直观呦~)司机老公,建议直观☞@TF家族-张泽禹 (司
  • 去年包括今年看到各种演唱会现场的视频,小花与我们之间的相互奔赴,爱人如养花,谢谢华晨宇,做你的火星人很幸福,也请你要一直幸福下去!小花在演出时说如果这次有遗憾那