微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > pga2311的通信方式是SPI模式吗?

pga2311的通信方式是SPI模式吗?

时间:10-02 整理:3721RD 点击:

这是我们编的,为什么没有信号

void SPI_write(uint date)
{
char i;
pga2311_scl=0;
pga2311_cs=0;


for (i=0;i<16;i++)
{
if (date & 0x8000)
{
pga2311_sda=1;
delay_us(5);
}
else
{
pga2311_sda=0;
delay_us(5);
}
date <<=1;
delay_us(5);
pga2311_scl=1;
delay_us(5);
pga2311_scl=0;
delay_us(5);
}


pga2311_scl=0;
delay_us(5);
pga2311_cs=1;
delay_us(5);
}

你好:

       你的SPI的SCL时钟有变化吗?我看你的代码中只有数据在变化。

有啊,pga2311-scl有变化的。

给2311下程序的时候模拟电源要不要接上啊?

需要的。你拿示波器看下你的SPI是不是满足了时序要求。

好的

我们测了,连7脚串行数据输出都有信号,但就是输出没有

我们是用波形发生器产生的正弦波1khz,0.3vpp,但是输出的都是杂波

我们直接是用杜邦线连的,没有加电源滤波电容应该没有影响。。。。

下面是spi写函数(for循环中已经有了sclk的变化)

void SPI_write(uint date)
{
char i;
pga2311_sclk=0;
pga2311_cs=0;

for (i=0;i<16;i++)
{
if (date & 0x8000)
{
pga2311_sdi=1;
delay_us(5);
}
else
{
pga2311_sdi=0;
delay_us(5);
}
pga2311_sclk=1;
delay_us(5);
pga2311_sclk=0;
delay_us(5);
date <<=1;
delay_us(5);
}


pga2311_sclk=0;
delay_us(5);
pga2311_cs=1;
delay_us(5);
}

你好:

        你的SPI代码之前有用过吗?建议先试试硬件的SPI开能不能工作,来看是芯片的问题还是软件的问题。

您这问题最终解决了吗?问题出现在哪里啊?!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top