SAC内部本质上就是运放结构,同时在输入及输出端搭配了多个选择开关,从而用户在使用过程中可以免去外部的电阻,电容等电路,节省板载空间,也可以加速用户设计。同时内部的SAC模块可以级联,进行多级放大,更便于使用。那么如何设置内部的电路结构呢?当然是操作寄存器! 下面详细讲解一下相关的寄存器设置并给出参考程序。
先整体看一下寄存器的内容,SAC模块包括6个寄存器,如下:
SACEN : SAC模块的使能位,1时使能所有的SAC模块,失能情况下输出位高阻状态。 OAPM : OA的模式选择,也就是可以是高速或低速的,当然高速或者低速会影响功耗,带宽,速度等,具体参数可以参考芯片的datasheet,如下图所示位FR2355的数据。
OAEN :内部OA使能,这一位用于控制SAC内部的OA模块的使能。 NMUXEN : 这一位控制着OA负端输入的使能,看内部结构框图可以看出,在OA负端输入前有两级:第一级时MUX,也就是选择输入源,第二季是使能MUX,也就是说即使选择了MUX的输入源,这个也必须使能,否则MUX与OA的负输入端会断开。 NSEL : 负端输入选择位。 PMUXEN : 这一位和负端的NMUXEN类似,控制着正端的MUX与OA的连接或断开。 PSEL : 正端输入选择位。
GAIN : OA增益选择,也就是在上面讲述的图中的可调增益的设置位,有三位,配合NSEL PSEL MSEL可以实现多种模式下的增益选择。 MSEL : PGA模式的选择,控制的是如下图中的内部电路结构:
综上可以发现,电路拓扑即增益等参数与MSEL PSEL NSEL GAIN有关系,具体这些参数怎么设置呢? 下图给了一些参数的示例,在使用过程中可以根据下述资料进行寄存器的设置。
SACxDAC寄存器显而易见是用来控制SAC内部那个12bit DAC模块的,那么内部这个DAC模块的电路结构是什么样子的呢?
那么我们对着这张DAC内部的结构图就可以很容易的看懂这个寄存器里每一位的含义了。 DACSREF : 这一位决定着DAC的参考电压,有两个选项:primary和secondary,每一项的参考源在芯片的datasheet中可以查看到,如下图是FR2355的信息。
DACLSEL : 从上面结构上可以看到,这一位决定着设置的DAC值是否进入DAC CORE,当设置的数据进入DAC CORE后,则会驱动相应电压输出,也就是说这一位决定着DAC内核电压改变的频率,可以是实时的,也可以是脉冲控制的。 DACDMAE : DAC内部DMA请求使能,当DAC数据更新时,如果此位使能的情况下,则会有一个DMA的请求。 DACIE : DAC中断的使能信号,在DAC数据更新时可以产生一个中断信号给CPU。 DACEN : DAC使能位。
|