大家都知道英文单词“can”有一个意思是罐头,那我们就借题发挥从“罐头”开始说起吧。
很多人小时候应该都自制过一种称为“传声筒”的玩具,就是在两个罐头的底部打孔,然后用一根绳子将两个罐头系起来。一旦绳子绷紧,对着一个罐头喊话,另一个罐头就可以传出声音。
它的原理很简单,对着喊话的那个罐头把声波产生的振动传导到绷紧的绳子上,绳子再将这种振动传导到另一个罐头上,这个罐头又把这种振动传导给空气形成声波。这样就可以实现一侧说话一侧听了。
其实CAN总线的原理与传声筒这种玩具的原理是相通的。
如下图所示,CAN总线与传声筒一一对应。电缆相当于绳子,电信号相当于振动波,电路板相当于罐头,各种需要传递的数据相当于喊话的内容。
而在我们学习任何通信系统的过程中,我们都要知道:通信是分层的!
下图为传声筒游戏按通信层次所划分的层次:
1、通信的小朋友不关心声音如何传输,只关心自己表达的意思对方能不能理解。他们处于应用层。
2、说出“你好”这个词有很多种表达语言,可以是中文、英文、日文等。只有双方表达一致才能正确理解对方的意思。而这个意思的表达就处于会话表达层。
3、罐头可以决定以什么样的方式传输信息,以及如何让其他罐头获取这些信息。这相当于数据链路层。
4、绳子可以传导振动信号,绳子上振动信号频率与幅度的组合就反映了传递的信息。绳子并不关心这些信号的意思,相当于物理层。
国际标准化组织(ISO)对通信系统进行了更详细的划分:
下图为OSI模型与CAN的关系:
CAN-bus的规范定义了ISO规范中的物理层和数据链路层;一些国际组织定义了应用层,例如CiA组织的CANopen、ODVA组织的DeviceNet等;也有一些用户根据需求自行设计应用层。ISO/OSI模型与CAN-bus的对应关系详见下图:
设备之间所谓的通信,其实是相同层次间的信息沟通,例如物理层与物理层的信息交换,应用层与应用层的信息交换,层与层之间是互相独立的。就如同处于应用层的通信的小朋友并不关心声音如何传输,只关心自己表达的意思对方能否理解;而处于物理层的绳子不关心信号的意思,只传输各种频率与幅度不同的振动信号。
正是基于这种层次化的结构,才使得大家能各司其职,高效而又相互独立的工作。
车辆网络事业部在汽车总线行业经验超过10年,与世界知名的CAN、LIN总线供应商PEAK-System、Lipowsky、IHR等合作10年之久,提供领域内顶尖水平的CAN/LIN分析仪和测试方案,同时也提供汽车以太网,时间敏感网络(TSN)的仿真测试工具和方案。虹科自主研发的EOL测试软硬件系统已经在业内完成多次安装和测试,事业部所有成员都受过国内外专业培训,并获得专业资格认证,五位工程师平均5年+技术经验和水平一致赢得客户极好口碑。
虹科车辆网络