This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求助:5438a中ad模块不太理解的地方



你好:

我之前使用过430的ad模块,但是那时候不太懂user's guide中对于ad的描述,现在返回来看看ad瞬间就觉得困惑了。首先第一个就是

这里面说ad需要给他配置一个时钟源,然后我看了ti例程中并没有给他配置时钟的语句

选择默认时钟的话就是选择MODCLK,那么这个MODCLK是什么时钟啊,上网手册上面也都没有找到关于他的资料,也许是自己没有仔细找的结果吧,这里求教一下就是这个modclk是怎么来的啊,还有就是关于他的频率之类的参数,先谢谢了啊。

还有一个就是ad中的采样频率设置的问题,

首先我对这个采样时间不是特别了解,一直在想这个采样时间到底有什么用处,上面截的图这个位也不太清楚他有什么用处,说的是采样保持时间,不太清楚这个采样保持时间是干嘛的,还有就是右边红色框中的数字表示是adc12clk的x倍还是x/1倍啊?

接下来是一个采样模式的疑问了,假如我设置了一个单通道多次采样模式的话那么ad怎么知道我到底想采几次啊,手册上倒是有说关闭ADC12ENC后就会停止采样,那我是要用这种方式停止采样吗?

最后一个,也是很不能理解的问题就是开启采样后ADC12CTL0 |= ADC12SC;我处理采样的东西是在ADC12_VECTOR这个中断源里面的,假如我使用的是单通道多次转换,这个转换过程是不是这样的啊,就是采一次-->把值给一个数组-->ifg置0-->退出中断;然后再进行一次上面的过程,直到自己设定的采样次数(我并不知道可不可以通过给寄存器写东西的方式在程序中设定采样次数)或者说是自己关了ad这个模块来退出中断啊?自己在网上查了一些资料结合手册上面的说明就是说读取memx中的值后ifg自动置0,退出中断,我猜测是通过进中断,得到值,退中断,然后又进中断不知道对不对啊。求指教啊。疑惑好久了。

  • 你好,

    你的问题我需要进一步思考后给你回复,

    下面是一份AD12的资料供你参考,我后续思考完你的问题之后再来给你解答。

  • 你好:

    现在看用户手册又发现了一些新的问题想求助一下你,

    就是用户手册中这样说的,就是关了ADC12ENC位后他会停止装换,那么他停止转换那他还会采样吗?

    还有就是想问一下就是ADC12ENC和ADC12ON这两位有什么联系或者说是区别啊?感觉这两位是想做同一件事。

    上面说的12位分辨率模式是什么意思啊?不懂。

    还有就是用户手册上面说ADC12SHP为1时,使用AD定时采样,这时候我可以通过控制ADC12SHT0X来控制采样间隔,那么当ADC12SHP为0时,我还可以通过控制ADC12SHT0X来控制采样间隔吗?

    还有个问题就是当我ADC12SHP为1,ADC12SHT0X选择4个ADC12CLK Cycles为采样间隔时那么我应该是在上图中红色箭头后面过4个ADC12CLK Cycles才采样这样理解没有问题吧?

    上面两种采样模式哪一种更加稳定可靠啊,还是说两种是根据用途不一样来进行选择,我看了ti例程里面所有的关于这个的选择,都故意地选到了第二种采样模式,这是为什么?求指导。

  • 你好,

    根据你的问题,我觉得你对ADC工作的方式了解的不够深入。

    ADC电压保持电路的目的是是的前端进来的电压值稳定,这个过程还没有开始转换。

    这个前端采样保持电压需要几个时钟周期稳定。

    稳定之后,才开启ADC转换模块,把模拟信号转为数字信号。

    采样率的设定需要根据INC的触发来定,你可以利用一个定时器,每一次定时器中断触发一次ADC采样,当然定时器频率要低于ADC整个工作周期的频率。

    重复采样是一直在采样,ADC整个转换完了然后又继续采样,没有太多意义。