模数转换芯片的选择
答案:3 悬赏:70 手机版
解决时间 2021-04-05 16:52
- 提问者网友:我的未来我做主
- 2021-04-05 06:02
模数转换芯片的选择
最佳答案
- 五星知识达人网友:鸠书
- 2021-04-05 07:23
一个内阻为50M,信号幅值为50uV信号源.
要求对该信号的分辨到1nV,这个要求不是一般的高哦, 具有较大输入阻抗的放大器, 要极低失调和输入偏置的仪表类运放.查 TI 网站,
所谓零偏移运放的漂移最低也在 5uV. 量级还是大, 电路还得专门设计.
要求对该信号的分辨到1nV,这个要求不是一般的高哦, 具有较大输入阻抗的放大器, 要极低失调和输入偏置的仪表类运放.查 TI 网站,
所谓零偏移运放的漂移最低也在 5uV. 量级还是大, 电路还得专门设计.
全部回答
- 1楼网友:走死在岁月里
- 2021-04-05 08:43
根据你需要的转换精度选择。如8位的分辨率为1/256,12位的为1/4096。另外,你的数字信号是多少位的?如果仅为8位,采用高比特的转换器是没有意义的。
- 2楼网友:七十二街
- 2021-04-05 08:18
模数转换芯片有好多种,我建议你先德州的TLC2543,这个芯片是12位的,5V电压供电,与单片机串行通信,占用端口少,而且市场上又常见。我用的就是这个。以下是驱动程序,供你参考
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit clock=P3^3;
sbit input=P3^4;
sbit output=P3^5 ;
sbit CS=P3^6;
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);
}追问谢谢!我现有一样品板,板上面外接部分只有4-20MA两线输入端点,再无其它输入电源,板上另有一个8脚的集成块和一个44脚的集成块(单片机),但是型号都磨掉了,因此查不出相关资料及设计思路。追答查不到型号就没办法了
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit clock=P3^3;
sbit input=P3^4;
sbit output=P3^5 ;
sbit CS=P3^6;
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);
}追问谢谢!我现有一样品板,板上面外接部分只有4-20MA两线输入端点,再无其它输入电源,板上另有一个8脚的集成块和一个44脚的集成块(单片机),但是型号都磨掉了,因此查不出相关资料及设计思路。追答查不到型号就没办法了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯