搜档网
当前位置:搜档网 › 几大通信协议区别

几大通信协议区别

I2C和SPI,UART的区别

2009-12-07 21:55

SPI--Serial Peripheral Interface,(Serial Peripheral Interface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

I2C--INTER-IC(INTER IC BUS:意为IC之间总线)串行总线的缩写,是PHILIPS 公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。

最主要的优点是其简单性和有效性。它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器):单端,远距离传输。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。-----------------------------------------------------------------------------------------------------------------------------------

区别在电气信号线上:

SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。从以上很明显可以看出,SPI和UART可以实现全双工,但I2C不行;

第四,看看牛人们的意见吧!

A:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

B:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。

-----------------------------------------------------------------------------------------------------------------------------------

SPI 是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也就是SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了。同时传输速度也很高。一般来说要求主设备要有SPI控制器(但可用模拟方式),就可以与基于SPI的芯片通讯了。

SPI 的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。其中CS 是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。

接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上沿或下沿时改变,在紧接着的下沿或上沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI

的设备中,至少有一个主控设备。

这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK 时钟线的控制可以完成对通讯的控制。

SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。

不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

I2C

?只要求两条总线线路:一条串行数据线SDA 一条串行时钟线SCL

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

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

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

?片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整

?连接到相同总线的IC 数量只受到总线的最大电容400pF 限制

UART

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

UART常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

明显可以看出,SPI和UART可以实现全双工,但I2C不行。

-----------------------------------------------------------------------------------------------------------------------------------

什么是CAN总线?

===========================

CAN 全称为Controller Area Network,即控制器局域网,由德国Bosch 公司最先提出,是国际上应用最广泛的现场总线之一。CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10Km 时CAN 仍可提供高达50Kbit/s 的数据传输速率。CAN 具有十分优越的特点:

A、较低的成本与极高的总线利用率;

B、数据传输距离可长达10Km,传输速率可高达1Mbit/s;

C、可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;

D、节点在错误严重的情况下具有自动退出总线的功能;

E、报文不包含源地址或目标地址仅用标志符来指示功能信息和优先级信息;由于人为、自然、其它外界环境的影响和人们对公交系统的安全可靠性、真实、实时性的追求,使得我们对通信方式,通信设备有了更高的要求,基于CAN总线的网络则成为我们最佳的选择

--------------------------------------------------------------------------------------------------------

CAN总线

现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:

首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;

其次,CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL 与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。

而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的

RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前 CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。

CAN (Controller Area Network)即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如

BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

什么是CAN总线?

CAN意为Controller Area Network的缩写,意为控制区域网络。是国际上流行的现场总线中的一种。是一种特别适合于组建互连的设备网络系统或子系统。2. CAN总线特点?

l CAN是到目前为止为数不多的有国际标准的现场总线

l CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为1Mbps(设通信距离为40米)。

CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。

CAN采用非破坏性的总线仲裁技术,当多个节点同时发送数据时,优先级低的节点会主动退出发送,高优先级的节点可继续发送,节省总线仲裁时间。 CAN是多主方式工作,网上的任一节点均可在任意时刻主动地向网络上其他节点发送信息。

CAN采用报文识别符识别网络上的节点,从而把节点分成不同的优先级,高优先级的节点享有传送报文的优先权。

报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的效验机制,这些都保证了CAN通信的可靠性。

-----------------------------------------------------------------------------------------------------------------------------------

SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。 I2C通常有 SDA数据和SCL时钟两个信号。

SPI:Motorola推出的同步串行通讯方式,三线同步总线,硬件强大,软件相对简单,cpu有更多时间处理其他事务。SCK时钟,STB片选,DATA数据信号三信

号。多了一个片选信号

I2C:PHilips推出的串行总线,一根SDA串行数据线,一根串行时钟线SCL。按照地址来计算的

-----------------------------------------------------------------------------------------------------------------------------------

UART

Universival Asychronous Receiver/Transmitter(通用异步串行口),UART是一种较为通用的数据传输的方法(即Start Bit+Data+Check+StopBit),而COM口中Rx、Tx的数据格式即为UART。UART和RS232是两种异步数据传输标准.计算机中的COM1和COM2都是RS232串行通信标准接口。当Uart接口连到PC机上时,需要接RS232电平转换电路。

UART使用发送数据线TXD和接收数据线RXD来传送数据,接收和发送可以单独进行也可以同时进行。它传送数据的格式有严格的规定,每个数据以相同的位串形式传送,每个串行数据由起始位,数据位,奇偶校验位和停止位组成。从起始位到停止位结束的时间称为一帧(frame),即一个字符的完整通信格式。SPI

Serial Perheral Interface,是一种全双工同步串行接口标准,串行通信的双方用四根线进行通信,这四根连线分别是:片选信号,I/O时钟,串行输入,串行输出,这种接口的特点是快速,高效,并且操作起来比I2C要简单一些,接线也比较简单,TLC2543提供SPI接口。

I2C

Inter-Integrated Circuit(集成电路之间), I2C总线是一种由PHILIPS公司开发的两线式双向串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。I2C属于两线式串行总线,它由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,IC2总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

CAN

Controller Area Network(区域网络控制器),CAN 全称为Controller Area Network,即控制器局域网,由德国Bosch 公司最先提出,是国际上应用最广泛的现场总线之一。CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10Km 时CAN 仍可提供高达50Kbit/s 的数据传输速率。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统具有明显的优越性。

RS485-RS232-RS422通信协议

泰安思科赛德电子科技有限公司 RS485 通讯协议 RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS485 通讯协议 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile协议外,还支持Louth、Odetics、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和突保护特性,扩展了总线共模范围,后命名为TIA/EIA485-A标准。 RS485 通讯协议 1. RS-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。 RS485 通讯协议 2. RS-422与RS-485串行接口标准 (1)平衡传输 RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B 之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2V~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。 (2)RS-422电气规定 由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

485与232通讯协议区别

1、什么是RS-232-C接口?采用RS-232-C接口有何特点?传输电缆长度如何考虑?计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。1)接口的信号内容实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号内容见附表2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1” 附表 1 引脚序号信号名称符号流向功能 2 发送数据TXD DTE→DCE DTE发送串行数据 3 接收数据RXD DTE←DCE DTE接收串行数据 4 请求发送RTS DTE→DCE DTE请求DCE将线路切换到发送方式 5 允许发送CTS DTE←DCE DCE 告诉DTE线路已接通可以发送数据 6 数据设备准备好DSR DTE←DCE DCE准备好7 信号地信号公共地8 载波检测DCD DTE←DCE 表示DCE接收到远程载波20 数据终端准备好DTR DTE→DCE DTE准备好22 振铃指示RI DTE←DCE 表示DCE与线路接通,出现振铃3) 接口的物理结构RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。4)传输电缆长度由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG的四芯电缆。附表2 DEC 公司的实验结果波特率 1 号电缆传输距离(英尺) 2 号电缆传输距离(英尺)1105000300030050003000 1200300030002400100050048001000250 9600250250 2. 什么是RS-485接口?它比RS-232-C接口相比有何特点?由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。2)传输速率较低,在异步传输时,波特率为20Kbps。3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。针对RS-232-C的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点: 1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电

串行通信的基本概念

串行通信的基本概念 串行通信是指两个功能模块只通过一条或两条数据线进行数据交换。发送方需要将数据分解成二进制位,一位、一位地分时经过单条数据线传送。接受方需要一位一位地从单条数据线上接收数据,并且将它们重新组装成一个数据。串行通信数据线路少,在远距离传送时比并行通信的造价低。但是一个数据只有经过若干次以后才可以传送完,速度较慢。 串行通信时,需要解决以下问题: ●双方约定的发送与接受速率(波特率)。 ●约定采用的数据格式(贞格式)。 ●接受方怎样知道一批数据的开始、结束(贞同步)。 ●接受方怎样从数据流中采样每位数据(位同步)。 ●接受方怎样判断接收数据的正确性(数据校验),如何处理收发错误。 解决这些问题的方法大体有同步通信与异步通信两种。 (1)异步通信 异步通信以字符为单位传送,为了解决贞同步,每个字符都附加了一些控制信息,由4部分组成一位起始位(低电平)、5——8位数据位、一位奇偶校验位、1——2位停止位(高电平)。两个字符之间的间隔是任意的,中间可以填充空闲位(高电平)。 只要接受方检测到数据线上出现了由高电平向低电平的跳变,并且低电平能持续一段时间,就表明已经就收到一桢数据的开始。这时可以按照接受时钟从数据线上采样数据,直到接收到了停止位表明接受完一桢数据。接收方还可以通过奇偶校验位判断数据传送过程中是否出现错误。 异步传送控制比较简单,对发送与接收时钟要求不很严格,不会造成错误累积,但是由于每个数据在传送时都要附加控制信息,约有20%的冗余,传送效率并不高,为50——9600波特之间。 (2)同步通信 同步通信以数据块为单位进行传颂,为了解决贞同步,在每一批数据流之前,附加同步信息(1——2个同步字符),最后以校验字符结束。如果在数据传送过程中,发生数据断流(即发送方没有数据可发送)应以同步字符填充。 接收方检测到协议要求的1——2个同步字符后,就可以认为双方已经取得一致,之后就可以在严格的时钟控制下采样数据线接收数据。当然同步通信可以根据校验字符判断所接收的一批字符是否在传送过程中出现错误。 同步通信的传送速率较高,在1——2个同步字符的带领下,就可以源源不断的发送接收。但是同步通信对双方的时钟要求很严格,并且容易造成错误累积。 串行通信中的常用术语 (1)传送机制 穿行传送有单工、半双工、全双工三种传送方向。单工是指发送方与接收方只有一条数据线路,而且这条数据线路永远只能进行余个方向的传输。半双工是指发送方与接收方也只有一条数据线路,但这条数据线路可以在不同时刻进行两个方向的传输。全双工是指发送方与接收方有两条数据线路,同一时刻可以利用这两条数据线路进行不同方向的数据传输。 (2)调制与解调 计算机内使用的是数字信号,要求的频带很宽,而一般的通信线路如电话线路的频带只有

RS485通讯协议

RS485通讯协议 首先要知道什么是RS232和RS485. 典型的串行通讯标准是RS232和RS485.它们定义了电压,阻抗等.但不对软件协议给予定义 区别于RS232, RS485的特性包括: 1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS -232-C 降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。 2. RS-485的数据最高传输速率为10Mbps 3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。因 RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。

RS485编程 串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样!! RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile协议外,还支持Louth、Odetics 、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232

串行通信技术基础知识

串行通信技术基础 在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。由于串行端口通常只是定义了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施。 由于借助串行通信端口所连接的设备在功能、型号上往往互不相同,其中大多数设备出了等待接收数据之外还会有其他的任务,例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器需要负责控制计算机或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送信息。因此,必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。这里所讲的保证串行通信的有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。 一、串行通信基本概念 1、连接握手 通信帧的起始位可以引起接收方的注意,但发送方并不知道,也不能确定接收方是否已经做好了接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。 连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。 连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节表明它想要发送数据;接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据;当发送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停止发送。 在普通的硬件握手中,接收者在准备好了接收数据的时候将相应的握手信号线变为高电平,然后开始全神贯注地监视它的串行输入端口的允许发送端。这个允许发送端与接收者已准备好接收数据的信号端相连,发送者在发送数据之前一直在等待这个信号变化。一旦得到信号说明接收者已处于准备好接收数据的状态,便开始发送数据。接收者可以在任意时候将握手信号变为低电平,即便是在接收一个数据块的过程中间也可以把这根导线带入到低电平。当发送者检测到这个低电平信号时,就应该停止发送。而在完成本次传输之前,发送者还会继续等待握手信号线在此变为高电平,以继续被中止的数据传输。 2、确认 接收者为表明数据已经收到而向发送者回复信息的过程称为确认。有的传输过程可能会收到报文而不需要向相关节点回复确认信息。但是在许多情况下,需要通过确认告之发送者数据已经收到。有的发送者需要根据是否收到信息来采取相应的措施,因而确认对某些通信过程是必需的和有用的。即便接收者没有其他信息要告诉发送者,也要为此单独发一个数据确认已经收到的信息。 确认报文可以是一个特别定义过的字节,例如一个标识接收者的数值。发送者收到确认报文就可以认为数据传输过程正常结束。如果发送者没有收到所希望回复的确认报文,它就认为通信出现了问题,然后将采取重发或者其它行动。 3、中断 中断是一个信号,它通知CPU有需要立即响应的任务。每个中断请求对应一个连接到中断源和中断控制器的信号。通过自动检测端口事件发现中断并转入中断处理。 许多串行端口采用硬件中断。在串口发生硬件中断,或者一个软件缓存的计数器到达一个触发值时,表明某个事件已经发生,需要执行相应的中断响应程序,并对该事件做出及时的反应。这种过程也称为事件驱动。

串口基本常识

串口引脚图.jpg 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置

无线通信协议设计.doc

关键字:网络协议,成本低,外围电路少,传感器。 第一阶段 传感器网络的三要素是传感器,观察者和感知对象。传感器由电源,感知部件,嵌入式处理器,存储器,通信部件和软件这几部分构成。 无线传感器网络通常包括传感器节点,汇聚节点和管理节点。大量传感器节点随机部署在监测区域内部或附近,这一过程可以通过飞行器撒播,人工埋置和火箭弹射等方式完成。撒放后的传感器节点进入到自检启动的唤醒状态,在簇首节点的引领下,建立起路由拓扑,之后传感器节点采集并记录周围感兴趣的环境信息,沿着之前建立好的路由拓扑路径逐跳进行传输,在传输过程中数据可能被多个节点处理,经过单跳或者路由多跳后传输到汇聚节点,汇聚节点通过串口将数据传送到网关节点进行集中处理。在本课题中网关节点用PC充当,网关节点再连接到基于IPv6的cernet2主干网上,监控中心从cernet2上获取数据,并完成对数据的融合,展示,预测,以及决策,从而对整个网络进行协调和控制。 无线传感器网络具有以下特点: (1)网络规模大。 (2)网络的自组织能力(要求传感器节点具有自组织的能力,并且能够自动进行配置和管理,通过拓扑控制机制和网络协议自动形成转发监测数据的多跳无线网络系统) (3)无线传感器网络节点的通信能力有限(无线传感器网络中传感器节点的传输率低,一般只有200kbps左右,通信距离短) (4)无线传感器网络节点的电源能量有限 (5)无线传感器网络存储和计算能力有限(无线传感器网络中的传感器节点是一种微型嵌入式设备)(6)无线传感器网络以数据为中心 一个基于ZigBee技术的无线传感器网络平台 研究了无线传感器网络中控制信息及传感器数据的获取,描述,解析,存储和传输。 采用了新兴的ZigBee技术,为解决WSNs中的核心问题—能量限制建立了基础。 设计和实现了低成本的两层板的工作频率为2.4GHZ的无线数据传输模块。 (4)建立了一个分知式的远程无线监测及控制的平台。在该平台上实现了 ZigBee协议,组建了一个具有路由节点的无线网络。为进~步的无线传感器的 实际应用打下了基础。 立意的意义 目前,无线传感器终端的希望和要求主要集中在尽量节省的系统能量消耗、 尽量节省的信息处理以及简易的信号收发。对于无线传感器网络中的网络协议 的期待是:用简洁的协议栈支持传感器网络的有效运行,到处存在接入可能; 利用广播信息,避免交互应答:简化的协议层次、简练的信令方式;节省的系 开销等。正是基于无线传感器网络终端的要求,ZigBee协议应运而生。ZigBee 协议是专用于无线传感器网络的通信协议,能最大可能的节省网络中能量,可 随时接入大量节点,高容错性,强鲁棒性,逐渐成为了无线传感器网络的首选 络协议。 到目前为止无线传感器网络的发展己经经历了三个阶段{25]: (1) 点对点。只是简单取代了有线网络,各个设备之间只是直接联系, 只有有限通信能力。 (2) 点对多点。传感器网络中有一个路由和控制的中央节点,所有数据 流动必须通过基站。 (3) 多跳/网状结构。完全的RF冗余,具有多数据通道,自我建构,自 我调整,智能分布式。 ZigBee是一种专门为低速率传感器网络而设计的低成本、低功耗的短距离

51单片机的串行通信口基本常识

MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。下面我们分别介绍。 [1].基本概念 数据通信的传输方式 常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。 半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。

全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。 多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资源共享功能,我们盛之为多工传输方式。 串行数据通信两种形式 异步通信 在这种通信方式中,接收器和发送 器有各自的时钟,它们的工作是非同步 的,异步通信用一帧来表示一个字符, 其内容如下:一个起始位,仅接着是若 干个数据位,图2是传输45H的数据 格式。 同步通信 同步通信格式中,发送器和接收器 由同一个时钟源控制,为了克服在异步 通信中,每传输一帧字符都必须加上起 始位和停止位,占用了传输时间,在要

求传送数据量较大的场合,速度就慢得 多。同步传输方式去掉了这些起始位和 停止位,只在传输数据块时先送出一个 同步头(字符)标志即可。 同步传输方式比异步传输方式速 度快,这是它的优势。但同步传输方式 也有其缺点,即它必须要用一个时钟来 协调收发器的工作,所以它的设备也较 复杂。 串行数据通信的传输速率 串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数—波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。 [2].MCS-51的串行口和控制寄存器 串行口控制寄存器

游戏通信协议设计文档

游戏通信协议设计 1、概述 游戏通信协议包含两种不同的部分:客户端和服务器(C-S)之间的交互协议,游戏内部服务器(S-S)之间的交互协议。前者为了降低延迟,应该尽可能减少报文长度。同时,为了防止外挂,必须作加密处理。相反,后者在服务器之间,通信协议就可以比较灵活。 客户端和服务器的通信经过服务器的网关,经过中转分发到其他类型的服务器上或者分发给客户端。 2、客户端和服务器通信协议 协议采用分层原理,固定长度的报头把字节流分割成报文,除了基本的报文类型,应用相关的报文内容由应用自身决定,比如:对AS写的客户端用AMF编码报文内容。协议自动对报文内容做加密和解密。 Struct header { uint32_t MsgLen; //信息包的长度,不包括固定长度的Header uint16_t MsgSeq; // 该消息的序列号 uint8_t MsgType; //信息的类型 uint8_t MsgVersion; //信息的版本号,当前为0x1 uint16_t MsgCheck; //信息的校验码 uint8_t body[0]; //信息包的内容 }; 校验码的计算:MsgCheck = (uint16_t)( MsgLen+ MsgType+ MsgSeq + MsgVersion ) 网关与客户端传递的消息还需要经过xxtea的加密才可以。 序列号在连接认证的时候是0,以后递增;网关返回给客户端认证成功,序号也是从0开始。如果以后的报文序号发生错误,应该断开连接,让客户端执行重新连接。

网关根据命令类型,分解报文后,把内容转发到相应的服务器。有些报文类型对网关是透明的,网关不需要做特殊处理。有些类型的报文,网关必须知道报文内容的格式,在网关做特殊处理,主要是关系到用户(地图)位置变动的命令,比如: 1、用户连接认证。确认用户登录所在的网关。 2、用户更换房间。 3、用户更换桌子。 3、内部服务器通信 可以用多个key/Value的方式编码,比如:从客户端传过来的报文应该作为一个key/value,网关可以附加上该报文另外的信息:uid(哪个用户),用户所在位置(gateway_id,内部桌子号)。

通信协议书应用举例

//信息头+ 控制卡地址+ 命令字+ 数据区长度+ 数据内容+ 校验码 说明: 1.信息头: 四个字节, 内容依次为: 0x51, 0x44, 0x45, 0x4C 2.控制卡地址: 单字节, 范围为1~255(0为广播地址) 3.命令字: 单字节 ?发送设置屏参的命令字为0xD1 ?发送设置扫描方式的命令字为0xD2 ?发送设置硬件参数的命令字为0xD3 ?发送回读硬件参数的命令字为0xD4 ?发送节目数据的命令字为0xD5 ?发送定时开关机的命令字为0xD6 ?发送校准时间的命令字为0xD7 ?发送显示屏当前节目内容回读的命令字为0xD8 ?发送调节显示屏亮度的命令字为0xD9 ?下位机回送接收状态的命令字为0xDD ⑴发送通信结束的命令字为0xFD 4.数据区长度: 双字节,表示本次发送的数据区长度,但是每次发送的信息内容的长度最大为512字,数据区长度未标明的其值为0 5.数据内容: 主要是上位机将要发给下位机的数据, 需要注意: 数据发送顺序必须严格按照数据协议的规则发送. 6.校验码: 双字节 “信息头+ 控制卡地址+ 命令字+ 信息内容长度+ 信息内容”中的所有数据的每个字依次异最终所得结果再与0x5555异或就是校验码

1. 网口通信采用以太网通信协议80 2.3 2. ARP和IP数据包格式 3. 传输协议采用UDP协议和ICMP协议 4. 网口通信数据区协议格式如下: //信息头+ 控制卡地址+ 命令字+ 数据区长度+ 数据内容+ 校验码 说明: (1) 信息头: 四个字节, 内容依次为: 0x51, 0x44, 0x45, 0x4C (2)控制卡地址: 单字节, 范围为1~255(0为广播地址) (3) 命令字: 单字节 ①发送设置屏参的命令字为0xD1 ②发送设置扫描方式的命令字为0xD2 ③发送设置硬件参数的命令字为0xD3 ④发送回读硬件参数的命令字为0xD4 ⑤发送节目数据的命令字为0xD5 ⑥发送定时开关机的命令字为0xD6 ⑦发送校准时间的命令字为0xD7 ⑧发送显示屏当前节目内容回读的命令字为0xD8 ⑨发送调节显示屏亮度的命令字为0xD9 ⑩下位机回送接收状态的命令字为0xDD ?发送通信结束的命令字为0xFD (4)数据区长度: 双字节,表示本次发送的数据区长度,但是每次发送的信息内容的长度最大为512字,数据区长度未标明的其值为0 (5)数据内容: 主要是上位机将要发给下位机的数据, 需要注意: 数据发送顺序必须严格按照数据协议的规则发送. (6)校验码:

串口通信的基本知识

串口通信的基本知识 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus 或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS- 232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII 码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对

串行通讯的基本概念

串行通讯的基本概念:与外界的信息交换称为通讯。基本的通讯方式有并行通讯和串行通讯两种。 一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。 MCS_51单片机有一个全双工串行口。全双工的串行通讯只需要一根输出线和一根输入线。数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。 单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 电话线就是二线全双工信道。由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。 --------> <--------> --------> A---------B A----------B A---------B <-------- 单工半双工全双工 串口通讯—全双工和半双工方式 在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用,下面仅介绍前两种方式。 1、全双工方式(full duplex)

串口通信的基本概念

串口通信的基本概念 主要软件: Driver Software>>NI-Serial 主要软件版本: 1.7 主要软件修正版本: N/A 次要软件: N/A 硬件: Serial 问题: 我从那里能够学到串口通信的基本知识 解答: 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB 兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表

通讯协议设计

精选资料 通信接口协议 2011年6月 可修改编辑

修订控制页

目录 1.概述 (6) 1.1 编写目的 (6) 1.2 缩略语 (6) 1.3 参考资料 (6) 1.4 共享平台机具接口定义 (7) 1.5通信密钥 (8) 2 协议包格式 (8) 2.1 协议分层说明 (8) 2.2 包格式 (8) 2.3 校验字MAC码计算方法 (9) 3.接口报文格式 (11) 3.1 业务应用类 (11) 3.1.1消费流水上传 (11) 3.1.2身份识别流水上传 (13) 3.1.3黑名单下发 (14) 3.1.4身份识别白名单下发 (15) 3.1.5客户代码下发 (16) 3.2 设备管理类 (17)

3.2.1 通信参数下发 (17) 3.2.2 应用密钥下发 (19) 3.2.3时间同步下发 (20) 3.2.4心跳信号上传 (21) 3.2.5 开机密钥下发 (21) 3.3 门禁业务控制类 (23) 3.3.1下发节假日时段和星期节假日信息 (23) 3.3.2下发门设置信息(策略) (25) 3.3.3 启动/停止实时上传 (27) 3.3.4 远程强制控制门的开关 (28) 3.3.5 门禁锁状态查询 (29) 3.3.6 开门密码设置 (29) 3.3.7 多卡开门设置 (30) 3.3.8 协迫开门密码设置 (32) 3.4 考勤业务控制类 ............................................................... 错误!未定义书签。 3.4.1下发设设备工作模式.................................................................... 错误!未定义书签。 3.5 脱机消费业务控制类......................................................... 错误!未定义书签。 3.5.1下发补贴名单............................................................................... 错误!未定义书签。 3.5.2下发充值/存款名单 ...................................................................... 错误!未定义书签。 3.5.3下发消费类别参数 ....................................................................... 错误!未定义书签。 3.5.4下发消费策略............................................................................... 错误!未定义书签。 3.5.5 限制策略下发.............................................................................. 错误!未定义书签。

相关主题