单片机的片上资源有多种通信方式,常用的如IIC、SPI、UART/USART、CAN,甚至高端一点的还具有以太网和USB通信。这么多的通信方式,为什么不统一成一种的?因为每种通信方式所出现的时间不同,使用场合不同,用户的要求和方案也不同,无法做到一种通信协议覆盖所有的应用环境和客户群体。下面分析一下这些通信协议的应用情况。
IIC和SPI多用在芯片级近距离通讯
IIC和SPI是应用非常广泛的通讯方式,主要用在芯片级进行短距离通信,如EEPROM存储芯片AT24C02就是IIC通讯的。这两种只适合长度为cm级别的通信。IIC具有两根总线,分别为SDA和SCL,SPI有三线和四线通讯方法,这两种方式主要用做芯片级的数据传输。不适合远距离传输。
CAN总线适合远距离传输
CAN总线在汽车工业和工控行业用的比较多,具有两根线CAN_H和CAN_L,可以进行km级别远距离传输。CAN总线为主从式通讯方式,一个主节点可以挂接多个从节点,从节点的ID标识符可以用来判断优先级,CAN总线具有仲裁机制。从节点故障推出后,不会影响其他设备的正常工作。
UART可以扩展出其他通信方式
UART也就是我们常说的串口,串口几乎为单片机的标配。单纯的UART只适合于近距离的通信,很多芯片也具有UART,所以可以用作芯片级的数据交换。除此之外,UART通过电平转换芯片可以扩展出其他的通信方式,如RS232、RS485以及CAN通讯等。
USB和以太网通讯接口
USB的通讯协议比较复杂,实现起来比较困难,像我们用的鼠标、摄像头用的就是USB通讯,USB也属于近距离通讯的方式。以太网接口使用与数据量比较大的情况,如果工控机、路由等。USB和以太网都有专用的协议栈芯片。
每一种通讯方式都是根据特定的使用环境所研发出来的,因为通讯距离不同、所传输的数据量不同、应用场景不同、客户需求不同等因素,每一种通讯方式都具有其用武之地。同时,也无法做到一种通信方式覆盖所有的应用场合、满足客户需求。所以,每一种通讯方式都有其存在的理由。
领取专属 10元无门槛券
私享最新 技术干货