技术资料

网络通信协议与硬件结合 常见硬件通信协议

小编 2024-11-23 技术资料 23 0

常见硬件通信协议

不同的硬件、设备之间的数据通信都离不开协议,协议是用来解决多设备协同工作问题,那么两台互相不了解,甚至有不同厂商在不同时间地点的设备如何知晓对方的信息,这就需要我们在两台设备在建立前就进行一定的约束,这种约束可以让两台设备具有相通性,这可以理解为不同设备之间的“合同”。这些协议通常可以分为串行通信协议和并行通信协议。

串行通信协议 :在同一时刻发送多位数据(可以是多根线)。优点是发送速度快,缺点是传输距离短,资源占用多。并行通信协议 :用一根线在不同的时刻发送8位数据。优点是传输距离远,占用资源少,缺点是发送速度慢。

接下来,来主要介绍目前主流的协议家族:

SPI协议

协议特点 :它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。

SDI – SerialData In,串行数据输入;SDO – SerialDataOut,串行数据输出;SCLK – Serial Clock,时钟信号,由主设备产生;CS – Chip Select,从设备使能信号,由主设备控制。

通信原理 :外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。

I2C协议

协议特点: 实现I2C需要两根信号线完成信息交换,SCL时钟信号线,SDA数据输入/输出线。它属于同步通信,由于输入输出数据均使用一根线,因此通信方向为半双工。

通信原理: 和SPI不同的是,I2C可以支持multi-master系统,允许有多个master并且每个master都可以与所有的slaves通信(master之间不可通过I2C通信,并且每个master只能轮流使用I2C总线);I2C的数据传输速率位于串口和SPI之间,大部分I2C设备支持100KHz和400KHz模式。

CAN协议

协议特点: CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。

通信原理: CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。

IIC协议

协议特点: IIC协议为两线式串行总线(SDA数据线、SCL时钟线),用于连接微控制器和外围设备、传输速度100-400kHz,高速模式最高可达4MHz,非全双工。

通信原理: 主模式时,IIC的接口启动数据传输并且产生时钟信号。串行数据传输总是以其实条件开始并以停止条件借宿。起始条件和停止条件都是在主模式下由软件产生控制的。

从模式时,IIC接口能识别它自己的地址(7位或者10位)和在数据总线广播的地址(好比每个人都有不同的身份ID,叫到哪个哪个就发生应答),同时软件能够控制开启或者禁止广播呼叫地址的识别

USB协议

协议特点: 通用串行总线(Universal Serial Bus)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。

通信原理: USB总线属于一种轮询式总线,主机控制端口初始化所有的数据传输。每一总线动作最多传送三个数据包,包括令牌(Token)、数据(Data)、联络(HandShake)。按照传输前制定好的原则,在每次传送开始时,主机送一个描述传输动作的种类、方向、USB设备地址和终端号的USB数据包,这个数据包通常被称为令牌包(TokenPacket)。USB设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。

如何快速理解通信的硬件层协议与软件层协议?

通信协议介绍

众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件层通信协议和软件层通信协议

为了更加形象的理解软硬件层面的通信协议,我们将通信比作交通 ,通信的硬件层协议比作各国的公路标准,各国的公路标准类似于不同的硬件层协议标准;通信的软件层协议比作各国的交通规则,各国的交通规则类似于不同的软件层协议标准。

图1生动的对上述描述进行了解释。

1.解决逻辑传输的方式

利用设备1向设备2传输0xA3(1010 0011)这样一组数据,从硬件层面将1010 0011这组数据定义为1为高电平,0为低电平,我们就可以通过改变传输线电平的高低实现这组数据的顺利传输。

为了对这种硬件层面的数据传输形式进行规范定义便有了硬件通信接口协议 ,入RS-232、RS-485、CAN总线等。

下节讲解的MODBUS通信协议是基于RS-485信号传输方式,以MCU作为信号发送设备,MCU的GPIO引脚输出的是TTL电平(设逻辑0:0V;逻辑1:5V),RS-485硬件协议则是将其TTL电平转换成差分信号,通过通讯转换器将一个GPIO引脚的TTL电平转变成两根根线上的信号A/B,也称之为差分信号

当TTL电平为0时,使得VB>VA,当TTL电平为1时,使得VB<VA。

RS-485通信为半双工通信,意思是MCU1和MCU2可以互相发送和接受数据 ,但有一点应注意,由于RS-485只有一对差分信号线A/B故对于MCU1来说发送和接受数据不能同时进行。故在MCU1要顺利实现发送和接受数据则需要在软件层面上指定通信协议。

2.解决逻辑传输目的

2.1主从通信模式

(1) 为实现半双工通信需要引入主从通信模式这个概念,即指定通信双方一方为主机,其余为从机;

(2) 规定系统中所有从机不可主动把数据发送到主机;

(3) 系统中主机和所有从机上电后都处于接收状态;

(4) 任何一次的数据交换都由主机发起。

2.2主机查询从机

对于主机向从机发送数据控制从机或主机查询从机返回的数据都应由主机发起。

当主机向从机发送数据控制从机时,主机应当处于发送状态;当主机查询从机返回的数据,首先应按照预先约定的格式发送一组寻址数据帧。

总结来说主机找从机第一个目的是向从机发送数据,第二个目的是主机找到从及后将从机的数据发送到主机

即在硬件通信层确保数据能够传输和接收的前提下,再利用软件层来约束传输的数据形式和传输规则。

最简单的一种主机控制从机可以见图4 ,但这种随意的约定格式通用适配性差,因此需要一款统用的软件层通信协议来对所需功能进行规定。

声明: 本文转载自网络,如涉及作品内容、版权和其它问题,请于联系工作人员,我们将在第一时间和您对接删除处理!

相关问答

计算机 网络 是计算机技术和 通信技术 相结合的产物? - 132****9...

计算机网络是计算机技术和通信技术相结合的产物,这种结合开始于20世纪50年代。1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积...

如何通过Modbus 协议 实现S7-1200与S7-200通讯?

硬件组态:S7-1200可以为主站,需要加RS485通讯模块CM1241或信号板CB1241。S7-200为从站,建议选用224或226,具有两个通信口,可以选用,方便通讯及监控。软件...

网络 通讯 协议 是什么意思?

网络通讯协议是指计算机网络中,连接网络上的设备进行通信时所遵循的一套规则和约定。它规定了网络中设备之间的通信格式、数据传输方式、错误处理等方面的细...

Internet(因特网)上最基本的 通信协议 是? - 汀汀汀汀 的回答 ...

TCP/IP协议。TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进...

单片机知道 通信协议 如何通信?

假使你用单片机的串口进行通信的话,你只需要考虑蓝牙转串口和串口转蓝牙的过程就可以了,主要是二者在通信过程中的编码和解码,当然你具体处理的肯定是比特流,...

s7200 网络通信 类型和特点?

协议包括以下几个:1.PPI协议:PPI通信协议是西门子公司专为S7-200系列PLC开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就...

iic 协议 可以双向 通信 吗?

可以双向传输:IIC协议支持双向传输,即可以在同一根线上进行数据的发送和接收。多主从结构:IIC协议支持多主从结构,即多个设备可以在同一根线上进行通信,其中...

S7-1200与S7-200怎样经过Modbus 协议 通讯?

这里主要介绍一下S7-1200作为主站和S7-200进行通讯。硬件:S7-1200,CM1241,CPU224XP软件:TIAV14,MicroWinTIAV14中进行硬件组态,设置对应的通...

什么是 通信协议 ?ISO通信标准分哪7层?-ZOL问答

什么是通信协议?ISO通信标准分哪7层?举报4人讨论9261次围观关注问题写回答讨论回答(4)kukudeshuai从底层往上分为:物理层、数据链路层、网络层、传输层...

CAN总线的可靠 通信 是依靠?

CAN总线通讯的可靠性依托于硬件结构的高抗干扰能力和通讯协议中的仲裁机制及重发机制。单总线结构和使用屏蔽双绞线传送平衡差分信号,使得CAN总线具有较强的...

猜你喜欢