MAX5631的转换过程是先从串行数据端DIN送进要转换的16位数据D15~D0(高位在前,低位在后),然后送进5脚地址A4~A0(用这5位地址编码来选择输出通道号)。地址的后两位是控制字C1和C0,其中C1为1为立即更新模式,为0则为猝发模式;C0为1表示选择外部时钟序列,为0则选择内部时钟序列。C1、C0之后应补一位0。见表1。

表1 输入字序列

图3是MAX5631的时序图,当片选CS变低后,系统将在每一个时钟的上升沿送出一位数据。送完最后一位数据(即第24位数据后)后片选CS变高。而当CS为高电平时,任何输入数据都是无效的。

2.2 工作模式

MAX5631有三种工作模式,分别为顺序模式、立即更新模式和猝发模式。其中顺序模式为默认工作模式。在顺序工作模式下,内部时序控制器按顺序循环访问SRAM,并将对应的数字量装入DAC,同时更新相应的采样保持器。所以,在采用内部顺序控制时钟时,顺序工作模式下更新32路输出的时间为320μs。而当采用外部顺序控制时钟时,整个更新过程需要128个时钟周期。

立即更新模式用于更新单片SRAM的内容,同时更新相应的采样保持放大器输出。在这种模式下,所选择的通道输出会在顺序操作恢复前更新。用户可以通过设置IMMED或使C1为高电平来选择立即更新模式。当片选CS为低电平时,原访问顺序被打断。输入字被存储在对应于被选择通道的SRAM中。此时DAC转换和相应的采样保持对输入串口完全透明。相应的输出通道将得到立即更新。更新后,时序将回到原来中断的SRAM地址重新开始顺序更新。立即更新操作需要占用两个时序周期,其中一个周期用来使时序控制器继续完成正在进行的操作,另一个用来进行新数据的更新。图4(a)所表示的就是立即更新模式的例子。当7通道正在更新的时候,20通道正在装载数据。此时,如果CS变为低电平,则原顺序操作被中断,而当CS变为高电平后,通道20将立即更新,然后是通道7的更新以后的操作依据原序列进行。

猝发模式是一种高速装入多地址SRAM的方法,但此时数据不被立即更新,而只有在数据猝发装入完成并将控制返回到时序控制器后才进行更新。用户通过将IMMED和C1同时保持低电平可选择猝发模式。当CS变低时,顺序操作被中断,可以给相应的SRAM中装入数据。而当CS变高时,顺序操作从中断的地方重新开始。各通道按顺序依次更新数据。猝发操作后,一般需要一个时序循环才能再次读取串口数据以保证所有通道的被猝发数据更新。图4(b)所示是在通道7被更新时,片选CS变成低电平开始装入所有数据的例子,此时没有任何一个通道的数据能被更新。当片选CS变成高电平时,系统将从通道7重新开始顺序更新操作。