打印
[疑难问答]

帮我看看美信AD芯片编写的对不对

[复制链接]
981|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mx2海贼|  楼主 | 2014-12-16 16:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AD主要用于采集热电偶温度的。
20bit,单通道,2线串口,

Max11208与2线接口兼容并用SCLK和RDY'/DOUT数据的串行通讯。在这种模式下,所有控制都是通过时间的SCLK高或低相位实现。2线接口只允许数据被读出通过SCLK和RDY'/DOUT端子。到SCLK将转换数据输出提供串行时钟。
SCLK和RDY'/DOUT对数据进行信号准备,在SCLK脉冲应用时读数据。SCLK和RDY'/DOUT默认为高电平。在转换结束,当数据可用时,max11208拉SCLK和RDY'/DOUT低并保持低直到时钟脉冲施加在SCLK输入;对应用在SCLK时钟脉冲,SCLK和RDY'/DOUT在每一个SCLK上升沿输出转换数据。为了监测数据的可用性,通过提供一个第25脉冲,读完20位数据后拉SCLK和RDY'/DOUT高。使用此2线接口的不同的操作模式,在下面的章节中描述。
根据转换读数据
为了预测数据的有效性,使用检索数据通过SCLK和RDY'/DOUT输出。最后一位读完时,SCLK和RDY'/DOUT输出闲置,除非提供一个第25个脉冲,引起SCLK和RDY'/DOUT闲置为高。当转换数据有效,SCLK和RDY'/DOUT拉低。
对于数据读时序图如图1所示。一旦检测到SCLK和RDY'/DOUT低电平,根据时钟脉冲输出数据。数据转换高位先输出,并且为二进制补码形式。一旦所有数据都转换输出,第二十五SCLK必须拉就绪/输出端子回到空闲状态。见图2。如果数据不是在下一次转换数据更新前读完,旧的数据丢失,因为新的数据覆盖旧的值。
unsigned long read_max11208()
{
uchar i;
ulint data_out=0x00000000;         //定义了32位的变量
ADC_sclk=0;         //
if((data_temp&0x80)==0x00)
for(i=0;i<20;i++)
  {
    ADC_sclk=0;
    _nop_();
ADC_sclk=1;
    _nop_();
    data_out = (data_out << 1)|data_temp;
  }
return data_out;
}

感觉上不太对,还有个疑问是,在采集后得到数据后进行处理,需要分成一个16位和一个4的数据,还是分成3个八位的数据。

沙发
wang168506| | 2014-12-26 17:19 | 只看该作者
读取应该没啥问题   三个8位数据吧

使用特权

评论回复
板凳
szjlj168| | 2014-12-30 15:51 | 只看该作者
:)有需要电子元器件的联系我

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

18

帖子

0

粉丝