带你快速了解什么是SPI 总线 A-D 转换芯片 TLC2543
扫描二维码
随时随地手机看文章
TI公司生产的TLC2543是采用SPI总线接口的12位A-D转换器,可以转换11个模拟输入量,分辨率高、转换速度快,使用方便,应用较广。下面简要介绍TLC2543的引脚功能、时序和操作命令。
1.TLC2543的引脚功能
图6-4为TLC2543的引脚图,其中各引脚功能如下:
1)AIN0~AIN10是11个模拟量输入引脚。
2)GND是接地引脚。
3)Vref(+)和Vref(-)分别是正、负参考电压的输入端。Vref(+)接Vcc上;Vref(-)通常接地。模拟量输入的最大值由Vref(+)和Vref(-)的差决定。
4)CS是片选信号输入端。在CS的下降沿,
TLC2543复位内部计数器和控制器,使能DATA OUT、DATA INPUT和IO CLK引脚;在CS的上升沿,禁止上述引脚功能。
5)DATA OUT是A-D转换结果的三态串行输出引脚。CS为高电平时,该引脚为高阻态;CS下降沿时,DATA OUT引脚输出上一次转换结果的第一位,在之后的IO CLK下降沿,DATA OUT引脚按次序输出转换结果的剩余位。
6)DATA INPUT是串行数据输入引脚,输入TLC2543的8位初始化命令。初始化命令的前4位为串行地址,用于选择被转换的模拟量输入(或测试电压)。经过前4个IO CLK上升沿后,4位串行地址按先高位后低位的顺序移入数据寄存器。之后按顺序移入命令字的剩余位。
7)IO CLK是输入/输出时钟信号。该引脚的时钟信号与TLC2543的工作时序有关:①在IO CLK的前8个上升沿,输入的8位初始化命令移入输入数据寄存器。在IO CLK的第4个上升沿,已移入的4位输入通道选择地址有效;②在IO CLK的第4个下
降沿与最后1个下降沿之间,被选中的模拟量输入电压持续给电容充电;③将上一次转换结果的剩余11位移出至DATA OUT引脚(最开始的一位已经在CS下降沿时移出),数据引脚的状态在IO CLK的下降沿发生变化;④在最后一个IO CLK的下降沿,将转换控制移交给TLC2543的内部状态控制器。
8)EOC是转换结束信号。EOC在IO CLK的最后一个下降沿由高电平变成低电平,并且一直保持低电平,直到转换结束且TLC2543已准备好输出转换结果为止。
9)Vcc是正电压输入引脚,接+5V。
2.TLC2543的初始化命令和时序
TLC2543是12位的A-D转换器,可以将外部输入的11个模拟量电压和3个内部自测试电压源中的一个,转换为12位数字量。转换结束后,转换结果可由DATA OUT引脚输出。输出的转换结果可以是无符号数(即单极性)或有符号数(即双极性),位数可以是8位、12位或16位,输出顺序可以是“先高位后低位”(即MSB先导)或“先低位后高位”(即LSB先导)。
在每次A-D转换之前,必须向TLC2543的DATA INPUT引脚发送初始化命令(见表6-1),以选择模拟电压源并设置结果输出格式。
在图6-5所示的TLC2543引脚时序图中,字母A代表上一次转换,字母B代表本次转换,字母C代表下一次转换,即:A11~A10是上一次A-D转换结果的输出;B7~B0是本次A-D转换的初始化命令,B11是本次转换结果的输出,“访问周期B”是本次转换的访问周期,“采样周期B”是本次转换的采样周期;C7是下一次转换的初始化命令。
图6-5使用CS且12位输出转换结果的TLC2543引脚时序图
由图6-5可知,每次A-D转换之前,需要一个由CS下降沿开启的包含12个IO CLK的TLC2543初始化过程,该过程可分为如下两部分:
(1)访问周期
在访问周期中,经过4个IO CLK的上升沿,通过DATA INPUT引脚接收初始化命令的前4位(B7~B4,即地址位),以确定被转换的模拟电压源。
(2)采样周期
在采样周期中,通过DATA INPUT引脚接收初始化命令的后4位(B3~B0),同时开始电压采样,为后续的A-D转换做准备。
在最后一个(即第12个)IO CLK的下降沿之后,开始进行A-D转换。转换开始后,EOC变成低电平,数据输出引脚为高阻态,IO CLK被禁止。转换结束后EOC恢复为高电平。至此,一次A-D转换结束。
另外,CS下降沿也可以开启一次包含12个IO CLK的转换结果(属于上一次转换)输出过程。如图6-5所示,当CS下降沿出现时,TLC2543将上一次转换结果的最高位A11(也可以设置为最低位)移出至DATA OUT引脚,在第1个IO CLK的上升沿时单片机可以读取该位。在第1个IO CLK的下降沿,下一位转换结果A10被移出至DATA OUT引脚,在第2个IO CLK的上升沿单片机可以读取该位。之后是第3个IO CLK,第4个IO CLK等。依此类推,最后一个IO CLK的上升沿单片机可以读到转换结果的最后一位。
特别需要注意,读上一次转换结果与初始化(启动)本次A-D转换的操作应当同步进行,即如图6-5所示,在每个IO CLK信号周期内同时完成下面两个操作:
1)在IO CLK上升沿,将本次转换初始化命令中的一位,移位到DATA INPUT引脚。
2)在IO CLK下降沿,读取上一次的转换结果的一位。