|
本帖最后由 xtaens 于 2014-5-8 10:56 编辑
1、芯片:MSP430F5438A
2、外接晶振:25MHz
3、ADC时钟选择MCLK=25MHz的5分频,即ADC12CLK=5MHz,即0.2us
4、采样保持时间为:16个ADC12CLK cycles,即Tsample=4*0.2*16=12.8us???我这样算对吗??
5、转换时间公式:13 × ADC12DIV × 1/fADC12CLK,即13*5*0.2us=13us
那么我的ad采样一个点转换完的时间是:采样保持时间+转换时间=12.8+13us=25.8us,按照这么算我的采样率才:1/25.8=38.75Ksps???这么使用的话离200K差
好远啊
请问我的上述计算方法对吗?
下面是我的ad初始化代码
- void ADC12_Init(void)
- {
- P6SEL |=BIT0 + BIT1 + BIT2; // Enable VeREF+ & A/D channel A0
-
- ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_2; // Turn on ADC12_A, extend sampling time
- // to avoid overflow of results
- ADC12CTL1 = ADC12SSEL_2 //时钟选择为:MCLK
- +ADC12DIV_4 //时钟分频为:4
- +ADC12SHP //采样信号源自采样定时器
- +ADC12CONSEQ_3; //序列通道多次采样
- ADC12MCTL0 = ADC12INCH_0; // ref+=AVcc, channel = A0
- ADC12MCTL1 = ADC12INCH_1; // ref+=AVcc, channel = A1
- ADC12MCTL2 = ADC12INCH_2+ADC12EOS; // ref+=AVcc, channel = A2, end seq.
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|