为什么都喜欢用串口通讯?那 RS485,SPI 和 I2C 呢?

2024-05-13 09:41:37 fandoukeji

为什么都喜欢用串口通讯?那 RS485,SPI 和 I2C 呢?

       1、为什么都喜欢用串口通讯?


       之前在做单片机产品的时候,用的最多的就是串口通讯,凡是单片机的外设,优先选用带串口功能的,比如蓝牙模块,WIFI模块,4G模块,电表和显示屏等等。

SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工 


       为什么都喜欢用串口通讯?



       因为简单啊,通常仅需2条通讯线,1条电源线和1条地线相连。


SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工





       双方约定好相同的速度,比如115200bps,以这种数据包的形式给对方发送数据,一次发送8位,也就是一个字节的数据。


     SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工







      2、串口通讯的缺点  
       虽然串口简单,但是它也有缺点:



       1、远距离信号不能传输;
       2、通讯速度较慢;
       3、只支持一对一通讯,不能一对多通讯。


       所以,针对这几个缺点,我们需要采用其它的方式来弥补串口的不足。



      3、RS232,RS485,SPI通讯  


      3.1、RS232,RS485


       像我开始举的例子,单片机跟外设之间距离短可以正常通信,要是我们长距离传输数据就容易受到干扰,导致通信异常,这时候聪明的人类就发明了RS232和RS485通信。

       .RS232通信距离可达30m左右;


       .RS485的通信距离理想情况下能超过1000m,且485的总线上可挂多个负载。



SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工





       通常,串口通信最大的波特率为115200


       如果没有校验位,就应该除以10,得到的是每秒字节数:115200÷10= 11520 (字节/秒)。再除以 1024,就是每秒 KB 数:11520÷1024=11.25 (KB/秒)。

      
       如果有一位奇偶校验位,就应该除以 11,得到的是每秒 KB 数:115200÷11÷1024= 10.27 (KB/秒)。


      所以串口的速度是非常的慢,之所以这么慢是因为早期的单片机频率比较低,时钟精度也不高,所以通信双方的波特率不能做到完全一致,速率太快就会通信异常。


      3.2、SPI


      那如果在通信双方之间加一个clock时钟信号,不给通信双方约定相同的速度,我们只需根据时钟信号的上升沿进行发送接收数据,大大提高了通信速率,于是产生了SPI通信,它可以轻松突破10M。




SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工


      3.3、I2C


      如果我们的单片机要同时控制多个外设,用很多串口分别连接是很浪费的,要是一条通信线上可同时挂多个外设,那是相当的节约资源,所以就产生了I2C。



SMT贴片加工,PCBA加工,DIP插件后焊加工,COB邦定加工,OEM/ODM代工,电子产品组装加工


首页
产品
新闻
联系