LTC2308 是亚德诺半导体公司( Analog Devices Inc,ADI) 的一款低噪声、12 位高精度、逐次逼近型、 8 通道、采样率高达 500 kSPS (ADC输入信号最高不能超过500KHz,按照Nyquist采样定理则建议输入信号在250KHz以下)、SPI输入时钟最高可达40M、支持串行外设接口( Serial Peripheral Interface,SPI)的模数转换芯片 。

一、LTC2308的功能框图及引脚定义 

LTC2308的功能框图:

 

 引脚定义(来源参考 LTC2308 datasheet LTC2308fb.pdf 的第7页):
信号名称
定义
CH0~CH7
8个模拟输入通道
COM
共模输入电压,接GND表示单极性模式,接REFCOMP/2表示双极性模式。在DE10-Standard板卡上,此引脚默认接GND,表示当前支持单极性输入模式;但可通过改变预留硬件电路使其支持双极性模式。
 
 CONVST
转换开始信号。在CONVST的上升沿表示转换开始。
SCK
串行数据时钟。串行数据传输的同步时钟,SDI引脚输入的数据在SCK的上升沿锁存,SDO在SCK的下降沿输出串行数据。
 SDI
 串行数据输入。在转换开始后的前6个SCK时钟的上升沿,通过一组6-bit数据(S/D、O/S、S1、S0、UNI、SLP)对LTC2308的工作模式进行配置。
 SDO
 串行数据输出。转换结束后,在SCK时钟的下降沿,串行输出转换完成后的数据。

二、LTC2308的工作模式设置

LTC2308的8个模拟通道能配置成为单端、差分式通道,以及单极性、双极性通道,通过四线式 SPI与其他数字接口电路相连。
 当为单端输入时,每个通道相对于COM端,单极性状态下可以输入0~4.096V的范围,双极性为±2.048V的范围,其中,负数是以2的补码形式表示。当为差分模式输入时,CH0与CH1、CH2与CH3、CH4与CH5、CH6与CH7可以分别构成差分对信号,能同时对差分信号进行采样以减小共模干扰。当输入源的阻抗较大时,需要的获取信号时间也会相应增多。 
 
LTC2308的各种工作模式是可通过6位DIN字可编程设定的。(参考下文时序图,来自LTC2308 datasheet LTC2308fb.pdf 的第10页)。
0
 
6位DIN字定义如下: 
表达式
描述
S/D
SINGLE-ENDED
 / DIFFERENTIAL BIT
为1选择单端输入
为0选择差分输入
O/S
ODD / SIGN BIT
为1选择奇数通道
为0选择偶数通道
S1
ADDRESS SELECT BIT 1
地址选择位1
S0
ADDRESS SELECT BIT 0
地址选择位0
UNI
UNIPOLAR / BIPOLAR BIT
为1选择单极性
为0选择双极性
SLP
SLEEP MODE BIT
睡眠模式选项,以便在非活动期间节省电力
 
 LTC控制数据为6位,由高到低依次为:S/D、O/S、S1、S0、UNI、SLP。
  • S/D控制芯片是单端还是双端差分式模式。
  • O/S在差分方式下,控制两个信号的正负极性,当O/S为1时,表示奇数通道输入信号的符号为正,偶数通道输入信号的符号为负;当O/S为0时,表示奇数通道输入信号的符号为负,偶数通道输入信号的符号为正。O/S在单端模式下,当O/S为1时,表示奇数通道输入信号的符号为正;当O/S为0时,表示偶数通道输入信号的符号为正。
  • 在双端模式下,S1、S0构成2位通道选择信号,正好可以选择4组差分通道。在单端模式下,S1、S0构成2位通道选择信号,用于选择奇数通道里的4个通道以及偶数通道里的4个通道。
  • UNI为极性控制信号,其为1时,输出单极性信号,为0时,输出补码形式的双极性信号。
  • SLP则是控制芯片是进入 SLEEP 还是 NAP 状态。
 
在传输完第6位控制字之后,芯片还需要至少 240 ns的 tACQ的获取时间之后才能再次将 CONVST拉高来启动下一次转换。
 
继续参考参考LTC2308 datasheet LTC2308fb.pdf 的第10页的Table1可得到本案例通道选择的配置字:
 

 

三、LTC2308的SPI协议时序理解

参考LTC2308fb.pdf第17页, 该器件SPI协议时序图有两个。
第一个:
 
0
 
在第一个时序中,当转换完成后,CONVST仍保持高电平时,芯片会根据SLP位设置的逻辑电平进入NAP(SLP=0)或SLEEP(SLP=1)模式。当CONVST返回低电平时,LTC2308从SLEEP模式释放,需要200ms才能唤醒并为VREF引脚上的2.2uF电容和REFCOMP引脚上的10uF电容充电。
 
第二个:
 
0
 
 
DE10-Standard 的SystemCD\Demonstrations\FPGA\ADC 这个案例里面我们使用的是第二个时序图,原因是为了LTC2308 表现的性能更好,尽量选择:
1. 在转换开始之后的40ns内返回低电平
2. 在转换结束之后返回低电平 
关于这个的描述请参考LTC2308fb.pdf第14页:
0
 所以实验里面选择第二个时序图。
 
第二个时序图中的各个时间定义(参考LTC2308fb.pdf的第5页):
0
 
把上面的表格摘出并翻译如下:
 
符号
描述
单位
tWHCONV
CONVST高电平的时间
MIN=20
ns
tHCONVST
从最后一个SCK下降沿开始,CONVST保持低的时间
MIN=20
ns
tCONV
转换时间
TYP=1.3、MAX=1.6
us
tACQ
数据采集的时间
第七个SCK上升沿和下一个周期CONVST上升沿之间的时间
MIN=240
ns
tCYC
总周期时间
TYP=2
us
 
第二个时序图显示了在转换时间结束前,CONVST信号回到低电平。在此模式下,ADC和所有内部电路保持通电状态。当转换完成后,SDO的输出数据序列的MSB将在数据总线被启用后有效。在CONVST上升沿后1.3μs之后,随着脉冲SCK的节奏,SDO将从LTC2308中输出数据,SDI则将配置数据加载到LTC2308中。第一个SCK上升沿将S/D位加载到LTC2308中,第六个SCK上升沿将SLP 位加载到LTC2308中。SDO在每个SCK脉冲的下降沿输出数据。
 
送出convert trigger后,经过tCONV 时间后才能送出SPI clock, 通过SDO 接收ADC结果,并同时通过SDI 设定下次convert的模式。SPI clock结束后,至少要等tHCONVST 时间,才能送出下一个convert trigger。LTC2308设计为在控制字发送后开始采集(控制字发送在第6个时钟完成, 第7个时钟就可以开始采集了),以适配不同模式下的时序要求。
 
 

往期推荐阅读: