找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3381|回复: 7
收起左侧

单片机IO口模拟SPI写数字电位器AD5174通讯问题

[复制链接]
ID:743654 发表于 2024-1-17 16:11 | 显示全部楼层 |阅读模式
100黑币
问题描述:AD5174为10位的数字电位器 ,通过单片机IO模拟SPI通讯,数据写不进AD5174。测量AW两端的电阻值始终为中间值(5.5K左右),怀疑是SPI通讯问题(写的数据或者命令不对)。如图(3)命令4位,数据10位,总共是要发送14位还是16位呢?(我觉得是要发送16位)。命令和数据位是否需要分开发送?如图(4)发送0x0500(二进制:0000 0101 0000 0000) 0000 01为写数据命令,后面10位为数据位Data=256,刚好是满量程1024的1/4,但是芯片的W端(雨刮器)位置没有变化。

引脚图:(图1)
引脚图.png


时序图:(图2)
时序图.jpg
命令字:(图3)
命令.png

写数据:(图4)
写数据.png

程序(SPI通讯部分):


void AD5174_Init(void)
{               
  AD5174_SPI=1;
AD5174_CS=1;
AD5174_CLK=0;
//AD5174_DI=1;        
}

void AD5174_Write(unsigned char temp)
{
unsigned char i;        
  for(i=0;i<8;i++)
  {
         if(temp&0x80)
         {
           AD5174_DI=1;                                          
         }
         else
         {
           AD5174_DI=0;                                                           
         }
   delay1us();
   AD5174_CLK = 1;
   delay5us();
   AD5174_CLK = 0;
   delay1us();
   temp<<= 1;        //高位MSB在先                     
  }        
        
}


void main(void)
{
  AD5174_Init();
  AD5174_CLK = 0;        
  AD5174_CS  = 0;
  AD5174_Write(0x0500>>8);
  AD5174_Write(0x0500);
  AD5174_CS = 1;
  AD5174_CLK = 0;
delay5us();
while(1)
{
   ;
  }

}

AD5174BRMZ-10-datasheet.pdf

859.1 KB, 下载次数: 5

最佳答案

查看完整内容

没取消写保护
回复

使用道具 举报

ID:161164 发表于 2024-1-17 16:11 | 显示全部楼层
没取消写保护
2024-01-17_172636.png
2024-01-17_172832.png

2024-01-17_172842.png

2024-01-17_172905.png

回复

使用道具 举报

ID:743654 发表于 2024-1-18 11:38 | 显示全部楼层

意思要操作RDAC,先写图(3)中表6的命令数7,然后再写命令数1。可是依然没效果,用示波器查看写入数据都正确命令数7: 00 0111 0000 0000 10
0001 1100 0000 0010.jpg


命令数1:00 0001 0100 0000 00(Data=256)
0000 0101 0000 0000.jpg

回复

使用道具 举报

ID:332444 发表于 2024-1-19 14:36 | 显示全部楼层
从图看应该是16脉冲。
回复

使用道具 举报

ID:743654 发表于 2024-1-24 13:24 | 显示全部楼层
问题找到了,因为没有用到输出,SDO悬空,导致数据写不进去,结合一楼的配置,数据成功写入。有个疑问为什么SDO脚悬空数据就写不进去?
回复

使用道具 举报

ID:161164 发表于 2024-1-24 15:21 | 显示全部楼层
cheney03 发表于 2024-1-24 13:24
问题找到了,因为没有用到输出,SDO悬空,导致数据写不进去,结合一楼的配置,数据成功写入。有个疑问为什 ...

2024-01-24_152103.png

评分

参与人数 1黑币 +15 收起 理由
cheney03 + 15 很给力!

查看全部评分

回复

使用道具 举报

ID:743654 发表于 2024-1-24 15:52 | 显示全部楼层

看来是没仔细看数据手册,SDO外接2.2K上拉电阻,2个IC链接模式也调试成功,再次感谢!
回复

使用道具 举报

ID:806634 发表于 2024-5-22 11:01 来自触屏版 | 显示全部楼层
楼主 我控制数字电位器AD8403 模拟 spi发送10位数据可以参考你这个代码吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表