MSP430中的SD16模块

2008年11月03日 21:11    发布者:MSP430
Datesheet中的英文看着不爽,突然发现了利尔达430演讲资料中的SD16模块介绍,还有MSP430FE42X中文参考手册,总结下方便学习,先来结构图。
SD16结构图

SD16CTL,ADC控制寄存器

Reserved Bit 0 保留,读出总是0。OVIE    Bit 1  溢出中断使能,溢出中断矢量独立使能。                   若一个转换结果写进ADC存储器SD16MEMx,但前一结果还未读,发生溢出。REFON  Bit 2  接通内部参考电压,如果不用参考应该关闭以节约能源。               0:内部参考关闭。                      如果使用ADC,参考电压必须有外部供给,否则转换结果不可预知。               1:内部参考电压接通。                      注意VREF引脚需要连接一个电容。VMIDON  Bit 3  接通Vmid缓冲器。                     如果不用中间电压,应该关闭以节约能源。注意,参考电压用作中间电压。                 0:Vmid 缓冲器关闭。                 1:Vmid 缓冲器接通。SSELx  Bit 5,4  选择时钟源。                 0(00):MCLK                 1(01):SMCLK                 2(10):ACLK                  3(11):外部时钟DIVx   Bit 7,6  选择时钟分频系数。                     这些位不应该在转换期间修改。如果在转换期间修改,所有通道将执行内部                    复位,然后重启转换。                  0(00):Divide by 1                  1(01):Divide by 2                  2(10):Divide by 4                  3(11):Divide by 8LP      Bit8    低功率方式。                  0:禁止低功率方式。∑—△模块可以以最大指定时钟频率运行。                  1:允许低功率方式。∑—△模块最大时钟频率减小。Reserved Bits9-15  保留,读出总是0。

SD16CCTLx,∑—△ADC通道控制寄存器:
GRP  位0   分组。            0:不在一个分组中,或者一个分组的最后一个通道。            1:与下面的通道构成一个分组。
                应注意不能将最后一个执行通道(例如具有最高数目的通道)的GRP位置位,它读出时
            总为0。这个特性可以用来监测执行通道的数目,并且确保最后一个通道的SC位总是启动本
            组的AD转换。
SC    位1  启动转换。
               如果该通道属于一个组(例如GRP置位位),这个位将由最后一个通道的SC位置位自动
           置位。要关闭一组通道的转换,只需清除最后一个通道的SC位就足够了。但通过清除他们各
           自的SC位单独关闭某个通道(除了最后一个通道)也是可能的。清除SC位之后,∑—△ADC
           将完成它的时钟周期(与CPU时钟异步),例如,可能发生下列情况——转换存储器中的值
           可能在SC位清除后改变,因此建议在SC位清除之前读取转换存储器。
           0:转换停止。Sigma-Delta调制器掉电,数字滤波器关闭。
           1:启动转换。
IFG 位2    中断标志。
                当新的转换结果完成时置位,对SD16MEMx进行读取操作后自动清除。中断标志的初次
            置位可以使用输入控制寄存器SD16INCTLx中的INTDLY位延时。
IE   位3    中断允许位。
DF   位4    数据格式。
             0:单极性(二进制偏移量)
             1:双极性(二进制补码)
OVIFG 位5  溢出中断标志。
                 如果在上次转换结果未读时将转换结果写入ADC存储寄存器SD16MEMx就会产生溢出。
LSBACC 位6 1:数字过滤器的输出至少要有16个有效位。
             0:数字过滤器的输出最多有16个有效位。
LSBTOG 位7 每次读SD16MEMx时,保持LSBACC的值不能改变。
OSR   位8,9  过采样率。
                   这两位在转换过程中不应被改变。如果这两位在转换过程中被改变,本通道和属
               于同一组中所有其他通道将进行一次内部复位并随后重新启动一次转换。
              0:OSR=256
              1:OSR=128
              2:OSR=64
              3:OSR=32
SNGL  位10   信号转换方式选择。
              0:连续转换。
              1:单次转换。
                 SC在中断标志IFG置位后自动清除。注意中断标志置位可由输入控制寄存器
              SD16INCTLx中的INTDLY位延迟。建议采用缺省设置(延时三个采样周期)以确保
              当中断标志置位时转换结果已完成。
Reserved 位11-15 保留,读取时总是为0。


SD16INCTLx∑—△ADC输入控制寄存器:

INCHx  位2-0  选择不同的输入通道。
                   在一次转换中这些位的改变将会对数字滤波器接下去的步骤产生影响。应注意改
                变之后接下去的两个或三个数字化的值不存在,因数字滤波器的设置需要时间。这种
               情况可由INTDLY位自动处理。
               0(000): Ax.0               1(001): Ax.1               2(010): Ax.2               3(011): Ax.3               4(100): Ax.4               5(101): Ax.5               6(110): Ax.6 温度传感器               7(111): Ax.7 D+和D-短路。允许测量由Sigma-Delta调制器产生的偏移量。
GAINx 位5-3  选择前置放大器的增益。
                   在一次转换中这些位的改变会对数字滤波器接下去的步骤产生影响。应注意改变之
               后接下去的两个或三个数字化的值不存在,因数字滤波器的设置需要时间。这种情况可
               由INTDLY位自动处理。
               0(000):PGA增益=1               1(001):PGA增益=2               2(010):PGA增益=4               3(011):PGA增益=8               4(100):PGA增益=16               5(101):PGA增益=32               6(110):保留                7(111):保留
INTDLYx  位7-6 转换开始之前延迟的采样数。
                    这样可以使数字滤波器在产生数字(用于随后处理)之前先稳定下来。如果增益
               (SD16INCTLx增益)或者选定的输入通道(SD16INCTLx。INCH)在一次转换过程中改变,
                下一次中断的产生也会根据选定的设置被延迟。
                    应注意,在延迟过程中中断的产生被延迟,溢出监测被关闭,但SD16MEMx寄存器的
                内容将随数字滤波器接下来的步骤而改变。
                0(00):延迟三个采样周期(第四个采样周期引起中断)
                1(01):延迟两个采样周期(第三个采样周期引起中断)
                2(10):延迟一个采样周期(第二个采样周期引起中断)
                3(11):没有延迟(第一个采样周期引起中断)
SD16MEMx, ∑—△ADC转换存储寄存器:

ConversionResult     位15-0            数据格式由通道寄存器SD16CCTLx中的DF位控制,可以是二进制补码
                            或者二进制偏移格式。这两种格式其他所有位都是相同的,除了最高位与
                            对方相比简单的取反。

SD16PREx,∑—△ADC预加载寄存器:
   
PreloadValue   位7-0         通道的预加载寄存器SD16PREx可用于预加载数字滤波器的计数器。
                                     这个计数器负责提供用于平均来自Sigma-Delta调制器的位流的时间帧。
SD16IV,中断向量寄存器:

SD16IVx  位15-0         Sigma-Delta ADC具有一个中断向量,中断向量寄存器SD16IV辅助处理
                                 多个中断标志。