当前位置:文档之家› CAN-bus现场总线基础教程【第7章】CAN总线应用层协议(DeviceNet)-DeviceNet主站设备的实现(30)

CAN-bus现场总线基础教程【第7章】CAN总线应用层协议(DeviceNet)-DeviceNet主站设备的实现(30)

文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

第7章 CAN 总线应用层协议——DeviceNet

1.1 DeviceNet 主站设备的实现

在整个DeviceNet 网络中主站扮演着最重要的角色,它负责整个网络的通信和管理,功能强大和复杂,但是DeviceNet 2.0版本的规范中又未对主站进行详细描述,使其设计起来更加困难。上节我们介绍了如何快速实现DeviceNet 从站,本小节我们将介绍如何基于PCI-5010-D 接口卡快速实现DeviceNet 主站设备。 1.1.1 DeviceNet 典型网络拓扑结构

DeviceNet 网络大都采用主干-分支网络拓扑结构,以主/从连接方式通信。实际应用中一个网络通常有一个主站设备和最多63个从站设备,从站设备需要依靠主站的管理来完成数据交换。图7.1所示为PCI-5010-D 在DeviceNet 网络中的典型应用形式。 1.1.2 PCI-5010-D DeviceNet 主站卡简介

PCI-5010-D 是广州致远电子股份有限公司研发的新一代PCI 接口DeviceNet 主站卡,它可以使计算机快速连接到DeviceNet 网络,不但可以在最短时间内应用DeviceNet 从站设备,实现可视化、参数化的网络分析及控制,而且更能减少开发DeviceNet 系统的时间,组建稳定、健硕的DeviceNet 网络。

它提供多种操作系统的设备驱动、工具软件等,能真正的满足客户的各种应用需求,为工业通信DeviceNet 网络提供了可靠性、高效率的解决方案。在计算机中的硬件与软件结构如图7.2所示。

图7.1 PCI-5010-D 典型应用

文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

图7.2 PCI-5010-D 在计算机中的硬件与软件结构

PCI-5010-D 具有如下特性: ● 支持ODVA 一致性测试软件(A21 DeviceNet Conform );

● 带有微处理器的DeviceNet 主站卡,完全遵循DeviceNet 2.0协议规范; ● 支持最多63个从站节点;

● 支持自动检测失效节点位、空闲节点位、错误节点位映射; ● 支持标准波特率: 125 kbps 、250 kbps 、500 kbps ; ● 支持用户自设定的MAC ID ,范围:0~63; ● 支持无需断开网络,在线移除/安装从站设备; ● 自供电DeviceNet 设备兼容网络的连接; ●

PCI 板卡所有元器件均符合工业级要求。

1.1.3 PCI-5010-D 驱动安装

PCI-5010-D 通信卡没有任何开关和跳线用于分配中断和I/O 地址,这些都是由BIOS 自动分配。因此在安装驱动程序之前板卡必须事先安装到PCI 槽上,以下是安装步骤。

通常在新安装PCI

板卡后,启动计算机之后会弹出“找到新硬件”的界面后,这时需要手动的把PCI-5010-D 的驱动所在的文件夹添加到搜索的位置,这样直接点击下一步,系统会自动的把驱动程序安装完成。

1.1.4 基于PCI-5010-D 的PC 机端软件设计 图7.3所示为PCI-5010-D 的操作流程,其概括性的描述了PCI-5010-D 的所有功能及相应的API 函数调用结构。以下将详细介绍常用的API 函数功能及使用。

1. 初始化PCI-5010-D

PCI-5010-D 被打开时,必须按照图7.3所示的顺序来操作,即需要经历打开、初始化参数、添加节点、保存配置、主站上线、扫描等步骤。在关闭PCI-5010-D 时,其操作与初始化

图7.3 PCI-5010-D API 函数操作流程图

文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

的流程相反,操作代码如程序清单7.1所示。

程序清单7.1 启动PCI-5010-D 代码

1 void OnStartDeviceNet(void){

2 ......

3 ZDNMA _Open(1,0,0);

// 打开PCI-5010-D 4 ZDNMA_Init(1, 0, 0, (ZDNMA_INITCFG *)&Config, 0);

// 初始化协议及配置主站 5 ZDNMA_AddSlave(0, (ZDNMA_SLA VECONFIG *)&SlaveConfig);// 添加节点 6 ZDNMA_SaveCfg(0);

// 保存当前通道的配置 7 ZDNMA_Online(0);

// 主站上线

8

ZDNMA_StartScan(0); } // 开始扫描从站节点

9 void CloseDevice(void){ 10 .....

11 ZDNMA_StopScan(0); // 停止扫描从站节点 12 ZDNMA_Offline(0); // 主站下线 13 ZDNMA_Uninit(0); // 关闭通道 14

ZDNMA_Close(1,0);}

// 关闭设备

2. 接收发送从站节点I/O 数据

DeviceNet 主站设备能接收和发送网络中所有从站节点不同连接的I/O 数据,只需要简单的调用读写从站函数即可,其实现代码可参考程序清单7.2。

程序清单7.2 读写从站节点I/O 数据

15 void I ODataTranstmit(void){ 16 .....

17

ZDNMA_ReadSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000); // 读NodeID 的轮询数据,长度

为datalen ,超时1S

18 ZDNMA_WriteSlaveIO(0, NodeID, POLL, pBuffer, datalen, 1000); // 写NodeID 的轮询数据,长度为datalen ,超时1S 19

}

3. 显示报文发送和接收

作为一个DeviceNet 主站设备应该具备UCMM 服务器、客服端的功能,这样就可以通过显式报文来访问网络中各个节点的任意对象数据,其中包括下载和上传数据,其操作可参考程序清单7.3。

程序清单7.3 显式报文传输示例

20 void SDOTranstmit(void){ 21 .....

22 ZDNMA_EMRequest(0, dwSlaveID, dwService, dwClassID, dwInstanceID, pServiceData, dwSize,

pReceiveData, dwRecSize, dwWaitTime);

// 填写相应的参数,读取或修改网络上对象属性

23

}

文库资料 ?2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

4. 其它功能

PCI-5010-D 不仅具有如上所述的基本功能之外,还具有其它一些DeviceNet 相关的功能特性,例如获取指定从站的当前工作状态、获取设备信息功能、支持ODVA 一致性测试软件等等(具体操作可参考API 函数库手册)。这些功能都为开发一个完整的DeviceNet 主站设备提供了必备条件。

经过以上步骤,通过调用PCI-5010-D 的API 函数库实现一个特定功能的DeviceNet 主站设备。PCI-5010-D 的DeviceNet 协议栈经过严格的测试,能兼容其它的DeviceNet 设备,同时还可利用测试软件对DeviceNet 网络进行配置并检测运行状态。

几种常见的现场总线简介

几种常见的现场总线简介从1984年IEC开始制订现场总线国际标准至今,经过16年的努力和有关各方的协商妥协,最终,采用包括8种类型现场总线的IEC6lI58标准,并于1999年底的投票中得以通过。 2.1 Type l IEC技术报告(即FF H1)FF H1现场总线的网络协议是按照ISOOSI参考模型建立的,它由物理层、数据链路层、应用层,以及考虑到现场装置的控制功能和具体应用而增加的用户层组成。基金会现场总线(FF)是Type1现场总线的一个子集(Subset)。 2.2 Type 2 ControlNet ControlNet现场总线得到美国Rockwell公司支持。它采用了一种新的通信模式:生产者/客户(Producer/Consumermodel)模式。这种模式允许网络上的所有节点,同时从单个数据源存取相同的数据。这种模式最主要的特点是增强了系统的功能,提高了效率和实现精确的同步。 2.3 Type 3 Profibus Profibus得到德国Siemens公司支持。Profibus数据链路层总线存取有两种方式,即令牌环(Token-Ring)方式和主站/从站(Master/Slave)方式。Profibus系列由3个兼容部分组成,即Profibus-DP、Profibus-FMS和Profibus-PA。Profibus-DP适用于设备级控制系统与分散I/O之间高速通信,它使用物理层、数据链路层以及用户接口。Profibus-FMS适用于车间级监控网络,是一个令牌结构、实时多主网络。Profibus-PA专为过程自动化设计,它能够将变送器和执行器连接到一根公共总线,符合IEC61158.2物理层规范,

CCNA网络学院第一学期 第三章应用层功能及协议 试题及答案

第三章应用层功能及协议 001数据网络中的客户端有哪两种特征?(选择两项) A使用守护程序 B 发起数据交换 C 是数据库 D 可以向服务器上传数据 E 侦听服务器的请求 002关于MTA在处理电子邮件中的作用,下列哪些陈述是正确的?(选择三项) A将电子邮件路由到其它服务器上的MDA B从客户端的MUA接收电子邮件 C通过POP3 协议接收电子邮件D将电子邮件传送到MDA供最终分发 E使用SMTP 在服务器之间路由电子邮件F通过POP3 协议将电子邮件分发到客户端 003与SSH 相比,telnet 的主要缺点是什么? A应用不广泛B不支持加密C消耗的网络带宽更多D不支持身份验证 004资源记录在DNS 中有何作用? A临时保存解析的条目B服务器用其解析域名C由客户端在查询期间发送D在服务器和客户端之间传送身份认证信息 005将资源名称与所需IP 地址匹配的自动化服务是什么? A HTTP B SSH C FQDN D DNS E Telnet F SMTP 006为了将三台计算机连接到一起进行游戏和文件共享,已经安装了一个小型家庭网络。以下哪两种属性代表此网络类型?(选择两项) A集中管理用户帐户B难以执行安全管理C需要专用的操作系统软件D由一台计算机控制文件访问权限 E响应文件共享请求的计算机发挥服务器的作用 007网络管理员正在为拥有二十五名用户的新分公司设计网络。使用客户端-服务器模型有哪些优势?(选择两项) A集中管理 B 不需要专用软件 C 更易于执行安全管理 D 实施成本更低 E 提供单一故障点 008以下哪些应用层协议正确匹配了相应的功能?(选择两项) A DNS为主机动态分配IP地址 B HTTP从Web服务器向客户端传输数据 C POP从客户端向电子邮件服务器分发电子邮件 D SMTP 支持文件共享 E Telnet 提供远程访问的虚拟连接 009应用层软件的两种形式是什么?(选择两项) A应用程序 B 对话 C 请求 D 服务 E 语法 010 OSI 应用层有何作用? A提供数据分段 B 提供数据加密和转换C提供网络任意终端上应用程序之间的接口 D对源设备和目的设备之间流经的所有数据提供控制 011以下哪三种协议在OSI 模型的应用层中工作?(选择三项) A ARP B DNS C PPP D SMTP E POP F ICMP 012请参见图示。第5 行中所示通信的目的端口是多少?

can总线协议完全解析

CAN总线协议解析 李玉丽 (吉林建筑工程学院电气与电子信息工程学院,吉林长春,130021 ) 摘要:现场总线的发展与应用引起了传统控制系统结构的改变。控制局域网(C AN)总线因其自身的特点被广泛应用于 自动控制领域。本文对C AN总线协议作了详尽解析。 关键词:C AN总线;隐性位;显性位;节点 中图分类号:T U 85 文献标识码:A CAN(Cont roll e r A rea N et work)是分布式实时控 制系统的串行通信局域网,称谓CAN总线。在数据 实时传输中,设计独特、低成本,具有高可靠性,得到 广泛应用。 本文着重解析C AN 技术规范2.0B 版的CAN 的分层结构规范和CAN 报文结构规范。重点在于 充分理解CAN总线协议精髓,有助于CAN总线的 局网设计、软件编程、局网维护。 一、C AN的分层结构 CAN 遵从O SI ( Ope n Syste m I nte rc onnec ti on Re fe re nce Mode l ) 模型,其分层结构由高到低如图1 所示。 图1 C AN的分层结构 对应OSI 模型为两层,实际为三层,即LLC、 MA C、PL S。由此而知,对应于CAN总线系统每个 节点都是三层结构。数据发送节点数据流为LLC→ MA C→P LS ,然后将数据发送到总线上;而对于挂在 总线上的所有节点(包括发送节点)的接收的数据流 为PL S→MA C→LLC。 这种分层结构的规范保证了CAN 总线的多主 方式工作模式,即不分主从,非破坏性的仲裁工作模 式。而LLC 层的报文滤波功能可实现点到点、一点 对多点、全局广播、多点对一点,多点对多点等数据 传递方式。 各分层主要功能如下: LLC 层:接收滤波、超载通知、恢复管理; MAC 层:控制帧结构、执行仲裁、错误检测、出 错标定、故障界定。该层是CAN的核心; PL S 层:位编码/ 解码、位定时。 二、CAN总线的报文规范 CAN报文的传送有4 种不同类型的帧结构,数 据帧、远程帧、出错帧、超载帧。CA B2.0B 有4 种帧 格式。 (一)数据帧

J1939应用层协议详细描述

J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度、数据类型、分辨率、范围及参考标签,并为每个参数分配了一个编号(SPN)。由于J1939协议是以协议数据单元(PDU)的形式进行传输,而一个PDU包含8个字节数据,因此,需要对这些参数进行组合。在J1939应用层协议中还详细定义了参数组,包括每组参数的更新率、有效数据长度、数据页、PDU格式、PDU细节、默认优先权及参数组的内容,并为每个参数组分配一个参数组编号(PGN)。 PGN(parameter group number)是一个24位的值,包括保留位、数据页位、PF (PDU格式场)和PS(群扩展场)等要素。 SPN(SPN: Suspect Parameter Number)是PG(参数组)下面的具体参数的一个编号,而PGN是参数组编号,可以理解为一个PGN包含了按一定方法分类的一组参数,而每个具体参数又有它自己的编号(就是SPN)。 SAE J1939的应用层以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。 18 EB 00 F9 是一个报文的29位标示符,70 E3 FF FF FF FF FF FF是后面的数据域。 18EB00F9化成2进制就是 110 00 1110 1011 0000 0000 1111 1001 把这个按照PDU的格式代进去就知道这条报文的意思了。 后面的数据域含义可以通过前面得到的PFPS知道PGN,然后查看J1939应用层关于该PGN的数据位就能知道这个数据的含义。 在各个位转化到PGN的过程中,如果PF的值小于240(十进制)时,PGN的低字节置零(个人理解当PF的值小于240时,PS的置0)。 举一个例子:请求PGN的数据页位(DP)=0;PF=234(#EA)那么她的参数群编号PGN=#00EA00。因为PF=234<240,所以PS=#00 注:PF(PDU格式场)和PS(群扩展场)都是八位 CAN通讯协议中PGN的计算 数据链路层通过协议数据单元(PDU)组织数据帧中的协议相关信息。PDU 由CAN扩展数据帧中29位ID和O~8字节数据场组成。 CAN通讯协议中PGN的计算

CAN总线协议的物理层和报文类型

CAN总线协议的物理层和报文类型 CAN 总线的物理层是将ECU 连接至总线的驱动电路。ECU 的总数将受限 于总线上义了物理数据在总线上了物理数据在总线上各节点间的传输过程,主 要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCH CAN 基本上没有对物理层进行定义,但基于CAN 的ISO 标准对物理 层进行了定义。设计一个CAN 系统时,物理层具有很大的选择余地,但必须 保证CAN 总线协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时, 具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN 总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐 性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。 在CAN 中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Media Dependent:Inter-face,MDI)层。其中PLS 连同数据链路层功能由CAN 控制器完成,PMA 层功能由CAN 收发器完成,MDI 层定义了电 缆和连接器的特性。目前也有支持CAN 的微处理器内部集成了CAN 控制器和 收发器电路,如MC68HC908GZl6。PMA 和MDI 两层有很多不同的国际或国 家或行业标准,也可自行定义,比较流行的是ISOll898 定义的高速CAN 发送 /接收器标准。理论上,CAN 总线上的节点数几乎不受限制,可达到2000 个,实际上受电气特性的限制,最多只能接100 多个节点。CAN 的数据链路层 是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载 通知和管理恢复等功能,媒体访问控制(Medium Aeeess control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串

主流现场总线简介

主流现场总线简介 下面就几种主流的现场总线做一简单介绍。 1、基金会现场总线(FoundationFieldbus 简称FF) 这是以美国Fisher-Rousemount公司为首的联合了横河、ABB、西门子、英维斯等80家公司制定的ISP协议和以Honeywell公司为首的联合欧洲等地150余家公司制定的WorldFIP协议于1994年9月合并的。该总线在过程自动化领域得到了广泛的应用,具有良好的发展前景。 基金会现场总线采用国际标准化组织ISO的开放化系统互联OSI的简化模型(1,2,7层),即物理层、数据链路层、应用层,另外增加了用户层。FF分低速H1和高速H2两种通信速率,前者传输速率为31.25Kbit/秒,通信距离可达1900m,可支持总线供电和本质安全防爆环境。后者传输速率为1Mbit/秒和2.5Mbit/秒,通信距离为750m和500m,支持双绞线、光缆和无线发射,协议符号IEC1158-2标准。FF的物理媒介的传输信号采用曼切斯特编码。 2、CAN(ControllerAreaNetwork 控制器局域网) 最早由德国BOSCH公司推出,它广泛用于离散控制领域,其总线规范已被ISO国际标准组织制定为国际标准,得到了Intel、Motorola、NEC等公司的支持。CAN协议分为二层:物理层和数据链路层。CAN的信号传输采用短帧结构,传输时间短,具有自动关闭功能,具有较强的抗干扰能力。CAN 支持多主工作方式,并采用了非破坏性总线仲裁技术,通过设置优先级来避免冲突,通讯距离最远可达10KM/5Kbps/s,通讯速率最高可达40M /1Mbp/s,网络节点数实际可达110个。目前已有多家公司开发了符合CAN协议的通信芯片。 3、Lonworks 它由美国Echelon公司推出,并由Motorola、Toshiba公司共同倡导。它采用ISO/OSI模型的全部7层通讯协议,采用面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置。支持双绞线、同轴电缆、光缆和红外线等多种通信介质,通讯速率从300bit/s至1.5M/s不等,直接通信距离可达2700m(78Kbit/s),被誉为通用控制网络。Lonworks技术采用的LonTalk协议被封装到Neuron(神经元)的芯片中,并得以实现。采用Lonworks技术和神经元芯片的产品,被广泛应用在楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。 4、DeviceNet DeviceNet是一种低成本的通信连接也是一种简单的网络解决方案,有着开放的网络标准。DeviceNet具有的直接互联性不仅改善了设备间的通信而且提供了相当重要的设备级阵地功能。DebiceNet基于CAN技术,传输率为125Kbit/s至500Kbit/s,每个网络的最大节点为64个,其通信模式为:生产者/客户(Producer/Consumer),采用多信道广播信息发送方式。位于DeviceNet网络上的设备可以自由连接或断开,不影响网上的其他设备,而且其设备的安装布线成本也较低。DeviceNet总线的组织结构是Open

CAN总线及CAN通讯协议

CAN总线及CAN通讯协议 CAN,全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信息,形成汽车电子控制网络。比如:发 动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN 控 制装置。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250 作为CAN 收发器时,同一网络中允许挂接110 个节点。CAN 可提供高达1Mbit/s 的数据传输速率,这使实时控制变得非常容易。另外,硬件的错 误检定特性也增强了CAN 的抗电磁干扰能力。CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义与开放系统互连模型(OSI)一致。每一 层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN 的规范定义了模型的最下面两层:数据链路层和物理层。下表中展示了OSI 开放式互连模型的各层。应用层 协议可以由CAN 用户定义成适合特别工业领域的任何方案。已在工业控制和 制造业领域得到广泛应用的标准是DeviceNet,这是为PLC 和智能传感器设计的。在汽车工业,许多制造商都应用他们自己的标准。CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的 两层,而设备只通过模型物理层的物理介质互连。CAN 的规范定义了模型的最下面两层:数据链路层和物理层。下表中展示了OSI 开放式互连模型的各层。 应用层协议可以由CAN 用户定义成适合特别工业领域的任何方案。已在工业 控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC 和智能传感

常用现场总线种类介绍

常用现场总线种类介绍公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

常用现场总线种类介绍 1、PROFIBUS Profibus 作为一种快速总线,被广泛应用于分布式外围组件(PROFIBUS-DP)。除了 PROFIBUS-DP 和 FMS 以外,Beckhoff 还支持驱动器通讯标准 PROFIBUS MC。过程现场总线 2、EtherCAT EtherCAT(Ethernet for Control Automation Technology,用于控制和自动化技术的以太网)是一种用于工业自动化的实时以太网解决方案,性能优越,使用简便。 3、Lightbus 这种经过验证的 Beckhoff 光纤总线系统具有极为优秀的抗 EMI 性能,易于安装,数据流快速、循环且具有确定性。 4、Interbus Interbus 易于配置,通讯快速而可靠。主/从系统的移位寄存器协议可提供高效循环通讯。 5、CANopen 通过有效利用总线带宽,CANopen 可在即使相对较低的数据传输速率时也能实现较短的系统响应时间。秉承了 CAN 的传统优点,例如数据安全性高且具备多主站能力。 6、ControlNet ControlNet 是一种开放式标准现场总线系统。该总线协议允许循环数据和非循环数据通过总线同时进行交换,而两者之间互不影响。 7、SERCOS interface SERCOS 最初作为用于驱动器的快速光纤总线系统研发。采用 Beckhoff SERCOS 总线耦合器,I/O 设备可以实现高速率数据传输和较短的循环时间。 8、Ethernet

(参考)应用层网络协议分析

HTTP网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如TCP/IP、网卡(NIC)等,仍可以使用IE来浏览本地的HTML文档。可如果我们试图浏览必须使用HTTP 的文档,或者用FTP下载一个文件,事情就没那么容易了。此时,IE将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(OSI模型中为表示层,TCP/IP模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,HTTP则是其中一种。 HTTP(超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 HTTP是基于请求/响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的HTTP文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问HTTP的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图1-1: 图1-1 根据图连接好以及配好相应IP后,测试网络互通。而后,在server上建立HTTP服务器。首先在控制面板\添加删除程序\添加删除Windows组件中查看Internet信息服务(IIS)是否装上,若没有则安装,若安装好,则可以进入管理工具\Internet服务管理器,在默认WEB站点下建立自己的站点及目录。而后,在client浏览器地址栏中键入http://31.0.0.1便可浏览位于server端默认站点目录下网页。 在此过程中,我们通过Ethereal所抓的数据包如下: 1、数据链路层:

汽车can总线协议

汽车can总线协议 篇一:史上最全can总线协议规则 一、CAN总线简介 CAN是控制器局域网络(Controller Area Network,CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH 公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在建立之初,CAN总线就定位于汽车内部的现场总线,具有传输速度快、可靠性高、灵活性强等优点。上世纪90年代CAN总线开始在汽车电子行业内逐步推广,目前已成为汽车电子行业首选的通信协议,并且在医疗设备、工业生产、楼宇设施、交通运输等领域中取得了广泛的应用。 二、CAN总线技术及其规范 2.1性能特点 (1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,通信方式灵活,且无需站地址等节点信息; (2) CAN网络上的节点信息分成不停的优先级,可满足不同的实时要求,高优先级节点信息最快可在134μs内得到传输;

(3) 采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而高优先级的节点可不受影响的继续发送数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪的情况; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M); (4) 通信的硬件接口简单,通信线少,传输介质可以是双绞线,同轴电缆或光缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。 (5) 采用短帧结构,传输时间短,受干扰概率低,每帧信息都有CRC校验及其他检验措施,数据出错率极低; (6) 节点在严重错误的情况下具有自动关闭输出的功能,以使总线上其他节点的操作不受影响。 (7) CAN总线使用两根信号线上的差分电压传递信号,显性电平可以覆盖隐形电平。 2.2技术规范 2.2.1CAN的分层结构 图1 CAN的分层结构 逻辑链路控制子层(LLC)的功能:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际上已被

各类总线的介绍

总线 一.总线的概念 总线是一组用于计算机之间各部件之间进行数据和命令的传送的公用信号线。二.总线的分类 (一)总线(微机通用总线)按功能和规范可分为三大类型: (1)片总线(Chip Bus, C-Bus) 又称元件级总线,是把各种不同的芯片连接在一起构成特定功能模块(如CPU模块)的信息传输通路。 (2)内总线(Internal Bus, I-Bus) 又称系统总线或板级总线,是微机系统中各插件(模块)之间的信息传输通路。例如CPU模块和存储器模块或I/O接口模块之间的传输通路。 (3) 外总线(External Bus, E-Bus) 又称通信总线,是微机系统之间或微机系统与其他系统(仪器、仪表、控制装置等)之间信息传输的通路,如EIA RS-232C、IEEE-488等。(现场总线CAN属于外总线) 三类总线在微机系统中的地位和关系 其中的系统总线,即通常意义上所说的总线,一般又含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB

(Control Bus)。 (二)总线按照传输数据的方式划分:可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。常见的串行总线有SPI、I2C、USB及RS232等。 (三)总线按照时钟信号是否独立划分:可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。 三.各类总线介绍 内部总线 1.I2C总线是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。 2.SPI总线串行外围设备接口SPI是一种同步串行接口,SPI总线是一种三线同步总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使CPU 有更多的时间处理其他事务。 3.SCI总线串行通信接口SCI是一种通用异步通信接口UART,与MCS-51的异步通信功能基本相同。 系统总线 1.ISA总线总线标准是IBM 公司推出的系统总线标准。它是对XT总线的扩展,以适应8/16位数据总线要求。它在80286至80486时代应用非常广泛,以至于现在奔腾机中还保留有ISA总线插槽,ISA总线有98只引脚。 2.EISA总线是在ISA总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。在实用中,EISA总线完全兼容ISA总线信号。 3.VESA总线是一种局部总线,简称为VL(VESA local bus)总线。该总线系统考虑到CPU与主存和Cache 的直接相连,通常把这部分总线称为CPU总线或主总线,其他设备通过VL总线与CPU总线相连,所以VL总线被称为局部总线。它定义了32位数据线,且可通过扩展槽扩展到64 位,使用33MHz时

CAN总线协议

CAN总线协议 依据国际标准化组织/开放系统互连(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)参考模型,CAN的ISO/OSI参考模型的层结构如图7-6所示。下面对CAN协议的媒体访问控制子层的一些概念和特征做如下说明: (1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。 (2)信息路由(Information Routing) 在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。 (3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。 (4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。 (5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。 (6)优先权由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。 (7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。 (8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。 (9)总线状态总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式,如图7-7所示。 10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。 (11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。

常用现场总线种类介绍

常用现场总线种类介绍 1、PROFIBUS Profibus 作为一种快速总线,被广泛应用于分布式外围组件(PROFIBUS-DP)。除了PROFIBUS-DP 和FMS 以外,Beckhoff 还支持驱动器通讯标准PROFIBUS MC。过程现场总线 2、EtherCAT EtherCAT(Ethernet for Control Automation Technology,用于控制和自动化技术的以太网)是一种用于工业自动化的实时以太网解决方案,性能优越,使用简便。 3、Lightbus 这种经过验证的Beckhoff 光纤总线系统具有极为优秀的抗EMI 性能,易于安装,数据流快速、循环且具有确定性。 4、Interbus Interbus 易于配置,通讯快速而可靠。主/从系统的移位寄存器协议可提供高效循环通讯。 5、CANopen 通过有效利用总线带宽,CANopen 可在即使相对较低的数据传输速率时也能实现较短的系统响应时间。秉承了CAN 的传统优点,例如数据安全性高且具备多主站能力。 6、ControlNet ControlNet 是一种开放式标准现场总线系统。该总线协议允许循环数据和非循环数据通过总线同时进行交换,而两者之间互不影响。 7、SERCOS interface SERCOS 最初作为用于驱动器的快速光纤总线系统研发。采用Beckhoff SERCOS 总线耦合器,I/O 设备可以实现高速率数据传输和较短的循环时间。 8、Ethernet 以太网是办公环境中的主流标准。在Beckhoff 以太网产品中,也秉承并发扬了以太网的优点,例如数据传输速率高,与现有网络的简便集成以及广泛的服务和接口等。 9、PROFINET PROFINET 是一种由PNO(PROFIBUS 用户组织)针对开放式工业以太网制定的标准:国际上订立的一种针对通讯的IT 标准(如TCP/IP 协议)。 10、USB USB 已成为PC 技术的标准接口,具有传输速率高,拓扑结构灵活(通过集成集线器)等特点,加上Beckhoff USB 总线耦合器,在距离较短时,该系统可替代现场总线。 11、Modbus Modbus 是一种基于主/从结构的开放式串行通讯协议。可非常轻松地在所有类型的串行接口上实现,已被广泛接受。 12、RS232/RS485 RS232 和RS485 是精典的串行接口,一直被广泛使用。Beckhoff RS485/RS232 I/O模块采用的是易于实现的简单串行通讯协议。 13、CC-Link CC-Link(Control & Communication Link,控制与通信链路)是一种开放式总线系统,用于控制级和现场总线级之间的通讯。应用方面主要以亚洲地区为主。 14、AS-Interface AS interface 通过简单、经济的布线方法,连接传感器、执行器与上位控制层。AS interface 已通过EN 50295 和IEC 62026-2 标准,在国际上实现了标准化。 15、LON LON(Local Operating Network,局部操作网络)是一种能够进行多网络连接的通讯系统,用于分布式应用。 16、EIB EIB(European Installation Bus,欧洲安装总线)是一种用于楼宇布线的总线系统,主要在欧洲得到广泛应用。 17、SNMP 简单网络管理协议 18、QOS 服务质量,解决延时和阻塞的一种技术。 19、CAN 控制器局域网络

CAN总线的特点及J1939协议通信原理、内容和应用

CAN总线的特点及J1939协议通信原理、内 容和应用 众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。 在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。但货车和客车在这方面却远未能满足排放法规的要求。计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。 1 CAN总线特点及其发展 控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。CAN的应用范围遍及从高速网络到低成本底多线路网络。在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。网络上的节点可分为不通优先级,满足不同的实时要求。采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。具有点对点、一点对多点及全局广播接收传送数据的功能。 随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。1991年9月Philips Semiconductors制定并发布了CAN技术规范(Versio 2.0)。该技术包括A和B两部分。2.OA给出了CAN报文标准格式,而2.OB给出了标准的和扩展的两种格式。1993年11月ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网(CAN)国际标准ISO11898,为控制局域网的标准化和规范化铺平了道路。美国的汽车工程学会SAE于2000年提出的J1939,成为货车和客车中控制器局域网的通用标准。 2.J1939协议通信原理及内容 (1)J1939与CAN J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。主要运用于载货车和客车上。它是以CAN2.0为网络核心。表1介绍了CAN2.0的标准和扩展格式,及J1939协议所定义的格式。表2则给出了J1939年的一个协议报文单元的具体格式。可以看出,J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。而报文单元还包括64位的数据场。

应用层功能及协议

3 应用层功能及协议 表示层 表示层有三个主要功能: 对应用层数据进行编码与转换,从而确保目的设备可以通过适当的应用程序理解源设备上的数据; 采用可被目的设备解压缩的方式对数据进行压缩; 对传输数据进行加密,并在目的设备上对数据解密。 会话层 会话层,顾名思义,它就是用于在源应用程序和目的应用程序之间创建并维持对话。会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。 常见TCP/IP 协议包括: 域名服务协议(DNS),用于将Internet 域名解析为IP 地址; 超文本传输协议(HTTP),用于传输构成万维网网页的文件; 简单传输协议(SMTP),用于传输及其附件信息; Telnet 协议(一种终端模拟协议),提供对服务器和网络设备的远程访问; 文件传输协议(FTP),用于系统间的文件交互传输。 P2P 在点对点网络中,两台或两台以上的计算机通过网络互连,它们共享资源(如打印机和文件)时可以不借助专用服务器。每台接入的终端设备(称为“点”)既可以作为服务器,也可以作为客户机。拥有两台互连电脑、一台共享打印机的家庭简易网络就是一种典型的点对点网络。 端口号 传输层使用某种编址方案,称为端口号。端口号识别应用程序及应用层服务(即源数据和目的数据)。服务器程序通常使用客户机已知的预定义端口号。当我们研究不同的TCP/IP 应用层协议和服务时,我们将参考与这些服务相关联的TCP 和UDP 端口号。这些服务包括: 域名系统(DNS)—TCP/UDP 端口53 超文本传输协议(HTTP) —TCP 端口80 简单传输协议(SMTP)—TCP 端口25 邮局协议(POP)—TCP 端口110 Telnet —TCP 端口23 动态主机配置协议—UDP 端口67 和端口68 文件传输协议(FTP)—TCP 端口20 和端口21 DNS 在数据网络中,设备以数字IP 地址标记,从而可以参与收发消息。但是人们很难记住这些数字地址。于是,人们创建了可以将数字地址转换为简单易记名称的域名系统。

应用层协议

WEB开发技术 题目:浅谈应用层防火墙 姓名: 班级: 教师: 日期: 评价

报告摘要: 多种的应用层协议是用户使用电脑进行日常的操作的重要组成,也正因如此,Web应用程序攻击是一种最常见的入侵类型。传统的网络防火墙不能检测到应用攻击,原因是它们在合法应用程序的开放端口上才能起作用。但它并不能核查应用程序和应用程序数据,而应用层防火墙的出现,对这一破坏行为有了有理的打击。 1.应用层协议 应用层协议(application layer protocol)是一种运行在不同端系统上的应用程序进程如何相互传递报文。其中包括如下内容:交换的报文类型、各种报文类型的语法、字段的语义、进程何时、如何发送报文及对报文进行响应。 2.应用层协议的种类 ●DNS域名系统(Domain Name System,DNS),用于实现网络设备名字到IP 地址映射的网络服务。这样用户就不需要记一串数字的IP地址而是有意义的网址。 ●FTP文件传输协议(File Transfer Protocol,FTP),用于实现交互式文件传输功能。 ●SMTP简单邮件传送协议(Simple Mail Transfer Protocol, SMTP),用于实现电子邮箱传送功能 ●HTTP超文本传输协议(HyperText Transfer Protocol,HTTP),用于实现WWW服务。 ●SNMP简单网络管理协议(simple Network Management Protocol,SNMP),用于管理与监视网络设备。 ●Telnet远程登录协议(Telnet),用于实现远程登录功能。 由上述的应用层协议可以看出,应用层对用户使用电脑进行日常的操作的重要性,也正因如此,Web应用程序攻击是一种最常见的入侵类型。传统的网络防火墙不能检测到应用攻击,原因是它们在合法应用程序的开放端口上才能起作用。但它并不能核查应用程序和应用程序数据,黑客可以在通过开放防火墙端口时,不知不觉地隐藏恶意活动。由于大多数Web信息流通过端口80或者端口443,而关闭这些端口是不现实的。下面的几个例子是针对应用层的入侵: ●例1: 2013年8月25日凌晨,.CN域名凌晨出现大范围解析故障,经分析.CN的根域授权DNS全线故障,导致大面积.CN域名无法解析。事故造成大量以.cn 和https://www.doczj.com/doc/b418411789.html,结尾的域名无法访问。直到当日凌晨4点左右,CN根域名服务器的解析才有部分恢复。此后,经CNNIC确认,国家域名解析节点遭受到有史以来规模最大的拒绝服务攻击,导致访问延迟或中断,部分网站的域名解析受到影响。 ●例2: DNET安全频道10月2日国际新闻:目前已经出现一类恶意软件——Fort Disco,旨在利用暴力密码破解攻击突破电子邮件及FTP服务器。 这款恶意软件已经被DDoS攻击防御供应商Arbor Networks公司记录在案,

CAN总线自定义协议使用说明

CAN总线自定义协议使用说明 用C语言实现自己的协议 进入EV5000安装目录下builddriver目录(如图1),这个目录里面的fbserver.c文件即协议程序,用户不需要了解CAN口的细节编程,只需要按照该框架,用C语言来编写自己的协议即可。不可随意更改该文件中的函数名及头文件引用。 图1

CAN 自定义协议程序的流程图 接收线程流程 主程序流程 图2 需要用户实现的函数 void Init(CAN_PORT canport) 调用方式:仅在组态程序运行的时候执行一次 功能:用户程序的初始化 void main_process (CO_Data* d, UNS32 id) 调用方式:周期性执行,默认周期为10ms ,周期可以在void Init(CAN_PORT canport)中调用Set_Cycle 来设定,最小周期为10ms 功能:用户程序的“main 函数” void MsgDispatch (CO_Data* d, Message *m) 调用方式:每接收到一帧CAN 数据,就执行一次 功能:常用于对接收到的数据做解析,或者做出响应

供用户调用的API函数 void Set_Cycle(ms) 功能:用于设定main_process的运行周期, 参数:ms的单位为毫秒, 非零 UNS8 Send_Msg(CAN_PORT port, Message *m,UNS8 bExtended) 功能:向CAN总线发送一帧CAN数据 参数:port指向已打开CAN口的句柄,m指向Message结构体的指针,bExtended为1时按扩展帧发送,为0时按标准帧发送 void Write_LW8K (UNS32 n,UNS16 val) 功能:将val 写入LW8000+n的寄存器 参数:n偏移量、最大999,val待写入的值 UNS16 Read_LW8K (UNS32 n) 功能:读取LW8000+n的寄存器的值 参数:n偏移量、最大999 void Set_Timer(TimerCallback_t callback,TIMEVAL value, TIMEVAL period) 功能:使用定时器,经过设定的时间后,调用callback函数 参数:callback回调函数指针,value单次定时时间,period周期定时时间 void CopyToLW(UNS32 offset,const void *src, size_t n); 功能:由src所指内存区域复制n个字节到LW8000+offset所在内存区域 说明:src和LW8000+offset所在内存区域不能重叠 void CopyFromLW(UNS32 offset,const void *src, size_t n); 功能:由LW8000+offset所在内存区域复制n个字节src所指内存区域 说明:src和LW8000+offset所在内存区域不能重叠 相关的结构体定义 typedef struct { UNS32 w; /* 32 bits */ } SHORT_CAN; /** Can message structure */ typedef struct { SHORT_CAN cob_id; /* l'ID du mesg */ UNS8 rtr; /* remote transmission request. 0 if not rtr, 1 for a rtr message */

相关主题
文本预览
相关文档 最新文档