重新测试 GP8500 芯片
02:29\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\nGP8500的精度测量
01 GP8500功能测试
一、前言
前几天测试了这款PAC 芯片, GP8500。 测试结果并没有能够成功, 后来经过朋友提示, 加上对原来测试小板的测量, 发现的确是 芯片的使能没有设置正确。 使能端与 VCC 短路了。 下面对其进行修正之后, 重新进行测量。

二、测试结果
将焊接之后的电路板放置在面包板上测试, 使用DG1062提供 10kHz 的 PWM 信号。 在 芯片第3 管脚输入PWM信号。 工作电源 5V, 参考电源控制信号为 5V, 对应内部的2.5V参考电压。 从 接口第6管脚输出转换电压信号。

下面通过 Python 编程, 控制 DG1062 输出 PWM 的占空比从 1% 逐步变化到 99%, 测量 GP8500的输出电压, 测量一下对应的线性关系。 可以看到输出的电压线性上升到 2.5V 左右。 线性度非常好。


▲ 图1.2.1 测量输出电压与占空比
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-03-31
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
dm3068open()
dg1062open(109)
#------------------------------------------------------------
ddim = linspace(1, 99, 99)
vdim = []
for d in ddim:
dg1062duty(2, d)
time.sleep(1.5)
v = dm3068vdc()
vdim.append(v)
printff(d, v)
tspsave("PL8500", ddim=ddim, vdim=vdim)
plt.plot(ddim, vdim, lw=3)
plt.xlabel("Duty(%)")
plt.ylabel("Voltage(V)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
printf("\a")
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
ddim=[1.0000,2.0000,3.0000,4.0000,5.0000,6.0000,7.0000,8.0000,9.0000,10.0000,11.0000,12.0000,13.0000,14.0000,15.0000,16.0000,17.0000,18.0000,19.0000,20.0000,21.0000,22.0000,23.0000,24.0000,25.0000,26.0000,27.0000,28.0000,29.0000,30.0000,31.0000,32.0000,33.0000,34.0000,35.0000,36.0000,37.0000,38.0000,39.0000,40.0000,41.0000,42.0000,43.0000,44.0000,45.0000,46.0000,47.0000,48.0000,49.0000,50.0000,51.0000,52.0000,53.0000,54.0000,55.0000,56.0000,57.0000,58.0000,59.0000,60.0000,61.0000,62.0000,63.0000,64.0000,65.0000,66.0000,67.0000,68.0000,69.0000,70.0000,71.0000,72.0000,73.0000,74.0000,75.0000,76.0000,77.0000,78.0000,79.0000,80.0000,81.0000,82.0000,83.0000,84.0000,85.0000,86.0000,87.0000,88.0000,89.0000,90.0000,91.0000,92.0000,93.0000,94.0000,95.0000,96.0000,97.0000,98.0000,99.0000]
vdim=[0.0278,0.0527,0.0781,0.1029,0.1281,0.1524,0.1769,0.2024,0.2273,0.2523,0.2787,0.3033,0.3292,0.3541,0.3790,0.4034,0.4281,0.4519,0.4767,0.5014,0.5270,0.5520,0.5768,0.6016,0.6272,0.6531,0.6787,0.7038,0.7289,0.7545,0.7785,0.8035,0.8287,0.8533,0.8787,0.9039,0.9287,0.9539,0.9784,1.0036,1.0284,1.0510,1.0762,1.1009,1.1260,1.1509,1.1761,1.2015,1.2267,1.2516,1.2766,1.3008,1.3263,1.3506,1.3756,1.4007,1.4262,1.4514,1.4755,1.5003,1.5254,1.5510,1.5761,1.6010,1.6253,1.6505,1.6759,1.7009,1.7259,1.7509,1.7764,1.8008,1.8256,1.8507,1.8752,1.9005,1.9254,1.9504,1.9754,1.9996,2.0246,2.0494,2.0743,2.0989,2.1239,2.1485,2.1737,2.1995,2.2238,2.2483,2.2734,2.2981,2.3241,2.3483,2.3741,2.3997,2.4258,2.4544,2.4826]
在输出线性精度方面, 从测量的数据计算出线性拟合误差。 可以看到大部分情况下, 线性误差都在正负 2mV 之内。 只是在最后, 占空比大于 95%之后, 拟合误差达到了 8mV。 相对于 2.5V 的输出电压范围来说, 这款 GP8500芯片的精度达到了 千分之一。![]()

▲ 图1.2.2 线性拟合误差
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY -- by Dr. ZhuoQing 2024-03-31
#
# Note:
#============================================================
from headm import *
from scipy.optimize import curve_fit
ddim, vdim = tspload('PL8500', 'ddim', 'vdim')
def linefun(x, a, b):
return a*x + b
param = (1e-2, 0)
param, conv = curve_fit(linefun, ddim, vdim, p0=param)
printf(param)
vfit = linefun(ddim, *param)
err = [(v1-v2)*1e3 for v1,v2 in zip(vdim, vfit)]
plt.plot(ddim, err, lw=3)
plt.xlabel("Duty(%)")
plt.ylabel("Error(V)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST2.PY
#============================================================
将 GP8500的 REFEN 置低, 对应的输出电压范围是 VCC, 也就是5V。 重新测量对应的 占空比与 输出电压之间的关系。 可以看到此时输出电压范围是 5V。 线性拟合误差为 正负 4mV。 线性精度也超过了 千分之一。![]()

▲ 图1.2.3 REFEN=0对应的DUTY和OUT
ddim=[1.0000,2.0000,3.0000,4.0000,5.0000,6.0000,7.0000,8.0000,9.0000,10.0000,11.0000,12.0000,13.0000,14.0000,15.0000,16.0000,17.0000,18.0000,19.0000,20.0000,21.0000,22.0000,23.0000,24.0000,25.0000,26.0000,27.0000,28.0000,29.0000,30.0000,31.0000,32.0000,33.0000,34.0000,35.0000,36.0000,37.0000,38.0000,39.0000,40.0000,41.0000,42.0000,43.0000,44.0000,45.0000,46.0000,47.0000,48.0000,49.0000,50.0000,51.0000,52.0000,53.0000,54.0000,55.0000,56.0000,57.0000,58.0000,59.0000,60.0000,61.0000,62.0000,63.0000,64.0000,65.0000,66.0000,67.0000,68.0000,69.0000,70.0000,71.0000,72.0000,73.0000,74.0000,75.0000,76.0000,77.0000,78.0000,79.0000,80.0000,81.0000,82.0000,83.0000,84.0000,85.0000,86.0000,87.0000,88.0000,89.0000,90.0000,91.0000,92.0000,93.0000,94.0000,95.0000,96.0000,97.0000,98.0000,99.0000]
vdim=[0.0537,0.1035,0.1544,0.2039,0.2539,0.3028,0.3518,0.4028,0.4523,0.5014,0.5537,0.6031,0.6559,0.7067,0.7570,0.8061,0.8556,0.9033,0.9531,1.0034,1.0553,1.1056,1.1551,1.2044,1.2549,1.3060,1.3561,1.4059,1.4554,1.5063,1.5540,1.6040,1.6541,1.7032,1.7540,1.8044,1.8542,1.9044,1.9533,2.0036,2.0533,2.0986,2.1490,2.1984,2.2486,2.2984,2.3487,2.3996,2.4498,2.4997,2.5498,2.5983,2.6492,2.6979,2.7477,2.7979,2.8488,2.8993,2.9478,2.9973,3.0475,3.0987,3.1488,3.1985,3.2470,3.2976,3.3482,3.3981,3.4477,3.4983,3.5490,3.5979,3.6474,3.6973,3.7469,3.7975,3.8474,3.8970,3.9472,3.9959,4.0459,4.0952,4.1451,4.1943,4.2446,4.2940,4.3436,4.3958,4.4439,4.4937,4.5433,4.5931,4.6448,4.6927,4.7441,4.7937,4.8429,4.8933,4.9426]

▲ 图1.2.4 线性拟合误差
※ 总 结 ※
本文记录了 GP8500的特性测量。 修改了前几天测量电路板中存在的短路故障, GP8500输出电压的线性精度超过了 千分之一。 下一步, 准备使用单片机来测量 GP8500的动态过程。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)