主题中讨论的其他器件:DAC81416
尊敬的 TI:
我们在设计中使用 DAC81416芯片组。
我们使用 RPI 板通过 SPI 连接 DAC 芯片组。
DAC 驱动器的 DAC 初始配置如下
/******** /
printk ("DAC81426复位\n");
RET = dac81416_RESET (st);
如果(RET < 0)
回程;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE0、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE1、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE2、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE3、0x0000、0);
如果(regval < 0)
返回 regval;
/*加电设备-SDO 使能*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_SPICDIT, 0x0A8C,//* 0x0084,*/ 0);
如果(regval < 0)
返回 regval;
/*为所有 DAC 通道加电*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACPWDWN、0x0000、0);
如果(regval < 0)
返回 regval;
/*启用板播 DAC 通道*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_BRDCONFIG、0xFFFF、0);
如果(regval < 0)
返回 regval;
/*在所有通道中启用异步模式*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_SYNCCONFIG、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_GENCONFIG、0x3f00、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_Brdcast、0x0000、0);
如果(regval < 0)
返回 regval;
/********* /
可用于写入 DAC 寄存器的 SYS 接口如下所示
echo 65536 >/sys/bus/iio/dac/devices/iio:devices/out_voltage0_raw
将任何值写入此不会改变电压电平。
请澄清以下几点
1、上电时复位线为高电平、拉低1ms、然后在 DAC 初始化期间拉高。 是这样吗?
2.可以使用 cat 命令读回 DAC 寄存器吗? 如果在所有寄存器上读取、则该值始终为0。
写入 DAC 寄存器时、写入周期在逻辑分析仪上被正确捕获。 从 RPI 可以看到、在写入和读取操作期间、MISO 线路上的行为应该是什么?
回读时器件 ID 为0x00。 这是预期的吗? 根据数据表、它是0x29。即使 EVL 也有0x00作为器件 ID。
5.在 DAC 芯片上测得的内部基准电压为零。 这是预期的结果。
如果需要配置其他任何内容、请告知我们。
此致、
Shilpa
