[STM8]

STM8L051 AD

[复制链接]
1391|3
手机看帖
扫描二维码
随时随地手机跟帖
buzhichi|  楼主 | 2017-5-24 12:34 | 显示全部楼层 |阅读模式
STM8, AD, ADC, dc, TI
请教大家几个关于STM8L051的AD问题啊
下面所有问题都是基于单次转换,软件控制转换的基础上。
1.如果使用内部参考电压,大家是上电转换一次参考电压的AD值,还是在程序中固定时间的转换?
2.内部参考电压,一直使能,还是在转换的时候使能?是不是转换完了就要关掉,然后下次想转换的时候再开?
3.AD模块是不是在转换前打开,然后设置其他参数并始转换,转换完后关闭,是这个意思么。还是一直开着,想转换哪一路就直接选择哪个通道?
下面的描述,也有疑问
The ADC can be powered-on by setting the ADON bit in the ADC_CR1 register. When the
ADON bit is set, it wakes up the ADC from Power-down mode. Conversion should be
started only when the ADC power-up time (t WKUP ) has elapsed and before the ADC
maximum idle delay (t IDLE ) has elapsed. The software can stop conversion and put the ADC
in Power-down mode by resetting the ADON bit.

ADC可以通过设置ADON=1来开启,当ADON等于1的时候,ADC模块从掉电模式唤醒。转换应该只在t WKUP时间过后并在t IDLE时间过了前开始,软件可以通过ADON=0来停止转换并让ADC模块进入掉电模式。

上面说的两个时间,我怎么在 参考手册  里面没找到呢,意思是先给ADC上电,然后等上电完毕,这个时间是t WKUP,t WKUP这个世间过后就要开始转换了,同时另一个时间开始走了t IDLE,必须在t IDLE时间内转换完才是有效的。过了这个世间转换可能就不准了。
buzhichi|  楼主 | 2017-5-24 13:05 | 显示全部楼层
Single conversionmode  单次转换模式
In this mode, onlyone input channel must be selected in the ADC_SQRx registers ( if more
channels areselected, the highest selected channel is measured). 在这个模式下,必须在ADC_SQRx寄存器中只选择一个通道(如果多个通道被选择,最高选择的通道会被转换)
In addition, theDMAOFF bit must be set in the ADC_SQR1 register (to disable DMA transfer). 此外,ADC_SQ1寄存器内的DMAOFF必须设置为1(禁用DMA传输)
The input channelis then converted and the ADC conversion stops (one simple conversion). 然后选择的输入通道被转换,然后ADC转换停止。(单次转换,一次简单转换)
The convertedvalue is stored into the ADC_DR data register. 转换后的值存储在数据寄存器ADC_DR中。
An interrupt (EOC)can be generated after the end ofconversion. 转换结束后可以产生EOC中断。
The time between 2conversions must be lower than the ADC maximum idle delay(t IDLE ). In case the time between 2 conversions is greater than t IDLE , theADC must be powered-off between the 2 conversions (by clearing the ADON bit). 两次转换时间必须低于ADC最大空闲时间(t IDLE )
如果两次转换时间大于空闲时间,ADC必须在两个转换中间关闭。
Another possiblityis to discard the first conversion (occuring in a time greater than tidle after previous one) andkeep the next one另一种可行的方法是丢弃第一次的转换(距离前一次的转换时间超过t IDLE的这个),保留下一个转换值。

是不是就是一直开着ADC,然后想转换哪个通道,就选择哪个,然后第一次转换值丢掉,从第二次的开始算是有效的就行了

使用特权

评论回复
mmuuss586| | 2017-5-24 14:09 | 显示全部楼层
支持下

使用特权

评论回复
buzhichi|  楼主 | 2017-5-24 15:28 | 显示全部楼层
本帖最后由 buzhichi 于 2017-5-24 15:29 编辑

14.3.17  Internal reference voltage conversion 内部参考电压转换


The internal reference voltage is internally connected to the V REFINT channel. This analog
input channel is used to convert the internal reference voltage into a digital value.
内部参考电压是在内部连接到  V REFINT 通道的。这个模拟输入通道是用来把内部的参考电压转换成一个数字值。


The VREFINTON bit in the ADC_TRIGR1 register must be set to enable the internal
reference voltage. This reference voltage must be enabled only if its conversion is required.
ADC_TRIGR1寄存器中的VREFINTON 位必须设置为1才能开启内部参考电压,只有在需要转换的时候才启用该参考电压。


The internal reference voltage is factory measured and the result of the ADC conversion is
stored in a specific data address: the VREFINT_Factory_CONV byte represents the LSB of
the VREFINT 12-bit ADC conversion result while the MSB have a fixed value: 0x6.
这个内部的参考电压在出厂的时候已经由厂家进行过12位的AD转换,转换的结果高字节固定为0X6。低字节存储在一个特定的数据地址中。VREFINT_Factory_CONV
问题1:This reference voltage must be enabled only if its conversion is required.  这句意思是只有需要转换才开启吗,意思是转换完就要关?
问题2: VREFINT_Factory_CONV 是不是意思是出厂前厂家做过对参考电压的12位AD转换,转换结过直接可以读?但是厂家是在多少V供电的情况下测试的值,这个字节对应的具体地址,怎么没找到呢?



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

65

帖子

1

粉丝