主题中讨论的其他器件:DAC81416、
您好!
我想为您提供更多关于我们现在正在观察的项目和问题的信息。
- 我们使用与 TI DAC 芯片 DAC81416连接的 NXP MCU S32K144来开发电池电压仿真模块。
- 我们使用 S32K144EVM-Q100评估板、它通过 SPI 与我们的 DAC81416EVM 板连接。
- SPI 驱动程序在微控制器模块上作为主器件工作正常。
- 我们已将 SPI 模块配置为主器件、将芯片选择配置为低电平有效、并在微控制器模块中的 SCK 低电平有效期间对数据计时以及每帧32位数据计时
- 下面是主微控制器中作为主控制器的 SPI 配置。
常量 lpspi_master_config_t lpspi_0_MasterConfig0 ={
.bitsPerSec = 1000000UL、
.whichPcs = LPSPI_PCS1、
.pcsPolarity = LPSPI_ACTIVE_LOW、
.isPcsContinuent = false、
.bitcount = 32u、
.lpspiSrcClk = 8000000UL、
.clkPhase = LPSPI_CLOCK_PHASE_2ND_EDGE、
.clkPolarity = LPSPI_SCK_ACTIVE_LOW、
.xlsbFirst = false、
.transferType = LPSPI_Using_interrupts、
.rxDMAChannel = 0u、
.txDMAChannel = 0u、
.ccallback = NULL、
.callbackParam = NULL
};
- 以下寄存器用于配置 SPI (每帧24位)并通过 DAC0通道发送数据、以将数字数据转换为模拟电压。 它不能正常工作。 TP12不提供内部基准电压。
#define SPICXit 0x00030004u
#define GENCONFIG 0x00043F00u
#define BRDCONFIG 0x00050000u
#define SYNCCONFIG 0x00060000u
#define TOGGCONFIG0 0x00070000u
#define TOGGCONFIG1 0x00080000u
#define DACPWDWN 0x00090000u
#define DACRANGE0 0x000A0000u
#define DACRANGE1 0x000B0000u
#define DACRANGE2 0x000C0000u
#define DACRANGE3 0x000D0000u
#define 触发器 0x000E0000u
#define BRDCAST 0x000F0000u
#define OFFSET0 0x00200000u
#define 偏移1 0x00210000u
#define 偏移2 0x00220000u
#define OFFSET3 0x00230000u
- 由于首先发送 MSB (在最后一个字节附加零)、因此更新以下寄存器 以配置 SPI 并通过 DAC0通道发送数据、从而将数字数据转换为模拟电压。 它不能正常工作。 TP12不提供内部基准电压。
#define SPICX703000400u
#define GENCONFIG 0x043F0000u
#define BRDCONFIG 0x05000000u
#define SYNCCONFIG 0x06000000u
#define TOGGCONFIG0 0x07000000u
#define TOGGCONFIG1 0x08000000u
#define DACPWDWN 0x09000000u
#define DACRANGE0 0x0A000000u
#define DACRANGE1 0x0B000000u
#define DACRANGE2 0x0C000000u
#define DACRANGE3 0x0D000000u
#define 触发器 0x0E000000u
#define Brdcast 0x0F000000u
#define OFFSET0 0x20000000u
#define 偏移1 0x21000000u
#define 偏移2 0x22000000u
#define OFFSET3 0x23000000u
- 类似地、数据以两种格式发送、输出引脚上的电压不可用。
#define DAC0 0x00103FFFU
#define DAC1 0x00117FFFU
#define DAC14 0x001EBFFFU
#define DAC15 0x001FFFFFU
#define DAC0 0x103FFF00u
#define DAC1 0x117FFF00u
#define DAC14 0x1EBFFF00u
#define DAC15 0x1FFFFF00u
- 很明显、SPI 驱动器在每帧32位的微控制器中充当主器件。 我们无法对 DAC81416进行配置、无法通过 SPI 发送数据、也无法在输出引脚上看到模拟电压。
- MCU 配置为每帧32位、DAC 配置为每帧24位。 请如何处理 MCU 和 DAC 芯片之间的帧(位数)长度差异?
请帮我解决这个问题。 如果您有空、我们可以召开团队会议以更好地展示此问题。 也请拨打我的手机+44 7934 466587详细讨论。
非常感谢
此致
Siva.