paradoxfx

【原创】TI C2833x介绍---系统自带的ADC(4)

0
阅读(2241)

 

28335片上自带的ADC在使用上相对其它外设模块来讲并不复杂,只要掌握了其最重要的3个控制寄存器的原理并争取配置,在合格的采样电路设计下就能够完成高速高精度采样了。这3个控制寄存器即3个16位的ADCTRL1、ADCTRL2和ADCTRL3。

首先看ADCTRL1的位说明:

图1 ADCTRL1

         图中的R/W代表该位即可读又可写,R代表只读(即写了白写,没有任何作用),-0则代表复位之后的默认值是0。从高位到低位看:

15:保留位,用于测试或者后续版本添加新功能时使用。

14:复位信号,写0不起作用,写1使得ADC模块被复位,但是复位完成之后该位被ADC电路重置为0。

13-12:仿真挂起位:在使用仿真器调试的时候这个位很有用。00表示ADC的运行不受仿真器控制的影响,比如在CCS里面点了halt暂停程序执行,此时ADC模块仍然在采样工作中(当然与ADC是否本身在采样有关);11则代表仿真器暂停之后ADC的采样立刻停止;01代表在当前序列结束后停止采样,10代表在当前转换结束后停止采样。

11-8:采样窗口预定标,决定采样窗口的宽度,即sampling window = (ACQ_PS + 1)*(1/ADCCLK)。

7:ADC模块的时钟预定标,0代表ADCCLK = Fclk/1,1代表ADCCLK = Fclk/2。

6:连续运行模式:顾名思义,即序列器是一直运行,还是在一个序列转换完成之后就停止,运行在启动-停止状态。

5:序列器覆盖:只有在连续运行的情况下才有效。关于这个位的介绍,在一些中文资料上看到叫“序列发生器覆盖。可通过覆盖MAX_CONVn 设置的转换结束时的回绕,来提供连续运行模式的附加序列发生器灵活性。”翻译既不通顺,也十分拗口。重新总结一下就是:

0 = 序列发生器在MAX_CONVn 结束后复位到初始状态;

1=序列发生器在“转换结束状态”后复位到初始状态。