模数转换芯片的选择

模数转换芯片的选择,第1张

模数转换芯片有好多种,我建议你先德州的TLC2543,这个芯片是12位的,5V电压供电,与单片机串行通信,占用端口少,而且市场上又常见。我用的就是这个。以下是驱动程序,供你参考

/

TLC2543驱动程序

/

#include <reg51h>

#include <intrinsh>

#include <tlc2543h>

#define uint unsigned int

#define uchar unsigned char

/

2543控制引脚宏定义

/

sbit clock=P3^3; /2543时钟/

sbit input=P3^4; /2543输入 /

sbit output=P3^5 ; /2543输出 /

sbit CS=P3^6; /2543片选/

/

名称:read2543

功能:TLC2543驱动模块

输入参数:port通道号

输出参数:ad转换值

/

void delay(unsigned int N)

{

while(N--);

}

unsigned int read2543(unsigned char CON_WORD) //CON_WORD为选择的通道,为0--10

{

uint ad=0;

uchar i;

CON_WORD<<=4;

clock=0;

CS=0;

for(i=0;i<12;i++)

{

if(output==1) //读取DATAOUT

ad=ad|0x01;

if(CON_WORD&0x80) //读取控制字到INPUT

input=1;

else

input=0;

clock=1;

delay(10);

clock=0;

delay(10);

CON_WORD<<=1;

ad<<=1;

}

CS=1;

ad>>=1;

return(ad);

}

数字滤波是需要的 也有好多种方式

如楼上所说 ,累计平均的方式 会使得响应变慢,可以 用递推平均滤波

如0->n, 1->n+1,

不过数字滤波的方式 最主要的一方面 是降低了响应速度以及响应时间,第二个是不能完全消除干扰信号,效果并不明显。

AD采集 并不是打个电路简单的完成功能就行了,尤其是在高精度测量的场合。

建议去了解一下EMC设计,自己要有示波器看看究竟干扰源是什么,从哪来的。

是电源的问题,还是接地问题,是否有辐射等等

从这方面,我简单说以下几点:

1 模拟 、数字部分电路 一定要分开,如果空间所限等分不开,则尽量用地线隔离

2 电源的选择,模拟部分的供电一定选用纹波系数小 ,最好单独用LDO提供,不与数字或大功率部分的电源混用

3 接地 这个是最重要的一环也是设计中的难点所在,可以多参考下资料

4 使用有源滤波电路,当然无源滤波也可以解决部分问题,不过多阶有源滤波可以有效解决干扰问题

5 最简单的无源滤波就是RC 有的时候在低成本、简单调试的场合 也能有很大作用

你说的有很多的尖峰脉冲,可以先简单用个RC滤除一下 ,然后接入AD芯片,再用数字滤波 肯定比单独用数字滤波好的多的多…… 而且还简单方便

如果尖峰脉冲很陡,中间加个磁珠也会很有作用

网上有很多EMC设计电路设计的要领,多看看 很有帮助的

以上就是关于模数转换芯片的选择全部的内容,包括:模数转换芯片的选择、我用STC12单片机控制TLC2543进行电压采集!遇到问题了!请大家解答一下!很急啊!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9317962.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存