单片机串行通信接口一般分为两种,一种是同步串行通信接口(SPI),另一种是异步串行通信接口(SCI)。SPI具有串行通信速度高的特点,但一般需要1条发送和1条接收串行数据通信线、1条通信目标选择线和1条同步时钟线,一共需要4条通信线(占用单片机的4个I/O引脚)。SOC虽然数据传输速度低于SPI,但一般只需要2条数据线和1条地线即可,也就是只需要3根通信线(占用单片机的3个引脚)。
可以看到SPI和SCI的物理结构有很大差别:SPI的通信速率和信号接收正确率由时钟和接口物理特性决定;SCI的通信速率和信号接收正确率由物理接口和时钟分频率决定。
通信接口接收的是数字电平信号,因此,存在电平判别的问题。如果输入电路的物理特性对输入电平波形有影响,则会直接影响接收信号的正确性。因此,要求接收和发送电路的物理特性必须满足波形的要求。
通信息的物理特性还与通信介质和连接状态有关。图3是通信接口电路和驱动电路之间的待效电路图。
当数据传输速率远小于电路电压跟踪速度时,可认为每一位数据的电平保护足够长的时间。根据图3可以得到输出和输入信号的阶段响应:
u=U(1-e -at) (1)
式中,u是数字信号高电平,a=1/[R(C1+C2)]是上升时间常数。图4是数字信号受到分布参数影响后的波形。
根据式(1)可知,在5V电源电压条件下,通信信号电平幅度上升到判别电压幅度(TTL高电平或CMOS高电平)所需时间是T=-R(C1+C2)ln0.46(对TTL电路)或T=-R(C1+C2)ln0.72(对CMOS电路)。如果信号的波特率为fb,为确保正确接收,信号上升时间应当为信号脉冲宽度的1/4~1/10。
由此,当数字信号为TTL电平时,要求单片机接口电路的分布参数范围是当数字系统为CMOS电平时,要求单片机接口电路的分布参数范围是:
如果单片机的物理分布参数已经确定,则式(2)和式(3)就是最高通信速率的限制条件。
通过以上分析可以看出,单片机通信接口的物理特性对通信性能直接影响,主要反映在接口电路分布参数对数字信号波形的影响,进而引起接口电平判别失误。
二、单片机串行通信接口的固件特性
所谓单片机串行通信接口的固件特性,是指单片机串行通信接口的控制和支持硬件在串行通信时所具有技术特性。固件特性包括两个方面问题,一个方面是软件行为对硬件的要求条件,另一个是硬件电路所能提供的结构和功能特性。
1.单片机通信接口功能的控制方式:
单片机串行通信接口功能的控制是在单片机内部硬件结构支持下的软件操作。单片机是面向寄存器的工作方式,因此,对于通信接口的控制是通过一系列的寄存器操作实现的。基本控制步骤如下: