永盛彩票现金: [技术问答] N76E003 bandgap

永利游戏开户直营
546|11
楼主
本帖最后由 1028844836 于 2019-8-13 18:00 编辑

18.1.4 带隙电压(Band-gap) 输入应用
N76E003的ADC可以选择内部Band-gap电压作为输入脚,能用来反推ADC的参考电压,得到更精准的
ADC结果。
常温下,所有N76E003的Band-gap电压值会校准在1.17V ~ 1.27 V内。如果想要知道每颗N76E003的
Band-gap实际电压值,可以通过读取UID地址后的2个bytes值来确认。UID 后的2个bytes储存Band-gap
的实际值,总共12个有效bit。第一个byte是高8位,第二个byte的低4位为12 bit的低4位。
读取和计算步骤
用读取UID的方式,以IAP 读取Band-gap的值为例
2. 合并高8位和低4位
3. 使用下列公式换算成实际的电压值:
计算公式:
计算范例:
读取UID地址后的2个字节,第一个字节值为0x64,第二个字节值为0x0E,合并为0x64E = 1614,换算电压值结果为:
例程如下:
#define set_IAPEN BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON|=SET_BIT0 ;EA=BIT_TMP #define set_IAPGO BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPTRG|=SET_BIT0 ;EA=BIT_TMP #define clr_IAPEN BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON&=~SET_BIT0;EA=BIT_TMP void READ_BANDGAP() { UINT8 BandgapHigh,BandgapLow; Set_IAPEN; // Enable IAPEN IAPAL = 0x0C; IAPAH = 0x00; IAPCN = 0x04; set_IAPGO; // Trig set IAPGO BandgapHigh = IAPFD; IAPAL = 0x0d; IAPAH = 0x00; IAPCN = 0x04; set_IAPGO; // Trig set IAPGO BandgapLow = IAPFD; BandgapLow = BandgapLow&0x0F; Clr_IAPEN; // Disable IAPEN Bandgap_Value = (BandgapHigh<<4)+BandgapLow; Bandgap_Voltage = 3072/(0x1000/Bandgap_Value);
}
用读取到的Band-gap值通过ADC计算VDD值:
根据ADC转换出的带隙电压值,与满量程ADC的比例关系,乘以读取到的实际带隙电压值,可以算出VDD。
对于N76E003,为了得到更准确的内部带隙电压(band-gap)输入ADC转换值,建议在读取时,放弃模块使能后的头三笔资料。而后,只要不关闭ADC模块,ADC转换结果都是如规格所列。提醒:程序中如果关闭了ADC模块,请记得下次打开时,需要再次丢弃3笔。
double Bandgap_Voltage,VDD_Voltage; void ADC_Bypass (void) // The first three times convert should be bypass { unsigned char ozc; for (ozc=0;ozc<0x03;ozc++) { clr_ADCF; set_ADCS; while(ADCF == 0); } } void main (void) { double bgvalue; READ_BANDGAP(); Enable_ADC_BandGap; ADC_Bypass(); clr_ADCF; set_ADCS; while(ADCF == 0); bgvalue = (ADCRH<<4) + ADCRL; VDD_Voltage = (0xFFF/bgvalue)*Bandgap_Voltage; printf ("\n Bandgap voltage = %e", Bandgap_Voltage); printf ("\n VDD voltage = %e", VDD_Voltage); while(1); }


以上内容为中文版 规格书191页内容
为什么这个打印的VDD 和实际相差巨大 。 而且这份文档中的代码到底能不能直接用。





沙发
| 2019-8-13 18:05 | 只看该作者
感觉不能用,不准。
板凳
| 2019-8-14 12:32 | 只看该作者
前3笔应该还没有稳定导致的,确实应该丢弃,ADC转化也是,如果采集的话刚启动时候的初始化部分就该先丢弃几笔。然后才进行用。

评论

1028844836 2019-8-15 09:35 回复TA
首先 谢谢你能回到我 这个官方源码中 ADCBypass 这个函数丢弃了前三笔 但是没啥用 
地板
| 2019-8-14 20:38 | 只看该作者
这个代码排版可以用高级编辑里的代码框啊。
5
| 2019-8-14 20:38 | 只看该作者
丢弃前几笔是正常的,好多芯片是这样。
6
| 2019-8-14 23:12 | 只看该作者
这个还是很好用的,性价比很好,目前MS系列的性价比更高,更便宜。
7
| 2019-8-14 23:27 | 只看该作者
应该开始时候还没有电压稳定,可以试试先等待片刻再读取。

评论

1028844836 2019-8-15 09:37 回复TA
首先 谢谢您的回复 不知道您有没有 使用过这个功能我最后的打印4.1V左右 这个差太多了 ,而且程序最开始初始化串口之后我延时了几秒还是没有用 
8
 楼主 | 2019-8-15 09:35 | 只看该作者
玛尼玛尼哄 发表于 2019-8-14 20:38
这个代码排版可以用高级编辑里的代码框啊。

哈哈 第一次发帖子 不会用 谢谢 我下次注意
9
| 2019-8-15 09:38 | 只看该作者
提示: 该帖被管理员或版主屏蔽
10
| 2019-8-16 16:37 | 只看该作者
提示: 该帖被管理员或版主屏蔽
扫描二维码,永盛彩票现金:随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
澳門新马路怎样去信达城登入 玛雅电子棋牌 皇家六合彩网址 财运网 彩16电子游戏
吉祥彩票游戏 永利彩票现金直营网 尊彩手机下载 一起玩彩票在线开户 大无限彩票在线开户
必赢彩票娱乐 大唐彩票网站 冠军彩票开户 百彩堂游戏 58彩票网官网
hb高飞登入 福彩快3投注平台平台 菲律宾申博开户合作 彩17娱乐 金誉彩票网正规