多机通信协议规范
i2c通讯协议

i2c通讯协议1. 引言i2c通讯协议是一种用于连接集成电路的串行通信协议。
它被广泛应用于各种电子设备中,如传感器、存储器、数字转换器等。
i2c是一种简单、高效、可靠的通信协议,具有多主机、多从机的特性,适用于在复杂系统中实现设备之间的通信。
2. i2c通讯协议的基本特性i2c通讯协议具有以下几个基本特性:2.1. 串行通信i2c使用两根线进行通信,即SDA(串行数据线)和SCL(串行时钟线)。
通过在这两根线上传递高电平和低电平来实现数据传输。
2.2. 主从结构i2c通讯协议支持多主机、多从机的结构。
其中,主机是发起通信的设备,从机是被动响应的设备。
主机负责发送指令和接收数据,从机负责执行指令并返回数据。
2.3. 寻址机制i2c通讯协议使用7位或10位的地址来寻址从机。
每个从机都有一个唯一的地址,主机通过发送地址来选择与之通信的从机。
2.4. 时钟同步i2c通讯协议使用时钟来同步数据传输。
时钟由主机提供,从机根据时钟信号进行数据的读取和写入。
2.5. 数据传输方式i2c通讯协议支持两种数据传输方式:字节传输和块传输。
字节传输是指一次只传输一个字节的数据,块传输是指一次传输多个字节的数据。
2.6. 起始和停止条件i2c通讯协议使用起始和停止条件来标识一次通信的开始和结束。
起始条件是SDA从高电平切换到低电平,而SCL保持高电平。
停止条件是SDA从低电平切换到高电平,而SCL保持高电平。
3. i2c通讯协议的使用步骤使用i2c通讯协议进行设备间通信的步骤如下:3.1. 初始化在通信开始之前,需要对i2c总线进行初始化配置。
这包括设置主机的地址模式(7位或10位)、设置时钟频率等。
3.2. 起始条件主机发送起始条件,即SDA从高电平切换到低电平,而SCL保持高电平。
这表示通信的开始。
3.3. 选择从机主机发送从机的地址以选择与之通信的设备。
地址的发送方式与地址模式有关,可以是7位或10位。
3.4. 数据传输主机发送指令和数据给从机,从机执行指令并返回数据给主机。
单片机多机通信实现

单片机多机通信实现随着科技的进步和应用的需求,单片机成为了嵌入式系统中不可或缺的一部分。
在很多应用场景中,我们需要将多个单片机之间进行通信,以实现数据的传输和协同工作。
本文将介绍单片机多机通信的实现方法。
一、串口通信串口通信是最常见和简单的单片机通信方式之一。
单片机通过串口将数据以字节的形式传输给另一个单片机。
常见的串口通信协议有RS232、RS485和UART等。
其中,RS232是单片机与计算机之间的标准通信协议,而RS485适用于单片机与多个设备之间的通信。
串口通信需要注意以下几个方面:1. 波特率的设置:通信双方需要设定相同的波特率,以确保数据的准确传输。
2. 数据格式的规定:包括数据位、校验位和停止位等,通讯双方需要设置相同的数据格式。
3. 通信控制的实现:通过编程控制单片机的串口发送和接收功能,实现数据的传输。
二、I2C通信I2C(Inter-Integrated Circuit)是一种串行总线协议,它可实现多个单片机的通信和协同工作。
I2C通信需要引入一个主设备和多个从设备的概念,主设备控制通信的起止和数据的传输,从设备用于接收和发送数据。
I2C通信需要注意以下几个方面:1. I2C地址的分配:每个从设备通过唯一的地址与主设备进行通信,地址的分配需要事先规划好。
2. 数据的读写操作:通过发送特定的控制信号,主设备可以向从设备发送读或写的命令,并接收从设备返回的数据。
3. 时序的控制:I2C通信依赖于时钟信号和数据信号的同步,通信双方需要根据协议规定好时序的控制。
三、SPI通信SPI(Serial Peripheral Interface)通信是一种全双工、同步的通信协议。
它通过4根线进行通信,包括时钟、数据输入、数据输出和片选信号。
SPI通信适用于多个主设备与多个从设备之间的通信,可以实现数据的传输和设备的控制。
SPI通信需要注意以下几个方面:1. 主从设备的选定:SPI通信中,每次只有一个主设备能够与从设备进行通信,其他设备通过片选信号进行选择。
RS485通信协议

RS485通信协议协议名称:RS485通信协议一、引言RS485通信协议是一种用于在多个设备之间进行数据传输和通信的标准协议。
本协议旨在规范RS485通信的数据格式、传输方式和通信协议,以确保设备之间的可靠通信和数据交换。
二、范围本协议适用于使用RS485通信接口的各种设备,包括但不限于工业自动化设备、仪器仪表、数据采集设备等。
三、术语定义1. RS485通信:使用差分信号进行数据传输的半双工通信方式。
2. 主设备:发起通信请求的设备。
3. 从设备:响应通信请求的设备。
4. 数据帧:包含数据信息的通信单元。
5. 起始位:数据帧的起始标识位。
6. 终止位:数据帧的结束标识位。
7. 奇偶校验:用于检测数据传输中的错误的校验机制。
8. 波特率:数据传输速率,以每秒传输的比特数表示。
四、通信协议1. 物理层RS485通信使用差分信号进行数据传输,其中A线和B线分别代表正向和反向信号线。
通信设备应符合RS485标准的物理层要求,包括信号电平、线路阻抗等。
2. 数据帧格式RS485通信使用数据帧进行数据传输。
数据帧格式如下:起始位 | 数据位 | 奇偶校验位 | 停止位起始位:一个字节的起始标识位,用于标识数据帧的开始。
数据位:包含要传输的数据信息,可以是一个或多个字节。
奇偶校验位:用于检测数据传输中的错误,可以选择奇校验、偶校验或无校验。
停止位:一个字节的停止标识位,用于标识数据帧的结束。
3. 通信流程RS485通信的通信流程如下:主设备发送请求帧 -> 从设备接收请求帧并解析 -> 从设备执行请求操作 -> 从设备发送响应帧 -> 主设备接收响应帧并解析4. 数据传输RS485通信使用半双工通信方式,即同一时间只能有一方发送数据。
通信设备应在发送数据前先检测总线是否空闲,以避免冲突。
5. 错误处理RS485通信中可能发生的错误包括数据传输错误、通信超时等。
通信设备应具备错误处理机制,能够检测和处理这些错误,例如重新发送数据、重置通信连接等。
起重机械安全监控管理系统通讯协议技术规范【模板】

(1)现场塔机需布设塔机安全监控系统,对塔机的载重、幅度、力矩、风速、回转角度、吊钩高度、倾角等运行参数进行监测,搜集超重、超力矩起吊、强风起吊等关键运行信息。
(2)塔机监控系统应由带固定IP的4G无线传输模块、GPS定位模块、多机防碰撞通信模块、制动控制器模块、声光报警、塔吊可视化、驾驶室识别等模块组成。
(3)塔机监控系统应能够满足全方位防护需求,包括:单机安全防护(风速报警、载重报警、空间区域保护),多机安全防护(防碰撞报警、防碰撞制动)。
(4)塔机监控系统应能够根据监控异常情况发出报警信息,并生成隐患整改指令。
(5)塔机监控系统应布设塔司人脸识别系统,当不具备资格的塔司进行塔机操作时,无法启动塔机。
(6)塔机安全监测设备应采用工业等级设计、生产、加工标准,性能应稳定可靠。
(7)系统设备等应易于安装、省时省力、参数设定简便快捷。
(8)系统设备应具有良好的抗干扰性,能够保证测量数据的准确性。
(9)安全监控设备需在国家市场监督管理总局的特种设备名录里。
所有正在使用的塔机必须安装塔机安全监控系统,未投入使用的塔机必须在投入使用前安装塔机安全监控系统,安全监控系统需在安装前与市平台完成数据对接并满足基本技术要求,对未达到系统功能要求的,不得投入使用。
施工现场每台塔机均需布置一套监测系统,根据塔机型号不同,各传感器的安装要求如下:设备/功能名称监控主机(含配件)载重监控(含传感器及配件)幅度监控(含传感器及配件)力矩监控(功能)回转角度监控(含传感器及配件) 单轴倾角监控(含传感器及配件) 吊钩高度监控(含传感器及配件) 风速监控(含传感器及配件) 数平臂塔机量塔头塔机平头塔机11111111动臂塔机序号1 2 3 4 5 6 7 8为保证塔式起重机安全监控设备安装的规范化,保证监测数据采集的有效性,有效控 制塔机安全监控设备安装过程中的危(wei )险因素,现制定本安装指引,具体要求如下。
塔式起重机安全监控系统各传感器参数要求如下:序号 种类1 角度传感器2 幅度传感器3 高度传感器4 吊重传感器5 单轴倾角传感器6 风速传感器7 人脸识别模块项目名称 量 程 分辨率 量 程 分辨率 量 程 分辨率 量 程 分辨率 量 程 分辨率 量 程 分辨率 识别方式 支持人员数量 识别距离识别率有效像素 200 万, 指标电子指南针: 0°—359.9°; 其它方式: -540°—540°0.1°0m —655.35m0.01m 0m —655.35m0.01m 0t —655.35t0.01t -9.99—9.99°0.01° 0m/s —32.7m/s 0.01m/s 面部主动识别 不少于 300 人 30cm-60cm>98% 分辨率 1920×1080, 压缩格式8 可视化摄像头 H.264/MJPEG ; CMOS 摄像机; 50Hz:25fps ;支持 H.2659 单机空间区域保护监控(功能) 10 多机防碰撞监控(含传感器及配件) 11 人脸识别监控(含设备及配件) 12 GPS 定位(功能)13 多机防碰撞(支持多于 5 台) 14 4G VPN 网络 15 行为识别黑匣子 16 塔吊可视化备注: —建议安装1 1 1 1 1 1 1 1—不建议安装发、支持全网通3G、4G 网络上传;支持录相保存记录最少30 天。
RS485主从式多机通讯协议

RS485主从式多机通讯协议1.RS485简介2.主从式多机通信协议RS485主从式多机通信协议允许一个主设备控制多个从设备,实现主设备与从设备之间的数据传输和通信协调。
主从式通信分为两个角色,即主机和从机。
主机是整个系统的控制中心,负责向从机发送指令和收集数据。
从机是被控制的设备,负责执行主机发送的指令并向主机发送数据。
3.数据传输格式4.通信流程-主机发送请求:主机向从机发送请求指令。
-从机应答:从机接收到请求指令后,执行相应操作,并向主机发送应答数据。
-主机接收应答:主机接收到从机的应答数据。
-主机发送下一个请求:主机根据需要继续发送下一个请求指令,重复上述步骤。
5.地址识别与从机选择在RS485主从式多机通信协议中,每个从机都有一个唯一的地址,主机通过地址来识别并选择要与之通信的从机。
通常采用软件设置的方式,主机在发送请求指令时会将目标从机的地址加入请求帧中,从机在接收到请求帧后,会根据地址判断是否为自己的请求。
6.错误处理机制RS485主从式多机通信协议中,为了保证通信的可靠性,需要引入一些错误处理机制。
例如,可以使用CRC校验来检测数据传输过程中的错误,并进行错误重传。
此外,还可以使用超时机制来处理通信过程中出现的超时情况。
7.适用范围总结:RS485主从式多机通信协议是一种常用于工业控制领域的通信标准。
它采用主从式通信模式,支持一个主设备控制多个从设备。
数据传输以帧为单位,采用差分技术提高信号传输的可靠性和抗干扰能力。
通信流程包括主机发送请求、从机应答、主机接收应答和主机发送下一个请求。
地址识别与错误处理机制是确保通信可靠性的重要部分。
RS485主从式多机通信协议适用于工业自动化等环境中的数据传输和控制应用。
J1939协议

J1939协议协议名称:J1939协议一、引言J1939协议是一种用于重型商用车辆和柴油发动机之间通信的标准协议。
它定义了数据通信、电气连接和网络管理的规范,以实现不同设备之间的互操作性和数据交换。
本协议旨在提供一种统一的通信标准,以便各种设备能够有效地进行数据交换和协同工作。
二、范围本协议适合于重型商用车辆、柴油发动机及其相关设备,包括但不限于卡车、挖掘机、拖拉机、发机电组等。
它涵盖了数据通信、网络拓扑、通信速率、传输协议、数据格式和故障诊断等方面的规范。
三、术语和定义3.1 J1939:指J1939协议的简称。
3.2 数据链路层:指协议栈的一部份,负责提供可靠的数据传输和错误检测。
3.3 物理层:指协议栈的一部份,负责定义电气连接和传输介质的规范。
四、数据通信4.1 数据格式4.1.1 数据帧:J1939协议使用数据帧进行数据传输,每一个数据帧包含一个标识符和一个数据字段。
4.1.2 标识符:数据帧的惟一标识,用于区分不同的数据源和数据类型。
4.1.3 数据字段:数据帧中的有效数据,用于传输实际的信息内容。
4.2 数据传输4.2.1 数据链路层:J1939协议使用数据链路层提供可靠的数据传输,包括数据帧的发送和接收、错误检测和纠正等功能。
4.2.2 物理层:J1939协议定义了多种物理层规范,包括CAN总线、RS-485等,用于实现数据的物理传输。
五、网络管理5.1 地址分配5.1.1 节点地址:J1939协议使用29位的节点地址进行设备的惟一标识,节点地址由网络管理器进行分配。
5.1.2 功能地址:J1939协议定义了一些特殊的功能地址,用于广播和特定功能的通信。
5.2 网络拓扑5.2.1 单总线拓扑:J1939协议支持单总线拓扑,即所有设备通过一个总线进行通信。
5.2.2 多总线拓扑:J1939协议还支持多总线拓扑,即多个总线之间通过网关进行通信。
六、故障诊断6.1 DTC码6.1.1 DTC码:指故障诊断码,用于标识设备故障的类型和位置。
RS485主从式多机通讯协议

RS485主从式多机通讯协议:一、数据传输协议此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息按本协议发出。
1、数据在网络上转输控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。
协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由协议构成从设备回应消息也由协议构成,,包括确认要行动的域、包括确认要行动的域、任何要返回的数据任何要返回的数据任何要返回的数据、、和一错误检测域。
和一错误检测域。
如果在消息接收过程中发生一错误如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在对等类型网络上转输在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。
这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。
在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。
如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。
同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。
3、查询—回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
485多机通信协议

RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。
为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
备注:以上是官方的专业描述,看不懂没有关系,大致有个印象就可以了,有兴趣的可以上网可以买一些专业书籍做深入研究,我再用通俗的语言补充描述一下。
1. RS485通讯协议1.1. 主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。
串行通讯,数据帧11位,1个起始,8个数据位,2个停止位1.2. 数据传输格式采用标准ASCⅡ码1.2.1. 通讯数据字符集0(30H)1(31H)2(32H)3(33H)4(34H)5(35H)6(36H)7(37H)8(38H)9(39H)A(41H)B(42H)C(43H)D(44H)E(45H)F(46H) .(2EH)-(2DH)+(2BH)1.2.2. 通讯控制字符集DC1(11H):读瞬时值DC2(12H):读参数DC3(13H):写参数DC4(14H):读写FCC5000STX(02H):从机起始符ETX(03H):主机结束符ETB(17H):从机结束符RS (1EH):数据间隔符US (1FH):参数间隔符ACK(06H):接收正确NAK(15H):接收错误CAN(18H):通讯复位SP (20H):空白符1.3. 通讯协议1.3.1. 读瞬时值1.3.1.1. 读单通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=01-99)ETX(03H):主机结束符从机回送:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:11H 30H 30H 31H 30H 31H 03H(读001号表01通道瞬时值)从机回送:02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H 30H 30H 34H17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1004)1.3.1.2. 读多通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=00)ETX(03H):主机结束符从机回送1:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01,表示不支持多通道批读,由表型号字判断通道数,逐个通道读取瞬时值)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符从机回送2:STX AAA CC US MM US RS FF US GGGGGG US H HHH … US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=00,表示支持多通道批读)US(1FH):参数间隔符MM :表型字(=00~99)RS :数据间隔符FF :通道号(=01~99)GGGGGGG :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)HHHH :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符注:下划线为通道数据格式1.3.2. 读参数主机发送:DC2 AAA CC US PP ETXDC2(12H):读参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01-69)ETX(03H):主机结束符从机回送:STX AAA CC US PP US DDDDDDD US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01~69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读001号表01通道参数号12量程零点值)从机回送:02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 37H 37H 17H(001号表01通道参数号12量程零点值=-0123.4,校验和=777)1.3.3. 写参数主机发送:DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC3(13H):写参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=11-69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETX(03H):主机结束符从机回送:ACK(06H):接收正确NAK(15H):接收错误例子:主机发送:13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 30H 30H 37H 39H 34H 17H(写001号表01通道参数号12量程零点值=-0123.4,校验和=797)从机回送:06H (写参数成功)1.3.4. 读写FCC下挂仪表数据1.3.4.1. 读单通道瞬时值主机发送:DC4 FF DC1 AAA CC ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC1(11H):读仪表瞬时值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)ETX(03H):主机命令结束符FCC回送:DC4 FF STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)US(1FH):参数间隔符MM :仪表表型字(=00~99)DDDDDDD :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)FFFFF :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址例子:主机发送:14H 30H 31H 11H 30H 30H 31H 30H 31H 03H(读01号FCC 下挂001号表01通道瞬时值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H31H 32H 31H 17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1121)1.3.4.2. 读参数主机发送:DC4 FF DC2 AAA CC US PP ETXDC4(15H):读写FCC5000FF :FCC5000地址码(=01~99)DC2(12H):读仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)ETX(03H):主机命令结束符FCC 回送:DC4 FF STX AAA CC US PP US DDDDDDD US SSSSS ETB 或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)US(1FH):参数间隔符PP :仪表参数号(=00~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址或错误参数例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读01号FCC下挂001号表01通道,参数号12量程零点值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 38H 39H 14H(001号表01通道,参数号12量程零点值=-0123.4,校验和=894)1.3.4.3. 写参数主机发送:DC4 FF DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC3(13H):写仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符FCC回送:DC4 FF ACK或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)ACK(06H):正确接收NAK(15H):接收错误例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH30H 31H 32H 33H 2EH 34H 1FH 30H 30H 39H 31H 31H 17H(写01号FCC下挂001号表01通道,参数号12量程零点值=-0123.4,校验和=911)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.4. 读FCC时间主机发送:DC4 FF DC2 00101 US 70 ETXFF :FCC5000地址码(=01~99)FCC回送:DC4 FF STX 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETB YYYYMMDDhhmmss :YYYYMMDDhhmmss(年月日时分秒)例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 37H 30H 03H(读01号FCC参数号70实时时间)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 34H 34H 17H(01号FCC实时时间2003年10月1日8点0分0秒,校验和=1244)1.3.4.5. 写FCC时间主机发送:DC4 FF DC3 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETX FCC回送:DC4 FF ACK或DC4 FF NAK例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 36H 31H 03H(写01 FCC实时时间2003年10月1日8点0分0秒,校验和=1261)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.6. 读FCC下挂仪表地址范围主机发送:DC4 FF DC2 00101 US 71 ETXFCC回送:DC4 FF STX 00101 US 71 US AAA RS BBB US SSSSS ETBAAA :起始地址BBB :终止地址1.3.4.7. 读FCC下挂故障仪表地址主机发送:DC4 FF DC2 00101 US 72 ETXFCC回送:DC4 FF STX 00101 US 72 US AAA RS … US SSSSS ETBAAA :故障地址注:下划线为故障地址发送格式;数据为空表示无故障地址1.3.4.8. 读所有通道瞬时值主机发送:DC4 FF DC2 00101 US 73 ETXFCC回送:DC4 FF STX 00101 US 73 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETBAAA :仪表地址码(=001)BB :仪表通道号(=01)US(1FH):参数间隔符PP :仪表参数号(=00~99)CCCCCCC :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)DDDD :报警1~4报警状态(E=0:OFF E=1:ON)注:下划线为通道数据格式,故障仪表数据只发送01通道1.3.4.9. 读取FCC下一条历史数据记录主机发送:DC4 FF DC2 00101 US 74 ETXFCC回送:DC4 FF STX AAA CC US 74 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB注:下划线为通道数据格式;通道数据为空表示历史数据已经读空发送方式同73参数,只是故障仪表数据不发送1.3.4.10. 重读FCC上一条历史数据记录主机发送:DC4 FF DC2 00101 US 75 ETXFCC回送:DC4 FF STX AAA CC US 75 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB1.3.4.11. 读取FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC2 00101 US 76 ETXFCC回送:DC4 FF STX 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB1.3.4.12. 移动FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC3 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB FCC回送:DC4 FF ACK或DC4 FF NAK用途:FCC历史数据记录读指针通过74号参数读来一条一条移动,大量历史数据记录读取可能需要很长时间,可用76号参数直接移动到所需数据时间点,然后用74读取。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信协议来自中国工控网所谓通信协议是指通信双方的一种约定。
约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。
因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。
目前,采用的通信协议有两类:异步协议和同步协议。
同步协议又有面向字符和面向比特以及面向字节计数三种。
其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。
串行通讯简单认识串行通讯的基本概念:与外界的信息交换称为通讯。
基本的通讯方式有并行通讯和串行通讯两种。
一条信息的各位数据被同时传送的通讯方式称为并行通讯。
并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。
串行通讯的距离可以从几米到几千米。
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通讯又分为异步通讯和同步通讯两种方式。
在单片机中,主要使用异步通讯方式。
MCS_51单片机有一个全双工串行口。
全双工的串行通讯只需要一根输出线和一根输入线。
数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。
串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。
数据传送主要解决传送中的标准、格式及工作方式等问题。
数据转换是指数据的串并行转换。
具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。
单工、半双工和全双工的定义如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。
电话线就是二线全双工信道。
由于采用了回波抵消技术,双向的传输信号不致混淆不清。
双工信道有时也发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。
--------> <--------> -------->A---------B A----------B A---------B<--------单工半双工全双工一、物理接口标准1.串行通信接口的基本任务(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。
在异步通信方式下,接口自动生成起止式的帧数据格式。
在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。
(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。
所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。
因此串并转换是串行接口电路的重要任务。
(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。
(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。
在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。
(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。
(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。
这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。
2、串行通信接口电路的组成为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。
其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。
它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。
才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。
芯片同步(USRT)异步(UART)(起止式)传输速率b/s面向字符HDLC 同步异步INS8250 56KMC6850 1MMC6852 1.5MMC6854 1.5MInt8251A 64K 19.2KInt8273 64KZ-80 SIO 800K3.有关串行通信的物理标准为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面:传输率,电特性,信号名称和接口标准。
1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。
国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。
大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。
打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲区,所以可以按高达2400波特的速度接收打印信息。
大多数接口的接收波特率和发送波特率可以分别设置,而且,可以通过编程来指定。
2、RS-232-C标准:RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义。
RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将-5V~-15V规定为“1”,+5V~+15V规定为“0”。
图1是TTL标准和RS-232-C标准之间的电平转换。
图1二、软件协议1.OSI协议和TCP/IP协议图2(1)OSI协议OSI七层参考模型不是通讯标准,它只给出一个不会由于技术发展而必须修改的稳定模型,使有关标准和协议能在模型定义的范围内开发和相互配合。
一般的通讯协议只符合OSI七层模型的某几层,如: EIA-RS-232-C:实现了物理层。
IBM的SDLC (同步数据链路控制规程):数据链路层。
ANSI的ADCCP(先进数据通讯规程):数据链路层IBM的BSC (二进制同步通讯协议):数据链路层。
应用层的电子邮件协议SMTP只负责寄信、POP3只负责收信。
(2)TCP/IP协议实现了五层协议。
(1)物理层:对应OSI的物理层。
(2)网络接口层:类似于OSI的数据链路层。
(3)Internet层:OSI模型在Internet网使用前提出,未考虑网间连接。
(4)传输层:对应OSI的传输层。
(5)应用层:对应OSI的表示层和应用层。
2.串行通信协议串行通信协议分同步协议和异步协议。
(1)异步通信协议的实例——起止式异步协议图3特点与格式:起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。
其格式如图3所示。
每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。
停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。
从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。
传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。
当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。
图4起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。
它的到来,表示下面接着是数据位来了,要准备接收。
而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。
这样就为通信双方提供了何时开始收发,何时结束的标志。
传送开始前,发收双方把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。
传送开始后,接收设备不断地检测传输线,看是否有起始位到来。
当收到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。
经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。
一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。
由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。
若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。
但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。
因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。
在高速传送时,一般要采用同步协议。
(2)面向字符的同步协议特点与格式:这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。
它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。
由于被传送的数据块是由字符组成,故被称作面向字符的协议。
特定字符(控制字符)的定义:由上面的格式可以看出,数据块的前后都加了几个特定字符。
SYN 是同步字符(synchronous Character),每一帧开始处都有SYN,加一个SYN的称单同步,加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道是一帧开始了。
接着的SOH是序始字符(Start Of Header),它表示标题的开始。
标题中包括院地址、目的地址和路由指示等信息。
STX是文始字符(Start Of Text),它标志着传送的正文(数据块)开始。
数据块就是被传送的正文内容,由多个字符组成。
数据块后面是组终字符ETB(End Of Transmission Block)或文终字符ETX(End Of Text),其中ETB用在正文很长、需要分成若干个分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用文终字符ETX。