通信协议介绍
在做各种课题设计时候,经常会用到的就是使用“**通信”进行传输。最开始一直是处于一脸懵的状态。编写程序时候百思不得其解,怎么编写这个通信协议?
后来花了很长时间去弄清楚了这些概念,结果在做设计时候一问组员都是一脸懵,根本不清楚通信协议是用来干什么的。所以自己整理了一遍思路,也方便自己加深理解。
在硬件上,我们经常需要多个设备之间相互进行通信。这些设备之间的相互通讯,一定都是按照一个统一规定的协议进行传输的。换句话说,也就是规定了两个设备之间的传输是怎么开始的,怎么结束的,哪些是通信的内容,怎么检验通信过程是否出错等等问题。
具体的通信协议都是通过对应的编程语言写入对应的硬件设备中,就像往两个设备中放了两个守门员,对于传输的数据进行把关,从而建立通信进行传输。
这里介绍几个硬件上常用的通信协议:
- IIC通信
- 串口通信
- SPI通信
1、串口通信
串口是计算机设备,多种仪器设备等上常用的协议。
在并行通信中,一个字节(8位)数据是在8条并行传输线上同时由源传到目的地。因此这样的传输方式传输速度更快,传输效率高,但是占用资源也多。
而在串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。这样的传输方式虽然成本低但是传输速度慢。
(从其他地方down的图)