西门子6ES355-0VH10-0AE0
采用侦测串口总线的通信是比较常用的一种**技术。以pico示波器为例,pico示波器具有串行**的功能,能够对can、flexray、i2c、i2s、spi、lin或uart等串行总线进行**。pico示波器比较适合做串行**,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512m的样本存储器。下面将介绍如何用一个款pico示波器进行can总线数据**。
一、can总线**概述
1、 can总线概念
时,物理线路上传输的信号是由一系列高低电平组成的,这些高低电平携带了我们所需要的信息,在数据接收端,我们需要将这些物理电平按照原始的编码规则进行解析,从而得到实际的物理信号。
can(控制器区域网络)总线是一种在**和工业机械中使用的串行协议,允许微控制器相互通讯。该标准初由 robert boschgmbh 于 1983 年制定。它使用双绞线上传输差分信号,分别为can高(can h )和can低(canl),当线路受到共模干扰之后,信号差值不变,信号依然能够正确被解析。
2can总线上传输的电平特点
can总线上发布了iso11898和iso11519两个通信标准,分别对应高速can和容错can。此两个标准差分电平的特性不同。本文主要介绍如何用pico示波器进行iso11898标准的can总线**。
can高电平大概为3.5v左右,can低电平大概为1.5v左右,can差分电平大概在2v左右。一般情况下,我们可以从三种can总线波形上进行**:
1)从can-h总线上传输的电平,阈值设置为3v左右即可
2)从can-l总线上传输的电平,阈值设置为1.6v左右即可
3)从差分波形(canh-canl)上进行**,阈值设置为1.5左右即可。从差分波形上**更加准确,因为差分波形滤除了线路上的共模干扰信号。
很遗憾,目前picoscope6软件的串行**功能只能从canh或canl波形上进行**,暂时还无法实现从差分波形上进行**。
二、picoscope6 串行**功能
三、**设置
pico的任何一台示波器都具有串行**的功能,不同系列的区别在于示波器硬件参数高时,采集到的波形更加平滑,噪声小。在进行**时,我们可以只从can高波形上进行**,或只从can低波形上进行**,或者对canh和canl波形进行**。
3.1 仅从can低波形上进行**设置
1将can网络中的canl端接入到示波器a通道(示波器通道任意选择)探头的正极,can网络的gnd连接探头的负极。
2点击picoscope6工具菜单,选择串行**功能。弹出串行**设置窗口。
1)设置a通道协议:can low
2)设置can低判断阈值,如1.6v。该阈值用于判断can-l电平是“0”或“1”.
3)设置总线波特率,即目前测试网络的波特率,例如500k波特。
4)设置显示模式,选择“在视图中”或“在窗口中”查看can数据。
in view: 在视图中,在波形显示窗口查看**之后的can数据。
in bbbbbb: 在窗口中,在表格中查看**之后的can数据。
2、仅从can高波形上进行**设置
1)将can网络中的canh端接入到示波器a通道(示波器通道任意选择)探头的正极,can网络的gnd连接探头的负极。
2)点击picoscope6工具菜单,选择串行**功能。弹出串行**设置窗口。
设置步骤如下:
1)设置a通道协议:can high
2)设置can低判断阈值,如3v。该阈值用于判断can-l电平是“0”或“1”.
3)设置总线波特率,即目前测试网络的波特率,例如500k波特。
4)设置显示模式,选择“在视图中”或“在窗口中”查看can数据。
in view: 在视图中,在波形显示窗口查看**之后的can数据。
in bbbbbb: 在窗口中,在表格中查看**之后的can数据。
3、从can高波形和can低波形上**
2)将can网络中的canh端接入到示波器b通道(示波器通道任意选择)探头的正极,can网络的gnd连接探头的负极。
注意:canh和canl使用的测试通道可以自由选择。只是在进行**设置时,对应正确即可。
3)点击picoscope6工具菜单,选择串行**功能。弹出串行**设置窗口。
在一个窗口分别设置canh和canl的**设置,具体参考3.1和3.2章节的设置。如下图所示:
四、使用注意事项
pico示波器进行串行**有一个技术难点:pico示波器的**以完整的一个can数据帧为单位,即只有采集到完整的一帧can报文,才能将该数据帧完整的解析出来。
1)采集canh和canl波形时,注意时基的设置。即保证每一个波形页面至少能够采集到一个完整的数据帧,此时才能够解析出can报文。对于can总线来说,时基设置在1ms/div或者大于1ms/div即可。
2)注意采样率的设置,要保证采集到的波形不失真。例如can总线的波特率为500kbps,那么采样率只有大于1ms/s,才能够采集到正确的波形(满足乃奎斯特定律)。
3)示波器的波形(一个显示页面)与波形之前是不连续的,总是或多或少一些间隙。当在进行can总线**时,波形页面的边缘会有一些无法被解析的数据帧,主要原因是波形页面边缘将一个完成的数据帧截断了,以至于无法得到争取的解析。如下图所示:
要了解的含义,先弄清楚通信是怎么回事。简单地讲,通信就是通过一种媒介传达某些意图的过程。比如电报、电话、无线电、互联网等,他们都是应用,把某种信息经过处理(称为调制),通过电缆或者无线电波,发送到其他地方,在那里,把信息解析出来(称为解调),再经过放大等处理,还原成为原始的信息。这个完整的过程称为通信。如图1所示。
图1 无线通信原理示意图
从我们行业的角度来分析一下,信息的来源是通过采集数据的设备,如压力变送器,热电偶,热电阻等;发送设备就是仪表内的电路,至于功能,前面的章节已经有过介绍,我们只把它看成一个设备就可以了;传输介质就是电缆;接收设备就是采集卡,或者其他类型的采集模块等;接收者就是监控设备或者显示设备。通过这样的过程,就把现场的弱信号或者不易直观表示的信号转换为我们在生产工艺中需要的各种参数,当然了,有来也有去,通信是双方向的,完成接收功能的过程被称为采集数据,承担发送功能的过程被称为控制指令或控制输出。单台设备是这样的过程:那么,由很多台采集设备与监控设备构成这样的双向通信,就形成了复杂的网络。
这种方式类似于我们的部门管理,市场或销售部门收集产品信息、客户需求等数据,通过e-mail或调研报告等方式传送给,做出决策,安排产品开发、生产等环节,这样就形成了一个过程,实施过程中会遇到各种各样的问题,领导就会做出各种各样的反应来应对,这样,就形成了一套复杂的管理系统。
在没有思维能力的各种设备之间,数据是怎样来传输的呢?可以说这是一门关于管理艺术的学科,它包含计算机技术、电子技术、加工工艺、通信技术等。要想熟知这门学科,必须先了解一些基本知识。
数据需要编码才能传输,也就是说,数据传输的时候需要按照一定的规则编排起来;接收的设备再把它按规则翻译过来,就能知道是什么意思了,这里的规则就是编码规则。
无规矩,不成方圆;没有交通规则,高速公路就得经常撞车;同样的道理,没有数据的编码规则,我们就不能把数据传输到远方。
有了规则,数据传输还必须借助网络。的种类繁多,分类方法各异。按地域范围可分为远程网和局域网。远程网的跨越范围可从几十公里到几万公里,其传输线造价很高。考虑到信道上的传输衰减,其传输速度不能太高,一般小于100kbps。若要提高传输速度,就要大大增加通信费用,或采用通信卫星、微波通信技术等。
影响网络性能的主要因素是网络拓扑结构、信号方式、访问控制方式、传输介质等。网络的拓扑结构是指网络中节点的互联形式。在图2所示的网络拓扑结构中,星形、环形、总线形和树形较为常见。
图2 四种网络拓扑结构示意图
拓扑(topology)是将各种物体的位置表示成抽象位置。在网络中,拓扑形象地描述了网络的安排和配置,包括各种节点和节点的相互关系。拓扑不关心事物的细节,也不在乎什么相互的比例关系,仅仅需要确定讨论的范围,确定范围内的事物,再把它们之间的关系通过图表示出来。网络中的计算机等设备要实现互联,就需要以一定的结构方式进行连接,这种连接方式就叫做“拓扑结构”,通俗地讲,是表示清楚这些网络设备如何连接在一起的。
星形网络拓扑结构
在星形拓扑结构中,任何两站之间的通信都必须通过中央节点进行。一个站要传送数据,向中央节点发出请求,要求与目的站建立连接。连接建立后,该站才向目的站发送数据。这种拓扑结构采用的是集中式通信控制策略,所有通信均由中央节点控制,中央节点必须建立和维持许多并行数据通路,中央节点的结构显得非常复杂,而每个站的通信处理负担相对很小,只需满足点一点链路的简单通信要求,结构很简单。星形拓扑采用电路交换,可实现量的综合,适用于低数据率设备。因为这种拓扑的网络终端只需承担很小的通信处理负担,很适合要求终端密集的地方。它具有如下特点:结构简单,便于管理;控制简单,便于建网;网络延迟时间较小,传输误差较低。但缺点也是明显的:成本高,可靠性较低,资源共享能力也较差。
大家思考:在中央节点工作的领导真的很累,什么事情都要管理,而其他节点就不用这么辛苦了,如果中央节点因领导生病了,可怎么办?
在环形拓扑结构中,网络中有许多中继器进行点一点链路连接,构成一个封闭的环路。中继器接收前驱站发来的数据,按原来速度一位一位地从另一条链路发送出去。链路是单向的,数据沿一个方向(顺时针或逆时针)在网上环行。每个工作站通过中继器再连至网络。一个站发送数据,按分组进行,数据被拆成分组方式,加上控制信息,插入环上,通过其他中继器到达目的站。由于多个工作站要共享环路,这就需要建立一种规则,也就是访问控制方式,由这个规则来确定每个站在什么时候能向环上插入分组。一般采用分布控制,毎个站有存取逻辑和收发控制。环形拓扑正好与星形拓扑星形拓扑的网络设备需要较复杂的网络处理功能,而工作站负担小,而环形拓扑的网络设备只是很简单的中断器,而工作站则需提供拆包和存取控制逻辑等非常复杂的功能。环形网络的中继器之间可使用高速链路(如光纤),环形网络与其他拓扑相比,可提供更大的吞吐量,适用于工业环境,但在网络设备数量、数据类型、可靠性方面存在某些局限。
在总线型拓扑结构中,传输介质是一条总线,工作站通过标准的硬件接口接至总线上。一个站发送数据,所有其他站都能接收。树形拓扑结构是总线形拓扑结构的扩展形式,传输介质是不封闭的分支电缆。它和总线形拓扑结构一样,一个站发送数据,其他站都能接收。总线形和树形拓扑结构的传输介质称作多点式或广播式。因为所有节点共享一条传输链路,一次只允许一个站发送信息,这种方式也需要有某种存取控制方式,也就是规则,这样可以确定下一个被允许发送数据的站是哪一个。信息也是按分组发送,达到目的站后,经过地址识别,将信息复制下来。
做个形象一些的比喻,根据规则,在开会的时候,每次只允许一个人讲话,人家听,只有和自己有关系的事情,我们才记下了,执行,否则,“左耳朵听,右耳朵出”。
树形拓扑结构的适应性很强,可适用于很宽范围,如对网络设备的数量、数据率和数据类型等没有太多限制,可达到很高的带宽。树形结构在单个局域网系统中采用不多,如果把多个总线形或星形网连在一起,或连到另一个大型机或一个环形网上,就形成了树形拓扑结构,这在实际应用环境中是非常需要的,树形结构非常适合于分主次、分等级的层次型管理系统。
有了编码规则,又有了网络,就要制订传输的规则,也就是管理规则,现场总线应该是一种网络,是智能化仪表与管理系统连接的开放系统。类似于我们的局域网,只这个网连接的是智能仪表等现场设备,至少形式上是这样的。
有系统就必须有管理制度,否则就不能按要求工作,在总线上主动发起信息传输的设备叫主设备,显而易见,被领导的就是从设备,它只能被动接收主设备的信息,让它改地址它就改地址,让它传数据它就传数据。当这个系统里有多个主设备的时候,就需要协同工作,就需要制订一套规则-总线协议(busprotocol)。现场总线技术其实是一门管理技巧,编制各个执行部门,各司其职,协同工作,完成人的各种需求。那么这个协议-也就是管理规则都做哪些工作呢?
总线操作
在公司里,我们经常会与领导沟通,一般的方式都是这样进行的;领导电话找你过去,你带着汇报资料与领导交流,谈得不错,领导表扬你几句,你回到座位上继续工作,领导又找别人交流。这个过程在这里把它表述为连接-数据传输-断开,这样一个操作顺序叫一次总线交易,或一次总线操作。断开(disconnect)的目的是让主设备可以与其他从设备进行交易。很早以前的电话局里面的人工交换操作就类似一次总线操作,说反了,应该是总线操作类似人工接线。
数据传输
刚才说到的与领导交流就是数据传输,也就是交换意见,互通有无。提问的是“读-read”,回答的是“写-write”,沟通的方式大概有几种:一问一答,一问多答,有没有只问不答呢?有,说明不是网络有问题就是从设备故障,得到的结果很可能是“下岗”。还应该有一种情况,不问也答的情况,这个是可以的,从设备只管说,接不接受是主设备的事儿,需要了就接受,否则不接受,这也是一种传输方式。无论什么时候都要搞清楚“主”是谁,为“主”服务。
通信请求各个部门职能不同,完成的工作就不同,有些时候我们就必须要求别的部门给予配合,就得发出请求-通信请求。对于不同的标准,请求的方式就有多种方式。
经过以上一些操作,我们完成了数据传输,形成了传输标准,osi模型。