一、引言
学习过单片机的会了解到UART、I2C、SPI这些通信协议,这些协议属于“位”级别的最底层协议。单片机做串口通信的时候,我们通过串口发给单片机三条指令,让单片机做了三件不同的事情,分别是“buzz on”、“led off”和“showstr”。随着系统复杂性的增加,我们希望可以实现更多的指令。而指令越来越多,带来的后果就是非常杂乱无章,导致不同开发人员写出来的程序代码不兼容,不同厂家的产品不能挂到一条总线上通信。
随着这种矛盾的日益严重,就会有聪明人提出更合理的解决方案,提出一些标准来,今后我们的编程必须按照这个标准来,这种标准也是一种通信协议,但是和 UART、I2C、SPI通信协议不同的是,这种通信协议是字节级别的,叫做应用层通信协议。在 1979 年由 Modicon(现为施耐德电气公司的一个品牌)提出了全球第一个真正用于工业现场总线的协议,就是Modbus 协议。
谈到通信协议,一个基本的认识是OSI(Open System Interconnect)模型,全称为开放式通信系统互连参考模型,是国际标准化组织 ( ISO ) 提出的一个试图使各种计算机在世界范围内互连为网络的标准框架。
OSI模型包括七层:物理层、数据链路层、网络层、穿传层、会话层、表示层、应用层。随着时代的发展,OSI已经被TCP/IP 模型淘汰。