1、背景介绍
目前项目中使用了AST2500作为板上BMC,使用了AST2500中14路ADC进行电压和温度监测,其中1-13路是直接采集电压信息,最后1路为通过AD590将电压转换为温度。
2、硬件连接关系
硬件连接关系如下图所示:
从上图中可以很清楚的看到各路ADC所监测的电压信息。
3、AST2500内PMC配置
AST2500中默认的PMC图位置如下:
样例是基于AST2500开发板的,提供的ADC路数不够14路,因此需要增加ADC路数。
可通过修改AST2500 DDF文件进行扩展。
在pmc图中点击右键,打开AST2500 DDF文件进行编辑:
然后选择ddf的pin页面,进行ADC PIN的添加,注意选对类型
添加完成后,Init code参考ADC0即可。
下图为增加好的效果:
4、测试验证
添加完成后重新编译生成rom.ima,固化flash,启动后可使用/usr/local/bin下找到adcapp应用用来读取adc监测信息:
上图就是读出来的电压信息,需要经过公式换算得到正确的电压值,换算关系如下:
公式1:实际值=采样值/1023*1.8V*分压系数值
公式2:实际值=(采样值/1023*1.8/3.3)*1000-273.15
Channel |
理论电压值/V |
分压系数值 |
公式 |
ADC0 |
1.15 |
1 |
1 |
ADC1 |
1.05 |
1 |
1 |
ADC2 |
0.95 |
1 |
1 |
ADC3 |
1.2 |
1 |
1 |
ADC4 |
1.8 |
1.33 |
1 |
ADC5 |
1.5 |
1.12 |
1 |
ADC6 |
1.05 |
1 |
1 |
ADC7 |
1.0 |
1 |
1 |
ADC8 |
3.3 |
3.13 |
1 |
ADC9 |
3.3 |
3.13 |
1 |
ADC10 |
2.5 |
2.22 |
1 |
ADC11 |
1.35 |
1 |
1 |
ADC12 |
5 |
4.3 |
1 |
ADC13 |
0.9/0.95/1.0 |
1 |
1 |
ADC14 |
|
|
2 |