三防平板电脑有线通信接口电路设计(串行外围设备接口)
时间:2024-07-09 作者:乐凡信息 浏览:170

三防平板电脑串行外围设备接口(Serial Peripheral Interface,SPI)总线技术是Motorola公司推出的一种同步串行接口,目前许多公司生产的MCU和MPU都配有SPI总线接口。例如,基于ARM9的S3C2440微处理器配备了两个SPI总线接口,既可以作为主SPI使用,也可以作为从SPI使用。SPI总线可用于CPU与各种外围器件进行全双工、同步串行通信。SPI总线可以同时发出和接收串行数据,它只需四条线就可以完成 MCU 与各种外围器件的通信,这四条线分别是串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效的从机选择线。可与SPI通信的常用的外围器件有LCD显示驱动器、集成A/D和D/A芯片、智能传感器等。SPI总线接口主要特点如下:

● 可以同时发送和接收串行数据;

● 可以作为主机或从机工作;

● 提供频率可编程时钟;

● 发送结束中断标志;

● 写冲突保护;

● 总线竞争保护等。

2.工作原理与接口方式

三防平板电脑当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主SPI设备的时钟信号(SCK)使传输同步,在时钟信号的作用下,在发送数据的同时还可以接收对方发来的数据,也可以采用只发送数据或者只接收数据的方式,其通信速率可以达到20 Mbps 以上。SPI 设备系统连接如图1所示。



图1 SPI设备系统连接图

SPI总线有四种工作方式,其时序如图6-24所示,其中使用最为广泛的是SPI0和SPI3方式。



图2 SPI总线四种工作方式时序图

三防平板电脑为了与其他设备进行数据交换,根据设备工作要求,可以对SPI模块输出的串行同步时钟极性和相位进行配置,时钟极性(CPOL)对传输协议没有太大的影响,如果CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置,用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样,SPI 主模块和与之通信的外设的时钟相位和时钟极性应该一致。SPI总线数据传输时序如图6-25所示。



图3 SPI总线数据传输时序



图4 SPI总线数据传输时序(续)

3.三防平板电脑基于SPI总线的串行A/D转换器TLC2543及应用

TLC2543是TI公司生产的12位串行开关电容型逐次逼近A/D转换器,具有以下特点。

● 12位分辨率,在工作温度范围内转换时间为10 μs;

● 11个模拟输入通道,3路内置自测试方式;

● 采样率为66 kbps,线性误差为+1LSB;

● 转换结束(EOC)输出,具有单、双极性输出;

● 输出数据长度可编程,内部结构采用CMOS技术。

TLC2543的引脚分布如图6-26所示,引脚功能如下。



图5 TLC2543的引脚排分布

● AIN0~AIN10:模拟输入端,由内部多路器选择。对于大于4.1 MHz 的 I/O CLOCK,驱动源阻抗必须小于或等于50 Ω。

● :片选端,由高到低时将复位内部计数器,并且控制DATA OUT、DATA INPUT和I/O CLOCK信号。由低到高的变化将在一个设置时间内禁止 DATA INPUT 和I/O CLOCK信号。

● DATA INPUT:串行数据输入端,串行数据以MSB为前导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压。之后,I/O CLOCK将余下的几位依次输入。

● DATA OUT:A/D 转换结果三态输出端,在为高电平时,该引脚处于高阻状态;当为低电平时,该引脚由前一次转换结果的MSB值置换成相应的逻辑电平。

● EOC:转换结束信号,在最后的I/O CLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成及数据准备传输。

● VCC、GND:电源正端、地。

● REF+、REF-:正、负基准电压端,通常REF+接VCC,REF-接GND,最大输入电压范围取决于两端电压差。

● I/O CLOCK:时钟输入/输出端。

(1)三防平板电脑TLC2543的工作原理。每次转换和数据传输可以使用12或16个时钟周期得到全12位分辨率,也可以选择使用8个时钟周期得到8位分辨率。

一个片选脉冲要插到每次转换的开始处,或者在转换时序的开始时变化一次后保持为低,直到时序结束。图6所示为使用16个时钟周期转换和传输数据,在每次传递周期之间插入的时序,即进行一次转换就操作一次。




图6 在每次传递周期之间插入时序



图7所示为使用16个时钟周期转换和传递数据,仅在每次转换序列开始处插入一次时序,即连续进行多次转换才操作一次。


从图7中可以看出,三防平板电脑在TLC2543的变低时开始转换和传送数据,CPU将通道选择、数据长度选择、前导选择、单双极性选择的控制信息送入 DATA INPUT 引脚的同时,还从DATA OUT引脚读出A/D转换的结果。因此,本次读出的A/D转换结果是上一次操作TLC2543所选择的通道对应的数据。通道选择、数据长度选择、前导选择、单双极性选择这四项的设置数据共8位,I/O CLOCK的前8个上升沿将这8位的工作模式设置数据从DATA INPUT输入数据寄存器。三防平板电脑如果工作在12或16个时钟周期模式,则后4位或8位的DATA INPUT数据没意义,可为任意值,这4或8位只是为了补齐12或16个时钟,使12位的A/D转换结果同步输出。使用16个时钟时,读出的A/D数据为16位,因为有效数据只有12位,所以应根据程序屏蔽高或低4位。

三防平板电脑在I/O CLOCK上升沿时,数据发生变化,即I/O CLOCK低电平时将要写入DATA INPUT的数据准备好;当I/O CLOCK高电平时,读出DATA OUT的数据。

当为高时I/O CLOCK和DATA INPUT被禁止,DATA OUT为高阻状态不能操作。

(2)三防平板电脑TLC2543电路连接图。AT89S52单片机使用I/O口模拟SPI的方式连接TLC2543,其中TLC2543的片选接到P1.7引脚,串行时钟输入端I/O CLOCK接到P1.4引脚,串行数据输入端DATA INPUT接到P1.5引脚,串行数据输出端DATA OUT接到P1.6引脚,转换结束端EOC接到P1.3引脚,TLC2543与单片机的接口电路如图6-29所示,TLC2543的电压基准为5 V,因此TLC2543的量程最大为5 V。

图8 TLC2543与单片机的接口电路

(3)C语言应用程序。用C语言编写的TLC2543应用程序如下。