在单片机的运用中,通讯协议是必不可少的一部分,上位机与下位机,单片机与单片机,单片机与外设模块之间的通讯都需求通讯协议完成信息交流和资源共享。因为设备之间不同的传输速率、电气特性、牢靠性要求的不同,产生了许多类型的适用于不同状况的通讯协议,并被广泛承受和运用。主要有以下几种:
一、UART和USART
别离名为通用异步收发器和通用同步异步收发器(详细后文会进行详解),速率不快,可全双工,结构上一般由波特率产生器、UART/USART发送器、UART/USART接收器组成,硬件上两线,一收一发。
二、I2C(IIC)
双向、两线、串行、多主控接口规范。速率不快,半双工,同步接口,具有总线裁定机制,十分合适器材间近距离经常性数据通讯,可完成设备组网。
总线裁定:线与,谁发0就裁定成功。
三、SPI
高速同步串行口,高速,可全双工,收发独立,同步接口,可完成多个SPI设备互联,硬件3~4线;也是一切根据SPI的设备公共有的,他们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。
四、USB
高速同步串行口,高速,可全双工,由主机、hub、设备组成。设备能够与下级的hub相连构成星型结构。一条USB的传输线别离由地线、电源线、D+、D-四条线构成,D+、D-是差分输入线,它运用的是3.3V的电压。数据在USB线里传送是由低位到高位发送的。
五、CAN
选用双线传输,两根导线别离作为CAN_H、CAN_L,并在终端配备有120Ω的电阻。收到总线信号时,CAN收发器将信号电平转化为逻辑状况,即CAN_H与CAN_L电平相减后,得到一个插值电平。各种搅扰在两根导线上的效果相同,相减后的插值电平能够滤过这些搅扰。
六、DMA
DMA是指外部设备不通过CPU而直接与体系内存交流数据的接口技能。这样数据的传送速度就取决于存储器和外设作业速度。
一般体系总线是由CPU办理的,在DMA方法时,就期望CPU把这些总线让出来,即CPU连到这些总线上的线处于第三态(高阻状况),而由DMA操控器接收,操控传送的字节数,判别DMA是否完毕,以及宣布DMA完毕信号。