工业应用中的网络主题有着漫长而又纠结的历史。每个行业都接近在各个设备上部署电子控制的任务,将这些控制连接到自动化孤岛,最后将这些岛屿拉到工厂范围的网络中。它们现在链接到企业网络中,并与销售预测,库存控制和管理信息系统等相关联。但是,这超出了本文的范围。这种方法的问题在于不同的行业开发了不同的方法来实现网络。在20世纪80年代,有一种运动来创建一种用iso的osi(开放系统互连)模型描述网络的通用方法,并找到不同网络技术使用该模型进行交互的方式。这将通信视为七层模型。 1级是物理层,定义了电线,连接器以及信号穿过电线(或光纤)的方式。层变得越来越抽象,直到第7层,即应用层,即网络之间的接口和通讯软件。
图1:osi七层模型。
当时对osi活动进行了大量投资,其重要的遗产包括能够根据相关osi层描述当前的网络技术,即使它们不是采用这种方法设计的。
今天有几种网络技术正在部署中。工业以太网正在稳步发展,特别是因为它被视为与标准以太网兼容。虽然它有很多优点,但它确实有一些缺点,特别是对于硬实时应用程序。尽管如此,许多早期的网络技术,如modbus和profibus,已经被改编为以太网上的覆盖。
can总线越来越受欢迎,也许目前占主导地位的网络技术(虽然不同的市场数据给出了不同的数字)。这开始是将汽车中越来越多的智能节点连接起来的一种方式,由robert bosch在德国开发。它被广泛应用于一般汽车行业,被sae(美国汽车工程师协会)接受,现在由国际标准组织标准iso 11898涵盖,有几个部分。在当前的实施方式中,can总线成本低,鲁棒且容许汽车的极端环境,这些特性使其对工业控制应用具有吸引力。它已经变得如此普遍,以至于许多微控制器在芯片上都包含can接口,因此无需为每个节点提供专用控制器芯片。一些估计表明,有超过20家公司为微控制器提供can功能,通常是16位或32位。
can总线
can总线的设计是为了简化物理。没有单个主设备,因为网络上的每个节点都是主设备,节点通过单个端接双绞线连接。每个节点都可以与任何其他节点通信。最大比特率为1 mbit/sec,可以在大约40 m的正常电缆长度上维持。随着电缆长度的增加,比特率下降,对于理论上10千米的电缆,比特率将降至约5 kbit/sec。还有使用光学连接甚至无线的can总线网络。他们的数据率会有所不同。
图2:can总线连接。
节点没有给定特定地址,虽然理论上这允许无限数量的节点,但网络上的正常最大值大约为64。消息具有确定消息优先级的标识符,而不是节点地址。 can总线部署csma/cd(带冲突检测的载波侦听多路访问),这意味着任何节点都可以传输消息。如果两个(或更多)节点尝试同时进行传输,那些优先级较低的节点将产生最高优先级并稍后重试。侦听节点将识别与其相关的消息并下载它们。
消息以四种类型的帧传输。数据框是消息传递的基本框架。另外还有远程帧,请求传输特定消息;错误帧,在节点检测到错误时发送;和过载帧,用于在数据帧之间添加延迟。
数据帧本身最多可携带8个字节的数据,并有7个字段:单个帧起始帧(sof);仲裁领域;控制字段(指定消息的字节数);数据字段,介于0到8个字节之间; 15位crc序列和1位定界符的循环冗余校验(crc)字段;一个2比特的确认(ack)字段(一个用于确认接收消息,另一个用于字段定界符);和帧结束(eof)的七位。
仲裁字段定义了两种不同的数据帧类型:标准帧和扩展帧。标准帧使用11位标识符,而扩展帧又为标识符添加18位,以应对can总线覆盖的一些协议要求。
图3:can数据帧格式。
网络上的每个节点都会读取每条消息,并确定内容是否与它们相关。如果他们确定该消息是相关的,则该节点重置ack字段位并重新发送该消息。这允许发送节点知道至少一个节点已经接收到该消息。所有的消息管理都由can总线控制器执行,最初是一个独立的设备,通常用于工业自动化,现在是主控制器的集成部分。
简要回到osi 7层模型,can总线只有两层。一,电线,对应于模型的最低或物理层。另一种是消息格式和csma/cd过程,大致映射到数据链路层。这意味着can总线仅定义道路和在道路上行驶的车辆的整体形状。车辆携带的内容,数据字段的内容实际意味着什么,留待实施。这意味着更高级别的osi模型的等价物未定义。一个涵盖从网络层到应用层的层的定义是由cia(can in automation)开发的can open标准,这是一个由560家公司组成的联盟。这种以及可以使用can总线的其他协议的选择在很大程度上取决于应用程序的上下文。 can现已标准化为iso 11898,iso 16845和sae j1939,适用于汽车,工业和通用嵌入式通信。
flexcan
canc的扩展,flexcan以及相关协议safecan已在美国开发,并且在安全关键应用方面取得了一些成功,因为它带来了确定性和实时性方面。通常,在微控制器上实现flexcan的情况下,它向后兼容can。
lin lin,本地互连网络,也来自汽车行业。它的开发是为了提供can总线的替代和扩展,在与can总线提供的高带宽和错误处理相关的成本太高的应用中。在汽车应用中,这些是简单的事情,如窗户控制,雨水传感器和门锁,而在工业应用中,温度和压力传感器,非关键的通断开关和简单的执行器是lin网络的自然候选者。 lin通常用于为can创建子网。
can总线控制器往往是高端16位和32位微控制器提供的选项的一部分,lin可以使用甚至成本最低的8位微控制器上的标准串行通用异步接收器/发送器(uart)或专用的lin接口。
lin总线不是等状态节点,而是主从。任何lin总线都有一个主站和一个或多个从站(最多16个)。主人还包括一个奴隶。主设备以预定义的顺序和频率轮询从设备。该消息可以是指令或信息请求。奴隶通过订阅(执行指令)或发布(提供信息)来回应。
图4:lin消息帧。
lin消息帧具有消息头和消息响应,主节点发送标头,其中一个从节点响应。 header有三个元素:break,sync和identifier,而response有两个,data和checksum。 break用于警告所有从站即将发送消息,而sync允许从站同步到传输速度。标识符既提供消息的标识,也提醒特定消息相关的从属设备。然后,相关从站使用响应,在数据字段中提供最多8个字节的有效负载,并计算校验和值。标识符的映射和数据格式的内容是依赖于实现的。
当前标准是lin 2.1,这为节点提供了睡眠模式。触发睡眠模式的不活动时段由开发人员定义,并由任何节点结束,主节点工作到预定义的调度,或者从属应用软件的预定义状态触发。
实现can
大多数微控制器开发人员提供can接口。通常,微控制器上的can接口将连接到can收发器,这些可从各种供应商处获得。
飞思卡尔拥有基于powerpc架构的大量微控制器选项。 mpc8306/9系列是powerquicc ii pro产品,具有e300 powerpc内核和基于quicc,risc的通信引擎。它们设计为通信处理器,提供多种不同接口选择,可用于将can桥接到其他网络技术。在工业应用中,这通常是以太网,用于将can网络链接到更广泛的企业。在mpc8306/9系列中,可提供各种速度/功率折衷,飞思卡尔是少数几家实施flexcan的制造商之一。飞思卡尔拥有跨越mpc830x系列的开发套件。产品的低功耗端是silicon labs c8051f5xx微控制器。这些是基于8位8051的,采用小型封装,并提供用户对所有外设的控制,允许它们断电以节省功耗。可用的工具包括一个可以容纳两个处理器的开发套件,允许运行lin 2.1主从网络。
德州仪器(ti)的stellaris系列提供基于arm cortex内核的大量功率/速度选项。 stellaris 2000,5000,8000和9000系列都具有can功能。 ti提供了一系列用于使用stellaris开发can网络的电路板和套件,采用不同的开发环境,如iar,keil和codesourcery。 ti还提供具有can功能的其他微控制器架构,包括piccolo系列的成员; sitara arm微处理器,基于arm9或cortex-a8内核;和hercules安全微控制器平台,专为使用arm cortex-m3和cortex-r4f内核的iec 61508和iso 26262安全关键应用而设计。
atmel还有几个支持can的系列,包括32位avr at32uc3c和基于arm9的sam9的成员。此外,microchip还提供大多数pic变体的can,包括8位pic 10/12/16和18,16位pic24和32位pic32。与大多数制造商一样,这些都得到了各种开发套件的支持。
参数
这只是一些可用微控制器选项的简短摘要。选择微控制器的问题不在于它是否有can。相反,选择标准将是通常使用的选择标准,使用诸如功率/性能,其他外围设备和可用软件之类的参数。通常关键的因素是,特定建筑的内部投资,包括工具和人工年数,是否能够让这个项目在高质量,时间和预算范围内完成。
沐创新品速递,业内首款国产光口千兆芯片实力详解
对比国内外电池参数的表达形式,差距可窥一斑
同样都是发热,为什么石墨烯的热更利于人体健康
全球汽车芯片短缺的原因 短缺问题会对汽车产业造成哪些影响
使用引脚复用减少8位单片机的引脚使用
工业应用中网络通信的OSI七层模型介绍
提出了一种以动态响应一致性为最优目标的自适应控制策略
连接器的4种连接方式及IEC电源连接器具有哪些优势
ANYMESH-SDR-A4 MES无线自组网 室外固定电台-万蓝通信
格芯推出GF Connex解决方案 助力实现下一代无线连接
米家互联网洗烘一体机10kg版正式发布 小米进军洗衣机市场
示波器的时基是什么意思?示波器的时基在哪里?示波器时基怎么看?
编写动态的验证环境
电路原理图字母缩写表示什么?
性能小超人 iQOO Z8 全新发布
超过2.75亿印度公民的信息记录被曝光!
Verdi使用技巧(二)
改变直流电机的转速
iQOO骑士黑猛兽版高清图赏
无线设计LNA 和PA 的作用和要求及其主要特性