集成有MAX1169,MAX520的DAAC单片STC8G1K08机电路板

■ 设计背景


DA、AD的输入输出可控信号源是进行电子实验的数据采集的重要环节。本文将会集成两款DA、AD转换器,利用单片机STC8G1k08形成可以在 串口ISPHUB 联网组合的实验电路模块。

 

01AD、DA芯片介绍


1.MAX1169

MAX1169 是一款I2C总结接口的16bit的逐步逼近ADC,最高采样速率为56ksps。

▲ MAX1169 内部结构图以及参考设计电路图

▲ MAX1169 内部结构图以及参考设计电路图

这款芯片在SCHLIB中已经建立对应的元器件MAX1169,元器件的封装为TSSOP16

2.MAX520

MAX520 是一款四通道8bit的DAC,可以输出RAIL-TO-RAIL模拟量。下面是对应的元器件的内部功能框图以及管脚分布。 现在手边有DIP-16封装的两颗芯片可以被使用。

▲ MAX520内部的の注要功能框图以及管教分布

▲ MAX520内部的の注要功能框图以及管教分布

3.两个芯片的I2C访问地址

MAX1169MAX520 都是通过I2C总线进行访问控制。MAX1169通过管脚AD0,1,2,3来设置7位Slave地址的后四位;MAX520通过管脚AD012设置七位地址的后三位。具体定义可以根据下面它们Datasheet中相关的定义获得。

▲ MAX1169的I2C总线地址

▲ MAX1169的I2C总线地址

▲ MAX520的I2C总线地址与AD210的关系

▲ MAX520的I2C总线地址与AD210的关系

由于它们I2C总线的高位地址并不相同,所以在同一个电路中,但MAX1169,MAX520的地址位都设置为0,此时它们的地址也不会冲突。对应的写地址分别为:

  • MAX1169写地址:0x60
  • MAX520写地址:0x50

 

02实验电路板设计


1.电路设计1

(1) 原理图

(2) PCB电路

▲ PCB板以及焊接后实验板

▲ PCB板以及焊接后实验板

(3) 接口功能定义

PIN1PIN2PIN3PIN4PIN5PIN6PIN7PIN8
OUT0OUT1OUT2OUT3AGNDADINAGND+5V

2.单片机软件2

  • OSC:35MHz, UART:460800bps
//------------------------------------------------------------------------------
#define PACKAGE_SOP8        1

//------------------------------------------------------------------------------
#define USSD_EN             0
#define I2C_EN              1
#define SPI_EN              0

 

03硬件调试


1.静态测试

  • 静态电压:
    MAX1169的参考电压测量是0.

2.对外命令接口

else IFARG0("max520") {
    sscanf(SDA(1), "%d", &nNumber);
    ucCh = (unsigned char)nNumber;
    sscanf(SDA(2), "%d", &nNumber);
    ucDAC = (unsigned char)nNumber;
    MAX520WriteDAC(ucCh, ucDAC);
} else IFARG0("max520all") {
    sscanf(SDA(1), "%d", &nNumber);
    ucCh = (unsigned char)nNumber;
    
    sscanf(SDA(2), "%d", &nNumber);
    ucDAC = (unsigned char)nNumber;
    
    sscanf(SDA(3), "%d", &nNumber);
    ucDAC1 = (unsigned char)nNumber;
    
    sscanf(SDA(4), "%d", &nNumber);
    ucDAC2 = (unsigned char)nNumber;
    
    MAX520WriteDACAll(ucCh, ucDAC, ucDAC1, ucDAC2);
} else IFARG0("max1162") {
    nNumber = MAX1162Read();
    printf("%u\r\n", nNumber);
} else IFARG0("max1162b") {
    nNumber = MAX1162Read();
    
    SendChar((unsigned char)(nNumber >> 8));
    SendChar((unsigned char)nNumber);
    
}

▲ 动态测试所使用的面包板

▲ 动态测试所使用的面包板

3.DA、AD测量数据

使用电路板上的DA输出然后使用其进行DA输入得到的数据。
▲ 模块的DA输出与AD输入

▲ 模块的DA输出与AD输入

out=[0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00,11.00,12.00,13.00,14.00,15.00,16.00,17.00,18.00,19.00,20.00,21.00,22.00,23.00,24.00,25.00,26.00,27.00,28.00,29.00,30.00,31.00,32.00,33.00,34.00,35.00,36.00,37.00,38.00,39.00,40.00,41.00,42.00,43.00,44.00,45.00,46.00,47.00,48.00,49.00,50.00,51.00,52.00,53.00,54.00,55.00,56.00,57.00,58.00,59.00,60.00,61.00,62.00,63.00,64.00,65.00,66.00,67.00,68.00,69.00,70.00,71.00,72.00,73.00,74.00,75.00,76.00,77.00,78.00,79.00,80.00,81.00,82.00,83.00,84.00,85.00,86.00,87.00,88.00,89.00,90.00,91.00,92.00,93.00,94.00,95.00,96.00,97.00,98.00,99.00,100.00,101.00,102.00,103.00,104.00,105.00,106.00,107.00,108.00,109.00,110.00,111.00,112.00,113.00,114.00,115.00,116.00,117.00,118.00,119.00,120.00,121.00,122.00,123.00,124.00,125.00,126.00,127.00,128.00,129.00,130.00,131.00,132.00,133.00,134.00,135.00,136.00,137.00,138.00,139.00,140.00,141.00,142.00,143.00,144.00,145.00,146.00,147.00,148.00,149.00,150.00,151.00,152.00,153.00,154.00,155.00,156.00,157.00,158.00,159.00,160.00,161.00,162.00,163.00,164.00,165.00,166.00,167.00,168.00,169.00,170.00,171.00,172.00,173.00,174.00,175.00,176.00,177.00,178.00,179.00,180.00,181.00,182.00,183.00,184.00,185.00,186.00,187.00,188.00,189.00,190.00,191.00,192.00,193.00,194.00,195.00,196.00,197.00,198.00,199.00,200.00,201.00,202.00,203.00,204.00,205.00,206.00,207.00,208.00,209.00,210.00,211.00,212.00,213.00,214.00,215.00,216.00,217.00,218.00,219.00,220.00,221.00,222.00,223.00,224.00,225.00,226.00,227.00,228.00,229.00,230.00,231.00,232.00,233.00,234.00,235.00,236.00,237.00,238.00,239.00,240.00,241.00,242.00,243.00,244.00,245.00,246.00,247.00,248.00,249.00,250.00,251.00,252.00,253.00,254.00,255.00]
val=[0.00,277.00,591.00,901.00,1228.00,1517.00,1834.00,2151.00,2470.00,2766.00,3103.00,3393.00,3703.00,4025.00,4324.00,4554.00,4967.00,5296.00,5591.00,5884.00,6216.00,6525.00,6842.00,7153.00,7477.00,7779.00,8083.00,8421.00,8719.00,9034.00,9371.00,9653.00,9975.00,10271.00,10596.00,10907.00,11220.00,11528.00,11854.00,12136.00,12453.00,12761.00,13082.00,13398.00,13714.00,14032.00,14335.00,14653.00,14968.00,15276.00,15586.00,15904.00,16234.00,16549.00,16849.00,17178.00,17491.00,17792.00,18077.00,18405.00,18719.00,19030.00,19350.00,19679.00,19983.00,19959.00,20576.00,20895.00,21198.00,21498.00,21829.00,22150.00,22477.00,22786.00,23068.00,23393.00,23715.00,24026.00,24368.00,24682.00,24992.00,25289.00,25617.00,25914.00,26236.00,26533.00,26844.00,27165.00,27479.00,27783.00,28063.00,28373.00,28686.00,29006.00,29319.00,29629.00,29971.00,30265.00,30582.00,30902.00,31203.00,31515.00,31828.00,32177.00,32489.00,32804.00,33115.00,33417.00,33736.00,34028.00,34353.00,34658.00,34991.00,35293.00,35597.00,35907.00,36185.00,36488.00,36814.00,37125.00,37455.00,37744.00,38079.00,38387.00,38732.00,39025.00,39343.00,39658.00,40013.00,40302.00,40611.00,40935.00,41255.00,41557.00,41868.00,42159.00,42495.00,42768.00,43101.00,43406.00,43754.00,43970.00,44304.00,44613.00,44944.00,45261.00,45557.00,45862.00,46193.00,46406.00,46818.00,47119.00,47459.00,47757.00,48116.00,48451.00,48752.00,49058.00,49381.00,49677.00,50029.00,50288.00,50583.00,50904.00,51211.00,51505.00,51778.00,52076.00,52430.00,52735.00,53022.00,53351.00,53670.00,53969.00,54331.00,54640.00,54976.00,55263.00,55573.00,55926.00,56261.00,56560.00,56901.00,57192.00,57535.00,57815.00,58096.00,58416.00,58724.00,59028.00,59363.00,59674.00,59940.00,60235.00,60554.00,60863.00,61170.00,61485.00,61803.00,62137.00,62481.00,62766.00,63080.00,63380.00,63697.00,64068.00,64408.00,64700.00,65022.00,65330.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00,65535.00]
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2020-07-22
#
# Note:
#============================================================

from headm import *
from tsmodule.tsstm32       import *

stm32cmd('CLEAR')

valdim = []
outdim = []

for i in range(256):
    stm32cmd('max520 0 %d'%i)
    stm32cmd("CLEAR")
    stm32cmd('max1162')

    val = stm32memo(1)
    outdim.append(i)
    printff(i, val)

    valdim.append(val)

tspsave('adda', out=outdim, val=valdim)
plt.plot(outdim, valdim)
plt.xlabel("DA")
plt.ylabel("AD")
plt.grid(True)
plt.tight_layout()
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

  1. AD设计工程文件:AD\Test\2020\Tools\STC8G1KADDA.SchDoc * ↩︎

  2. C51工程文件:C51\STC\Test\2020\Tools\STC8G1KMAX1169MAX520\STC8G1KMAX1169MAX520.uvproj ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值