1概述什么是通信协议
协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
比如一些常见的协议:串口协议、modbus协议、can 协议、tcp/ip协议等。
『通信协议』是一个很宽泛的概念,拿osi(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)来说,每一层都有对应的协议,我们所说的串口、modbus、can等对应在不同的层次。
很多初学者对『通信协议』的概念不理解,觉得很高深、很复杂。要搞明白通信协议,建议结合一些实际例子来理解。
2uart通信协议
uart:universal asynchronous receiver/transmitter,通用异步收发传输器。
uart,通常我们成为串口,是通信中最常见的一种。
1.串口底层协议
如上图,假如设备a发送一个字符给设备b,需要规定启始位、数据位、校验位、停止位以及波特率等。这些约定就是串口通讯的协议。
另外,传输的线路是通过ttl、232还是485,也是需要通讯双方(设备a和设备b)约定的,严格来说也属于一种协议。
我们这里把这些约定统称为物理层协议,或者说底层的协议。
2.串口上层协议
串口通信不像http通信那么复杂,我这里说的简单点,就是底层协议和上层协议。
基于串口的应用层协议很多,自定义应用协议、通用协议等。
自定义应用协议
比如:你买一个温度传感器模块,自定义协议:固定长度3字节。
这是一个很简单的自定义协议,当然,实际应用中自定义协议一般比这个更复杂,比如多一些标志:命令、数据长度、校验信息等。
通用协议
比如:modbus、mavlink等这些都是基于串口的应用层协议。
如果只是做应用,我们不必深究通用协议的原理,掌握如何使用,能正确传输数据就行(当然,一些基本原理还是要懂)。
3can通信协议
之前写过一些《canopen系列教程》,很多人第一步就蒙了,什么是can 2.0协议,什么是canopen协议?
看了上面串口的解释,现在你是不是要清晰一点了呢?
can 2.0属于一种协议,canopen也是一种协议,这两种协议是各自独立的协议。
1.can底层协议
can 2.0协议属于物理层的协议,分为can 2.0 a版本和b版本协议。
前几年引入了新的can fd协议,这个协议可以理解为can协议的升级版,都属于物理层协议。
2.can上层协议
基于物理层can之上的协议,比如:canopen、j1939、devicenet等。这些协议属于应用层协议。
应用层协议一般都是指的软件,里面的一些内容也是标准协会进行约定的(比如canopne里面的对象字典、pdo、sdo等),大家都按照这个约定进行通信。
4网络通信协议
网络通信是生活中常见的一种,我们要上网,就必须要有网络,我们需要的数据通过多层协议,最终才能完成传输。
网络通信是一个比较大的概念,包含的协议种类繁多,对于大部分开发人员来说,只需要掌握基本原理,学会调用相应接口开发自己应用程序即可。
做硬件开发的需要网线电平信号、接口含义等,做应用的需要了解tcp、udp通信方式区别等。
原文标题:通信教程 | 概述通信协议
文章出处:【微信公众号:strongerhuang】欢迎添加关注!文章转载请注明出处。
Simplify Isolated Temperature
今日新闻:荣耀V20的处理器跑分曝光 三星研发新一代运动智能手表
我们该如何选择机器视觉检测和3D视觉检测设备
PCBA一致性和可追溯性的重要性
什么是苹果PD快充线,快充线的优势是什么
常见的通信协议有哪些
宾利采用AR应用程序展示EXP 100 GT概念车的研究成果
小米MIX2最新消息汇总:小米MIX2怎么样?小米MIX2首轮瞬间被抢空,雷军又耍猴
诺基亚9:诺基亚时代的回归
LIGO,由ADI参与打造的宇宙中最精密的感测仪器
车载空气质量类传感器的作用
解析ISO 11452-4:2011(E)中的 TWC 测试方法
松下借助AI加速固态电池研发
百望云电子凭证解决方案入选工信部信息技术应用创新解决方案
全球商用5G设备数量突破100大关,有384家运营商正在投资5G网络
香港电讯推出全球首条超高容量海底电缆UEL,有2016根光纤芯
打造无缝联网环境 SiP技术实现智能家电串连
如何自制一个红外遥控LED电子钟
用Proteus告诉你什么是数模转换器?
未来智能交通什么样?百度Apollo给出了答案