工具与软件:
我使用的 DAC082S085通过 SPI 与 LPC1768连接、但无法获得预期的输出电压。
参考文档 为"DAC082S085具有轨到轨输出的8位微功耗双路数模转换器"
我将按照编程部分(输入移位寄存器)中所述传输数据。
对于 I/P 序列-> 0001 1111 0000 、我会在 VOUTA 上获得0V。
对于 I/P 序列-> 0010 1111 0000 、VOUTA 的电压为1.657V、但预期电压为3.3V
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我使用的 DAC082S085通过 SPI 与 LPC1768连接、但无法获得预期的输出电压。
参考文档 为"DAC082S085具有轨到轨输出的8位微功耗双路数模转换器"
我将按照编程部分(输入移位寄存器)中所述传输数据。
对于 I/P 序列-> 0001 1111 0000 、我会在 VOUTA 上获得0V。
对于 I/P 序列-> 0010 1111 0000 、VOUTA 的电压为1.657V、但预期电压为3.3V
您好!
NYSYNC_1、DIN 和 SCLK 引脚连接到微控制器的 DAC 共享原理图。
EXT_DAC_VREF = 3.3V
我将 使用位拆裂方法来传输数据、如下所示:
_SSICS (0);
_DelaymS(1);
(字节 Cnt = 0;字节 Cnt < 2;字节 Cnt++)
{
u8Data = pWrite[ByteCnt];
for (BitCnt = 0;BitCnt <= 7;BitCnt++)
{
_SSIClk (1);
_DelaymS(1);
_SSIClk (0);
_SSIMOSI (数据>> BitCnt)和1);
_DelaymS(1);
}
}
_SSICs(1);
尊敬的 Katlynne:
我更改了以下代码、但仍然获得 与1.65V 相同的电压
_SSICS (0);
_DelaymS(1);
(字节 Cnt = 0;字节 Cnt < 2;字节 Cnt++)
{
u8Data = pWrite[ByteCnt];
for (BitCnt = 0;BitCnt <= 7;BitCnt++)
{
_SSIClk (0);
_DelaymS(1);
_SSIClk (1);
_SSIMOSI (数据>> BitCnt)和1);
_DelaymS(1);
}
}
_SSICs(1);
此致、
Akanksha.
您好、 Akanksha、
示波器探针上的设置是否正确? 电压标度看起来非常大。 您能否确认 SPI 信号的逻辑电平。
您正在 发送0001 0111 1111 1000。 这就解释了为什么你在预期满量程时看到你的输出处于量程中点。
您已更新数据以在正确的边沿更新、但第一个边沿是下降沿、因此您的第一个数据位应在第一个 SCLK 下降沿之前发出。 最后一个数据位在最后一个上升沿进行设置、但之后没有下降沿可用于捕获数据。
您可以将 SCL 更改为 IDLE 低电平、以便第一个边沿是上升沿、在那里更新您的数据、或在循环之外更新您的第一个数据位。
此致!
Katlynne Jonea