您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 嵌入式部分协议介绍-new
嵌入式部分协议学习1、TCP/IP协议2、Modbus协议3、CAN协议协议(Protocol):通信双方就如何进行数据交换,而制定的规则、约定、标准。1、TCP/IP协议1.1背景介绍:•在TCP/IP协议研究时,并没有提出参考模型•1974年,Kahn定义最早的TCP/IP参考模型•TCP/IP协议共出现6个版本,目前使用的是版本4,通常称为IPv4•IPv6被称为下一代的IP协议•IP协议是点-点的网络层协议•TCP/IP是开放的协议标准•独立于特定的计算机硬件与操作系统•独立于特定的网络硬件,可以运行在局域网、广域网中•统一的网络地址分配方案,使每个设备在网中有唯一的地址•标准化的高层协议,可提供多种可靠的服务1.2特点:应用层表示层会话层传输层网络层数据链路层物理层应用层传输层互联层主机-网络层OSI参考模型与TCP/IP参考模型OSI参考模型TCP/IP参考模型数据链路层:有时也称为网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。网络层:处理分组在网络中的活动传输层:主要为两台主机上的应用程序提供端到端的通信。应用层:负责处理特定的应用程序细节物理层:利用传输介质为数据链路层提供物理连接,负责处理数据传输率并监控数据出错率,以便能够数据流的透明传输会话层:维护两个通信计算机之间的传输链接,以确保点到点传输不中断应用层:为应用软件提供很多服务,例如文件、数据库、电子邮件与其它网络服务1.3TCP/IP模型的通信协议簇远程登录协议文件传输协议简单邮件传输协议域名系统简单网络管理协议1.4IP数据报文格式:IP数据报包含报头区和数据区两部份报头区:为了正确传输高层数据而增加的控制信息数据区:高层传输的数据1.版本版本:数据报对应的IP协议版本号(目前使用的IP协议版本号为4)2.长度报头长度:报头区的长度(以32bit为单位)总长度:整个IP数据报的长度(以8bit为单位)3.服务类型转发过程中对该数据报的处理方式5.生存周期IP数据报在互联网中的存活时间(避免死循环)6.头部校验和保证IP数据报报头的完整性7.地址源IP地址:数据报的发送者目的IP地址:数据报的接收者紧急比特:URG确认比特:ACK复位比特:RST同步比特:SYN终止比特:FIN1.5TCP数据包结构:源端口、目的端口:字段各占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。序号字段:占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号数据偏移:占4bit,它指出TCP报文段的数据起始处距离CP报文段的起始处有多远。数据偏移的单位不是字节而是32bit字(4字节为计算单位)。保留字段占6bit,保留为今后使用,但目前应置为0。窗口字段:占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。检验和:占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。紧急指针:字段占16bit,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。选项字段:长度可变。TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。填充:字段这是为了使整个首部长度是4字节的整数倍。2、Modbus协议2.1背景介绍•Modbus是MODICON公司于1979年开发的一种通讯协议,是一种工业现场总线协议标准。1996年施耐德公司推出了基于以太网TCP/IP的Modbus协议——ModbusTCP。•Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型,协议本身并没有定义物理层,只是定义了控制器能够认识和使用的消息结构,而不管他们是经过何种网络进行通信的。•标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网口。采用Master/Slave(主/从)方式通信。•Modbus在2004年成为我国国家标准。层ISO参考模型7应用层Modbus应用协议6表示层空5会话层空4传输层空3网络层空2数据链路层Modbus串行链路协议1物理层EIA/TIA-485(或EIA/TIA232)OSI参考模型与Modbus应用协议模型地址域功能码数据CRC(或LRC)Modbus串行链路ADUModbusPDU•Modbus协议是一个主多从协议•网络上的每个从站必须有唯一的地址(从1到247)•从站地址用于寻址从站设备,由主站发起•地址0用于广播模式,不需要响应•RS-485和RS-232定义了标准的物理端口,提高互可操作性2.2特点:MODBUS协议建立了客户机启动的请求格式。启动MODBUS事务处理的客户机创建MODBUS应用数据单元(ADU—Applicationdataunit),ModBus协议定义了一个与基础通信层无关的简单协议数据单元(PDU一ProtocolDataUnit),通用MODBUS帧如下图所示2.3MODBUS应用数据单元AddressFunctionDataCheck8-Bits8-BitsNx8-Bits16-Bits2.4Modbus数据帧格式地址(Address)域:该域在帧的开始部分,由一个字节8位(0~255)组成,这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。功能(Function)域:主要是告诉了被寻址到的终端执行何种功能。数据域:包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者设置值。错误校验域:该域允许主机和终端检查传输过程中的错误。2.5MODBUS串行链路协议的传输模式MODBUS串行链路协议包含两种串行传输模式:RTU模式和ASCll模式。串行传输模式定义了报文域的位内容在线路上串行发送,以及决定怎样将信息打包和解码,仅适用于标准的MODBUS网络。MODBUS串行链路上的所有设备必须具有相同的传输模式和串行口参数。下图为两种模式特性对比.特性ASCII模式RTU模式编码系统十六进制(使用ASCII可打印字符:0-9,A-F)二进制每一个字符的位数起始位1bit1bit数据位7bit8bit奇偶检验1bit(无校验时位0bit)1bit(无校验时位0bit)停止位奇偶校验1bit,无校验2bit奇偶校验1bit,无校验2bit错误校验LRC(即纵向冗余校验)CRC(即循环冗余校验)3、CAN协议CAN总线协议控制器局域网(ControllerAreaNetwork,CAN)是为满足汽车工程的要求而设计的一个网络协议,由RobertBosh公司于1986年2月在SAE(SocietyofAutomotiveEngineers)大会上提出。CAN总线上的每个节点由处理器、CAN控制器和CAN收发器组成3.1背景介绍:3.2CAN协议的特点CAN是事件触发的通信系统协议,在主机要求传输消息,如果信道空闲,且这条消息的优先权高于其他同时要求发送的消息时,则这条CAN消息就可以发送。CAN总线上的电平采用二进制不归零(NRZ)的方式。CAN总线上的电平分为“显性”和“隐性”两种。其中用0表示“显性”,用1表示“隐性”并且总线电平采用位与的方式。CAN总线的编码机制采用了位填充的方式,其原理为发送方在发送5个连续相同的位后,自动插入一个与之互补的补码位;接收时,这个填充位自动丢掉。二种不同的CAN帧格式:CAN规范2.0B中引入第二种报文格式标准帧和扩展帧具有11位标识符的CAN帧称为:标准帧具有29位标识符的CAN帧称为:扩展帧CAN控制器必须完全支持标准帧(收/发)CAN控制器必须支持接收扩展帧3.3帧格式数据帧:从发送节点向其它节点发送数据。远程帧:向其它节点请求发送具有同一识别符的数据帧。错误帧:指明已检测到总线错误。过载帧:过载帧用以在数据帧(或远程帧)之间提供一附加的延时。3.4帧类型帧起始(StartofFrame)仲裁场(ArbitrationFrame)控制场(ControlFrame)数据场(DataFrame)CRC场(CRCFrame)应答场(ACKFrame)帧结尾(EndofFrame)数据场的长度可以为0允许DLC8(*见协议实现指南)3.4.1数据帧(组成)帧起始由一个“显性”位组成,仲裁域如下图所示,标准帧和扩展帧在该区域有所区别。3.4.2远程帧(RemoteFrame)用于请求总线上某个远程节点的数据,网络中相应的节点接收到远程帧以数据帧回复。远程帧本身除了没有数据域其余部分与数据帧相同。3.4.3错误帧(ErrorFrame)错误帧用于向总线报告监测到的总线错误。它由错误标志和错误界定符组成。其中,错误界定符由8个“隐性”位构成。错误标志分为主动错误和被动错误两种类型。CAN总线上的其它节点检测到主动错误时也会同时向总线发送主动错误标志,而其它节点监测到被动错误标志时则不会向总线发送错误标志。3.4.4过载帧(OverloadFrame)过载帧用于CAN接收器由于内部原因要求暂缓发送一个数据帧或远程帧时向总线发出的一个请求。总线上“显性”电平支配“隐性”电平;逻辑“0”=“显性”电平;逻辑“1”=“隐性”电平。总线空闲时,任何节点可以开始发送报文;总线上每条报文都具有唯一的一个11位或29位标识符;报文标识符的值越小,报文具有越高的优先权;多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁”;传送高优先级报文的节点赢得仲裁,并继续传输报文;失去仲裁的节点在总线空闲时重新传送。3.5总线仲裁(BusArbitration)总线仲裁示意图ArbitrationField
本文标题:嵌入式部分协议介绍-new
链接地址:https://www.777doc.com/doc-2440546 .html