当前位置:文档之家› I2C通讯协议说明

I2C通讯协议说明

第一章 I2C通讯协议基本内容

1.1I2C通讯协议简介

由PHILIPS开发的一个简单的双向两线总线,实现有效的IC控制,这个总线就称为Inter IC或I2C总线。现在I2C总线实际上已经成为一个国际标准,I2C 总线规范的版本也从1992年的VERSION 1.0经过1998年的VERSION 2.0发展到2000年的VERSION 2.1。在加强功能的同时也在满足现在对总线速度更高,电源电压更低的要求。

I2C总线具有以下特性:

1)只要求两条总线线路:一条串行数据线(SDA );一条串行时钟线(SCL)。

2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址;主机可以作为主机发送器或主机接收器。

3)它是一个真正的多主机总线。如果两个或更多主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据被破坏。

4)串行的8 位双向数据传输位速率在标准模式下可达100kbit/s 。快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s。

I2C 总线支持任何IC 生产过程(NMOS CMOS 双极性),两线――串行数据(SDA)和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址编码,而且都可以作为一个发送器或接收器(由器件的功能决定)。很明显地,存储器则既可以作接收器又可以作发送器。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1-1)。主机在发送数据前负责对总线的初始化并产生允许传输的时钟信号。此时,任何被寻

址的器件都被认为是从机

表1-1

这里我们举个例子说明I2C总线的主机从机和接收器发送器的关系,但是这种关系并不是持久的,只是由当时的数据的传输方向决定,如下所示:

1 假设微控制器A 要发送信息到微控制器B

. 微控制器A(主机)寻址微控制器B(从机)

. 微控制器A(主机-发送器)发送数据到微控制器B(从机-接收器)

. 微控制器A 终止传输

2 如果微控制器A 想从微控制器B 接收信息

. 微控制器A(主机)寻址微控制器B(从机)

. 微控制器A(主机-接收器)从微控制器B(从机-发送器)接收数据

. 微控制器A 终止传输

1.2I2C工作原理

1.2.1 I2C的起始和停止条件

在I2C 总线中唯一出现的是被定义为起始S 和停止P 条件见图1-1 的情况其中一种情况是在SCL 线是高电平时,SDA 线从高电平向低电平切换。这个情况表示起始条件;当SCL 是高电平时,SDA 线由低电平向高电平切换。表示停止条件

起始和停止条件一般由主机产生。总线在起始条件后被认为处于忙的状态。在停止条件的某段时间后,总线被认为再次处于空闲状态。

如果产生重复起始Sr 条件而不产生停止条件,总线会一直处于忙的状态此时的起始条件S和重复起始Sr 条件在功能上是一样的。见图10所以以下符号S既表示起始条件又表示重复起始条件.

图1-1 起始和停止条件

在起始信号开始以后主机就可发送数据,传输在I2C总线上数据必须在时钟高电平周期的保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电

平时才能改变(见图1-2)

图1-2

1.2.2 传输数据

字节格式发送到SDA 线上的每个字节必须为8位,其中的第8位是数据方向位其余的7位为地址位。每次传输可以发送的字节数量不受限制。但是每个字节后必须跟一个响应位。

如果从机要完成一些实时功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以迫使时钟线SCL 保持低电平迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL后,主机将继续进行数据传输。(见图1-4)

响应数据传输必须带响应。相关的响应时钟脉冲由主机产生,在响应的时钟脉冲期间发送器释放SDA线(高)。

在响应的时钟脉冲期间接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平(低)。

一般地,被寻址的接收器在接收到的每个一个字节都必须产生一个响应。(见

图1-3)

当从机不能响应从机地址时(例如它正在执行一些实时函数不能接收或发送)从机必须使数据线保持高电平,主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。如果从机-接收器响应了从机地址但是在传输了一段时间后不能接收更多数据字节时,主机必须再一次终止传输。这种情况用从机在第一个字节后没有产生响应来表示从机使数据线保持高电平,主机产生一个停止或重复起始条件,如果传输中有主机-接收器它必须通过在从机不产生时钟的最后一个字节不产生一个响应向从机-发送器通知数据结束。从机-发送器必须释放数据线,允许主机产生一个停止或重复起始条件。

图1-3 I2C总线响应

图1-4 I2C总线数据传输

1.2.3 7位地址格式

在起始条件(S )后发送了一个从机地址,这个地址共有7 位,紧接着的第8 位是数据方向位(R/W ):0 表示发送(写)1 表示请求数据(读)。数据传输一般由主机产生的停止位(P )终止但是如果主机仍希望在总线上通讯它可以产生重复起始条件(Sr)和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中可能有不同的读写格式结合

可能的数据传输格式有:

1)主机-发送器发送到从机-接收器传输的方向不会改变(见图1-5)

2)在第一个字节后,主机立即读从机(见图1-6)。在第一次响应时,主机-发送器变成主机-接收器。从机-接收器变成从机-发送器。第一次响应仍由从机产生。之前发送了一个不响应信号(/A)的主机产生停止条件。

3)复合格式(见图1-7)传输改变方向的时侯,起始条件和从机地址并没有改变但R/W 位取反。如果主机接收器发送一个重复起始条件,它之前应该发送了一个不响应信号(/A)。

图1-5 主机发送从机接收数据传输方向不变

图1-6 在第一个字节后主机立即读从机

图1-7 复合格式

水文通信协议规范

湖南省山洪灾害监测预警系统水文通信协议规范

目录 1 总则 (1) 2 术语、符号和代号 (3) 3 数据报文传输规约 (5) 3.1帧结构 (5) 3.1.1本标准采用异步式传输帧格式。 (5) 3.1.2传输规则应按以下规定执行 (5) 3.1.3链路层应符合以下规定: (6) 3.1.4报文传输 (7) 3.2链路传输 (8) 3.3物理层规约 (9) 4 数据传输报文及数据结构 (10) 4.1应用层数据编码规定 (10) 4.1.1链路用户数据编码格式 (10) 4.1.2站点水情信息编报 (11) 4.1.3水情信息编码分类码 (11) 4.1.4水情站码 (12) 4.1.5测报时间码 (12) 4.1.6要素标识符 (13) 4.1.7数据编码 (14) 4.2水文信息编码 (14) 4.2.1降雨量编码 (14) 4.2.2蒸发量编码 (16) 4.2.3河道水情编码 (17) 4.2.4水库(湖泊)水情编码 (19) 4.2.5闸坝水情编码 (20) 4.2.6泵站水情编码 (22) 4.2.7潮汐水情编码 (23) 4.2.8土壤墒情编码 (25) 4.3数据传输报文结构 (27) 4.3.1 链路测试(AFN=02H) (27) 4.3.2 参数设置(AFN=04H) (28) 4.3.3 参数查询(AFN=0AH) (31) 4.3.4 控制命令(AFN=0CH) (32) 5 通信方式和误码率 (34) 5.1通信方式 (34) 5.2误码率 (36) 6 仪表设备数据传输规约 (37) 6.1仪表数据通信规约 (37)

7 数据传输的考核 (38) 7.1考核内容和指标 (38) 7.2考核方法 (38) 附录A 事件记录表 (39) 附录B 编码要素及标识符汇总表 (40) 附录C本标准用词说明 (47)

MODBUS通讯协议说明

1、概述 1.1 引言 通讯规约详细描述了本机通讯的读、写命令格式及信息和数据的定义,以便第三方开发使用。 1. 2 电气特点及符合标准 1) 连接上位机的主通信接口,采用标准串行通讯口,使用接线端子。 2) 信息传输方式为异步方式,字节格式为起始位1位,数据位8位,停止位1位,无校验。 3) 数据传输速率1200b/s, 2400b/s, 4800b/s, 9600b/s, 19200b/s可选,缺省为9600b/s。 4) 符合MODUBS RTU 协议标准。 2、MODBUS RTU通信协议详述 2.1 协议基本规则 以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。 1)所有通讯回路都应遵照主/从方式。依照这种方式,数据可以在一个主站(如:PC)和多个子站之间传递。 任何一次通讯都不能从子站开始。 2)主站将初始化和控制在通讯回路上传递的所有信息。 3)所有回路上的传送均分为两种方式: A) 主/从传送 B) 从/主传送 4)在回路上的所有通讯都以“信息帧”方式传递。 如果主站或子站接收到含有未知命令的信息帧,则不予以响应 “信息帧”就是一个由字节构成的字符串(最多255个字节),是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼容。 2.2信息帧结构描述 每个信息帧组成如下: 3、字节格式 通讯传输为异步方式,并以字节为单位。在主站和子站之间传递的每一个字节帧都是10位(无校验位)的串行数据流。 字节帧格式: 4、命令报文格式 4. 1读数据: 主站发送

返回: 5 如:带符号整数范围 -32768---32767 上传数据需除十,正数的范围为16进制0X0000-0X7FFF,负数采用正数的补码方式传输,其范围为16进制0X8000-0XFFFF, 如: 湿度上传16进制 0X0311,对应十进制785,表示78.5% 温度上传16进制 0X00FF,对应十进制255,表示25.5℃ 温度上传16进制 0XFF9B,对应十进制100(0XFFFF-0XFF9B=0X64), 表示-10.0℃ 6、网络采样定时 温湿度传感器中,上位机读取数据每次间隔时间不小于500ms,推荐值1s。 7、命令举例: 读取温度湿度数据: 上位机发送:01 04 00 00 00 02 71 CB (温湿度地址为1,寄存器起始地址为0,读2个字节) 下位机返回:01 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。 只读温度数据: 上位机发送: 01 04 00 00 0 001 31 CA(温湿度地址为1,寄存器起始地址为0,读1个字节) 下位机返回: 01 04 02,温度H,温度L,CRCH,CRCL。 只读湿度数据: 上位机发送: 01 04 00 01 0 001 60 0A(温湿度地址为1,寄存器起始地址为1,读1个字节) 下位机返回: 01 04 02,湿度H,湿度L,CRCH,CRCL。 设置地址: 上位机发送:01 06 00 64 00 02 49 D4(温湿度原地址1改为2) 下位机返回:01 06 00 64,地址H,地址L, CRCL,CRCH。

实验八 IIC通信协议

实验八I2C通信协议 一、实验目的: 1、培养学生阅读资料的能力; 2、加深学生对I2C总线通信协议的理解; 3、加强学生对模块化编程的理解; 二、实验环境: 1、硬件环境:PC机一台、单片机实验板一块、母头串口交叉线、USB电源线; 2、软件环境:keil uVision2集成开发环境; STC-ISP下载上位机软件; 三、实验原理: 要学会I2C通信协议的编程,关键是要看懂并掌握其时序图,理解对I2C通信协议相关子程序的实验编写。I2C通信协议的总线时序图如下所示: I2C总线时序图 I2C相关子程序的详细介绍 1、起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 2、结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 起始信号和结束信号的时序图如下所示: 起始信号和结束信号的时序图 起始信号的流程如下:

1、SCL和SDA拉高,保持时间约为0.6us-4us; 2、拉低SDA,保持时间为约为0.6us-4us; 3、拉低时钟线 结束信号的流程如下: 1、SCL置高电平,SDA置低电平,保持时间约为0.6us-4us 2、SDA拉高,保持时间约为1.2-4us; 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。 若未收到应答信号,由判断为受控单元出现故障。应答信号的时序图如下所示: 应答时序图 发送时的应答信号 ;**********应答信号********** ACK: SETB SDA ;数据线置高 SETB SCL ;时钟线置高 ACALL DELAY JB SDA,$ ;等待数据线变低 ACALL DELAY CLR SCL ;时钟线置低 RET 注意:这里如果数据线一直为高将进入死循环,所以一般我们都会在这做一个容错的处理。具体的程序如下: ACK: MOV R4,#00H SETB SDA SETB SCL LOP0: JNB SDA,LOP DJNZ R4,LOP0 ;循环255次 LOP: ACALL DEL CLR SCL RET 接收时的应答信号

基于MSP430的I2C模拟总线程序讲解

程序和流程图: IIC.h void Init_IIC(void); void EEPROM_ByteWrite(unsigned char nAddr,unsigned char nVal); unsigned char EEPROM_RandomRead(unsigned char nAddr); unsigned char EEPROM_CurrentAddressRead(void); void EEPROM_AckPolling(void); void Init_CLK(void); void Init_IIC_Port(void); Main.C /******************************************* IIC for AT24c16 OR AT24CXXX 系列 只要控制好IICRM IICSTP IICSTT 其硬件会自动完成 SCL SDA的一系列时序只要注意各个发送与接收的控制标志位. ******************************************/ #include #include "IIC.h" volatile unsigned char Data[6]; void main(void) { //volatile unsigned char Data[6];

//停止看门狗 WDTCTL = WDTPW+WDTHOLD; //初始化端口 Init_IIC_Port(); //初始化时钟 Init_CLK(); //I2C初始化 Init_IIC(); //置传输方式及控制方式 //打开中断 _EINT(); //写入数据 EEPROM_ByteWrite(0x0000,0x12); //等待写操作完成 EEPROM_AckPolling(); //写入数据 EEPROM_ByteWrite(0x0001,0x34); //等待写操作完成 EEPROM_AckPolling(); //写入数据 EEPROM_ByteWrite(0x0002,0x56); //等待写操作完成

多机通信协议规范

通信协议 来自中国工控网 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、 检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。 目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向 字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 串行通讯简单认识 串行通讯的基本概念:与外界的信息交换称为通讯。基本的通讯方式有并行通讯和串行通讯两种。 一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距 数米)的通讯。 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几 千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为 单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。 MCS_51单片机有一个全双工串行口。全双工的串行通讯只需要一根输出线和一根输入线。数据的输 出又称发送数据(TXD),数据的输入又称接收数据(RXD)。串行通讯中主要有两个技术问题,一个是数 据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指 数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的 串行数据转换为并行数据。 单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 电话线就是二线全双工信道。由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。 --------> <--------> --------> A---------B A----------B A---------B <-------- 单工半双工全双工

rs485总线通讯协议

竭诚为您提供优质文档/双击可除 rs485总线通讯协议 篇一:Rs485通讯协议说明 摘要:阐述了Rs-485总线规范,描述了影响Rs-485总线通信速率和通信可靠性的三个因素,同时提出了相应的解决方法并讨论了总线负载能力和传输距离之间的具体关系。 关键词:Rs-485现场总线信号衰减信号反射 当前自动控制系统中常用的网络,如现场总线can、profibus、inteRbus-s以及aRcnet的物理层都是基于 Rs-485的总线进行总结和研究。 一、eiaRs-485标准 在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在Rs-422标准的基础上,eia研究出了一种支持多节点、远距离和接收高灵敏度的Rs-485总线标准。 Rs-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求: 接收器的输入电阻Rin≥12kΩ 驱动器能输出±7V的共模电压

输入端的电容≤50pF 在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关) 接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)因为Rs-485的远距离、多节点(32个)以及传输线成本低的特性,使得eiaRs-485成为工业应用中数据传输的首选标准。 二、影响Rs-485总线通讯速度和通信可靠性的三个因素 1、在通信电缆中的信号反射 在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。 阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。

简单的I2C协议理解 i2c程序(调试通过)

简单的I2C协议理解 一. 技术性能: 工作速率有100K和400K两种; 支持多机通讯; 支持多主控模块,但同一时刻只允许有一个主控; 由数据线SDA和时钟SCL构成的串行总线; 每个电路和模块都有唯一的地址; 每个器件可以使用独立电源 二. 基本工作原理: 以启动信号START来掌管总线,以停止信号STOP来释放总线; 每次通讯以START开始,以STOP结束; 启动信号START后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R /W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据; 当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号; 每个数据字节在传送时都是高位(MSB)在前; 写通讯过程: 1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线; 2. 发送一个地址字节(包括7位地址码和一位R/W); 3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK); 4. 主控收到ACK后开始发送第一个数据字节; 5. 被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束; 6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线; 读通讯过程: 1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线; 2. 发送一个地址字节(包括7位地址码和一位R/W); 3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信

号(ACK); 4. 主控收到ACK后释放数据总线,开始接收第一个数据字节; 5. 主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束; 6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线; 四. 总线信号时序分析 1. 总线空闲状态 SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高; 2. 启动信号START 时钟信号SCL保持高电平,数据信号SDA的电平被拉低(即负跳变)。启动信号必须是跳变信号,而且在建立该信号前必修保证总线处于空闲状态; 3. 停止信号STOP 时钟信号SCL保持高电平,数据线被释放,使得SDA返回高电平(即正跳变),停止信号也必须是跳变信号。 4. 数据传送 SCL线呈现高电平期间,SDA线上的电平必须保持稳定,低电平表示0(此时的线电压为地电压),高电平表示1(此时的电压由元器件的VDD决定)。只有在SCL线为低电平期间,SDA上的电平允许变化。 5. 应答信号ACK I2C总线的数据都是以字节(8位)的方式传送的,发送器件每发送一个字节之后,在时钟的第9个脉冲期间释放数据总线,由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。 6. 无应答信号NACK 在时钟的第9个脉冲期间发送器释放数据总线,接收器不拉低数据总线表示一个NACK,NACK有两种用途: a. 一般表示接收器未成功接收数据字节; b. 当接收器是主控器时,它收到最后一个字节后,应发送一个NACK信号,以通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号STOP。 五. 寻址约定

BC2900通信协议操作说明

附录 A 通信 本分析仪提供四种通信协议,根据外部计算机上安装的数据管理软件可接收的样本编号位数进行匹配。若可接收的样本编号上限为8位或10位,应选择8ID或10ID通信协议;若可接收的样本编号上限为15位,应选择15ID或15ID+2通信协议。8ID和10ID通信协议差异在于,10ID通信协议支持样本编号上限为10位,而8ID支持样本编号上限为8位,除此之外,协议其他部分还存在一些差异,具体差异容将在后续章节进行介绍。15ID和15ID+2通信协议差异在于,15ID+2通信协议支持传输P-LCR参数,而15ID通信协议不支持,除此之外,协议其他部分完全兼容,用户可以根据自己的需求选择相应的通信协议进行通信操作。 ●迈瑞公司授权人员安装分析仪时,会根据用户配置的数据管理软件选择与之匹 配的通信协议。 ●如需调整分析仪的通信协议,请与迈瑞公司售后服务部联系。 计数界面右上角通信状态标志处于动画状态,表示通信正在进行。 BC-3000 Plus 通过RS-232 串行口,将样本数据和质控数据传送给外部计算机,通信可在样本分析结束后自动完成或由命令选项操作完成。本章对通信参数的设置、RS-232 串行口连线方式、数据通信格式进行了介绍,为软件工程师编写通信程序提供详细资料,方便用户进行通信操作。

A.1分析仪和计算机的连接 D-1所示。 各引脚说明: DCD:载波检测 RXD:接收数据 TXD:发送数据 DTR:数据终端就绪 GND:信号地 DSR:数据设备就绪 RTS:请求发送 CTS:清除发送 RI:振铃指示 BC-3000 Plus 通过串口2 和外部计算机通信(最大通信距离小于12米),需要接DB9连接器中的2、3、5 三根线来实现。 A.28ID通信协议和10ID通信协议 A.2.1通信数据格式 A.2.2通信说明 编码 [ENQ] 0x05 [STX] 0x02 [EOT] 0x04 [EOF] 0x1A [ETX] 0x03 [ACK] 0x06

通讯协议标准

编号: 密级:内部 页数:__________基于RS485接口的DGL通信协议(修改) 编写:____________________ 校对:____________________ 审核:____________________ 批准:____________________ 北京华美特科贸有限公司 二○○二年十二月六日

1.前言 在常见的数字式磁致伸缩液位计中,多采用RS485通信方式。但RS485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在RS485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,RS485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼容性很差。 随着RS485的发展,Modicon公司提出的MODBUS协议逐步得到广泛认可,已在工业领域得到广泛应用。而MODBUS的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 DGL协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求: a.兼容于MODBUS 。也就是说,符合该协议的从机均可挂接到同一总线上。 b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。 c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。 d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFD,即:MSB=1; 命令和数据的数值范围均应控制在0~0x7F之间。即:MSB=0,以区别地址和其它数据。 液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。 罐旁表的编织地址为:0xA2~0xBF。其初始地址(出厂默认值)为:0xA1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用于参数设定、实时测量、诊断测试、在线编程等。 通信的基本参数为:4800波特率,1个起始位,1个结束位。字节校验为奇校验。 本协议的数据包是参照MODBUS RTU 通信格式编写,并对其进行了部分修改,以提高数据传输的速度。另外,还部分参照了HART协议。其具体格式如下: 表中,数据的最大字节数为16个。也就是说,整个数据包最长为20个字节。 “校验和”是其前面所有数据异或得到的数值,然后将该数值MSB位清零,使其满足0~7F 的要求。在验证接收数据包的“校验和”是否正确时,可将所有接收数据(包括“校验和”)进行异或操作,得到的数据应=0x80。这是因为,只有“地址”的MSB=1,所以异或结果的MSB也必然等于1。 本协议不支持MODBUS中所规定的广播模式。 3.时序安排 在上电后,液位计将先延迟10秒,等待电源稳定。然后,用5秒的时间进行自检和测试数据。

通讯方式和通讯协议介绍

目录 一、RS232的串口通讯 (2) 应用 (2) 工作方式 (2) 接口标准 (2) 电路组成 (3) 概述 (3) 简介 (3) 二、RS485串行通讯 (3) 简介 (3) 接口 (4) 电缆 (4) 布网 (5) 区别 (5) 三、串行通信 (6) 概念 (6) 分类 (7) 同步通信 (7) 异步通信 (7) 特点 (7) 形式和标准 (7) 调幅方式 (7) 调频方式 (8) 数字编码方式 (8) 数据传输率 (8) 发送时钟和接收时钟 (9) 异步通信协议 (9) 通信协议 (10) 普遍协议 (10) USB (11) IEEE 1394 (11) 相关应用 (12) 四、通讯协议 (12) 简介 (12) 详细介绍 (13) TCP/IP (13) IPX/SPX (13) NetBEUI (14) 通信协议 (14) RS-232-C (14) RS-449 (14) V.35 (15) X.21 (15) HDLC (15) 管理协议 (15) SNMP (15) PPP (16)

一、RS232的串口通讯 应用 随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要.这里所说的通信是指计算机与外界的信息交换.因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换.由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍.在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU 之间的通信一般都是串行方式.所以串行接口是微机应用系统常用的接口。许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU 与接口之间仍按并行方式工作. 工作方式 由于CPU 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有" 接收移位寄存器" (串→并)和" 发送移位寄存器" (并→串). 在数据输入过程中,数据1 位1 位地从外设进入接口的" 接收移位寄存器",当" 接收移位寄存器" 中已接收完1 个字符的各位后,数据就从" 接收移位寄存器" 进入" 数据输入寄存器" . CPU 从" 数据输入寄存器" 中读取接收到的字符.(并行读取,即D7~D0 同时被读至累加器中). " 接收移位寄存器" 的移位速度由" 接收时钟" 确定. 在数据输出过程中,CPU 把要输出的字符(并行地)送入" 数据输出寄存器"," 数据输出寄存器" 的内容传输到" 发送移位寄存器",然后由" 发送移位寄存器" 移位,把数据1 位 1 位地送到外设. " 发送移位寄存器" 的移位速度由" 发送时钟" 确定. 接口中的" 控制寄存器" 用来容纳CPU 送给此接口的各种控制信息,这些控制信息决定接口的工作方式. " 状态寄存器" 的各位称为" 状态位",每一个状态位都可以用来指示数据传输过程中的状态或某种错误.例如,用状态寄存器的D5 位为"1" 表示" 数据输出寄存器" 空,用D0 位表示" 数据输入寄存器满",用D2 位表示" 奇偶检验错" 等. 能够完成上述" 串<- -> 并" 转换功能的电路,通常称为" 通用异步收发器" (UART :Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550 接口标准 ⑴实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。

I2C总线协议规范 v2.1

THE I2C-BUS SPECIFICATION VERSION 2.1 JANUARY 2000

CONTENTS 1PREFACE. . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.1Version 1.0 - 1992. . . . . . . . . . . . . . . . . . . . 3 1.2Version 2.0 - 198. . . . . . . . . . . . . . . . . . . . . 3 1.3Version 2.1 - 1999. . . . . . . . . . . . . . . . . . . . 3 1.4Purchase of Philips I2C-bus components . . 3 2THE I2C-BUS BENEFITS DESIGNERS AND MANUFACTURERS. . . . . . . . . . . . . . .4 2.1Designer benefits . . . . . . . . . . . . . . . . . . . . 4 2.2Manufacturer benefits. . . . . . . . . . . . . . . . . 6 3INTRODUCTION TO THE I2C-BUS SPECIFICATION . . . . . . . . . . . . . . . . . . . . .6 4THE I2C-BUS CONCEPT . . . . . . . . . . . . . . .6 5GENERAL CHARACTERISTICS . . . . . . . . .8 6BIT TRANSFER . . . . . . . . . . . . . . . . . . . . . .8 6.1Data validity . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2START and STOP conditions. . . . . . . . . . . 9 7TRANSFERRING DATA. . . . . . . . . . . . . . .10 7.1Byte format . . . . . . . . . . . . . . . . . . . . . . . . 10 7.2Acknowledge. . . . . . . . . . . . . . . . . . . . . . . 10 8ARBITRATION AND CLOCK GENERATION . . . . . . . . . . . . . . . . . . . . . .11 8.1Synchronization . . . . . . . . . . . . . . . . . . . . 11 8.2Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . 12 8.3Use of the clock synchronizing mechanism as a handshake. . . . . . . . . . . 13 9FORMATS WITH 7-BIT ADDRESSES. . . .13 107-BIT ADDRESSING . . . . . . . . . . . . . . . . .15 10.1Definition of bits in the first byte . . . . . . . . 15 10.1.1General call address. . . . . . . . . . . . . . . . . 16 10.1.2START byte . . . . . . . . . . . . . . . . . . . . . . . 17 10.1.3CBUS compatibility. . . . . . . . . . . . . . . . . . 18 11EXTENSIONS TO THE STANDARD- MODE I2C-BUS SPECIFICATION . . . . . . .19 12FAST-MODE. . . . . . . . . . . . . . . . . . . . . . . .19 13Hs-MODE . . . . . . . . . . . . . . . . . . . . . . . . . .20 13.1High speed transfer. . . . . . . . . . . . . . . . . . 20 13.2Serial data transfer format in Hs-mode. . . 21 13.3Switching from F/S- to Hs-mode and back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313.4Hs-mode devices at lower speed modes. . 24 13.5Mixed speed modes on one serial bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 13.5.1F/S-mode transfer in a mixed-speed bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 13.5.2Hs-mode transfer in a mixed-speed bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 13.5.3Timing requirements for the bridge in a mixed-speed bus system. . . . . . . . . . . . . . 27 1410-BIT ADDRESSING. . . . . . . . . . . . . . . . 27 14.1Definition of bits in the first two bytes. . . . . 27 14.2Formats with 10-bit addresses. . . . . . . . . . 27 14.3General call address and start byte with 10-bit addressing. . . . . . . . . . . . . . . . . . . . 30 15ELECTRICAL SPECIFICATIONS AND TIMING FOR I/O STAGES AND BUS LINES. . . . . . . . . . . . . . . . . . . . 30 15.1Standard- and Fast-mode devices. . . . . . . 30 15.2Hs-mode devices. . . . . . . . . . . . . . . . . . . . 34 16ELECTRICAL CONNECTIONS OF I2C-BUS DEVICES TO THE BUS LINES . 37 16.1Maximum and minimum values of resistors R p and R s for Standard-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 39 17APPLICATION INFORMATION. . . . . . . . . 41 17.1Slope-controlled output stages of Fast-mode I2C-bus devices. . . . . . . . . . . . 41 17.2Switched pull-up circuit for Fast-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 41 17.3Wiring pattern of the bus lines. . . . . . . . . . 42 17.4Maximum and minimum values of resistors R p and R s for Fast-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 42 17.5Maximum and minimum values of resistors R p and R s for Hs-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 42 18BI-DIRECTIONAL LEVEL SHIFTER FOR F/S-MODE I2C-BUS SYSTEMS . . . . 42 18.1Connecting devices with different logic levels. . . . . . . . . . . . . . . . . . . . . . . . . 43 18.1.1Operation of the level shifter . . . . . . . . . . . 44 19DEVELOPMENT TOOLS AVAILABLE FROM PHILIPS. . . . . . . . . . . . . . . . . . . . . 45 20SUPPORT LITERATURE . . . . . . . . . . . . . 46

RSSP-I安全通信协议软件使用说明书-B.1

设 计 文 件 版权专有 违者必究 中车株洲电力机车研究所有限公司 名称 RSSP-I 安全通信协议软件使用说明 书 编号 版本

编制校核

目次 1 目的和范围 (3) 1.1 目的 (3) 1.2 范围 (3) 2 规范性引用文件 (3) 3 参考资料 (3) 4 术语和缩略语 (3) 5 概述 (3) 6 时序接口 (4) 7 使用条件 (6) 8 数据类型定义 (7) 9 应用接口函数 (8) 9.1 Rsp1_Init (8) 9.2 Rsp1_UpdateClock (8) 9.3 Rsp1_PackageData (8) 9.4 Rsp1_CheckPackage (9) 9.5 Rsp1_Close (10) 9.6 Rsp1_Open (10) 9.7 Rsp1_GetChanelStatus (11) 9.8 Rsp1_GetSynData (11) 9.9 Rsp1_SetSynData (12) 附录 A (18) A.1 附录及说明文件符合性检查表 (18) A.2 附件及说明 (18)

1 目的和范围 1.1 目的 本文描述了RSSP-I安全通信协议软件的接口方式与具体方法。预期读者为上层应用开发用户及验证、确认人员等。 1.2 范围 本文适用于RSSP-I安全通信协议软件使用说明。 2 规范性引用文件 本文档所引用的轨道交通信号系统通用安全计算机平台文档,凡是标注版本的,只有标注版本适应本文档;没有标注版本的,则引用文档的最新版本适用于本文档。 表1 3 参考资料 表2 4 术语和缩略语 术语和缩略语见表3。 表3 5 概述

Modbus标准通讯协议格式

Modbus通讯协议 Modbus协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下

关于IIC的通信协议程序

#define uchar unsigned char #define uint unsigned int #define ulong unsigned long #define _BV(bit) (1 << (bit)) #ifndef cbi #define cbi(reg,bit) reg &= ~_BV(bit) #endif #ifndef sbi #define sbi(reg,bit) reg |= _BV(bit) #endif extern uchar dog; /* void delay_1ms(uchar xtal) { uchar i; for(i=0;i<(uint)(143*xtal-2);i++) {;} } //2 延时nms void delay_ms(uchar m, uchar fosc) { uchar i; i=0; while(i

DLT645通信协议详情

1应用范围 本规范规定了电能表进行点对点的或一终端对多台电能表进行一主多从的本地通讯接口进行数据交换的技术要求,规定了本地系统硬件和协议规范。规定了物理连接、通讯链路及应用技术规范(数据的基本格式、校验方式、编码传输规则等)。 本规范主要参考了部颁DL/T 645-1997多功能电能表通信规约,根据我公司的DSSD331-3、DTSD341-3电能表的特色做了相应的扩展。本规范中未给出的一些例子和示意图请参见部颁规约。 2引用标准 下列标准所包含的条文,通过在本标准中的引用而构成为本标准的条文。本标准出版时,所示版本均为有效,所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。 DL/T 645-1997 多功能电能表通信规约 DL/T 614-1997 多功能电能表 3术语 3.1费率装置tariff device 固定的数据采集与处理单元,通常与电能表连接或与电能表组装在一起。 3.2手持单元(HHU)hand-heldunit 能与费率装置或电能表进行数据交换的便携式设备。 3.3数据终端设备data terminal equipment 由数据源、数据宿或两者组成的设备。

3.4直接本地数据交换direct local data exchange 一组费率装置与数据终端设备通过总线连接进行数据交换。 3.5本地总线数据交换local bus data exchange 一组费率装置与数据终端设备通过总线连接进行数据交换。 3.6远程数据交换remote data exchange 通过数据网络,数据采集中心与一台或一组费率装置之间的数据交换。 3.7主站master station 具有选择从站并与从站进行信息交换功能的设备。本标准中指手持单元或其它数据终端设备。 3.8从站slave station 预期从主站接收信息并与主站进行信息交换的设备。本标准中指费率装置。 3.9总线bus 连接主站与多个从站并允许主站每次只与一个从站通信的系统连接方式(广播命令除外)。 3.10半双工half-duplex 在双向通道中,双向交替进行、一次只在一个方向(而不是同时在两个方向)传输信息的一种通信方式。 3.11物理层physical layer 规定了数据终端设备或手持单元与费率装置之间的物理接口、接口的物理和电气特性,负责物理媒体上信息的接收和发送。 3.12数据链链路层data-link layer 负责数据终端设备与费率装置之间通信链路的建立并以帧为单位舆信息,保证信息的顺序传送,具有传输差错检测功能。 3.13应用层application layer

相关主题